如果使用 Azure 基于角色的访问控制,则无法在 Azure Key Vault 中创建机密

Unable to create secrets in Azure Key Vault if using Azure role-based access control

我真的是 Azure 的新手,但正在努力学习 - 如果这是一个愚蠢的问题,我深表歉意。我已经开始免费试用(这给了我一些开始的荣誉),并且我正在尝试创建一个密钥库。如果我在访问策略下指定“Vault 访问策略”,它会很好用并且我能够创建秘密。不过,我想改用“Azure 基于角色的访问控制”。如果我使用 Azure 基于角色的访问控制创建密钥保管库,我在尝试创建新机密时收到一条消息,其中显示“RBAC 不允许该操作。如果最近更改了角色分配,请等待几分钟以进行角色分配变得有效。”我以服务管理员身份登录到 Azure,所以我认为这不是权限问题。我把它放了一夜,它仍然显示消息,所以我认为这不是角色分配生效时间不够长的问题。我尝试在不同区域创建密钥保管库并获得相同的结果。请注意,当我从头开始使用基于 Azure 角色的访问控制创建密钥保管库时会发生这种情况(即我不会将它从一个更改为另一个或类似的东西。)有人知道我做错了什么吗? 谢谢你的帮助 安德鲁

如果您使用基于 Azure 角色的访问控制提供对 Key Vault 密钥、证书和机密的访问权限,则您需要使用特定的内置角色或允许在数据平面上进行操作的自定义角色。

您在 official documentation for Key Vault RBAC permission model 中有上述内置角色的列表。

您分配的角色很可能无权访问 Key Vault 数据平面。您可以在 this link 找到完整的运营提供商列表。请注意,Actions 是基础设施级别的操作,而 DataActions 是数据级别的操作,即 Key Vault 中的内容。大多数角色无权访问此内容。

如果您从头开始创建具有 RBAC 角色的密钥保管库,请将 Key vault Administrator 分配给您的姓名,以创建/管理机密、证书和密钥。

步骤:

  1. 创建密钥保管库后转到您的密钥保管库,然后单击“访问” 控制(IAM):

  2. 然后点击Add Role assignment然后添加Key vault 您姓名的管理员角色:

  3. 审核并分配角色后,您将能够成功 create/manage Key vault 中存在的对象。