使用 Bicep 将多个 Azure 角色分配给资源

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

我想创建一个管道,我在其中使用 Bicep 模板文件将多个内置角色分配给托管身份。我首先考虑通过 Bicep 创建角色定义,但它的输入要求放置特定权限,这有点混乱,因为我需要对该模板放置 70 多个权限,所以我考虑只部署角色分配。从我在 MS 文档 here 中看到的情况来看,这是可能的,但只能通过指定一个特定的角色定义来实现。是否可以在二头肌模板中定义多个角色定义以将它们分配给资源?我想避免创建具有大量特定权限的角色定义二头肌模板。

azure azure-resource-manager azure-managed-identity azure-bicep
1个回答
0
投票

你总是可以传递一个角色定义数组并循环:

param storageAccountName string
param principalId string
param principalType string = 'ServicePrincipal'
param roleDefinitionIds array

// Get a reference to the existing resource
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-04-01' existing = {
  name: storageAccountName
}

// Create the role assignments
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = [for roleDefinitionId in roleDefinitionIds: {
  scope: storageAccount
  name: guid(storageAccount.id, principalId, roleDefinitionId)
  properties: {
    roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', roleDefinitionId)
    principalId: principalId
    principalType: principalType
  }
}]
© www.soinside.com 2019 - 2024. All rights reserved.