azure - 无法理解 Azure 的角色 JSON

标签 azure azure-resource-manager azure-powershell azure-rbac

这只是一个概念,我无法理解通配符 * 及其含义,因此这里我们有两个角色“所有者”和“贡献者”。

"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 : {/}

所以我的挂断是使用星号,我知道所有者下的 * 意味着一切,但对于贡献者,为什么它在 NotActions 权限下使用?为什么是“Microsoft.Authorization/*/Delete”而不是“Microsoft.Authorization/Delete”。有问题的权限阻止贡献者删除用户。所以我知道这些角色和权限是如何工作的,我只是真的很难理解语法。我已阅读 microsoft learn 上的文档,但有一些关于 * 的内容我显然不明白。有任何知识的人是否知道解释此问题的方法以帮助清除它,或者也许有人可以向我指出一些更好的文档?有任何帮助吗?将不胜感激。

最佳答案

Why is it "Microsoft.Authorization/*/Delete" instead of Microsoft.Authorization/Delete".

要了解这一点,请参阅此 link特别是Operations format部分。

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

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

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

关于azure - 无法理解 Azure 的角色 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67341230/

相关文章:

Azure:Powershell:Set-AzureRmWebApp:如何设置 "alwaysOn"属性

azure - 需要 Azure powershell 命令来获取 Azure Kubernetes 服务

azure - 使用 powershell,如何为路径段中版本的 api 管理服务创建 api?

Azure ARM 应用程序服务存储安装不再有效

azure - parametersLink 选项不将参数传递给 templateLink

azure - 使用 AzureRm 模块创建 VM 花费太多时间

c# - 如何使用 Microsoft.Azure.Management.Fluent 在 Azure 存储帐户上设置最低 TLS;

azure - 逻辑应用消费 API 连接 - ARM 模板函数

azure - 与 Get-AzureRmSqlServerThreatDetectionPolicy 等效的 C# 是什么?

azure - 每小时对 API 进行 REST 调用并将结果保存到 Azure SQL