azure - 为什么这些 Azure 权限不起作用?

标签 azure azure-active-directory azure-keyvault azure-rbac

我试图为团队提供最低特权的访问权限来管理其 key 保管库中的 key 、 secret 和证书,以及管理访问策略的能力。

these docs , key 、 secret 和证书通过访问策略在数据平面中处理,并且管理访问策略的能力通过 RBAC 在管理平面中处理。因此,我们通过访问策略处理数据访问( key 、 secret 和证书)。但我们似乎无法获得正确的权限来授予他们管理访问策略的能力。

我创建了一个具有以下权限的自定义角色:

  • */阅读
  • Microsoft.KeyVault/vaults/read
  • Microsoft.KeyVault/vaults/accessPolicies/write
  • Microsoft.Authorization/policyDefinitions/删除
  • Microsoft.Authorization/policyDefinitions/write
  • Microsoft.Authorization/policyDefinitions/read
  • Microsoft.Authorization/policyAssignments/删除
  • Microsoft.Authorization/policyAssignments/write
  • Microsoft.Authorization/policyAssignments/read

即使拥有这些权限,用户也无法添加访问策略。我们做错了什么?

此外,我认为只有“accessPolicies/write”权限(在 Microsoft.Keyvault 下)是列表中唯一与管理 key 保管库访问策略的能力相关的权限。是对的吗? (policyDefinition和policyAssignment权限与这个问题无关吗?)

谢谢!

最佳答案

are the policyDefinition and policyAssignment permissions irrelevant to this issue?

是的,与此问题无关。

Why are these Azure permissions not working?

要管理访问策略,Microsoft.KeyVault/vaults/accessPolicies/write 操作还不够,请将具有此操作的自定义角色分配给用户,然后使用该用户帐户测试 powershell 命令Set-AzKeyVaultAccessPolicy,显然它需要Microsoft.KeyVault/vaults/write操作。

Set-AzKeyVaultAccessPolicy -VaultName joytest123 -ResourceGroupName joyRG -ObjectId xxxxxx -PermissionsToKeys create,import,delete,list -BypassObjectIdValidation

enter image description here

因此,至少您需要在自定义角色中使用如下所示的操作

"Actions": [
    "Microsoft.KeyVault/vaults/read",
    "Microsoft.KeyVault/vaults/write",

  ]

如果您不希望用户创建新的 keyvault,只需在特定 keyvault 范围内为用户分配自定义角色(选择一个 keyvault -> 访问控制 (IAM) ),那么他将无法做到这一点。

关于azure - 为什么这些 Azure 权限不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61940285/

相关文章:

azure - 500(URL 重写模块错误。)文件已存在

javascript - 在没有 ADAL 的情况下从 Javascript 调用经过 AAD 验证的 Azure 函数?不存在 Access-control-allow-origin header

asp.net-mvc - CookieAuthenticationOptions.LoginPath 值在也使用 app.UseOpenIdConnectAuthentication 时不使用

windows-applications - Web 身份验证代理总是失败?

Azure - 在 Java Spring Boot 中使用用户管理身份访问 Key Vault : Error Details: ManagedIdentityCredential authentication unavailable?

linux - Linux 上使用 az keyvault 的 Azure secret 下载问题

使用 Windows 容器的 Azure 应用服务无法启动

azure - 返回所有 GCP 区域和可用区的 API

azure - 是否可以将 Azure DevOps YAML 管道集成到发布管道中?

azure - 获取访问 Azure keyvault 的 token 失败,并显示“操作已取消”消息