

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création d'une AgentCore passerelle à l'aide de l'API
<a name="gateway-create-api"></a>

Pour créer une AgentCore passerelle à l'aide de l'API, envoyez une [ CreateGateway ](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_CreateGateway.html) demande à l'un des points de terminaison [ du plan de ](https://docs.aws.amazon.com/general/latest/gr/bedrock_agentcore.html#bedrock_agentcore_cp) AgentCore contrôle.

Au minimum, vous devez spécifier les champs suivants :
+  `name`— Le nom de la passerelle.
+  `roleArn`— L'ARN du rôle de service de passerelle. Pour plus d'informations, consultez la section Autorisations de rôle de service [ AgentCore Gateway](gateway-prerequisites-permissions.md#gateway-service-role-permissions).
+  `authorizerType`— Type d'autorisation à utiliser pour la passerelle. Cela dépend de l'autorisation entrante que vous avez configurée. Pour plus d'informations, voir [ Configurer l'autorisation entrante pour votre passerelle](gateway-inbound-auth.md).

Les champs facultatifs suivants ajoutent des métadonnées à votre passerelle :
+  `protocolType`— Type de protocole pour la passerelle. Si vous définissez ce paramètre sur`MCP`, la passerelle fonctionne en mode d'agrégation et ne peut avoir que des cibles MCP. Si vous omettez ce champ, la passerelle peut avoir à la fois des cibles MCP et HTTP.
+  `description`— Une description de la passerelle.
+  `tags`— Un dictionnaire de paires clé-valeur spécifiant les balises que vous pouvez utiliser pour étiqueter votre passerelle à des fins de surveillance.

