

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

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

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

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

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

在将 Microsoft Entra ID 配置为身份提供商之前，我们建议您完成[使用 OAuth2 与 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 获取代币时：
+ 在授权网址中加入一个作用域`entra-application-id/.default`，就像你的应用程序可能需要的任何其他范围一样。这使微软可以知道你打算对微软的Graph API以外的资源使用访问令牌，并生成一个可以通过 AgentCore 身份验证的令牌。

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

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

### 针对 v1.0 和 v2.0 身份令牌的配置
<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`。首先创建你的 Microsoft Entra ID 应用程序注册，然后在 Ident AgentCore ity 发布回调网址后返回微软 Entra 管理中心注册回调网址。

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

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

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

1. 登录 Microsoft Entra 管理中心。

1. 打开**应用程序注册**并选择**新注册**。

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

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

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

1. 选择**注册**。

1. 在应用程序的概述页面上，记录**应用程序（客户端）ID** 和**目录（租户）ID**。你需要这些值才能在 Ident AgentCore ity 中配置 Microsoft 提供程序。

1. 打开**证书和密钥**并创建新的客户端密钥。记录 AgentCore 身份所需的秘密值。微软只显示一次秘密值。

1. 打开 **API 权限**并添加应用程序所需的 Microsoft Graph 或其他权限。

有关更多详细信息，请参阅 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.aws.amazon.com/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 注册唯一的回传网址** 

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

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

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

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

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