我有一个订阅、资源组和一台虚拟机。我们将此虚拟机称为 vm-01。
我想要从 VM 访问 Azure 存储容器和对象。我已在此 Linux VM 上安装了 Azure CLI。
是否可以使用 RBAC 从 VM 访问存储服务?我想要执行如下命令:
az storage container list
我读过的文档都指向使用 Azure Active Directory。我没有针对此订阅和资源组的 Azure Active Directory 服务。
我原本以为我可以创建一个自定义角色并将其分配给 VM。我能够创建自定义角色并为该角色提供所需的存储权限。但是,我无法将自定义角色分配给 VM。在 Azure 控制台中,我只看到分配 Azure 托管标识的选项。
答案1
您需要执行以下操作:
- 创建用户分配的托管标识Create a userassigned managed Identity
- 授予此托管标识对存储帐户的适当权限(例如“存储帐户参与者Storage Account Contributor“
- 在 VM 上分配此托管标识
- 使用以下命令向 AZ CLI 进行身份验证
az login --identity
完成后,您应该能够az storage container list
在使用托管身份进行身份验证后对存储帐户(例如)进行 API 调用。
以下是官方文档。