Azure VM系统托管身份访问存储队列:为何需SAS令牌及如何处理
问题解答
az cli并非无法识别VM的系统托管标识,而是存储系列命令默认不会自动启用托管标识认证,得手动指定认证方式才行,具体解决方法如下:
临时指定认证模式:直接在命令里添加
--auth-mode login参数,修改后的命令为:az storage message peek -q queue --account-name storageacct --auth-mode login这个参数会让az cli使用当前已登录的身份进行认证,在此之前需要确保已经通过VM的系统托管标识完成登录,执行命令:
az login --identity设置默认认证模式:如果不想每次命令都加参数,可以配置全局默认值,执行:
az configure --defaults storage-auth-mode=login之后所有
az storage开头的命令都会默认使用当前登录身份(即VM的系统托管标识)进行认证。
另外需要确认下VM的系统托管标识确实被授予了目标存储队列的正确权限,比如需要添加存储队列数据参与者这类包含读写删权限的IAM角色,确保权限范围覆盖目标队列或所属存储账户。
内容的提问来源于stack exchange,提问作者user3472
相关产品推荐
相关产品推荐

