

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# API を使用して AgentCore ゲートウェイを作成する
<a name="gateway-create-api"></a>

API を使用して AgentCore ゲートウェイを作成するには、[AgentCore コントロールプレーンエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock_agentcore.html#bedrock_agentcore_cp)のいずれかを使用して [CreateGateway](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_CreateGateway.html) リクエストを行います。

最低限、次のフィールドを指定する必要があります。
+  `name` – ゲートウェイの名前。
+  `roleArn` – ゲートウェイサービスロールの ARN。詳細については、[AgentCore Gateway サービスロールのアクセス許可](gateway-prerequisites-permissions.md#gateway-service-role-permissions)」を参照してください。
+  `authorizerType` – ゲートウェイに使用するオーソライザーのタイプ。設定したインバウンド認可によって異なります。詳細については、[「ゲートウェイのインバウンド認可を設定する](gateway-inbound-auth.md)」を参照してください。

以下のオプションフィールドは、ゲートウェイにメタデータを追加します。
+  `protocolType` – ゲートウェイのプロトコルタイプ。これを に設定すると`MCP`、ゲートウェイは集約モードで動作し、MCP ターゲットのみを持つことができます。このフィールドを省略すると、ゲートウェイは MCP ターゲットと HTTP ターゲットの両方を持つことができます。
+  `description` – ゲートウェイの説明。
+  `tags` – モニタリング目的でゲートウェイにラベルを付けるために使用できるタグを指定するキーと値のペアのディクショナリ。

残りのフィールドは、ゲートウェイの設定と、ゲートウェイのカスタム機能を切り替えるかどうかによって異なります。
+  `clientToken` – リクエストが複数回完了しないようにするためのクライアントトークン値。このトークンを含めない場合、トークンはランダムに生成されます。値を含めない場合、値は自動的にランダムに生成されます。詳細については、「[べき等性の確保](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html)」を参照してください。
+  `authorizerConfiguration` – オーソライザータイプが `CUSTOM_JWT` の場合、ゲートウェイ認可パラメータと認証パラメータを指定するには、このフィールドを含める必要があります。詳細については、[「オーソライザーの設定](#gateway-create-api-authorizer-config)」を参照してください。
+  `kmsKeyArn` – KMS キーを使用してゲートウェイを暗号化するには、このフィールドにキーの ARN を含めます。詳細については、[「カスタマーマネージド KMS キーを使用して AgentCore ゲートウェイを暗号化する](gateway-encryption.md)」を参照してください。
+  `exceptionLevel` – ゲートウェイを呼び出すときにデバッグメッセージを有効にするには、この値を `DEBUG` に設定します。詳細については、[「メッセージのデバッグを有効にする](gateway-debug-messages.md)」を参照してください。この設定でゲートウェイを作成する例については、[「デバッグメッセージを使用してゲートウェイを作成する](#gateway-create-ex-debug)」を参照してください。
+  `interceptorConfigurations` – ゲートウェイの呼び出し時に実行されるカスタムコードを有効にするには、このフィールドを含めます。詳細については、[「ゲートウェイでのインターセプターの使用](gateway-interceptors.md)」を参照してください。インターセプターを使用してゲートウェイを作成する例については、[「インターセプター設定を使用してゲートウェイを作成する](#gateway-create-ex-basic-interceptors)」を参照してください。
+  `protocolConfiguration` – ゲートウェイプロトコルのカスタマイズを含めるには、このフィールドの設定を構成します。この設定のオプションについては、「[GatewayProtocolConfiguration](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_GatewayProtocolConfiguration.html)」を参照してください。
  + オプションの 1 つは、ゲートウェイにツール検索ツールを追加することです。詳細については、[「自然言語クエリ を使用して AgentCore ゲートウェイでツールを検索する](gateway-using-mcp-semantic-search.md)」を参照してください。この検索ツールを使用してゲートウェイを作成する例については、[「セマンティック検索を使用してゲートウェイを作成する](#gateway-create-ex-semantic)」を参照してください。

## オーソライザー設定
<a name="gateway-create-api-authorizer-config"></a>

オーソライザータイプが の場合`CUSTOM_JWT`、 `authorizerConfiguration`フィールドにオーソライザー設定も含める必要があります。オーソライザー設定の基本構造は次のとおりです。

```
{
  "customJWTAuthorizer": {
    "discoveryUrl": "string",
    "allowedAudience": ["string"],
    "allowedClients": ["string"],
    "allowedScopes": ["string"],
    "customClaims": see below
  }
}
```

認証トークンの検出 URL を指定する必要があります。残りのフィールドは、認証クレームの制限を定義します。
+  `allowedAudience` – JWT を処理できる対象者またはサービス。
+  `allowedClients` – JWT の作成が許可されているクライアント。
+  `allowedScopes` – クレームのセットを制限する の範囲。
+  `customClaims` – 認証されるクレームを制限するカスタムフィールドと値を定義できるオブジェクトの配列。各オブジェクトは `CustomClaimValidationsType` オブジェクトであり、次のフィールドが含まれます。
  +  `inboundTokenClaimName` – チェックするカスタムクレームフィールドの名前。
  +  `inboundTokenClaimValueType` – チェックするクレーム値のデータ型。
  +  `authorizingClaimMatchValue` – クレーム値と一致する値を定義します。以下のフィールドが含まれています。
    +  `claimMatchOperator` – 一致値とクレーム値の間に探す関係を定義します。
    +  `claimMatchValue` – 次のいずれかのフィールドのみを含むオブジェクト。
      + matchValueString – 次の状況で使用されます。
        + `inboundTokenClaimValueType` が `STRING`で、 `claimMatchOperator`が `EQUALS` の場合、認証のためにクレーム値と一致する文字列を指定します。
        + `inboundTokenClaimValueType` が `STRING_ARRAY`で、 `claimMatchOperator`が `CONTAINS` の場合、認証のためにクレーム値配列に含める文字列を指定します。
      +  `matchValueArray` – `inboundTokenClaimValueType`が `STRING_ARRAY`で、 `claimMatchOperator`が `CONTAINS_ANY` の場合、認証をチェックする値の配列を指定します。クレーム値配列の値のいずれかが `matchValueArray` の値のいずれかと一致する場合、クレームは認証できます。

次の例は、指定できる CustomClaimValidationsType オブジェクトの構造を示しています。

**Example**  

1. 

   ```
   {
     "inboundTokenClaimName": "string",
     "inboundTokenClaimValueType": "STRING",
     "authorizingClaimMatchValue": {
       "claimMatchValue": {
         "matchValueString": "string"
       },
       "claimMatchOperator": "EQUALS"
     }
   }
   ```

1. 

   ```
   {
     "inboundTokenClaimName": "string",
     "inboundTokenClaimValueType": "STRING_ARRAY",
     "authorizingClaimMatchValue": {
       "claimMatchValue": {
         "matchValueString": "string"
       },
       "claimMatchOperator": "CONTAINS"
     }
   }
   ```

1. 

   ```
   {
     "inboundTokenClaimName": "string",
     "inboundTokenClaimValueType": "STRING_ARRAY",
     "authorizingClaimMatchValue": {
       "claimMatchValue": {
         "matchValueStringList": ["string"]
       },
       "claimMatchOperator": "CONTAINS_ANY"
     }
   }
   ```

ゲートウェイの作成方法の例を確認するには、ユースケースに対応するセクションを展開します。

**Topics**

## ゲートウェイの作成: 基本的な例 (カスタム JWT 認可)
<a name="gateway-create-ex-basic-jwt"></a>

このセクションでは、ゲートウェイを作成する基本的な例を示します。

**注記**  
次の点に注意してください。\* 認可設定の値は、[インバウンド認可](gateway-inbound-auth.md) をセットアップしたときのものです。\* 明示的なゲートウェイサービスロール ARN の指定を伴うオプションを選択する場合は、設定した既存のロールを必ず指定してください。詳細については、[AgentCore Gateway サービスロールのアクセス許可](gateway-prerequisites-permissions.md#gateway-service-role-permissions)」を参照してください。

次のいずれかの方法を選択します。

**Example**  

1. AgentCore CLI は、コマンドラインインターフェイスでゲートウェイを作成する簡単な方法を提供します。

   ゲートウェイを作成するには、 `agentcore add gateway` コマンドを使用します。ゲートウェイサービスロールと Amazon Cognito 認可は、デプロイ中に自動的に設定されます。

    **デフォルトの引数の使用** 

   ターミナルで次のコマンドを実行して、認可なしでゲートウェイを作成します (デフォルト）。カスタム JWT 認可を追加するには、次の例に示すようにオーソライザーフラグを指定します。

   ```
   agentcore add gateway --name my-gateway
   ```

    **引数の指定** 

   次のコマンドは、カスタム JWT 認可と明示的な設定を使用してゲートウェイを作成する方法を示しています。

   ```
   agentcore add gateway \
     --name my-gateway \
     --authorizer-type CUSTOM_JWT \
     --discovery-url "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration" \
     --allowed-audience "api.example.com"
   agentcore deploy
   ```

   デプロイ後、**エージェントコアのステータス**で`gatewayUrl`表示される は、ゲートウェイを呼び出すときに使用するエンドポイントです。

1. `agentcore` を実行して TUI を開き、**追加**を選択して**ゲートウェイ** を選択します。

1. ゲートウェイ名を入力します。  
![ゲートウェイウィザード: 名前を入力する](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. オーソライザータイプとして**カスタム JWT** を選択し、**Enter** を押します。  
![ゲートウェイウィザード: カスタム JWT オーソライザーを選択する](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-jwt.png)

1. 詳細オプションを設定します。  
![ゲートウェイウィザード: 詳細設定](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. 設定の概要を確認し、**Enter** キーを押して以下を確認します。  
![ゲートウェイウィザード: 設定の確認](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

1. ターミナルで次のコードを実行して、 CLI AWS で基本的なゲートウェイを作成します。

   ```
   aws bedrock-agentcore-control create-gateway \
     --name my-gateway \
     --role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \
     --protocol-type MCP \
     --authorizer-type CUSTOM_JWT \
     --authorizer-configuration '{
       "customJWTAuthorizer": {
         "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
         "allowedClients": ["clientId"]
       }
     }'
   ```

   レスポンス`gatewayUrl`の は、ゲートウェイを呼び出すときに使用するエンドポイントです。

1. 次の Python コードは、Python SDK (Boto3) AWS を使用して基本的なゲートウェイを作成する方法を示しています。

   ```
   import boto3
   
   # Initialize the AgentCore client
   client = boto3.client('bedrock-agentcore-control')
   
   # Create a gateway
   gateway = client.create_gateway(
     name="my-gateway",
     roleArn="arn:aws:iam::123456789012:role/my-gateway-service-role",
     protocolType="MCP",
     authorizerType="CUSTOM_JWT",
     authorizerConfiguration={
         "customJWTAuthorizer": {
             "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
             "allowedClients": ["clientId"]
         }
     }
   )
   
   print(f"MCP Endpoint: {gateway['gatewayUrl']}")
   ```

## ゲートウェイの作成: 基本的な例 (IAM 認可)
<a name="gateway-create-ex-basic-iam"></a>

このセクションでは、IAM 認可を使用してゲートウェイを作成する基本的な例を示します。IAM 認可では、オーソライザー設定は必要ありません。

**注記**  
AgentCore CLI は、IAM 認可によるゲートウェイの作成をサポートしていません。 AWS コマンドラインインターフェイスまたは AWS Python SDK (Boto3) を使用して、IAM 認可を持つゲートウェイを作成します。

次のいずれかの方法を選択します。

**Example**  

1. ターミナルで以下を実行します。

   ```
   aws bedrock-agentcore-control create-gateway \
   --name my-gateway \
   --role-arn arn:aws:iam::123456789012:role/MyAgentCoreServiceRole \
   --protocol-type MCP \
   --authorizer-type AWS_IAM
   ```

1. 

   ```
   import boto3
   
   # Create the AgentCore client
   agentcore_client = boto3.client('bedrock-agentcore-control')
   
   # Create a gateway
   gateway = agentcore_client.create_gateway(
     name="my-gateway",
     roleArn="arn:aws:iam::123456789012:role/MyAgentCoreServiceRole",
     protocolType="MCP",
     authorizerType="AWS_IAM"
   )
   ```

## ゲートウェイの作成: 基本的な例 (NONE オーソライザー)
<a name="gateway-create-ex-basic-none-auth"></a>

このセクションでは、NONE オーソライザータイプでゲートウェイを作成する基本的な例を示します。これは、受信リクエストに対して認証または認可を実行しないゲートウェイを表します。

**注記**  
\* NONE オーソライザータイプは、受信リクエストに対して認証または認可を実行しないゲートウェイを表します。この設定の使用に関するセキュリティ上の懸念と詳細については、[「インバウンド認可](gateway-inbound-auth.md)」を参照してください。\* 明示的なゲートウェイサービスロール ARN の指定を伴うオプションを選択する場合は、設定した既存のロールを必ず指定してください。詳細については、[AgentCore Gateway サービスロールのアクセス許可](gateway-prerequisites-permissions.md#gateway-service-role-permissions)」を参照してください。

次のいずれかの方法を選択します。

**Example**  

1. AgentCore CLI を使用すると、コマンドラインインターフェイスで NONE オーソライザータイプを使用してゲートウェイを簡単に作成できます。

   次のコマンドは、NONE オーソライザータイプでゲートウェイを作成する方法を示しています。

   ```
   agentcore add gateway \
     --name my-gateway \
     --authorizer-type NONE
   agentcore deploy
   ```

   デプロイ後、**エージェントコアのステータス**で`gatewayUrl`表示される は、ゲートウェイを呼び出すときに使用するエンドポイントです。

1. `agentcore` を実行して TUI を開き、**追加**を選択して**ゲートウェイ** を選択します。

1. ゲートウェイ名を入力します。  
![ゲートウェイウィザード: 名前を入力する](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. オーソライザータイプとして **NONE** を選択し、**Enter** を押します。  
![ゲートウェイウィザード: NONE オーソライザーを選択する](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-none.png)

1. 詳細オプションを設定します。  
![ゲートウェイウィザード: 詳細設定](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. 設定の概要を確認し、**Enter** キーを押して以下を確認します。  
![ゲートウェイウィザード: 設定の確認](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

1. ターミナルで次のコードを実行して、CLI AWS を使用して NONE オーソライザータイプのゲートウェイを作成します。

   ```
   aws bedrock-agentcore-control create-gateway \
     --name my-gateway \
     --role-arn arn:aws:iam::111122223333:role/my-gateway-service-role \
     --protocol-type MCP \
     --authorizer-type NONE
   ```

   レスポンス`gatewayUrl`の は、ゲートウェイを呼び出すときに使用するエンドポイントです。

1. 次の Python コードは、Python SDK (Boto3) を使用して NONE AWS オーソライザータイプでゲートウェイを作成する方法を示しています。

   ```
   import boto3
   
   # Initialize the AgentCore client
   client = boto3.client('bedrock-agentcore-control')
   
   # Create a gateway
   gateway = client.create_gateway(
     name="my-gateway",
     roleArn="arn:aws:iam::111122223333:role/my-gateway-service-role",
     protocolType="MCP",
     authorizerType="NONE"
   )
   
   print(f"MCP Endpoint: {gateway['gatewayUrl']}")
   ```

## ゲートウェイを作成する: 基本的な例 (AUTHENTICATE\_ONLY 認可)
<a name="gateway-create-ex-basic-authenticate-only"></a>

このセクションでは、`AUTHENTICATE_ONLY`認可付きゲートウェイを作成する例を示します。このオーソライザータイプでは、ゲートウェイはインバウンドトークンを検証しますが、完全な認可は実行しません。認証された ID またはトークンは、ダウンストリーム認可のためにターゲットに渡されます。これは、ゲートウェイで、認可の決定をターゲットサービスに委任する際に発信者が認証されていることを確認する場合に便利です。

**注記**  
`AUTHENTICATE_ONLY` オーソライザータイプには JWT オーソライザー設定が必要です。ゲートウェイはトークンを検証しますが、承認の範囲や対象者の制限は適用しません。明示的なゲートウェイサービスロール ARN の指定を伴うオプションを選択した場合は、設定した既存のロールを必ず指定してください。詳細については、[AgentCore Gateway サービスロールのアクセス許可](gateway-prerequisites-permissions.md#gateway-service-role-permissions)」を参照してください。

次のいずれかの方法を選択します。

**Example**  

1. 次のコマンドを実行して、`AUTHENTICATE_ONLY`認可付きのゲートウェイを作成します。

   ```
   aws bedrock-agentcore-control create-gateway \
     --name my-gateway \
     --role-arn arn:aws:iam::111122223333:role/my-gateway-service-role \
     --authorizer-type AUTHENTICATE_ONLY \
     --authorizer-configuration '{
       "jwtAuthenticationConfiguration": {
         "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
         "allowedClients": ["clientId"]
       }
     }'
   ```

   レスポンス`gatewayUrl`の は、ゲートウェイを呼び出すときに使用するエンドポイントです。

1. 次の Python コードは、`AUTHENTICATE_ONLY`認可を使用してゲートウェイを作成する方法を示しています。

   ```
   import boto3
   
   # Initialize the AgentCore client
   client = boto3.client('bedrock-agentcore-control')
   
   # Create a gateway
   gateway = client.create_gateway(
     name="my-gateway",
     roleArn="arn:aws:iam::111122223333:role/my-gateway-service-role",
     authorizerType="AUTHENTICATE_ONLY",
     authorizerConfiguration={
         "jwtAuthenticationConfiguration": {
             "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
             "allowedClients": ["clientId"]
         }
     }
   )
   
   print(f"Gateway URL: {gateway['gatewayUrl']}")
   ```

## セマンティック検索を使用してゲートウェイを作成する
<a name="gateway-create-ex-semantic"></a>

このセクションでは、関連するツールを意味的に検索できるツールを使用してゲートウェイを作成する基本的な例を示します。このツールの使用方法については、[「自然言語クエリを使用して AgentCore ゲートウェイでツールを検索する](gateway-using-mcp-semantic-search.md)」を参照してください。

次のいずれかの方法を選択します。

**Example**  

1. デフォルトでは、AgentCore CLI を使用してゲートウェイを作成すると、セマンティック検索が有効になります。無効にするには、 `--no-semantic-search`フラグを使用します。デフォルトのセマンティック検索を有効にしてゲートウェイを作成するには:

   ```
   agentcore add gateway --name my-gateway
   agentcore deploy
   ```

1. `agentcore` を実行して TUI を開き、**追加** を選択し、**ゲートウェイ** を選択します。セマンティック検索は、詳細オプションでデフォルトで有効になっています。

1. ゲートウェイ名を入力します。  
![ゲートウェイウィザード: 名前を入力する](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. オーソライザータイプを選択し、**Enter** キーを押します。  
![ゲートウェイウィザード: オーソライザータイプを選択する](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-jwt.png)

1. 詳細オプションで、セマンティック検索が有効になっていることを確認します (これがデフォルトです）。  
![ゲートウェイウィザード: セマンティック検索を有効にした詳細設定](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. 設定の概要を確認し、**Enter** キーを押して以下を確認します。  
![ゲートウェイウィザード: 設定の確認](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

1. 次の例のように、 `--protocol-configuration` オブジェクト`SEMANTIC`で を `searchType`として指定して、CLI AWS でゲートウェイを作成するときにセマンティック検索を有効にします。

   ```
   aws bedrock-agentcore-control create-gateway \
     --name my-gateway \
     --role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \
     --protocol-type MCP \
     --authorizer-type CUSTOM_JWT \
     --authorizer-configuration '{
       "customJWTAuthorizer": {
         "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
         "allowedClients": ["clientId"]
       }
     }' \
     --protocol-configuration '{
       "mcp": {
           "searchType": "SEMANTIC"
       }
     }'
   ```

   レスポンス`gatewayUrl`の は、ゲートウェイを呼び出すときに使用するエンドポイントです。

1. 次の例のように、 `protocolConfiguration` オブジェクト`SEMANTIC`で を `searchType`として指定して、Python SDK (Boto3) AWS を使用してゲートウェイを作成するときにセマンティック検索を有効にします。

   ```
   import boto3
   
   # Initialize the AgentCore client
   client = boto3.client('bedrock-agentcore-control')
   
   # Create a gateway
   gateway = client.create_gateway(
     name="my-gateway",
     roleArn="arn:aws:iam::123456789012:role/my-gateway-service-role",
     protocolType="MCP",
     authorizerType="CUSTOM_JWT",
     authorizerConfiguration={
         "customJWTAuthorizer": {
             "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
             "allowedClients": ["clientId"]
         }
     },
     protocolConfiguration={
       "mcp": {
           "searchType": "SEMANTIC"
       }
     }
   )
   
   print(f"MCP Endpoint: {gateway['gatewayUrl']}")
   ```

## デバッグメッセージを使用してゲートウェイを作成する
<a name="gateway-create-ex-debug"></a>

`exceptionLevel` 値を として指定することで、メッセージをデバッグするゲートウェイを作成できます`DEBUG`。このセクションでは、デバッグメッセージを使用してゲートウェイを作成する例を示します。詳細については、[「メッセージのデバッグを有効にする](gateway-debug-messages.md)」を参照してください。

**注記**  
AgentCore CLI は`DEBUG`、デフォルトでは `exceptionLevel`に設定されません。ゲートウェイの作成時に `--exception-level DEBUG`フラグを渡す必要があります。[UpdateGateway](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_UpdateGateway.html) リクエストを送信し、 `exceptionLevel`引数を省略することで、メッセージのデバッグをオフにできます。

次のいずれかの方法を選択します。

**Example**  

1. AgentCore CLI を使用してゲートウェイを作成するときは、 `--exception-level`フラグを渡してデバッグメッセージを有効にします。

   ```
   agentcore add gateway --name my-gateway --exception-level DEBUG
   agentcore deploy
   ```

1. `agentcore` を実行して TUI を開き、**追加** を選択し、**ゲートウェイ** を選択します。詳細オプションでは、例外レベルを `DEBUG` に設定することで、メッセージのデバッグを有効にできます。

1. ゲートウェイ名を入力します。  
![ゲートウェイウィザード: 名前を入力する](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. オーソライザータイプを選択し、**Enter** キーを押します。  
![ゲートウェイウィザード: オーソライザータイプを選択する](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-jwt.png)

1. 詳細オプションで、例外レベルを `DEBUG` に設定します。  
![ゲートウェイウィザード: デバッグモードが有効になっている詳細設定](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. 設定の概要を確認し、**Enter** キーを押して以下を確認します。  
![ゲートウェイウィザード: 設定の確認](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

1. ターミナルで次のコードを実行して、CLI AWS でデバッグメッセージを有効にしたゲートウェイを作成します。

   ```
   aws bedrock-agentcore-control create-gateway \
     --name my-gateway \
     --role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \
     --protocol-type MCP \
     --authorizer-type CUSTOM_JWT \
     --authorizer-configuration '{
       "customJWTAuthorizer": {
         "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
         "allowedClients": ["clientId"]
       }
     }' \
     --exception-level DEBUG
   ```

   レスポンス`gatewayUrl`の は、ゲートウェイを呼び出すときに使用するエンドポイントです。

1. 次の Python コードは、Python SDK (Boto3) AWS を使用して基本的なゲートウェイを作成する方法を示しています。

   ```
   import boto3
   
   # Initialize the AgentCore client
   client = boto3.client('bedrock-agentcore-control')
   
   # Create a gateway
   gateway = client.create_gateway(
     name="my-gateway",
     roleArn="arn:aws:iam::123456789012:role/my-gateway-service-role",
     protocolType="MCP",
     authorizerType="CUSTOM_JWT",
     authorizerConfiguration={
         "customJWTAuthorizer": {
             "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
             "allowedClients": ["clientId"]
         }
     },
     exceptionLevel="DEBUG"
   )
   
   print(f"MCP Endpoint: {gateway['gatewayUrl']}")
   ```

## インターセプター設定を使用してゲートウェイを作成する
<a name="gateway-create-ex-basic-interceptors"></a>

このセクションでは、インターセプターが設定されたゲートウェイを作成する例を示します。インターセプターは、リクエストごとにゲートウェイの実行時に呼び出されます。

**注記**  
\* インターセプターは、リクエストごとにゲートウェイの実行時に呼び出されます。\* 明示的なゲートウェイサービスロール ARN の指定を伴うオプションを選択する場合は、設定した既存のロールを必ず指定してください。詳細については、[AgentCore Gateway サービスロールのアクセス許可](gateway-prerequisites-permissions.md#gateway-service-role-permissions)」を参照してください。

次のいずれかの方法を選択します。

**Example**  

1. AgentCore CLI で、まずゲートウェイを作成し、次に AWS CLI または Python SDK (Boto3) AWS を使用してインターセプターを設定します。

   ゲートウェイを作成します。

   ```
   agentcore add gateway \
     --name my-gateway \
     --authorizer-type CUSTOM_JWT \
     --discovery-url "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration" \
     --allowed-audience "api.example.com"
   agentcore deploy
   ```

   デプロイ後、他のタブに示すように、CLI `update-gateway` コマンドまたは AWS Python SDK (Boto3) AWS を使用してゲートウェイでインターセプターを設定します。

1. `agentcore` を実行して TUI を開き、**追加** を選択し、**ゲートウェイ** を選択します。ゲートウェイを作成したら、CLI AWS または Python SDK (Boto3) AWS を使用してインターセプターを設定します。

1. ゲートウェイ名を入力します。  
![ゲートウェイウィザード: 名前を入力する](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. オーソライザータイプとして**カスタム JWT** を選択し、**Enter** を押します。  
![ゲートウェイウィザード: カスタム JWT オーソライザーを選択する](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-jwt.png)

1. 詳細オプションを設定します。  
![ゲートウェイウィザード: 詳細設定](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. 設定の概要を確認し、**Enter** キーを押して以下を確認します。  
![ゲートウェイウィザード: 設定の確認](https://docs.aws.amazon.com/ja_jp/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

   ゲートウェイを作成してデプロイしたら、他のタブに示すように、CLI `update-gateway` コマンドまたは AWS Python SDK (Boto3) AWS を使用してインターセプターを設定します。

1. ターミナルで次のコードを実行して、CLI AWS を使用してインターセプター設定でゲートウェイを作成します。

   ```
   aws bedrock-agentcore-control create-gateway \
     --name my-gateway \
     --role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \
     --protocol-type MCP \
     --authorizer-type CUSTOM_JWT \
     --authorizer-configuration '{
       "customJWTAuthorizer": {
         "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
         "allowedClients": ["clientId"]
       }
     }' \
     --interceptor-configurations '[{
         "interceptor": {
             "lambda": {
               "arn":"arn:aws:lambda:us-west-2:123456789012:function:my-interceptor-lambda"
             }
         },
         "interceptionPoints": ["REQUEST"]
     }]'
   ```

   レスポンス`gatewayUrl`の は、ゲートウェイを呼び出すときに使用するエンドポイントです。

1. 次の Python コードは、Python SDK (Boto3) AWS を使用してインターセプター設定でゲートウェイを作成する方法を示しています。

   ```
   import boto3
   
   # Initialize the AgentCore client
   client = boto3.client('bedrock-agentcore-control')
   
   # Create a gateway
   gateway = client.create_gateway(
     name="my-gateway",
     roleArn="arn:aws:iam::123456789012:role/my-gateway-service-role",
     protocolType="MCP",
     authorizerType="CUSTOM_JWT",
     authorizerConfiguration={
         "customJWTAuthorizer": {
             "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
             "allowedClients": ["clientId"]
         }
     },
     interceptorConfigurations=[{
         "interceptor": {
             "lambda": {
               "arn":"arn:aws:lambda:us-west-2:123456789012:function:my-interceptor-lambda"
             }
         },
         "interceptionPoints": ["REQUEST"]
     }]
   )
   
   print(f"MCP Endpoint: {gateway['gatewayUrl']}")
   ```

## ポリシーエンジン設定を使用してゲートウェイを作成する
<a name="gateway-create-ex-policy-engine"></a>

ポリシーエンジン設定を使用してゲートウェイを作成できます。ポリシーエンジンは、エージェントツール呼び出しを評価および認可するポリシーのコレクションです。ゲートウェイに関連付けられている場合、ポリシーエンジンはすべてのエージェントリクエストを傍受し、定義されたポリシーに基づいて各アクションを許可するか拒否するかを決定します。強制は、ポリシーをテストするか ()`LOG_ONLY`、強制するか () `ENFORCE` `mode`を指定します。

**Example**  

1. まず、プロジェクトにポリシーエンジンを追加します。次に、ポリシーエンジンを参照するゲートウェイを作成します。

   ```
   agentcore add policy-engine \
     --name MyPolicyEngine
   
   agentcore add gateway \
     --name MyGateway \
     --authorizer-type CUSTOM_JWT \
     --discovery-url https://cognito-idp.us-west-2.amazonaws.com/pool-id/.well-known/openid-configuration \
     --allowed-clients clientId \
     --policy-engine MyPolicyEngine \
     --policy-engine-mode LOG_ONLY
   
   agentcore deploy
   ```

   ログ記録の決定だけでなくポリシーを適用するには、 `--policy-engine-mode`を に変更します`ENFORCE`。

1. 次のコマンドを実行して、 CLI AWS を使用してポリシーエンジン設定でゲートウェイを作成します。

   ```
   aws bedrock-agentcore-control create-gateway \
     --name my-gateway \
     --role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \
     --protocol-type MCP \
     --authorizer-type CUSTOM_JWT \
     --authorizer-configuration '{
       "customJWTAuthorizer": {
         "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/pool-id/.well-known/openid-configuration",
         "allowedClients": ["clientId"]
       }
     }' \
     --policy-engine-configuration '{
       "arn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:policy-engine/policy-id",
       "mode": "LOG_ONLY"
     }' \
     --exception-level DEBUG
   ```

   レスポンス`gatewayUrl`の は、ゲートウェイを呼び出すときに使用するエンドポイントです。