簡體   English   中英

托管身份 Azure 角色分配?

[英]Managed Identity Azure Role Assignments?

我正在嘗試通過 ARM 模板將服務總線接收器角色添加到用戶分配的托管標識。

即這個角色。 https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#azure-service-bus-data-receiver

在此處輸入圖像描述

這是模板

    // User Assigned Managed Identity

    {
        "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
        "apiVersion": "2018-11-30",
        "name": "MyManagedIdentity",
        "location": "[resourceGroup().location]",
    },

    // User Assigned Managed Identity Role

    {
        "type": "Microsoft.Authorization/roleAssignments",
        "apiVersion": "2020-04-01-preview",
        "name": "[guid(resourceGroup().id)]",
        "dependsOn": [
            "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/','MyManagedIdentity')]"
        ],
        "properties": {
            "roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419",
            "principalId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', 'MyManagedIdentity'), '2018-11-30').principalId]",
        }
    },

它返回此錯誤。

狀態消息:不允許更新租戶 ID、應用程序 ID、主體 ID 和 scope。 (代碼:RoleAssignmentUpdateNotPermitted)

我不確定出了什么問題。

我看過這個快速入門。 https://docs.microsoft.com/en-us/azure/role-based-access-control/quickstart-role-assignments-template

principalId 應該來自我認為的托管身份。 以及來自服務總線角色 id 的 roleDefinitionId。

您面臨的問題是,當您首次部署 ARM 模板時,最近創建的身份尚未完全復制,因此您可能會注意到列出了安全主體(用戶、組、服務主體或托管身份)作為未找到未知類型的身份。

在此處輸入圖像描述

當您嘗試通過重新部署模板來更新相同的角色分配時,它會給您錯誤“不允許更新租戶 ID、應用程序 ID、主體 ID 和 scope ”,因為具有相同 ID 的角色分配已經存在並且它不允許更新它。

更好的選擇是您首先使用單獨的模板創建身份,然后創建角色分配。 對於Azure Service Bus Data Receiver ,模板中的 ID 應為:

/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0

有關詳細信息,請參閱此文檔

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM