gpt4 book ai didi

azure - 每个人都如何使用 Azure RBAC 作为代码?

转载 作者:行者123 更新时间:2023-12-03 00:55:55 27 4
gpt4 key购买 nike

我想知道每个人都是如何大规模处理 RBAC 的。我们有映射到 Azure RBAC 角色的 AD 组,但一切几乎都是通过门户完成的。有没有人成功使用管道和 Bicep/ARM/Terraform 来部署其上的所有角色分配,并具有多个订阅/mg。目前,我们没有针对 RBAC 更改的真正审计跟踪,这就是我们正在研究此问题的原因。谢谢!

最佳答案

目前我也在应对这一挑战。我最终得到的是一个二头肌文件,我可以在其中将角色分配给管理组。我选择了反射(reflect)portal.azure.com 的文件结构。这意味着我有一个名为“IAM”的文件夹,我在其中管理对管理组的访问。我选择每个管理组都有一个二头肌文件,因此“playground”管理组有一个名为playground.bicep 的文件。

targetScope = 'managementGroup'

param scope string
param DiskBackupReaders array
param PurviewDataCurators array

var roles = [
{
role: 'DiskBackupReaders'
principalId: DiskBackupReaders
roleDefinitionId: '/providers/Microsoft.Authorization/roleDefinitions/3e5e47e6-65f7-47ef-90b5-e5dd4d455f24'
}
{
role: 'PurviewDataCurators'
principalId: PurviewDataCurators
roleDefinitionId: '/providers/Microsoft.Authorization/roleDefinitions/db7b14f2-5adf-42da-9f96-f2ee17bab5cb'
}
]
var mgmtScope = '/providers/Microsoft.Management/managementGroups/${scope}'


module rbacAssignment '../modules/rbac.bicep' = [for role in roles: {
name: role.role
scope: managementGroup(scope)
params: {
principalId: role.principalId
rbacId: role.roleDefinitionId
scope: mgmtScope
}
}]

嵌套循环有点棘手,但是模块文件帮助我解决了这个问题,还有其他想法吗?

targetScope = 'managementGroup'
param scope string
param principalId array =[]
param rbacId string

resource rbacAssignment 'Microsoft.Authorization/roleAssignments@2020-08-01-preview' =[ for principal in principalId:{
name: guid(rbacId, scope, principal)
properties: {
principalId: principal
roleDefinitionId: rbacId
}
}]

我使用简单的 pwsh 循环将文件夹中的所有文件部署到 mgmt 组

关于azure - 每个人都如何使用 Azure RBAC 作为代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68732971/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com