使用 Azure CLI 而不是 PowerShell 在 Azure AD 中创建自定义角色

问题描述 投票:0回答:1

我正在使用 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 实现相同的结果吗?任何帮助或示例将不胜感激。谢谢!

bash azure azure-cli
1个回答
0
投票

请注意,没有直接的 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

回复:

enter image description here

当我在门户中检查相同内容时,名为 Application Support Administrator 的自定义目录角色已成功创建:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.