我想创建一个管道,在其中使用 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
}
}]
关于azure - 使用 Bicep 将多个 Azure 角色分配给资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76054899/