我正在使用 Azure Cloud Shell,需要使用 Azure CLI 在“Entra ID”中创建自定义角色,如文档中所示 [https://learn.microsoft.com/en-us/entra/identity/role-基于访问控制/自定义创建]。文档中提供的示例使用 PowerShell,但我更喜欢使用 Azure CLI 来完成此任务。
我已经查看了文档,但它主要关注 PowerShell 命令。我想知道是否有使用 Azure CLI 命令的等效流程。
以下是文档中 PowerShell 示例的片段: [https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/custom-create]
有人可以指导我如何使用 Azure CLI 实现相同的结果吗?任何帮助或示例将不胜感激。谢谢!
请注意,没有直接的 Azure CLI 命令可在 Microsoft Entra ID 中创建自定义目录角色。或者,您可以通过调用 Microsoft Graph API 来使用
或curl
。az rest
就我而言,我使用了下面的 bash 脚本,它调用
curl
请求并得到了 响应,如下所示:
TOKEN=$(az account get-access-token --resource https://graph.microsoft.com --query accessToken -o tsv)
REQUEST_BODY='{
"description": "Can manage basic aspects of application registrations.",
"displayName": "Application Support Administrator",
"isEnabled": true,
"templateId": "'$(uuidgen)'",
"rolePermissions": [
{
"allowedResourceActions": [
"microsoft.directory/applications/basic/update",
"microsoft.directory/applications/credentials/update"
]
}
]
}'
response=$(curl -s -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d "$REQUEST_BODY" "https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions")
if [[ $response == *"error"* ]]; then
echo "Error occurred: $response"
else
echo "Custom admin role created successfully."
echo "Response:"
echo "$response" | jq .
fi
回复:
当我在门户中检查相同内容时,名为 Application Support Administrator 的自定义目录角色已成功创建: