Compartir a través de

使用 Microsoft Entra ID 访问Azure 应用程序配置

Azure 应用配置支持通过 Microsoft Entra ID 对发送到应用配置存储的请求进行授权。 使用 Microsoft Entra ID,可以利用Azure基于角色的访问控制(Azure RBAC)授予对安全主体(可以是用户主体、托管标识服务主体的权限。

概述

使用 Microsoft Entra ID访问应用配置存储涉及两个步骤:

  1. Authentication:从 Microsoft Entra ID 获取用于应用配置的安全主体令牌。 有关详细信息,请参阅应用配置中的 Microsoft Entra 身份验证

  2. 授权:将令牌作为请求的一部分传递给应用程序配置存储区。 若要授权访问指定的应用程序配置存储区,必须提前为安全主体分配相应的角色。 有关详细信息,请参阅应用配置中的 Microsoft Entra 授权

Azure 应用程序配置 的 Azure 内置角色

Azure提供以下内置角色,用于使用 Microsoft Entra ID 授权访问应用配置:

数据平面访问

数据平面操作的请求将发送到应用程序配置存储区的终结点。 这些请求与应用程序配置数据相关。

  • 应用程序配置数据所有者:使用此角色授予对应用程序配置数据的读取、写入和删除访问权限。 此角色不会授予对应用配置资源的访问权限。
  • 应用程序配置数据读取者:使用此角色授予对应用程序配置数据的读取访问权限。 此角色不会授予对应用配置资源的访问权限。

控制平面访问权限

所有对控制平面操作的请求都会发送到Azure资源管理器URL。 这些请求与应用程序配置资源相关。

  • 应用程序配置参与者:使用此角色仅管理应用程序配置资源。 此角色不授予管理其他Azure资源的权限。 它授予对资源访问密钥的访问权限。 虽然可以使用访问密钥访问应用配置数据,但此角色不会使用Microsoft Entra ID授予对数据的直接访问权限。 它授予恢复已删除应用程序配置资源的访问权限,但不授予清除这些资源的访问权限。 若要清除已删除应用程序配置资源,请使用参与者角色。
  • 应用程序配置读者:使用此角色仅读取应用程序配置资源。 此角色不授予读取其他Azure资源的权限。 它不会授予对资源的访问密钥的访问权限,也不会授予对应用程序配置中存储的数据的访问权限。
  • ContributorOwner:使用此角色管理应用配置资源,同时还可以管理其他Azure资源。 此角色是特权管理员角色。 它负责授予对资源的访问密钥的访问权限。 虽然可以使用访问密钥访问应用配置数据,但此角色不会使用Microsoft Entra ID授予对数据的直接访问权限。
  • Reader:使用此角色读取应用配置资源,同时能够读取其他Azure资源。 此角色不会授予对资源的访问密钥的访问权限,也不会授予对存储在应用配置中的数据的访问权限。

注意

在为某个标识分配角色后,请等待最多 15 分钟,以使权限传播,然后再使用该标识访问存储在应用配置中的数据。

使用令牌凭据进行身份验证

若要使应用程序能够使用Microsoft Entra ID进行身份验证,Azure标识库支持各种令牌凭据进行Microsoft Entra ID身份验证。 例如,在 Visual Studio 开发应用程序时,可以选择 Visual Studio 凭据,当应用程序在 Kubernetes 上运行时,可以选择工作负荷标识凭据,当应用程序部署在 Azure 服务(如 Azure Functions)中时,可以选择托管标识凭据。

使用 DefaultAzureCredential

DefaultAzureCredential 是预配置的令牌凭据链,可自动尝试最常见的身份验证方法的有序序列。 使用 DefaultAzureCredential,可以在本地开发和Azure环境中保留相同的代码。 但是,必须知道在每个环境中使用的是哪个凭据,因为需要授予适当的角色,以便授权能够正常工作。 例如,在本地开发期间,当您期望 DefaultAzureCredential 回退到您的用户身份时,授权您的账户。 同样,在Azure Functions中启用托管标识,并在函数应用在Azure中运行时预期 DefaultAzureCredential回退到 ManagedIdentityCredential 时,请为其分配必要的角色。

分配应用程序配置数据角色

无论使用哪种凭据,都必须为其分配适当的角色,然后才能访问应用程序配置存储区。 如果应用程序只需要从应用程序配置存储区中读取数据,请为其分配应用程序配置数据读者角色。 如果应用程序还需要将数据写入应用程序配置存储区,请为其分配应用程序配置数据所有者角色。

按照以下步骤将应用配置数据角色分配给您的凭据。

  1. 在 Azure 门户中,导航到你的应用配置存储区,然后选择 访问控制(IAM)

  2. 选择添加 ->添加角色分配

    如果未分配角色的权限,则“添加角色分配”选项将会禁用。 只有拥有所有者用户访问管理员角色的用户才能进行角色分配。

  3. 在“角色”选项卡上,选择“应用程序配置数据读者”角色(或适当的其他应用程序配置角色),然后选择“下一步”

  4. 在“成员”选项卡上,按照向导选择要向其授予访问权限的凭据,然后选择“下一步”

  5. 最终,在“查看 + 分配”选项卡上,选择“查看 + 分配”,以分配角色。

用于Entra ID身份验证的目标受众

Microsoft Entra ID身份验证的受众定义谁有权访问特定资源。 它标识安全令牌的预期接收方。 应用配置支持不同云的不同受众。

应用配置的目标用户

对于全局Azure云中的Azure 应用程序配置,请使用以下受众:

https://appconfig.azure.com

对于国家/地区云中的 Azure 应用配置,请使用下表中指定的合适受众:

国家云 观众
由世纪互联运营的Azure https://appconfig.azure.cn

后续步骤

了解如何使用托管标识访问应用程序配置存储区