如何将托管标识用于 Azure 应用程序配置

本文介绍如何为 Azure 应用程序配置创建托管标识。 借助 Microsoft Entra ID 的托管标识,Azure 应用程序配置可以轻松访问其他受 Microsoft Entra 保护的资源。 标识由 Azure 平台管理。 无需预配或轮换任何机密。 有关 Microsoft Entra ID 中的托管标识的详细信息,请参阅 Azure 资源的托管标识

你的应用程序可以被授予两种类型的标识:

  • 配置存储区绑定了一个系统分配的标识。 如果删除配置存储区,则标识将一并删除。 一个配置存储区只能有一个系统分配的标识。
  • 用户分配的标识是可以分配给配置存储区的独立 Azure 资源。 一个配置存储区可以有多个用户分配的标识。

添加系统分配的标识

若要创建带有系统分配的标识的应用程序配置存储区,需要在该存储区上设置一个额外的属性。

使用 Azure CLI

若要使用 Azure CLI 设置托管标识,请对现有配置存储区使用 [az appconfig identity assign] 命令。 运行本部分中的示例有三个选项:

以下步骤指导你完成使用 CLI 创建应用程序配置存储区并为其分配标识的操作:

  1. 如果在本地控制台中使用 Azure CLI,首先请使用 [az login] 登录到 Azure。 请使用与 Azure 订阅关联的帐户:

    az cloud set -n AzureChinaCloud
    az login
    # az cloud set -n AzureCloud   //means return to Public Azure.
    
  2. 使用 CLI 创建应用程序配置存储区。 有关如何将 CLI 与 Azure 应用程序配置结合使用的更多示例,请参阅应用程序配置 CLI 示例

    az group create --name myResourceGroup --location chinaeast
    az appconfig create --name myTestAppConfigStore --location chinaeast --resource-group myResourceGroup --sku Free
    
  3. 运行 [az appconfig identity assign] 命令,为此配置存储区创建系统分配的标识:

    az appconfig identity assign --name myTestAppConfigStore --resource-group myResourceGroup
    

添加用户分配的标识

若要创建带有用户分配的标识的应用程序配置存储区,需要先创建该标识,然后将其资源标识符分配到你的存储区。

注意

最多可以向应用配置存储添加 10 个用户分配的托管标识。

使用 Azure CLI

若要使用 Azure CLI 设置托管标识,请对现有配置存储区使用 [az appconfig identity assign] 命令。 运行本部分中的示例有三个选项:

以下步骤演示如何创建用户分配的标识和应用程序配置存储区,然后使用 CLI 将该标识分配给存储:

  1. 如果在本地控制台中使用 Azure CLI,首先请使用 [az login] 登录到 Azure。 请使用与 Azure 订阅关联的帐户:

    az cloud set -n AzureChinaCloud
    az login
    # az cloud set -n AzureCloud   //means return to Public Azure.
    
  2. 使用 CLI 创建应用程序配置存储区。 有关如何将 CLI 与 Azure 应用程序配置结合使用的更多示例,请参阅应用程序配置 CLI 示例

    az group create --name myResourceGroup --location chinaeast
    az appconfig create --name myTestAppConfigStore --location chinaeast --resource-group myResourceGroup --sku Free
    
  3. 使用 CLI 创建名为 myUserAssignedIdentity 的用户分配的标识。

    az identity create --resource-group myResourceGroup --name myUserAssignedIdentity
    

    记下此命令的输出中 id 属性的值。

  4. 运行 [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 中删除系统分配的标识。

后续步骤