簡體   English   中英

通過 ARM 模板使用單個 azure 資源向多個用戶添加 RBAC 角色

[英]Adding a RBAC role to multiple users using single azure resource via ARM template

我正在嘗試將 RBAC 角色“讀者”分配給訂閱級別的用戶列表。 當我嘗試為一個用戶 ARM 模板工作時。 但是對於用戶列表,它給出了這個錯誤。

InvalidRoleAssignmentId:角色分配 ID“u4ttmsjymtpe21”無效。 角色分配 ID 必須是 GUID。 InvalidRoleAssignmentId:角色分配 ID“u4ttmsjymtpe20”無效。 角色分配 ID 必須是 GUID。

這是我使用的代碼:

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "principalId": {
        "type": "array"
    },
    "builtInRoleType": {
        "type": "string"
    },
      "guidValue": {
        "type": "string"
    }
},
"variables": {
    "unique_string":"[uniqueString(parameters('guidValue'))]",
    "Reader": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'acdd72a7-3385-48ef-bd42-f606fba81ae7')]"
},
"resources": [
    {
        "type": "Microsoft.Authorization/roleAssignments",
        "apiVersion": "2018-09-01-preview",
        "name": "[concat(variables('unique_string'),copyIndex())]",
        "copy": {
            "name": "useridLoop",
            "count": "[length(parameters('principalId'))]"
            },
        "properties": {
            "roleDefinitionId": "[variables(parameters('builtInRoleType'))]",
            "principalId": "[parameters('principalId')[copyIndex()]]"
        }
    }
]

}

這是參數文件:

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "principalId": {
        "value": [
            "b5*****c-****-****-****-c*****0*****",
            "e******d-****-****-****-b*****b*****"
        ]
    },
    "builtInRoleType": {
        "value":  "Reader"
    },
    "guidValue": {
        "value": "[newGuid()]"
    }
}

}

InvalidRoleAssignmentId:角色分配 ID“u4ttmsjymtpe21”無效。 角色分配 ID 必須是 GUID。 InvalidRoleAssignmentId:角色分配 ID“u4ttmsjymtpe20”無效。 角色分配 ID 必須是 GUID。

您無需將[newGuid()]作為值傳遞給參數,而是需要將其作為默認值傳遞給參數。 因此,您收到了上述錯誤消息。

我們對上述共享模板進行了一些更改並嘗試部署修改后的模板,我們能夠將用戶作為“讀者”分配給訂閱。

這是修改后的 ARM 模板:

{
   "$schema":"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
   "contentVersion":"1.0.0.0",
   "parameters":{
      "principalId":{
         "type":"array"
      },
      "name":{
         "type":"string",
         "defaultValue":"[newGuid()]"
      }
   },
   "variables":{
      "Reader":"[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'acdd72a7-3385-48ef-bd42-f606fba81ae7')]"
   },
   "resources":[
      {
         "type":"Microsoft.Authorization/roleAssignments",
         "apiVersion":"2018-09-01-preview",
         "name":"[guid(concat(parameters('name'),copyIndex()))]",
         "copy":{
            "name":"useridLoop",
            "count":"[length(parameters('principalId'))]"
         },
         "properties":{
            "roleDefinitionId":"[variables('Reader')]",
            "principalId":"[parameters('principalId')[copyIndex()]]"
         }
      }
   ]
}

這是 parameter.json 文件:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "principalId": {
      "value": [
          <object-id of the users>
      ]
    }
}
}

下面是樣本output供參考:

在此處輸入圖像描述

在此處輸入圖像描述

暫無
暫無

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

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