Azure 资源的托管标识功能消除了在代码中管理凭据的必要。 可以使用它们获取应用程序的 Microsoft Entra 令牌。 应用程序可以在访问支持 Microsoft Entra 身份验证的资源时使用该令牌。 Azure 管理标识,因此用户不必管理。
有两种类型的托管标识:系统分配和用户分配。 系统分配的托管标识的生命周期与创建它们的资源相关联。 此标识仅限于一种资源,你可使用 Azure 基于角色的访问控制 (Azure RBAC) 来授予托管标识的访问权限。 而用户分配的托管标识可用于多个资源。
本文介绍如何使用 Azure CLI 创建、列出和删除用户分配的托管标识以及如何为其分配角色。
先决条件
- 如果不熟悉 Azure 资源的托管标识,请查阅概述部分。 请务必了解系统分配的托管标识与用户分配的托管标识之间的差异。
- 如果还没有 Azure 帐户,请先注册试用帐户,然后再继续。
准备好你的环境
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展的详细信息,请参阅 将扩展与 Azure CLI 配合使用。
运行az version命令,以查看已安装的版本和依赖库。 若要升级到最新版本,请运行az upgrade。
若要在通过 CLI 使用应用服务主体时修改用户权限,必须在 Azure Active Directory Graph API 中为服务主体提供更多权限,因为 CLI 的某些部分针对图形 API 执行 GET 请求。 否则,你可能最终会收到“权限不足,无法完成操作”消息。
若要执行此步骤,请进行以下操作:
- 在 Microsoft Entra ID 中转到 应用注册 ,选择应用,选择 API 权限,然后向下滚动并选择 Azure Active Directory Graph。
- 选择 应用程序权限,然后添加相应的权限。
创建用户分配的托管标识
若要创建用户分配的托管标识,你的帐户需要托管标识参与者角色分配。
使用
az identity create命令创建用户分配的托管标识。-g参数指定创建了用户分配的托管标识的资源组。-n参数指定其名称。将
<RESOURCE GROUP>和<USER ASSIGNED IDENTITY NAME>参数值替换为自己的值。重要
创建用户分配的托管标识时,只能使用字母数字字符(0-9、a-z、A-Z)和连字符 (-)。 要使虚拟机或虚拟机规模集的分配正常工作,该名称限制为 24 个字符。 有关详细信息,请参阅 FAQ 和已知问题。
az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
列出用户分配的托管标识
若要列出或读取用户分配的托管标识,你的帐户需要托管标识操作员或托管标识参与者角色分配。
若要列出用户分配的托管标识,请使用 az identity list 命令。 将 <RESOURCE GROUP> 值替换为自己的值。
az identity list -g <RESOURCE GROUP>
在 JSON 响应中,用户分配的托管标识为 "Microsoft.ManagedIdentity/userAssignedIdentities" 键返回 type 值。
"type": "Microsoft.ManagedIdentity/userAssignedIdentities"
删除用户分配的托管标识
若要删除用户分配的托管标识,你的帐户需要托管标识参与者角色分配。
若要删除用户分配的托管标识,
使用
az identity delete命令。-n参数指定其名称。-g参数指定创建了用户分配托管标识的资源组。将
<USER ASSIGNED IDENTITY NAME>和<RESOURCE GROUP>参数值替换为自己的值。az identity delete -n <USER ASSIGNED IDENTITY NAME> -g <RESOURCE GROUP>删除用户分配的托管标识不会从将其分配到的任何资源中删除引用。 从资源本身中删除这些。 例如,对于 VM 或虚拟机规模集,请使用
az vm/vmss identity remove命令。
相关内容
有关 Azure CLI 标识命令的完整列表,请参阅 az identity。