你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:所有 API 管理层级
本文介绍如何在 Azure API 管理实例中为托管 连接 配置标识提供者。 会显示以下常见提供者的设置:
- Microsoft Entra
- 通用 OAuth 2
在 API 管理实例的凭据管理器中配置凭据提供程序。 有关配置 Microsoft Entra 提供程序和连接的分步示例,请参阅配置凭据管理器 - Microsoft Graph API。
Prerequisites
若要在 API Management 中配置任何受支持的提供者,请先在标识提供者中配置用于授权 API 访问的 OAuth 2.0 应用。 有关配置详细信息,请参阅提供者的开发人员文档。
- 如果要创建使用授权代码授予类型的凭据提供程序,请在应用中配置重定向 URL(有时称为授权回调 URL 或类似名称)。 对于值,请输入 - https://authorization-manager.consent.azure-apim.net/redirect/apim/<API-management-instance-name>。
- 根据方案,配置应用设置,例如范围(API 权限)。 
- 至少检索将在 API Management 中配置的以下应用凭据:应用的客户端 ID 和客户端机密。 
- 根据提供程序和您的使用场景,您可能需要检索其他设置,例如授权端点 URL 或作用域。 
- 必须从 API 管理实例通过 Internet 访问提供程序的授权终结点。 如果 API 管理实例在虚拟网络中受到保护,请配置网络或防火墙规则以允许访问提供程序的终结点。 
Microsoft Entra 提供者
API 管理凭据管理器支持 Microsoft Entra 标识提供者,后者是 Azure 中提供标识管理和访问控制功能的标识服务。 它使用户能够通过行业标准协议安全地登录。
支持的授权类型:授权代码、客户端凭据
注意
目前,Microsoft Entra 凭据提供程序仅支持 Azure Active Directory v1.0 终结点。
Microsoft Entra 提供者设置
| properties | 说明 | 必选 | 默认 | 
|---|---|---|---|
| 凭证提供者名称 | API 管理中的凭据提供程序资源的名称。 | 是 | 空值 | 
| 标识提供者 | 选择 Azure Active Directory v1。 | 是 | 空值 | 
| 授予类型 | 要使用的 OAuth 2.0 授权授权类型。 根据你的场景,选择“授权代码”或“客户端凭据”。 | 是 | 授权代码 | 
| 授权 URL | 授权 URL。 | 否 | https://login.microsoftonline.com | 
| 客户端 ID | 用于标识 Microsoft Entra 应用的应用程序(客户端)ID。 | 是 | 空值 | 
| 客户端机密 | 用于 Microsoft Entra 应用的客户端密码。 | 是 | 空值 | 
| 资源 URL | 需要授权的资源的 URL。 示例: https://graph.microsoft.com | 是 | 空值 | 
| 租户 ID | Microsoft Entra 应用的租户 ID。 | 否 | 常见 | 
| 范围 | Microsoft Entra 应用的一个或多个 API 权限,用空格分隔。 示例: ChannelMessage.Read.All User.Read | 否 | Microsoft Entra 应用中设置的 API 权限 | 
通用 OAuth 提供程序
可以使用三个泛型提供程序来配置连接:
- 通用 OAuth 2.0
- 通用 OAuth 2.0 与 PKCE
- 具有 PKCE 和 DCR 的通用 OAuth 2.1
泛型提供程序使你能够根据特定需求使用自己的 OAuth 标识提供者。
注意
如果标识提供者支持 PKCE 提供程序,我们建议使用 PKCE 提供程序来提高安全性。 有关详细信息,请参阅 代码交换的证明密钥。
支持的授权类型:授权代码、客户端凭据(取决于提供者)
通用凭据提供程序设置
| properties | 说明 | 必选 | 默认 | 
|---|---|---|---|
| 凭证提供者名称 | API 管理中的凭据提供程序资源的名称。 | 是 | 空值 | 
| 标识提供者 | 选择 OAuth 2.0、 具有 PKCE 的 OAuth 2.0,或者 选择具有 DCR 的 PKCE 的 OAuth 2.1。 | 是 | 空值 | 
| 授予类型 | 要使用的 OAuth 2.0 授权授权类型。 根据你的场景和标识提供者,选择“授权代码”或“客户端凭据”。 | 是 | 授权代码 | 
| 授权 URL | 授权端点 URL。 | 是,对于 PKCE | OAuth 2.0 未使用 | 
| 客户端 ID | 用于向标识提供者的授权服务器识别某个应用的 ID。 | 是 | 空值 | 
| 客户端机密 | 应用用于向身份提供者的授权服务器进行身份验证的密钥。 | 是 | 空值 | 
| 刷新 URL | 应用向其发出请求以用刷新令牌交换续订访问令牌的 URL。 | 是,对于 PKCE | OAuth 2.0 未使用 | 
| 服务器 URL | 基础服务器 URL | 是,对于具有 PKCE 和 DCR 的 OAuth 2.1 | 空值 | 
| 令牌 URL | 标识提供者授权服务器上的 URL,用于以编程方式请求令牌。 | 是 | 空值 | 
| 范围 | 允许应用执行的一个或多个特定操作,或者它可以代表用户从 API 请求的信息(用空格分隔)。 示例: user web api openid | 否 | 空值 | 
其他标识提供者
API 管理支持多个流行 SaaS 产品/服务的提供程序,包括 GitHub、LinkedIn 等。 创建凭据提供程序时,可以从 Azure 门户中的这些提供程序的列表中进行选择。
              
               
              
              
            
支持的授权类型:授权代码
这些提供程序的必需设置因提供程序而异,但与 通用 OAuth 提供程序的设置相似。 请参阅每个提供者的开发人员文档。
相关内容
- 详细了解如何在 API 管理中管理连接。
- 为 Microsoft Entra ID 或 GitHub 创建连接。