使用 RBAC 访问 Azure Key Vault 中的托管机密?

时间:2021-05-07 08:09:07

标签: azure azure-storage azure-keyvault azure-managed-identity azure-rbac

我在 Azure 虚拟机上运行了一个 Python 脚本,该脚本将文件上传到存储帐户中的文件共享中。虚拟机获得了用户分配的托管标识,并具有内置的“Key Vault Secrets User”角色。

我按照 this tutorial 允许 Key Vault 自动将存储帐户访问密钥作为机密进行管理。因此,它是一个托管机密(不能通过门户查看,但可以通过 CLI 看到)。我的 Python 应用程序尝试从保管库中检索访问密钥,并使用它来生成具有文件共享写入权限的 SAS 令牌。但是,当我尝试从密钥保管库中检索机密时,出现以下错误:

azure.core.exceptions.HttpResponseError: (Forbidden) The user, group or application 'appid=xxx;iss=https://sts.windows.net/xxx/' does not have secrets get permission on key vault 'my-vault-name;location=eastus'. For help resolving this issue, please see https://go.microsoft.com/fwlink/?linkid=2125287

我允许使用我通过门户创建的托管身份访问保管库,这是昨天,因此更改肯定传播得很好。我的流程有什么问题?除了“Key Vault Secrets User”之外,我是否需要为托管标识授予更多权限?

1 个答案:

答案 0 :(得分:0)

解决了。我感到困惑,并允许通过 IAM 访问托管身份,通过保管库访问策略。