Azure Active Directory Powershell命令创建一个application以及App需要的权限
下面会用Powershell Azure AD实现创建一个自定义的App,其中包括Micrsoft Graph Read all groups权限添加,以及certificate证书验证上传证书的操作
1.获得自己自定义的证书的内容
#$certificatePath是自己证书的绝对路径
$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
$certificate.Import($certificatePath)
$certBinaries = $certificate.GetRawCertData()
$certHash = $certificate.GetCertHash();
$CertBase64 = [System.Convert]::ToBase64String($certBinaries)
$CustomKeyIdentifier=[System.Convert]::ToBase64String($certHash)
2.连接Azure AD,会弹出微软的用户输入窗口,输入有相应权限的用户
#$$TenantRegion是自己Tenant的区域,也可以输入$azureAd=Connect-AzureAD,默认是Global
$azureAd=Connect-AzureAD -AzureEnvironmentName $TenantRegion
3.建好Micrsoft Graph Read all groups权限的信息
$requiredAccess = New-Object 'System.Collections.Generic.List`1[Microsoft.Open.AzureAD.Model.RequiredResourceAccess]'
#oliver test start#region Graph$graphApiAccess = New-Object 'Microsoft.Open.AzureAD.Model.RequiredResourceAccess'$graphApiAccess.ResourceAppId = '00000003-0000-0000-c000-000000000000'$graphApiAccess.ResourceAccess = New-Object 'System.Collections.Generic.List`1[Microsoft.Open.AzureAD.Model.ResourceAccess]' #region Read all groups$GraphReadAllGroups=New-Object 'Microsoft.Open.AzureAD.Model.ResourceAccess'$GraphReadAllGroups.Id='5b567255-7703-4780-807c-7be8301ae99b'#role代表着application,scope代表着delegate$GraphReadAllGroups.Type='Role'#endregion $graphApiAccess.ResourceAccess.Add($GraphReadAllGroups) #endregion
其中Microsoft Graph以及包含的权限具体信息的获取可以在https://github.com/mjisaak/azure-active-directory获得
4.判断App是否存在根据name,如果存在就更新url,输入命令
#输入自定义的名字
$AppName='OliverTestApp'
$existApp = Get-AzureADApplication -Filter "DisplayName eq '$AppName'"
if($existApp -ne $null)
{//更新app的replyurl
}
5.更新replyurl和对应需要的Micrsoft Graph Read all groups权限
#自定义你的replyurl
$ReplyUrl='自定义你的replyurl'$currentReplyUrls=$existApp[0].ReplyUrls
$urlExist=$false;
foreach($tempExistUrl in $currentReplyUrls)
{if($tempExistUrl.ToLower() -eq $ReplyUrl.ToLower()){$urlExist=$true;}
}
if($urlExist)
{Set-AzureADApplication -RequiredResourceAccess $requiredAccess -ObjectId $existApp[0].ObjectId
}
else
{$currentReplyUrls.Add($ReplyUrl)Set-AzureADApplication -RequiredResourceAccess $requiredAccess -ReplyUrls $currentReplyUrls -ObjectId $existApp[0].ObjectId
}
6.上传App证书,并且设置过期时间为一年
$EndTime=[System.DateTime]::Now.AddYears(1)
$tempKeyCreddential=New-AzureADApplicationKeyCredential -ObjectId $existApp[0].ObjectId -CustomKeyIdentifier $CustomKeyIdentifier -Type AsymmetricX509Cert -EndDate $EndTime -Usage Verify -Value $CertBase64
7.如果App不存在就创建新的,并且传入replyurl,Micrsoft Graph Read all groups权限和证书
$application = New-AzureADApplication -DisplayName $AppName -ReplyUrls $replyUrlsForApp -RequiredResourceAccess $requiredAccess
$currentAppId = $application.AppId
$clientServicePrincipal = New-AzureADServicePrincipal -AppId $currentAppId
$tempKeyCreddential=New-AzureADApplicationKeyCredential -ObjectId $application.ObjectId -CustomKeyIdentifier $CustomKeyIdentifier -Type AsymmetricX509Cert -EndDate $certificate.NotAfter -StartDate $certificate.NotBefore -Usage Verify -Value $CertBase64
8.至此就创建成功,可以去azure portal上面查看自己创建的App(注意这里App还没有授权,图片中是后面Powershell脚本实现自动授权,不用用户点击登录授权)
Azure Active Directory Powershell命令创建一个application以及App需要的权限相关推荐
- Blazor 应用如何使用 Azure Active Directory 认证登录
点击上方蓝字 / 关注"汪宇杰博客" 原文:Azure Tips and Tricks 翻译:汪宇杰 使用 Azure Active Directory 保护您的应用程序 您可以使 ...
- Azure Active Directory B2C-(1) 基本概念及创建并体验
本文将介绍如下内容: 了解Azure Active Directory B2C概念: 在Azure 门户创建 Azure Active Directory B2C: 在AAD B2C租户中添加应用程序 ...
- Azure Active Directory Connect深度解析
AADC(Azure Active Directory Connect),这个是微软开发的第四代同步身份同步工具了,从最早的Directory Synchronization 一直到现在. 中小型的企 ...
- 基于事件驱动架构构建微服务第19部分:使用 SignalR 和 Azure Active Directory 构建和保护实时通信...
原文链接:https://logcorner.com/building-micro-services-through-event-driven-architecture-part19-building ...
- azure 使用_如何使用Cloud Shell自动化Azure Active Directory(AAD)任务
azure 使用 介绍 (Introduction) In the article How to create an Azure SQL Database using the Cloud Shell, ...
- azure云数据库_使用Azure Active Directory和Azure SQL数据库
azure云数据库 介绍 (Introduction) By default, when someone creates an Azure SQL Server, an Administrator w ...
- SRV记录用来标识某台服务器使用了某个服务,常见于微软系统的目录管理——深入的话需要去折腾Azure Active Directory...
SRV记录 SRV记录 什么情况下会用到SRV记录? [SRV记录用来标识某台服务器使用了某个服务,常见于微软系统的目录管理] SRV记录的添加方式 A.主机记录处格式为:服务的名字.协议的类型 例如 ...
- 基于事件驱动架构构建微服务第16部分:Azure Active Directory B2C
原文链接: https://logcorner.com/building-micro-services-through-event-driven-architecture-part16-azure-a ...
- Active Directory PowerShell模块收集AD信息
0x00 前言简介 Microsoft为Windows Server 2008 R2(以及更高版本)提供了多个Active Directory PowerShell cmdlet,这大大简化了以前需要 ...
最新文章
- MQTT Qos类型解释
- 记windows平台使用vscode 搭建linux c++开发环境
- C++知识点5——迭代器简述
- 45个实用的JavaScript黑科技
- Tomcat5+Mssql server 2000数据库连接池配置
- mac mysql not found_mac下mysql提示command not found解决
- OpecCV颜色分割
- 【C语言】 删除一个字符串中重复的字符
- Mysql之子父级查询
- package.json详解
- 荷兰国旗算法设计C语言,2.7 荷兰国旗
- Docker环境安装
- 【深度好文】二维图像傅里叶变换 YYDS
- Spring框架爆RCE 0day漏洞的临时解决方案
- 详解Linux运维工程师必备技能
- 京东数据分析软件 | 如何获取京东平台的“增长榜单”
- 我在工作群和ChatGPT聊了会天,找到了升职加薪的新思路
- 自学编程,痛并快乐着
- 四信LoRa模组F8L10D率先通过CLAA COMPATIBLE认证
- 亚马逊第3条规定怎么申诉?亚马逊违反商品政策申诉