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