如何通过Azure CLI为服务主体添加组声明
为服务主体添加组声明(Claims Group)的Azure CLI实现方法
目前Azure CLI的az ad sp系列命令没有直接支持配置组声明的选项,需要通过调用Microsoft Graph API结合az rest命令完成操作,具体步骤如下:
1. 获取服务主体的对象ID
创建服务主体后,先执行以下命令获取其对象ID:
az ad sp show --id "My Service Principal" --query id -o tsv
将返回的ID替换后续命令中的{sp-object-id}占位符。
2. 调用Graph API更新组声明配置
使用az rest命令调用Microsoft Graph的PATCH接口,设置组声明相关属性:
az rest --method PATCH \ --uri "https://graph.microsoft.com/v1.0/servicePrincipals/{sp-object-id}" \ --body '{ "groupMembershipClaims": "SecurityGroup", "optionalClaims": { "idToken": [], "accessToken": [ { "name": "groups", "source": null, "essential": false, "additionalProperties": [ "sam_account_name", "security_group" ] } ], "saml2Token": [] } }'
参数说明:
groupMembershipClaims:指定要包含的组类型,可选值包括None、SecurityGroup、DirectoryRole、ApplicationGroup,也可使用逗号分隔的组合(如SecurityGroup,DirectoryRole)。optionalClaims.accessToken:若需在访问令牌中包含组的额外属性(如sam_account_name),可通过additionalProperties添加,按需调整即可。
3. 验证配置是否生效
执行以下命令查看服务主体的组声明配置:
az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/servicePrincipals/{sp-object-id}?$select=groupMembershipClaims,optionalClaims"
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

