在理解 Azure 的角色 JSON 时遇到问题



这只是一个概念,我很难理解通配符*及其含义,所以这里我们有两个角色所有者和贡献者。

"Name": "Contributor",
"Id": "b24988ac-6180-42a0-ab88-20f7382dd24c",
"IsCustom": false,
"Description": "Lets you manage everything except access to resources.",
"Actions": ["*"],
"NotActions": [
"Microsoft.Authorization/*/Delete",
"Microsoft.Authorization/*/Write",
"Microsoft.Authorization/elevateAccess/Action'],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [],
"/"
Name             : Owner
Id               : 8e3af657-a8ff-443c-a75c-2fe8c4bcb635
IsCustom         : False
Description      : Grants full access to manage all resources, including the ability to assign roles in Azure RBAC.
Actions          : {*}
NotActions       : {}
DataActions      : {}
NotDataActions   : {}
AssignableScopes : {/}

所以我的问题是使用astrisk,我知道*在所有者下意味着一切,但对于贡献者来说,为什么它在NotActions权限下使用?为什么是";微软授权/*/删除";而不是"微软授权/删除";。有问题的权限阻止贡献者删除用户。所以我知道这些角色和权限是如何工作的,我只是在语法上很吃力。我已经阅读了微软学习的文档,但有一些我显然不明白的地方。有知识的人知道如何解释这一点以帮助澄清吗?或者有人可以给我指一些更好的文件吗?如有任何帮助,我们将不胜感激。

为什么是"微软授权/*/删除";而不是微软授权/删除";。

要了解这一点,请参阅本link,尤其是Operations format部分。

本质上,每个操作都是以{Company}.{ProviderName}/{resourceType}/{action}格式指定的。

因此,当您将操作指定为Microsoft.Authorization/*/Delete时,实际上是允许对Microsoft.Authorization资源提供程序下的所有资源执行删除操作。

此格式还使您能够在资源提供程序下的每个资源级别上粒度地指定操作。

最新更新