使用 Azure CLI 向托管标识分配对资源的访问权限

Azure 资源的托管标识是 Microsoft Entra ID 的一项功能。 支持 Azure 资源的托管标识的每个 Azure 服务都受其自己的时间线限制。 在开始之前,请务必查看资源的托管标识的可用性状态以及已知问题

为 Azure 资源配置托管标识后,便可以授予该托管标识对其他资源的访问权限,这一点与安全主体一样。 此示例展示了如何使用 Azure CLI 授予 Azure 虚拟机或虚拟机规模集的托管标识对 Azure 存储帐户的访问权限。

如果还没有 Azure 帐户,请先注册试用帐户,然后再继续。

先决条件

使用 Azure RBAC 授予托管标识对另一资源的访问权限

在 Azure 资源(如 Azure 虚拟机Azure 虚拟机规模集)上启用托管标识后:

  1. 此示例要授予 Azure 虚拟机对存储帐户的访问权限。 首先,我们使用 az resource list 获取名为 myVM 的虚拟机的服务主体:

    spID=$(az resource list -n myVM --query [*].identity.principalId --out tsv)
    

    对于 Azure 虚拟机规模集,使用的命令相同,但获取名为“DevTestVMSS”的虚拟机规模集的服务主体:

    spID=$(az resource list -n DevTestVMSS --query [*].identity.principalId --out tsv)
    
  2. 获得服务主体 ID 后,立即使用 az role assignment create授予虚拟机或虚拟机规模集对“myStorageAcct”存储帐户的“读者”访问权限:

    az role assignment create --assignee $spID --role 'Reader' --scope /subscriptions/<mySubscriptionID>/resourceGroups/<myResourceGroup>/providers/Microsoft.Storage/storageAccounts/myStorageAcct
    

后续步骤