本文介绍如何为 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 为其分配标识。 在以下示例中,将占位符文本<ResourceGroupName><AppConfigurationStoreName>替换为资源组的名称和应用程序配置存储区的唯一名称。
如果在本地控制台中使用 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 <ResourceGroupName> --location chinaeast2 az appconfig create --name <AppConfigurationStoreName> --location chinaeast2 --resource-group <ResourceGroupName> --sku Free运行 [az appconfig identity assign] 命令,为此配置存储区创建系统分配的标识:
az appconfig identity assign --name <AppConfigurationStoreName> --resource-group <ResourceGroupName>
添加用户分配的标识
若要创建带有用户分配的标识的应用程序配置存储区,需要先创建该标识,然后将其资源标识符分配到你的存储区。
注意
最多可以向应用配置存储添加 10 个用户分配的托管标识。
使用 Azure CLI
若要使用 Azure CLI 设置托管标识,请对现有配置存储区使用 [az appconfig identity assign] 命令。 运行本部分中的示例有三个选项:
- 如果喜欢使用本地 CLI 控制台,请安装最新版 Azure CLI(2.0.31 或更高版本)。
以下步骤将引导你创建用户分配的标识和应用配置存储,然后使用 CLI 将标识分配给存储区。 在以下示例中,请将占位符文本 <ResourceGroupName>、<AppConfigurationStoreName>、<UserAssignedIdentityName> 和 <SubscriptionId> 替换为您自己的值。
如果在本地控制台中使用 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 <ResourceGroupName> --location chinaeast2 az appconfig create --name <AppConfigurationStoreName> --location chinaeast2 --resource-group <ResourceGroupName> --sku Free使用 CLI 创建名为
<UserAssignedIdentityName>的用户分配的标识。az identity create --resource-group <ResourceGroupName> --name <UserAssignedIdentityName>记下此命令的输出中
id属性的值。运行 [az appconfig identity assign] 命令,向此配置存储区分配新的用户分配的标识。 使用在上一步中记下的
id属性的值。az appconfig identity assign --name <AppConfigurationStoreName> --resource-group <ResourceGroupName> --identities /subscriptions/<SubscriptionId>/resourcegroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<UserAssignedIdentityName>
删除身份
可通过使用 Azure CLI 中的 az appconfig identity remove 命令禁用此功能来删除系统分配的标识。 可以单独删除用户分配的标识。 以这种方式删除系统分配的标识也会将它从 Microsoft Entra ID 中删除。 删除应用资源时,也会自动从 Microsoft Entra ID 中删除系统分配的标识。