如何将托管标识用于 Azure 应用程序配置
本文介绍如何为 Azure 应用程序配置创建托管标识。 借助 Microsoft Entra ID 的托管标识,Azure 应用程序配置可以轻松访问其他受 Microsoft Entra 保护的资源。 标识由 Azure 平台管理。 无需预配或轮换任何机密。 有关 Microsoft Entra ID 中的托管标识的详细信息,请参阅 Azure 资源的托管标识。
你的应用程序可以被授予两种类型的标识:
- 配置存储区绑定了一个系统分配的标识。 如果删除配置存储区,则标识将一并删除。 一个配置存储区只能有一个系统分配的标识。
- 用户分配的标识是可以分配给配置存储区的独立 Azure 资源。 一个配置存储区可以有多个用户分配的标识。
添加系统分配的标识
若要创建带有系统分配的标识的应用程序配置存储区,需要在该存储区上设置一个额外的属性。
使用 Azure CLI
若要使用 Azure CLI 设置托管标识,请对现有配置存储区使用 [az appconfig identity assign] 命令。 运行本部分中的示例有三个选项:
- 如果想要使用本地 CLI 控制台,请安装最新版 Azure CLI(2.1 或更高版本)。
以下步骤指导你完成使用 CLI 创建应用程序配置存储区并为其分配标识的操作:
如果在本地控制台中使用 Azure CLI,首先请使用 [az login] 登录到 Azure。 请使用与 Azure 订阅关联的帐户:
az cloud set -n AzureChinaCloud az login # az cloud set -n AzureCloud //means return to Public Azure.
使用 CLI 创建应用程序配置存储区。 有关如何将 CLI 与 Azure 应用程序配置结合使用的更多示例,请参阅应用程序配置 CLI 示例:
az group create --name myResourceGroup --location chinaeast az appconfig create --name myTestAppConfigStore --location chinaeast --resource-group myResourceGroup --sku Free
运行 [az appconfig identity assign] 命令,为此配置存储区创建系统分配的标识:
az appconfig identity assign --name myTestAppConfigStore --resource-group myResourceGroup
添加用户分配的标识
若要创建带有用户分配的标识的应用程序配置存储区,需要先创建该标识,然后将其资源标识符分配到你的存储区。
注意
最多可以向应用配置存储添加 10 个用户分配的托管标识。
使用 Azure CLI
若要使用 Azure CLI 设置托管标识,请对现有配置存储区使用 [az appconfig identity assign] 命令。 运行本部分中的示例有三个选项:
- 如果喜欢使用本地 CLI 控制台,请安装最新版 Azure CLI(2.0.31 或更高版本)。
以下步骤演示如何创建用户分配的标识和应用程序配置存储区,然后使用 CLI 将该标识分配给存储:
如果在本地控制台中使用 Azure CLI,首先请使用 [az login] 登录到 Azure。 请使用与 Azure 订阅关联的帐户:
az cloud set -n AzureChinaCloud az login # az cloud set -n AzureCloud //means return to Public Azure.
使用 CLI 创建应用程序配置存储区。 有关如何将 CLI 与 Azure 应用程序配置结合使用的更多示例,请参阅应用程序配置 CLI 示例:
az group create --name myResourceGroup --location chinaeast az appconfig create --name myTestAppConfigStore --location chinaeast --resource-group myResourceGroup --sku Free
使用 CLI 创建名为
myUserAssignedIdentity
的用户分配的标识。az identity create --resource-group myResourceGroup --name myUserAssignedIdentity
记下此命令的输出中
id
属性的值。运行 [az appconfig identity assign] 命令,向此配置存储区分配新的用户分配的标识。 使用在上一步中记下的
id
属性的值。az appconfig identity assign --name myTestAppConfigStore --resource-group myResourceGroup --identities /subscriptions/[subscription id]/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUserAssignedIdentity
删除标识
可通过使用 Azure CLI 中的 az appconfig identity remove 命令禁用此功能来删除系统分配的标识。 可以单独删除用户分配的标识。 以这种方式删除系统分配的标识也会将它从 Microsoft Entra ID 中删除。 删除应用资源时,也会自动从 Microsoft Entra ID 中删除系统分配的标识。