如何通过Azure Portal或PowerShell将服务主体设为App Registration所有者
使用服务主体身份验证创建App Registration(PowerShell方式)
前置准备
你需要先获取具备Application.ReadWrite.OwnedBy权限的服务主体的以下信息:
- Azure AD租户ID
- 服务主体的客户端ID
- 服务主体的客户端密钥(或证书,此处以密钥为例)
步骤1:使用服务主体完成PowerShell身份验证
执行以下命令完成登录,替换占位符为你的实际参数:
$tenantId = "你的Azure AD租户ID" $clientId = "服务主体的客户端ID" $clientSecret = ConvertTo-SecureString "服务主体的客户端密钥" -AsPlainText -Force $credential = New-Object System.Management.Automation.PSCredential($clientId, $clientSecret) Connect-AzAccount -ServicePrincipal -Credential $credential -Tenant $tenantId
步骤2:创建App Registration
验证通过后直接执行创建命令,创建完成后当前登录的服务主体会自动成为该App Registration的所有者,完全符合你持有的Application.ReadWrite.OwnedBy权限要求:
$appRegistration = New-AzADApplication -DisplayName "AppRegCreatebyPS" # 执行后可通过$appRegistration查看创建的应用注册详情
App Registration所有者管理(包含移除操作)
Azure Portal操作路径
登录Azure Portal进入目标App Registration页面,在左侧导航栏找到所有者选项,即可直接在页面上添加/移除所有者。
PowerShell操作
添加所有者
以下示例为已创建的App Registration添加新的所有者(支持用户、服务主体等身份):
# 替换为你的App注册的客户端ID $appClientId = "目标App注册的客户端ID" # 替换为要添加的所有者的对象ID $ownerObjectId = "待添加所有者的对象ID" Add-AzADApplicationOwner -ApplicationId $appClientId -OwnerId $ownerObjectId
移除所有者(对应额外问题)
可以移除,但操作前请务必确认该App Registration至少保留1个其他有效所有者,否则移除后所有身份都没有权限修改该应用注册。
执行以下命令移除指定所有者:
# 替换为你的App注册的客户端ID $appClientId = "目标App注册的客户端ID" # 替换为要移除的所有者的对象ID $ownerObjectId = "待移除所有者的对象ID" Remove-AzADApplicationOwner -ApplicationId $appClientId -OwnerId $ownerObjectId
内容的提问来源于stack exchange,提问作者ingo_ww
相关产品推荐
相关产品推荐

