如何通过Terraform为Entra企业应用分配Default Access角色
无需自定义角色分配AAD组到企业应用的Default Access角色
当企业应用未定义任何自定义应用角色时,Azure AD会自动提供**Default Access(默认访问)**这个隐式权限,它对应的角色ID是固定的特殊值:00000000-0000-0000-0000-000000000000,无需创建自定义角色即可直接使用这个ID完成分配,以下是具体实现方式:
使用Azure AD PowerShell模块
- 安装并导入模块:
Install-Module AzureAD -Force Import-Module AzureAD - 连接到Azure AD:
Connect-AzureAD - 获取目标企业应用的服务主体:
$servicePrincipal = Get-AzureADServicePrincipal -Filter "displayName eq '你的应用显示名称'" - 获取待分配的AAD组:
$targetGroup = Get-AzureADGroup -Filter "displayName eq '你的组名称'" - 创建角色分配:
New-AzureADServiceAppRoleAssignment ` -ObjectId $targetGroup.ObjectId ` -PrincipalId $targetGroup.ObjectId ` -ResourceId $servicePrincipal.ObjectId ` -Id "00000000-0000-0000-0000-000000000000"
使用Microsoft Graph API
发送POST请求到指定端点,请求体中使用默认角色ID:
- 请求端点:
https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalId}/appRoleAssignments - 请求体(替换占位符为实际ID):
注意:执行此操作需要具备{ "principalId": "你的AAD组ID", "resourceId": "企业应用的服务主体ID", "appRoleId": "00000000-0000-0000-0000-000000000000" }AppRoleAssignment.ReadWrite.All或等效的权限。
Azure门户之所以能直接操作,是因为它会自动检测应用无自定义角色的情况,后台自动使用这个固定的默认角色ID完成分配流程,无需用户手动输入ID。
内容的提问来源于stack exchange,提问作者Kqly
相关产品推荐
相关产品推荐