Les champs restants dépendent de la configuration de votre passerelle et de la question de savoir si vous souhaitez activer ou non les fonctionnalités personnalisées pour votre passerelle :
+  `clientToken`— Une valeur de jeton client permettant de s'assurer qu'une demande ne se termine pas plus d'une fois. Si vous n'incluez pas ce jeton, un jeton est généré aléatoirement pour vous. Si vous n'incluez aucune valeur, une valeur est générée aléatoirement pour vous. Pour plus d’informations, consultez [Garantie de l’idempotence](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html).
+  `authorizerConfiguration`— Si votre type d'autorisation est`CUSTOM_JWT`, vous devez inclure ce champ pour spécifier les paramètres d'autorisation et d'authentification de la passerelle. Pour plus d'informations, consultez [ la section Configuration ](#gateway-create-api-authorizer-config) de l'autorisateur.
+  `kmsKeyArn`— Pour chiffrer votre passerelle avec une clé KMS, incluez l'ARN de la clé dans ce champ. Pour plus d'informations, voir [ Chiffrer votre AgentCore passerelle à l'aide d'une clé KMS gérée par le client. ](gateway-encryption.md)
+  `exceptionLevel`— Pour activer les messages de débogage lors de l'appel de la passerelle, définissez cette valeur sur. `DEBUG` Pour plus d'informations, voir [ Activer les messages ](gateway-debug-messages.md) de débogage. Pour des exemples de création d'une passerelle avec ce paramètre, voir [ Création d'une passerelle avec des messages ](#gateway-create-ex-debug) de débogage.
+  `interceptorConfigurations`— Pour activer le code personnalisé qui est exécuté lors de l'appel de votre passerelle, incluez ce champ. Pour plus d'informations, consultez la section [ Utilisation d'intercepteurs avec Gateway](gateway-interceptors.md). Pour des exemples de création d'une passerelle avec des intercepteurs, voir [ Création d'une passerelle avec des configurations d'intercepteurs. ](#gateway-create-ex-basic-interceptors)
+  `protocolConfiguration`— Pour inclure des personnalisations pour le protocole de passerelle, configurez les paramètres dans ce champ. Pour les options de cette configuration, consultez [ GatewayProtocolConfiguration](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_GatewayProtocolConfiguration.html).
  + L'ajout d'un outil de recherche d'outils dans votre passerelle constitue un exemple d'option. Pour plus d'informations, voir [ Rechercher des outils dans votre AgentCore passerelle à l'aide d'une requête en langage naturel](gateway-using-mcp-semantic-search.md). Pour des exemples de création d'une passerelle à l'aide de cet outil de recherche, voir [ Création d'une passerelle avec recherche ](#gateway-create-ex-semantic) sémantique.

## Configuration de l'autorisateur
<a name="gateway-create-api-authorizer-config"></a>

Si votre type d'autorisation est`CUSTOM_JWT`, vous devez également inclure une configuration d'autorisation dans le `authorizerConfiguration` champ. La structure de base de la configuration de l'autorisateur est la suivante :

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

Vous devez fournir l'URL de découverte pour le jeton d'authentification. Les champs restants définissent les restrictions relatives aux demandes d'authentification :
+  `allowedAudience`— Les publics ou les services qui peuvent gérer le JWT.
+  `allowedClients`— Les clients autorisés à créer un JWT.
+  `allowedScopes`— La portée de celle-ci limite l'ensemble des revendications.
+  `customClaims`— Un tableau d'objets qui vous permet de définir des champs personnalisés et des valeurs qui limitent les demandes d'authentification. Chaque objet est un `CustomClaimValidationsType` objet contenant les champs suivants :
  +  `inboundTokenClaimName`— Le nom du champ de réclamation personnalisé à vérifier.
  +  `inboundTokenClaimValueType`— Type de données de la valeur de la réclamation à vérifier.
  +  `authorizingClaimMatchValue`— Définit la valeur à laquelle correspondre à la valeur de la réclamation. Contient les champs suivants :
    +  `claimMatchOperator`— Définit la relation à rechercher entre la valeur de correspondance et la valeur de la réclamation.
    +  `claimMatchValue`— Un objet qui ne contient qu'un seul des champs suivants :
      + match ValueString — Utilisé dans les situations suivantes :
        + Si le `inboundTokenClaimValueType` est `STRING` et le `claimMatchOperator` est`EQUALS`, spécifiez une chaîne à laquelle vous souhaitez que la valeur de la réclamation corresponde à des fins d'authentification.
        + Si les valeurs `inboundTokenClaimValueType` est `STRING_ARRAY` et `claimMatchOperator` est`CONTAINS`, spécifiez la chaîne que vous souhaitez que le tableau de valeurs de réclamation contienne pour l'authentification.
      +  `matchValueArray`— Si les valeurs `inboundTokenClaimValueType` est `STRING_ARRAY` et `claimMatchOperator` est`CONTAINS_ANY`, spécifiez un tableau de valeurs que vous souhaitez vérifier pour l'authentification. Si l'une des valeurs du tableau de valeurs de réclamation correspond à l'une des valeurs de`matchValueArray`, la réclamation peut être authentifiée.

Les exemples suivants montrent la structure des CustomClaimValidationsType objets que vous pouvez spécifier :

**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"
     }
   }
   ```

Pour voir des exemples de création d'une passerelle, développez la section qui correspond à votre cas d'utilisation :

**Topics**

## Création d'une passerelle : exemple de base (autorisation JWT personnalisée)
<a name="gateway-create-ex-basic-jwt"></a>

Cette section fournit des exemples de base de création d'une passerelle.

**Note**  
Notez les points suivants :\* Les valeurs de la configuration d'autorisation datent de la configuration de l'autorisation [Configurez l'autorisation entrante pour votre passerelle](gateway-inbound-auth.md) entrante. \* Si vous choisissez une option qui implique la spécification d'un ARN de rôle de service de passerelle manifeste, assurez-vous d'en spécifier un existant que vous avez configuré. Pour plus d'informations, consultez la section Autorisations de rôle de service [ AgentCore Gateway](gateway-prerequisites-permissions.md#gateway-service-role-permissions).

Sélectionnez l'une des méthodes suivantes :

**Example**  

1. La AgentCore CLI fournit un moyen simple de créer une passerelle dans une interface de ligne de commande.

   Pour créer la passerelle, utilisez la `agentcore add gateway` commande. Le rôle de service de passerelle et l'autorisation Amazon Cognito sont automatiquement configurés pour vous lors du déploiement.

    **Utilisation des arguments par défaut ** 

   Exécutez la commande suivante dans un terminal pour créer une passerelle sans autorisation (valeur par défaut). Pour ajouter une autorisation JWT personnalisée, spécifiez les indicateurs d'autorisation comme indiqué dans l'exemple suivant :

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

    **Spécifier des arguments ** 

   La commande suivante montre comment créer une passerelle avec une autorisation JWT personnalisée et une configuration explicite :

   ```
   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
   ```

   Après le déploiement, l'état `gatewayUrl` indiqué par ** agentcore ** est le point de terminaison à utiliser lorsque vous appelez la passerelle.

1. Exécutez `agentcore` pour ouvrir le TUI, puis sélectionnez ** Ajouter ** et choisissez ** Gateway ** :

1. Entrez le nom de la passerelle :  
![Assistant de passerelle : entrez le nom](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. Sélectionnez ** Custom JWT ** comme type d'autorisation et appuyez sur Entrée ** : **  
![Assistant de passerelle : sélectionnez l'autorisateur JWT personnalisé](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-jwt.png)

1. Configurez les options avancées :  
![Assistant de passerelle : configuration avancée](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. Consultez le résumé de configuration et appuyez sur ** Entrée ** pour confirmer :  
![Assistant Gateway : révision de la configuration](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

1. Exécutez le code suivant dans un terminal pour créer une passerelle de base avec la AWS CLI :

   ```
   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`Dans la réponse, il s'agit du point de terminaison à utiliser lorsque vous appelez la passerelle.

1. Le code Python suivant montre comment créer une passerelle de base avec le SDK AWS Python (Boto3) :

   ```
   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']}")
   ```

## Création d'une passerelle : exemple de base (autorisation IAM)
<a name="gateway-create-ex-basic-iam"></a>

Cette section fournit des exemples de base de création d'une passerelle à l'aide de l'autorisation IAM. Avec l'autorisation IAM, vous n'avez pas besoin d'une configuration d'autorisation.

**Note**  
La AgentCore CLI ne prend pas en charge la création de passerelles avec l'autorisation IAM. Utilisez l'interface de ligne de AWS commande ou le SDK AWS Python (Boto3) pour créer une passerelle avec autorisation IAM.

Sélectionnez l'une des méthodes suivantes :

**Example**  

1. Exécutez les opérations suivantes dans un terminal :

   ```
   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"
   )
   ```

## Création d'une passerelle : exemple de base (AUCUN autorisateur)
<a name="gateway-create-ex-basic-none-auth"></a>

Cette section fournit des exemples de base de création d'une passerelle avec un type d'autorisation NONE. Il s'agit d'une passerelle qui n'effectuera aucune authentification ou autorisation pour les demandes entrantes.

**Note**  
\* Le type d'autorisation NONE représente une passerelle qui n'effectuera aucune authentification ou autorisation pour les demandes entrantes. Consultez [ l'autorisation entrante ](gateway-inbound-auth.md) pour les problèmes de sécurité et les détails relatifs à l'utilisation de cette configuration. \* Si vous choisissez une option qui implique la spécification d'un ARN de rôle de service de passerelle manifeste, assurez-vous d'en spécifier un existant que vous avez configuré. Pour plus d'informations, consultez la section Autorisations de rôle de service [ AgentCore Gateway](gateway-prerequisites-permissions.md#gateway-service-role-permissions).

Sélectionnez l'une des méthodes suivantes :

**Example**  

1. La AgentCore CLI fournit un moyen simple de créer une passerelle avec le type d'autorisation AUCUN dans une interface de ligne de commande.

   La commande suivante montre comment créer une passerelle avec le type d'autorisation AUCUN :

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

   Après le déploiement, l'état `gatewayUrl` indiqué par ** agentcore ** est le point de terminaison à utiliser lorsque vous appelez la passerelle.

1. Exécutez `agentcore` pour ouvrir le TUI, puis sélectionnez ** Ajouter ** et choisissez ** Gateway ** :

1. Entrez le nom de la passerelle :  
![Assistant de passerelle : entrez le nom](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. Sélectionnez ** AUCUN ** comme type d'autorisation et appuyez sur ** Entrée ** :  
![Assistant de passerelle : sélectionnez AUCUN autorisateur](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-none.png)

1. Configurez les options avancées :  
![Assistant de passerelle : configuration avancée](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. Consultez le résumé de configuration et appuyez sur ** Entrée ** pour confirmer :  
![Assistant Gateway : révision de la configuration](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

1. Exécutez le code suivant dans un terminal pour créer une passerelle avec le type d'autorisation AUCUN à l'aide de l' AWS interface de ligne de commande :

   ```
   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`Dans la réponse, il s'agit du point de terminaison à utiliser lorsque vous appelez la passerelle.

1. Le code Python suivant montre comment créer une passerelle avec le type d'autorisation AUCUN à l'aide du SDK AWS Python (Boto3) :

   ```
   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']}")
   ```

## Création d'une passerelle : exemple de base (autorisation AUTHENTICATE\_ONLY)
<a name="gateway-create-ex-basic-authenticate-only"></a>

Cette section fournit des exemples de création d'une passerelle avec `AUTHENTICATE_ONLY` autorisation. Avec ce type d'autorisation, la passerelle valide le jeton entrant mais n'effectue pas d'autorisation complète. L'identité ou le jeton authentifié est ensuite transmis à la cible pour une autorisation en aval. Cela est utile lorsque vous souhaitez que la passerelle vérifie que l'appelant est authentifié tout en déléguant les décisions d'autorisation au service cible.

**Note**  
Le type `AUTHENTICATE_ONLY` d'autorisation nécessite une configuration d'autorisation JWT. La passerelle valide le jeton mais n'impose aucune restriction de portée ou d'audience pour l'autorisation. Si vous choisissez une option qui implique la spécification d'un ARN de rôle de service de passerelle manifeste, assurez-vous d'en spécifier un existant que vous avez configuré. Pour plus d'informations, consultez la section Autorisations de rôle de service [ AgentCore Gateway](gateway-prerequisites-permissions.md#gateway-service-role-permissions).

Sélectionnez l'une des méthodes suivantes :

**Example**  

1. Exécutez la commande suivante pour créer une passerelle avec `AUTHENTICATE_ONLY` autorisation :

   ```
   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`Dans la réponse, il s'agit du point de terminaison à utiliser lorsque vous appelez la passerelle.

1. Le code Python suivant montre comment créer une passerelle avec `AUTHENTICATE_ONLY` autorisation :

   ```
   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']}")
   ```

## Création d'une passerelle grâce à la recherche sémantique
<a name="gateway-create-ex-semantic"></a>

Cette section fournit des exemples de base de création d'une passerelle avec un outil vous permettant de rechercher sémantiquement des outils pertinents. Pour savoir comment utiliser cet outil, voir [ Rechercher des outils dans votre AgentCore passerelle à l'aide d'une requête en langage naturel](gateway-using-mcp-semantic-search.md).

Sélectionnez l'une des méthodes suivantes :

**Example**  

1. Par défaut, la recherche sémantique est activée lorsque vous créez une passerelle à l'aide de l' AgentCore interface de ligne de commande. Pour le désactiver, utilisez le `--no-semantic-search` drapeau. Pour créer une passerelle avec la recherche sémantique par défaut activée, procédez comme suit :

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

1. Exécutez `agentcore` pour ouvrir le TUI, puis sélectionnez ** Ajouter ** et choisissez ** Gateway**. La recherche sémantique est activée par défaut dans les options avancées :

1. Entrez le nom de la passerelle :  
![Assistant de passerelle : entrez le nom](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. Sélectionnez le type d'autorisation et appuyez sur ** Entrée ** :  
![Assistant Gateway : sélectionnez le type d'autorisation](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-jwt.png)

1. Dans les options avancées, vérifiez que la recherche sémantique est activée (c'est la valeur par défaut) :  
![Gateway Wizard : configuration avancée avec recherche sémantique activée](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. Consultez le résumé de configuration et appuyez sur ** Entrée ** pour confirmer :  
![Assistant Gateway : révision de la configuration](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

1. Activez la recherche sémantique lors de la création d'une passerelle dans la AWS CLI en spécifiant `searchType` comme `SEMANTIC` dans l'`--protocol-configuration`objet, comme dans l'exemple suivant :

   ```
   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`Dans la réponse, il s'agit du point de terminaison à utiliser lorsque vous appelez la passerelle.

1. Activez la recherche sémantique lors de la création d'une passerelle à l'aide du SDK AWS Python (Boto3) en spécifiant `searchType` comme `SEMANTIC` dans l'`protocolConfiguration`objet, comme dans l'exemple suivant :

   ```
   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']}")
   ```

## Création d'une passerelle avec des messages de débogage
<a name="gateway-create-ex-debug"></a>

Vous pouvez créer une passerelle contenant des messages de débogage en spécifiant la `exceptionLevel` valeur comme`DEBUG`. Cette section fournit des exemples de création d'une passerelle avec des messages de débogage. Pour en savoir plus, consultez la section [ Activer les messages ](gateway-debug-messages.md) de débogage.

**Note**  
L' AgentCore interface de ligne de commande n'est pas définie `exceptionLevel` sur `DEBUG` par défaut. Vous devez passer le `--exception-level DEBUG` drapeau lors de la création de la passerelle. Vous pouvez désactiver les messages de débogage en envoyant une [ UpdateGateway ](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_UpdateGateway.html) requête et en omettant l'`exceptionLevel`argument.

Sélectionnez l'une des méthodes suivantes :

**Example**  

1. Lorsque vous créez une passerelle à l'aide de la AgentCore CLI, transmettez l'`--exception-level`indicateur pour activer les messages de débogage :

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

1. Exécutez `agentcore` pour ouvrir le TUI, puis sélectionnez ** Ajouter ** et choisissez ** Gateway**. Dans les options avancées, vous pouvez activer les messages de débogage en définissant le niveau d'`DEBUG`exception sur :

1. Entrez le nom de la passerelle :  
![Assistant de passerelle : entrez le nom](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. Sélectionnez le type d'autorisation et appuyez sur ** Entrée ** :  
![Assistant Gateway : sélectionnez le type d'autorisation](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-jwt.png)

1. Dans les options avancées, définissez le niveau d'exception sur `DEBUG` :  
![Assistant de passerelle : configuration avancée avec mode de débogage activé](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. Consultez le résumé de configuration et appuyez sur ** Entrée ** pour confirmer :  
![Assistant Gateway : révision de la configuration](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

1. Exécutez le code suivant dans un terminal pour créer une passerelle avec les messages de débogage activés dans la AWS CLI :

   ```
   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`Dans la réponse, il s'agit du point de terminaison à utiliser lorsque vous appelez la passerelle.

1. Le code Python suivant montre comment créer une passerelle de base avec le SDK AWS Python (Boto3) :

   ```
   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']}")
   ```

## Création d'une passerelle avec des configurations d'intercepteurs
<a name="gateway-create-ex-basic-interceptors"></a>

Cette section fournit des exemples de création d'une passerelle dont les intercepteurs sont configurés. Les intercepteurs seront invoqués lors de l'exécution de la passerelle pour chaque demande.

**Note**  
\* Les intercepteurs seront invoqués lors de l'exécution de la passerelle pour chaque requête. \* Si vous choisissez une option qui implique la spécification d'un ARN de rôle de service de passerelle manifeste, assurez-vous d'en spécifier un existant que vous avez configuré. Pour plus d'informations, consultez la section Autorisations de rôle de service [ AgentCore Gateway](gateway-prerequisites-permissions.md#gateway-service-role-permissions).

Sélectionnez l'une des méthodes suivantes :

**Example**  

1. À l'aide de la AgentCore CLI, créez d'abord la passerelle, puis configurez les intercepteurs à l'aide de la AWS CLI ou du SDK AWS Python (Boto3).

   Créez la passerelle :

   ```
   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
   ```

   Après le déploiement, configurez les intercepteurs sur la passerelle à l'aide de la `update-gateway` commande AWS CLI ou du SDK AWS Python (Boto3), comme indiqué dans les autres onglets.

1. Exécutez `agentcore` pour ouvrir le TUI, puis sélectionnez ** Ajouter ** et choisissez ** Gateway**. Après avoir créé la passerelle, configurez les intercepteurs à l'aide de la AWS CLI ou du SDK AWS Python (Boto3) :

1. Entrez le nom de la passerelle :  
![Assistant de passerelle : entrez le nom](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. Sélectionnez ** Custom JWT ** comme type d'autorisation et appuyez sur Entrée ** : **  
![Assistant de passerelle : sélectionnez l'autorisateur JWT personnalisé](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-jwt.png)

1. Configurez les options avancées :  
![Assistant de passerelle : configuration avancée](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. Consultez le résumé de configuration et appuyez sur ** Entrée ** pour confirmer :  
![Assistant Gateway : révision de la configuration](https://docs.aws.amazon.com/fr_fr/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

   Une fois la passerelle créée et déployée, configurez les intercepteurs à l'aide de la `update-gateway` commande AWS CLI ou du SDK AWS Python (Boto3) comme indiqué dans les autres onglets.

1. Exécutez le code suivant dans un terminal pour créer une passerelle avec des configurations d'intercepteur à l'aide de la AWS CLI :

   ```
   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`Dans la réponse, il s'agit du point de terminaison à utiliser lorsque vous appelez la passerelle.

1. Le code Python suivant montre comment créer une passerelle avec des configurations d'intercepteur à l'aide du SDK AWS Python (Boto3) :

   ```
   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']}")
   ```

## Création d'une passerelle avec une configuration de moteur de politiques
<a name="gateway-create-ex-policy-engine"></a>

Vous pouvez créer une passerelle avec une configuration de moteur de politiques. Un moteur de politiques est un ensemble de politiques qui évalue et autorise les appels aux outils des agents. Lorsqu'il est associé à une passerelle, le moteur de politiques intercepte toutes les demandes des agents et détermine s'il faut autoriser ou refuser chaque action en fonction des politiques définies. L'application `mode` spécifie s'il faut tester les politiques (`LOG_ONLY`) ou les appliquer (`ENFORCE`).

**Example**  

1. Tout d'abord, ajoutez un moteur de politiques à votre projet. Créez ensuite une passerelle qui fait référence au moteur de politiques :

   ```
   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
   ```

   Pour appliquer les politiques au lieu de simplement enregistrer les décisions, passez `--policy-engine-mode` à`ENFORCE`.

1. Exécutez la commande suivante pour créer une passerelle avec une configuration de moteur de politiques à l'aide de la AWS CLI :

   ```
   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`Dans la réponse, il s'agit du point de terminaison à utiliser lorsque vous appelez la passerelle.