gpt4 book ai didi

Azure自定义角色: authorize role assignment for a specific set of roles

转载 作者:行者123 更新时间:2023-12-03 04:46:03 25 4
gpt4 key购买 nike

我正在尝试在 Azure 中创建一个自定义角色,允许订阅“所有者”执行几乎所有操作,但取消/重命名自己的订阅或移至另一个管理组。

我还希望他们能够向他们想要的人授予正确的访问权限(特别是内置的“贡献者”角色),但不允许他们授予“所有者”权限,否则我的自定义角色可能很容易被欺骗。

我最终得到了以下自定义角色定义,到目前为止,除了角色分配之外,该定义还不错且有效:

{
"Name": "MyCustomRole",
"IsCustom": true,
"Description": "Role designed for Azure subscriptions ownership limitations",
"Actions": [
"*"
],
"NotActions": [
"Microsoft.Management/managementGroups/subscriptions/write",
"Microsoft.Subscription/cancel/action",
"Microsoft.Subscription/rename/action"
],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [
"/providers/Microsoft.Management/managementGroups/root.mg"
]
}

在 Azure 文档中,我发现的唯一用于角色分配的操作是 Microsoft.Authorization/roleAssignments/write

是否有任何方法可以直接在自定义角色中限制(例如,贡献者角色分配)?

从技术上讲,Azure 策略可能可以解决问题(甚至不确定),但由于某些操作/专家/无论什么人最终可能成为所有者,我不希望策略引擎显示“不合规”资源。这会导致客户产生我希望避免的误解。

最佳答案

您可能想尝试 Azure Policy,您可以将其应用到 IAM 模型之上。您可以根据您的治理结构在订阅或管理组级别分配策略。

下面的策略定义将阻止所有尝试分配“所有者”角色的请求,无一异常(exception)。内置所有者角色由“8e3af657-a8ff-443c-a75c-2fe8c4bcb635”表示,所有 Azure 租户的 GUID 相同。

但是,其他 RBAC 角色的角色分配仍然是可能的。这应该可以满足您的用例。

https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles

{
"policyType": "Custom",
"mode": "All",
"displayName": "DenyOwnerAssisgnment",
"policyRule": {
"if": {
"allOf": [
{
"field": "Microsoft.Authorization/roleAssignments/roleDefinitionId",
"contains": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635"
},
{
"field": "type",
"equals": "Microsoft.Authorization/roleAssignments"
}
]
},
"then": {
"effect": "deny"
}
},
"type": "Microsoft.Authorization/policyDefinitions"
}

关于Azure自定义角色: authorize role assignment for a specific set of roles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59270885/

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