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

标签 azure azure-resource-manager azure-managed-identity azure-bicep

我想创建一个管道,在其中使用 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/

相关文章:

azure - 在 Azure 资源管理模板中创建 StorageV2 存储帐户

azure - 在同一arm模板部署中创建多个keyvault secret

Azure 函数输出绑定(bind)事件网格托管标识

php - Azure Key Vault 和托管身份 - 使用 REST 进行本地开发

azure - Windows Azure 静态内容网站/Azure Blob 存储 - 出站数据传输 价格比较

azure - 当前订阅中不存在该存储帐户

azure - 将 Azure Web App 诊断日志设置添加到 ARM 模板

azure - 使用托管标识从 VM 访问 Azure 存储

javascript - 通过 Azure 端点压缩 *.js 和 *.css 文件

Azure 存储 Blob 错误 - AnonymousClientOtherError 和 AnonymousNetworkError