我已将所有者角色分配给资源组。我无法创建新的资源组。
创建资源组是否需要所有者/贡献者角色才能订阅?
当一个用户被分配了 Owner 和 Reader 角色时,哪个角色控制用户访问?
我已将所有者角色分配给资源组。我无法创建新的资源组。
创建资源组是否需要所有者/贡献者角色才能订阅?
当一个用户被分配了 Owner 和 Reader 角色时,哪个角色控制用户访问?
OP 请求创建新资源组所需的 RBAC 权限。@jason-ye 建议订阅所有者角色。这比必要的权限更多,因此对于生产或相关环境来说不是一个好的答案。
根据Azure 资源的内置角色,订阅中的参与者角色足以创建所有资源,包括资源组。以下是贡献者角色的权限分配,“*”表示一切,有些事情被明确拒绝:
Actions
*
NotActions
Microsoft.Authorization/*/Delete
Microsoft.Authorization/*/Write
Microsoft.Authorization/elevateAccess/Action
Microsoft.Blueprint/blueprintAssignments/write
Microsoft.Blueprint/blueprintAssignments/delete
我想要一种方法来授予“创建新资源组”而不授予“*”现有资源。
更新:基于Azure 内置 [RBAC] 角色,没有其他内置角色可提供创建(或写入)资源组的必要权限。
但是,现在 Azure 支持自定义 RBAC 角色,您可以使用 Microsoft.Resources资源提供程序操作创建自定义角色
Microsoft.Resources/subscriptions/resourceGroups/write
这将提供最少的特权来实现预期的结果。
Azure 提供四个级别的范围(从高到低排序):管理组、订阅、资源组和资源。
您可以在任何这些范围级别应用管理设置。您选择的级别决定了设置的应用范围。较低级别从较高级别继承设置。例如,当您将策略应用于订阅时,该策略将应用于订阅中的所有资源组和资源。当您对资源组应用策略时,该策略将应用于资源组及其所有资源。但是,另一个资源组没有该策略分配。欲了解更多信息,请查看此处
这是你如何做到的。
创建一个文件newrole.json
并添加以下文本。
使用以下命令创建角色
New-AzRoleDefinition -InputFile newrole.json
{
"Name": "XXX ReadOnly",
"Id": "acdd72a7-3385-48ef-bd42-f606fba81ae7",
"IsCustom": false,
"Description": "Lets you view everything, Create Resource Groups but not make any changes.",
"Actions": [
"*/read",
"Microsoft.Resources/subscriptions/resourceGroups/write"
],
"NotActions": [
],
"DataActions": [
],
"NotDataActions": [
],
"AssignableScopes": [
"/subscriptions/id"
]
}
这样做很东方。1)创建一个新角色并在订阅级别分配具有以下权限。一切都在订阅级别读取,但您可以创建资源组“*/read”、“Microsoft.Resources/subscriptions/resourceGroups/write”
2)在他想要管理的适当资源组中为用户分配所有者权限。