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

Azure 应用程序配置支持使用 Microsoft Entra ID 授权向应用程序配置存储区发出请求。 借助 Microsoft Entra ID,可以利用 Azure 基于角色的访问控制 (Azure RBAC) 向安全主体(可以是用户主体、 托管标识服务主体)授予权限。

概述

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

  1. 身份验证:从应用程序配置的 Microsoft Entra ID 获取安全主体的令牌。 若要详细了解,请参阅应用程序配置中的 Microsoft Entra 身份验证

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

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

Azure 提供下列内置角色,用于使用 Microsoft Entra ID 授权对应用程序配置的访问权限:

数据平面访问

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

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

控制平面访问权限

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

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

注意

为不同标识分配角色后,在使用此标识访问存储在应用配置中的数据之前,该权限的传播时长上限为 15 分钟。

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

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

使用 DefaultAzureCredential

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

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

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

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

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

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

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

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

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

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

后续步骤

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