You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无Azure Active Directory时,如何通过RBAC让Azure VM访问存储容器?

无Azure Active Directory时,如何通过RBAC让Azure VM访问存储容器?

嗨,我来帮你理清这个问题的核心和解决办法:

首先得澄清一个常见误解:每个Azure订阅默认都关联了一个Azure AD租户,哪怕你没特意去配置AAD服务,这个租户是自带的,所以你其实可以用Azure托管标识来实现RBAC授权——这也是Azure推荐的VM访问Azure服务的安全方式。

你之前遇到的“没法把自定义角色分配给VM”的问题,核心原因是:RBAC权限只能分配给安全主体(比如用户、组、服务主体、托管标识),VM本身并不是安全主体,所以直接分配角色给VM是行不通的。而托管标识就是为这类场景设计的,它是Azure AD中的特殊身份,专门给Azure资源(比如你的VM)用的,不需要你手动创建AAD用户或服务主体。

下面是具体的操作步骤:

  • 给VM启用系统分配的托管标识
    登录Azure门户,找到你的vm-01,进入VM的“标识”选项卡,切换到“系统分配”标签页,把状态设置为“开启”,点击保存。这样Azure就会自动在你的默认AAD租户里为这个VM创建一个托管标识,这个标识和VM生命周期绑定,VM删除后标识也会自动删除。

  • 将自定义角色(或内置存储角色)分配给这个托管标识
    找到你要访问的存储账户,进入“访问控制(IAM)”选项卡,点击“添加”→“添加角色分配”:

    • 选择你之前创建的自定义角色(或者用Azure内置的角色,比如“存储Blob数据读取者”,如果只需要读取容器/对象的话)
    • 在“成员”页面,选择“托管标识”,然后点击“选择成员”,在弹出的窗口里选择你的vm-01的系统分配托管标识,完成选择后点击“查看+分配”确认。
  • 在VM上通过托管标识登录Azure CLI并访问存储
    登录到你的Linux VM,打开终端,执行以下命令用托管标识自动登录Azure CLI:

    az login --identity
    

    登录成功后,你就可以直接执行存储相关的命令了,比如列出容器:

    az storage container list --account-name <你的存储账户名称>
    

这样操作后,你的VM就能通过RBAC权限安全地访问存储容器和对象了,全程不需要手动管理凭据,也不需要额外配置AAD服务。

备注:内容来源于stack exchange,提问作者Sudheer Satyanarayana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:43:04