

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Microsoft
<a name="identity-idp-microsoft"></a>

Microsoft Entra ID 可以配置为用于访问 AgentCore 网关和运行时的身份提供商，也可以配置为用于出站资源访问的 AgentCore 身份凭证提供商。这允许您的代理使用微软Entra ID作为身份提供商和授权服务器对代理用户进行身份验证和授权，或者您的代理获得访问微软Entra ID授权的资源的凭据。

## 入站
<a name="identity-idp-microsoft-inbound"></a>

要将 Microsoft Entra ID 添加为用于访问 AgentCore Gateway 和 Runtime 的身份提供商和授权服务器，您必须：
+ 为你的微软 Entra ID 租户配置发现 URL。这有助于 AgentCore Identity 获取与您的 OAuth 授权服务器和令牌验证密钥相关的元数据。
+ 输入代币的有效`aud`索赔。这有助于验证来自您的 IDP 的令牌，并允许访问包含预期声明的令牌。

您可以将它们配置为网关和运行时入站配置的一部分。

在将微软 Entra ID 配置为您的身份提供商之前，我们建议您完成使用 O [ Auth2 与 Google 云端硬盘](identity-getting-started-google.md)集成中概述的基本设置步骤。这样可以确保在添加身份提供商集成之前正确配置您的开发环境和 SDK。

我们支持 v1.0 和 v2.0 的 Microsoft Entra ID 访问权限和没有任何自定义声明的 ID 令牌。您可以通过解析 JWT 并查看声明来确定您的 entra 应用程序正在发行哪些令牌版本。`ver`

对于所有令牌类型，在您的自定义授权器中：
+  **发现 URL**：发现 URL 应为以下内容之一：
  + 对于 v1.0 代币，请使用：`https://login.microsoftonline.com/tenantId/.well-known/openid-configuration`
  + 对于 v2.0 代币，请使用：`https://login.microsoftonline.com/tenantId/v2.0/.well-known/openid-configuration`
+  **允许的受众**：`aud`应为应用程序 ID。

### v1.0 访问令牌的特定配置
<a name="identity-idp-microsoft-inbound-v1-access"></a>

从 Microsoft Entra 获取令牌时：
+ 在授权 URL 中包括一个作用域，就像`entra-application-id/.default`您的应用程序可能需要的任何其他范围一样。这使微软知道你打算对微软的Graph API以外的资源使用访问令牌，并将生成一个可以通过 AgentCore 身份验证的令牌。

### v2.0 专用的配置 AccessTokens
<a name="identity-idp-microsoft-inbound-v2-access"></a>

在微软 Entra 上：
+ 配置应用程序时，转到应用程序清单并添加`accessTokenAcceptedVersion=2`。
+ 在应用程序上，公开 API。应用程序 ID URI 和范围可以是应用程序所需的任何内容；但是，在检索访问令牌时，范围必须包含在授权 URL 中。

### v1.0 和 v2.0 Id 令牌的特定配置
<a name="identity-idp-microsoft-inbound-id"></a>

在微软 Entra 上：
+ 配置应用程序时，在应用程序注册中启用 ID 令牌发行。
+ 在入口流量期间调用 Microsoft Entra ID 的授权和令牌端点时包括强制`openid`范围。

## 出站
<a name="identity-idp-microsoft-outbound"></a>

**注意**  
AgentCore Identity 会为您创建的每个凭证提供商颁发唯一的 OAuth2 回调 URL。独特的回调 URL 支持会话绑定，通过确保授权响应只能针对发起该请求的特定凭证提供商进行兑换，从而保护 OAuth2 授权码交换免受跨提供商重放和 CSRF-style 攻击。由于每个提供商的网址都是唯一的，所以你要等到打电话**之后才**会知道`CreateOauth2CredentialProvider`。首先创建你的微软 Entra ID 应用程序注册，然后在 I AgentCore dentity 颁发回调 URL 后返回微软 Entra 管理中心注册回调 URL。

 **第 1 步：创建 Microsoft Entra ID 应用程序注册 ** 

使用以下步骤设置 Microsoft Entra ID 应用程序注册并获取 AgentCore 身份所需的客户机凭证。在 I AgentCore dentity 发布唯一回调 URL 后，您将在步骤 3 中注册重定向 URI。

 **配置 Microsoft Entra ID 应用程序注册 ** 

1. 登录 Microsoft Entra 管理中心。

1. 打开 “**应用程序注册”，**然后选择 “**新注册**”。

1. 输入应用程序的名称。

1. 在 “**支持的账户类型” 下**，选择适合您的应用程序的选项。

1. 暂时**将 “重定向 URI” ** 字段留空——您将在步骤 3 中添加唯一的回调 URL。

1. 选择**注册**。

1. 在应用程序的概述页面上，记录**应用程序（客户端）ID ** 和**目录（租户）ID **。你需要这些值来在 I AgentCore dentity 中配置微软提供商。

1. 打开 “**证书和密钥” ** 并创建新的客户端密钥。记录机密值，因为您需要它来进行 AgentCore 身份验证。微软只显示一次密钥值。

1. 打开 ** API 权限**并添加微软图形或应用程序所需的其他权限。

有关更多详细信息，请参阅 M [ icrosoft Entra 文档](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app)中的快速入门：注册应用程序。

 **第 2 步：创建 AgentCore 身份凭证提供商 ** 

要配置出站 Microsoft 资源提供商，请使用以下命令：

```
{
        "name": "NAME",
        "credentialProviderVendor": "MicrosoftOAuth2",
        "oauth2ProviderConfigInput": {
            "microsoftOauth2ProviderConfig": {
                "clientId": "your-client-id",
                "clientSecret": "your-client-secret",
                "tenantId": "your-microsoft-entra-tenant"
            }
        }
    }
```

[CreateOauth2CredentialProvider](https://docs.amazonaws.cn/bedrock-agentcore-control/latest/APIReference/API_CreateOauth2CredentialProvider.html)响应包含一个`callbackUrl`字段。此网址是该凭证提供商所独有的，看起来像:`https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`. 保存此值以供下一步使用。

 **第 3 步：向 Microsoft Entra 注册唯一的回传 URL ** 

返回微软 Entra 管理中心，将唯一的回调 URL 添加到应用程序的重定向 URI 中。

1. 登录微软 Entra 管理中心，打开您在步骤 1 中创建的应用程序注册。

1. 打开**身份验证**，然后选择**添加平台 ** > ** Web **。

1. 将返回的`callbackUrl`值粘贴`CreateOauth2CredentialProvider`为**重定向 URI **。

1. 选择 “**配置”**（或 “**保存”**）。