如何通过PowerShell为Azure RM AD应用添加指定权限?
如何为Azure RM AD应用添加指定权限
当然可以!不过目前New-AzureRmADApplication命令在创建应用时没法直接附带权限配置,你需要在应用创建完成后,通过PowerShell来添加这个权限。下面是具体操作步骤:
1. 先创建AD应用
用你提供的命令创建目标应用:
New-AzureRmADApplication -DisplayName "xxx" -HomePage "xxx" -IdentifierUris "xxx" -ReplyUrl "xxx"
2. 获取目标应用对象
通过应用名称获取刚创建的AD应用对象,方便后续操作:
$targetApp = Get-AzureRmADApplication -DisplayName "xxx"
3. 构造权限配置并更新应用
你需要构造对应权限的requiredResourceAccess结构,然后用Set-AzureRmADApplication命令更新应用清单:
# 构造权限配置(对应你提供的清单内容) $permissionConfig = @( @{ resourceAppId = "00000002-0000-0000-c000-000000000000" # Windows Azure Active Directory的服务主体ID resourceAccess = @( @{ id = "311a71cc-e848-46a1-bdf8-97ff7156d8e6" # 「登录并读取用户配置文件」权限的唯一ID type = "Scope" # 标识这是委托类型的权限 } ) } ) # 更新应用的权限配置 Set-AzureRmADApplication -ObjectId $targetApp.ObjectId -RequiredResourceAccess $permissionConfig
4. 管理员同意权限(关键步骤)
注意:上面的操作只是把权限添加到了应用清单中,还需要管理员授权后应用才能实际使用这个权限。如果你的账号是全局管理员或拥有权限的管理员,可以用以下命令完成同意:
# 获取Azure AD的服务主体 $aadSp = Get-AzureRmADServicePrincipal -ServicePrincipalName "00000002-0000-0000-c000-000000000000" # 授予应用权限 New-AzureRmADAppPermissionGrant -ObjectId $targetApp.ObjectId -ResourceId $aadSp.Id -Scope "User.Read"
这样操作后,你的AD应用就拥有了指定的「Windows Azure Active Directory - 委托权限 - 登录并读取用户配置文件」权限啦。
内容的提问来源于stack exchange,提问作者Green_qaue
相关产品推荐
相关产品推荐

