如何将角色添加到 bicep 格式的资源组?
How can I add roles to a resource group in bicep format?
param rg_la_dev_eastus_name string = 'rg-la-dev-eastus-001'
param rg_la_prod_eastus_name string = 'rg-la-prod-eastus-001'
targetScope = 'subscription'
resource rgLaDev 'Microsoft.Resources/resourceGroups@2020-06-01' = {
name: rg_la_dev_eastus_name
location: 'eastus'
}
resource rgLaProd 'Microsoft.Resources/resourceGroups@2020-06-01' = {
name: rg_la_prod_eastus_name
location: 'eastus'
}
我可以创建资源组,但我想从这里分配角色。我不想每次都以图形方式进行。
使用此脚本通过 Bicep 分配 RBAC 角色:
resource symbolicname 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = {
name: 'string'
scope: 'string'
properties: {
roleDefinitionId: 'string'
principalId: 'string'
principalType: 'string'
canDelegate: bool
description: 'string'
condition: 'string'
conditionVersion: 'string'
}
}
引用here.
只是添加到@allen-wu 的回复中 - 请记住,您不能在 targetScope = 'subscription'
的模块中使用此资源。您需要在针对您要为其分配权限的资源组的模块中使用它。
因此您需要 3 个文件 - 一个是创建资源组的位置,第二个是放置 roleAssignments 资源的位置。然后,从第一个调用模块:
module rgLaDevPermissions 'devPermissions.bicep' = {
name: '${deployment().name}-${rgLaDev.name}-permissions'
scope: rgLaDev
}
module rgLaProdPermissions 'prodPermissions.bicep' = {
name: '${deployment().name}-${rgLaProd.name}-permissions'
scope: rgLaProd
}
如果 roleAssignments 的结构相同并且仅在分配给谁方面不同,您当然可以使用模块参数来拥有单个模块文件。
有关详细信息,请参阅此处:https://github.com/Azure/bicep/issues/1388
param rg_la_dev_eastus_name string = 'rg-la-dev-eastus-001'
param rg_la_prod_eastus_name string = 'rg-la-prod-eastus-001'
targetScope = 'subscription'
resource rgLaDev 'Microsoft.Resources/resourceGroups@2020-06-01' = {
name: rg_la_dev_eastus_name
location: 'eastus'
}
resource rgLaProd 'Microsoft.Resources/resourceGroups@2020-06-01' = {
name: rg_la_prod_eastus_name
location: 'eastus'
}
我可以创建资源组,但我想从这里分配角色。我不想每次都以图形方式进行。
使用此脚本通过 Bicep 分配 RBAC 角色:
resource symbolicname 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = {
name: 'string'
scope: 'string'
properties: {
roleDefinitionId: 'string'
principalId: 'string'
principalType: 'string'
canDelegate: bool
description: 'string'
condition: 'string'
conditionVersion: 'string'
}
}
引用here.
只是添加到@allen-wu 的回复中 - 请记住,您不能在 targetScope = 'subscription'
的模块中使用此资源。您需要在针对您要为其分配权限的资源组的模块中使用它。
因此您需要 3 个文件 - 一个是创建资源组的位置,第二个是放置 roleAssignments 资源的位置。然后,从第一个调用模块:
module rgLaDevPermissions 'devPermissions.bicep' = {
name: '${deployment().name}-${rgLaDev.name}-permissions'
scope: rgLaDev
}
module rgLaProdPermissions 'prodPermissions.bicep' = {
name: '${deployment().name}-${rgLaProd.name}-permissions'
scope: rgLaProd
}
如果 roleAssignments 的结构相同并且仅在分配给谁方面不同,您当然可以使用模块参数来拥有单个模块文件。
有关详细信息,请参阅此处:https://github.com/Azure/bicep/issues/1388