

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Crear una AgentCore puerta de enlace mediante la API
<a name="gateway-create-api"></a>

Para crear una AgentCore puerta de enlace mediante la API, haga una [ CreateGateway ](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_CreateGateway.html) solicitud con uno de los puntos finales [ del plano de ](https://docs.aws.amazon.com/general/latest/gr/bedrock_agentcore.html#bedrock_agentcore_cp) AgentCore control.

Como mínimo, debe especificar los siguientes campos:
+  `name`— El nombre de la puerta de enlace.
+  `roleArn`— El ARN del rol del servicio de puerta de enlace. Para obtener más información, consulte Permisos [ del rol de servicio de ](gateway-prerequisites-permissions.md#gateway-service-role-permissions) AgentCore puerta de enlace.
+  `authorizerType`— El tipo de autorizador que se utilizará para la puerta de enlace. Depende de la autorización de entrada que haya configurado. Para obtener más información, consulte [ Configurar la autorización de entrada para su puerta de enlace. ](gateway-inbound-auth.md)

Los siguientes campos opcionales agregan metadatos a su puerta de enlace:
+  `protocolType`— El tipo de protocolo de la puerta de enlace. Si lo establece en`MCP`, la puerta de enlace funciona en modo de agregación y solo puede tener objetivos MCP. Si omite este campo, la puerta de enlace puede tener destinos tanto MCP como HTTP.
+  `description`— Una descripción de la puerta de enlace.
+  `tags`— Un diccionario de pares clave-valor en el que se especifican las etiquetas que puede utilizar para etiquetar su puerta de enlace con fines de supervisión.

Los campos restantes dependen de la configuración de su puerta de enlace y de si desea cambiar las funciones personalizadas de su puerta de enlace:
+  `clientToken`— Un valor de token de cliente para garantizar que la solicitud no se complete más de una vez. Si no incluyes este token, se generará uno de forma aleatoria para ti. Si no incluyes un valor, se generará uno de forma aleatoria para ti. Para obtener más información, consulte [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html).
+  `authorizerConfiguration`— Si tu tipo de autorizador es`CUSTOM_JWT`, debes incluir este campo para especificar los parámetros de autorización y autenticación de la puerta de enlace. Para obtener más información, consulta [ La configuración del autorizador. ](#gateway-create-api-authorizer-config)
+  `kmsKeyArn`— Para cifrar su puerta de enlace con una clave de KMS, incluya el ARN de la clave en este campo. Para obtener más información, consulte [ Cifrar la AgentCore puerta de enlace con una clave de KMS administrada por el cliente. ](gateway-encryption.md)
+  `exceptionLevel`— Para activar la depuración de mensajes al invocar la puerta de enlace, defina este valor en. `DEBUG` Para obtener más información, consulte [ Activar la depuración de mensajes. ](gateway-debug-messages.md) Para ver ejemplos de cómo crear una puerta de enlace con esta configuración, consulta [ Crear una puerta de enlace con mensajes de depuración. ](#gateway-create-ex-debug)
+  `interceptorConfigurations`— Para activar el código personalizado que se ejecuta al invocar la puerta de enlace, incluye este campo. Para obtener más información, consulte [ Uso de interceptores con Gateway. ](gateway-interceptors.md) Para ver ejemplos de cómo crear una puerta de enlace con interceptores, consulte [ Crear una puerta de enlace con configuraciones de interceptores. ](#gateway-create-ex-basic-interceptors)
+  `protocolConfiguration`— Para incluir personalizaciones para el protocolo de puerta de enlace, configure los ajustes en este campo. Para ver las opciones de esta configuración, consulte [ GatewayProtocolConfiguration](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_GatewayProtocolConfiguration.html).
  + Un ejemplo de opción es la adición de una herramienta de búsqueda de herramientas en su puerta de enlace. Para obtener más información, consulte [ Buscar herramientas en su AgentCore puerta de enlace con una consulta en lenguaje natural](gateway-using-mcp-semantic-search.md). Para ver ejemplos de cómo crear una puerta de enlace con esta herramienta de búsqueda, consulta [ Crear una puerta de enlace con búsqueda ](#gateway-create-ex-semantic) semántica.

## La configuración del autorizador
<a name="gateway-create-api-authorizer-config"></a>

Si su tipo de autorizador es`CUSTOM_JWT`, también debe incluir una configuración de autorizador en el campo. `authorizerConfiguration` La estructura básica de la configuración del autorizador es la siguiente:

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

Debe proporcionar la URL de detección del token de autenticación. Los campos restantes definen las restricciones para las notificaciones de autenticación:
+  `allowedAudience`— Las audiencias o los servicios que pueden gestionar el JWT.
+  `allowedClients`— Los clientes a los que se les permite crear un JWT.
+  `allowedScopes`— Los alcances de eso limitan el conjunto de reclamaciones.
+  `customClaims`— Un conjunto de objetos que permite definir campos y valores personalizados que limitan el número de solicitudes que deben autenticarse. Cada objeto es un `CustomClaimValidationsType` objeto que contiene los siguientes campos:
  +  `inboundTokenClaimName`— El nombre del campo de reclamación personalizado que se va a comprobar.
  +  `inboundTokenClaimValueType`— El tipo de datos del valor de la reclamación que se va a comprobar.
  +  `authorizingClaimMatchValue`— Define el valor con el que debe coincidir el valor de la reclamación. Contiene los siguientes campos:
    +  `claimMatchOperator`— Define la relación que se debe buscar entre el valor de coincidencia y el valor declarado.
    +  `claimMatchValue`— Un objeto que contiene solo uno de los siguientes campos:
      + matchValueString : se usa en las siguientes situaciones:
        + Si el `inboundTokenClaimValueType` es `STRING` y el `claimMatchOperator` es`EQUALS`, especifique una cadena con la que desee que coincida el valor de la notificación para la autenticación.
        + Si `inboundTokenClaimValueType` es `STRING_ARRAY` y `claimMatchOperator` es`CONTAINS`, especifique la cadena que desee que contenga la matriz de valores declarados para la autenticación.
      +  `matchValueArray`— Si el `inboundTokenClaimValueType` es `STRING_ARRAY` y el `claimMatchOperator` es`CONTAINS_ANY`, especifique una matriz de valores cuya autenticación desee comprobar. Si alguno de los valores de la matriz de valores de la notificación coincide con alguno de los valores de`matchValueArray`, se puede autenticar la notificación.

Los siguientes ejemplos muestran la estructura de los CustomClaimValidationsType objetos que puede especificar:

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

Para ver ejemplos de cómo crear una puerta de enlace, expanda la sección correspondiente a su caso práctico:

**Topics**

## Crear una puerta de enlace: ejemplo básico (autorización JWT personalizada)
<a name="gateway-create-ex-basic-jwt"></a>

En esta sección se proporcionan ejemplos básicos de cómo crear una puerta de enlace.

**nota**  
Tenga en cuenta lo siguiente: \* Los valores de la configuración de autorización provienen del momento en que configuró la autorización [Configure la autorización de entrada para su puerta de enlace](gateway-inbound-auth.md) entrante. \* Si eliges una opción que implique especificar un ARN de rol de servicio de puerta de enlace abierto, asegúrate de especificar uno existente que hayas configurado. Para obtener más información, consulte Permisos de funciones de servicio de [ AgentCore Gateway. ](gateway-prerequisites-permissions.md#gateway-service-role-permissions)

Seleccione uno de los siguientes métodos:

**Example**  

1. La AgentCore CLI proporciona una forma sencilla de crear una puerta de enlace en una interfaz de línea de comandos.

   Para crear la puerta de enlace, utilice el `agentcore add gateway` comando. La función de servicio de puerta de enlace y la autorización de Amazon Cognito se configuran automáticamente durante la implementación.

    **Uso de argumentos predeterminados ** 

   Ejecute el siguiente comando en una terminal para crear una puerta de enlace sin autorización (la opción predeterminada). Para añadir una autorización JWT personalizada, especifique los indicadores de autorización tal y como se muestra en el siguiente ejemplo:

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

    **Especificar los argumentos ** 

   El siguiente comando muestra cómo crear una puerta de enlace con una autorización JWT personalizada y una configuración explícita:

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

   Tras la implementación, el estado `gatewayUrl` mostrado por ** agentcore ** es el punto final que se utilizará al invocar la puerta de enlace.

1. Ejecute `agentcore` para abrir la TUI y, a continuación, seleccione ** agregar ** y elija Gateway: ** **

1. Introduzca el nombre de la puerta de enlace:  
![Asistente de puerta de enlace: introduzca el nombre](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. Seleccione JWT ** personalizado ** como tipo de autorización y pulse ** Entrar: **  
![Asistente de puerta de enlace: selecciona el autorizador JWT personalizado](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-jwt.png)

1. Configure las opciones avanzadas:  
![Asistente de puerta de enlace: configuración avanzada](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. Revise el resumen de la configuración y pulse ** ** Entrar para confirmar:  
![Asistente de puerta de enlace: revise la configuración](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

1. Ejecute el siguiente código en una terminal para crear una puerta de enlace básica con 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`En la respuesta se indica el punto final que se utilizará al invocar la puerta de enlace.

1. El siguiente código de Python muestra cómo crear una puerta de enlace básica con el SDK de 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']}")
   ```

## Crear una puerta de enlace: ejemplo básico (autorización de IAM)
<a name="gateway-create-ex-basic-iam"></a>

En esta sección se proporcionan ejemplos básicos de cómo crear una puerta de enlace mediante la autorización de IAM. Con la autorización de IAM, no necesitas una configuración de autorización.

**nota**  
La AgentCore CLI no admite la creación de puertas de enlace con la autorización de IAM. Utilice la interfaz de línea de AWS comandos o el SDK de AWS Python (Boto3) para crear una puerta de enlace con autorización de IAM.

Seleccione uno de los métodos siguientes:

**Example**  

1. Ejecute lo siguiente en una 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"
   )
   ```

## Crear una puerta de enlace: ejemplo básico (ningún autorizador)
<a name="gateway-create-ex-basic-none-auth"></a>

En esta sección se proporcionan ejemplos básicos de cómo crear una puerta de enlace con un tipo de autorizador NONE. Esto representa una puerta de enlace que no realizará la autenticación ni la autorización de ninguna solicitud entrante.

**nota**  
\* El tipo de autorizador NONE representa una puerta de enlace que no realizará la autenticación ni la autorización de ninguna solicitud entrante. Consulte la autorización [ entrante ](gateway-inbound-auth.md) para conocer los problemas de seguridad y los detalles sobre el uso de esta configuración. \* Si eliges una opción que implique especificar un ARN de rol de servicio de puerta de enlace abierto, asegúrate de especificar uno existente que hayas configurado. Para obtener más información, consulte Permisos de funciones de servicio de [ AgentCore Gateway. ](gateway-prerequisites-permissions.md#gateway-service-role-permissions)

Seleccione uno de los siguientes métodos:

**Example**  

1. La AgentCore CLI proporciona una forma sencilla de crear una puerta de enlace sin ningún tipo de autorizador en una interfaz de línea de comandos.

   El siguiente comando muestra cómo crear una puerta de enlace con el tipo de autorizador NONE:

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

   Tras la implementación, el estado `gatewayUrl` mostrado por ** agentcore ** es el punto final que se utilizará al invocar la puerta de enlace.

1. Ejecute `agentcore` para abrir la TUI y, a continuación, seleccione ** agregar ** y elija Gateway: ** **

1. Introduzca el nombre de la puerta de enlace:  
![Asistente de puerta de enlace: introduzca el nombre](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. Seleccione ** NINGUNO ** como tipo de autorización y pulse ** Entrar**:  
![Asistente de puerta de enlace: selecciona NINGUNO (autorizador)](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-none.png)

1. Configure las opciones avanzadas:  
![Asistente de puerta de enlace: configuración avanzada](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. Revise el resumen de la configuración y pulse ** ** Entrar para confirmar:  
![Asistente de puerta de enlace: revise la configuración](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

1. Ejecute el siguiente código en una terminal para crear una puerta de enlace con el tipo de autorizador NONE mediante la AWS CLI:

   ```
   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`En la respuesta se indica el punto final que se utilizará al invocar la puerta de enlace.

1. El siguiente código de Python muestra cómo crear una puerta de enlace con el tipo de autorizador NONE mediante el SDK de 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']}")
   ```

## Crear una puerta de enlace: ejemplo básico (autorización AUTHENTICATE\_ONLY)
<a name="gateway-create-ex-basic-authenticate-only"></a>

En esta sección se proporcionan ejemplos de cómo crear una puerta de enlace con autorización. `AUTHENTICATE_ONLY` Con este tipo de autorizador, la puerta de enlace valida el token entrante, pero no realiza la autorización completa. Luego, la identidad o el token autenticados se transfieren al destino para su autorización posterior. Esto resulta útil cuando quieres que la puerta de enlace verifique que la persona que llama está autenticada mientras delega las decisiones de autorización al servicio de destino.

**nota**  
El tipo de `AUTHENTICATE_ONLY` autorizador requiere una configuración de autorizador de JWT. La puerta de enlace valida el token, pero no impone restricciones de alcance o audiencia para la autorización. Si eliges una opción que implique especificar un ARN de rol de servicio de puerta de enlace abierto, asegúrate de especificar uno existente que hayas configurado. Para obtener más información, consulte Permisos de funciones de servicio de [ AgentCore Gateway. ](gateway-prerequisites-permissions.md#gateway-service-role-permissions)

Seleccione uno de los siguientes métodos:

**Example**  

1. Ejecute el siguiente comando para crear una puerta de enlace con `AUTHENTICATE_ONLY` autorización:

   ```
   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`En la respuesta se indica el punto final que se utilizará al invocar la puerta de enlace.

1. El siguiente código de Python muestra cómo crear una puerta de enlace con `AUTHENTICATE_ONLY` autorización:

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

## Crea una puerta de enlace con búsqueda semántica
<a name="gateway-create-ex-semantic"></a>

Esta sección proporciona ejemplos básicos de cómo crear una puerta de enlace con una herramienta que le permita buscar semánticamente las herramientas relevantes. Para aprender a usar esta herramienta, consulte [ Buscar herramientas en su AgentCore puerta de enlace con una consulta ](gateway-using-mcp-semantic-search.md) en lenguaje natural.

Seleccione uno de los siguientes métodos:

**Example**  

1. De forma predeterminada, la búsqueda semántica está habilitada al crear una puerta de enlace mediante la AgentCore CLI. Para deshabilitarla, utilice la `--no-semantic-search` marca. Para crear una puerta de enlace con la búsqueda semántica predeterminada habilitada:

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

1. Ejecute `agentcore` para abrir la TUI y, a continuación, seleccione ** agregar ** y elija ** Gateway. ** La búsqueda semántica está habilitada de forma predeterminada en las opciones avanzadas:

1. Introduzca el nombre de la puerta de enlace:  
![Asistente de puerta de enlace: introduzca el nombre](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. Seleccione el tipo de autorizador y pulse ** Entrar**:  
![Asistente de puerta de enlace: selecciona el tipo de autorizador](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-jwt.png)

1. En las opciones avanzadas, compruebe que la búsqueda semántica esté habilitada (es la opción predeterminada):  
![Asistente de puerta de enlace: configuración avanzada con la búsqueda semántica habilitada](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. Revise el resumen de la configuración y pulse ** Entrar ** para confirmar:  
![Asistente de puerta de enlace: revise la configuración](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

1. Active la búsqueda semántica al crear una puerta de enlace en la AWS CLI especificando `searchType` como `SEMANTIC` en el `--protocol-configuration` objeto, como en el siguiente ejemplo:

   ```
   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`En la respuesta se indica el punto final que se debe usar al invocar la puerta de enlace.

1. Activa la búsqueda semántica al crear una puerta de enlace con el SDK de AWS Python (Boto3) especificando `searchType` como `SEMANTIC` en el `protocolConfiguration` objeto, como en el siguiente ejemplo:

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

## Cree una puerta de enlace con mensajes de depuración
<a name="gateway-create-ex-debug"></a>

Puede crear una puerta de enlace con mensajes de depuración especificando el `exceptionLevel` valor como. `DEBUG` En esta sección se proporcionan ejemplos de cómo crear una puerta de enlace con mensajes de depuración. Para obtener más información, consulta [ Activar la depuración de mensajes. ](gateway-debug-messages.md)

**nota**  
La AgentCore CLI no está configurada `exceptionLevel` de forma `DEBUG` predeterminada. Debe pasar la `--exception-level DEBUG` marca al crear la puerta de enlace. Para desactivar la depuración de mensajes, envía una [ UpdateGateway ](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_UpdateGateway.html) solicitud y omite el `exceptionLevel` argumento.

Selecciona uno de los métodos siguientes:

**Example**  

1. Al crear una puerta de enlace mediante la AgentCore CLI, pase la `--exception-level` marca para habilitar la depuración de mensajes:

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

1. Ejecute `agentcore` para abrir la TUI y, a continuación, seleccione ** Agregar ** y elija ** Gateway. ** En las opciones avanzadas, puedes habilitar la depuración de mensajes estableciendo el nivel de excepción en: `DEBUG`

1. Introduzca el nombre de la puerta de enlace:  
![Asistente de puerta de enlace: introduzca el nombre](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. Seleccione el tipo de autorizador y pulse ** Entrar**:  
![Asistente de puerta de enlace: selecciona el tipo de autorizador](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-jwt.png)

1. En las opciones avanzadas, defina el nivel de excepción en: `DEBUG`  
![Asistente de puerta de enlace: configuración avanzada con el modo de depuración habilitado](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. Revise el resumen de la configuración y pulse ** Entrar ** para confirmar:  
![Asistente de puerta de enlace: revise la configuración](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

1. Ejecute el siguiente código en una terminal para crear una puerta de enlace con los mensajes de depuración activados en 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`En la respuesta se indica el punto final que se utilizará al invocar la puerta de enlace.

1. El siguiente código de Python muestra cómo crear una puerta de enlace básica con el SDK de 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']}")
   ```

## Cree una puerta de enlace con configuraciones de interceptores
<a name="gateway-create-ex-basic-interceptors"></a>

En esta sección se proporcionan ejemplos de cómo crear una puerta de enlace con interceptores configurados. Los interceptores se invocarán durante el tiempo de ejecución de la puerta de enlace para cada solicitud.

**nota**  
\* Los interceptores se invocarán durante el tiempo de ejecución de la puerta de enlace para cada solicitud. \* Si elige una opción que implique especificar un ARN de rol de servicio de puerta de enlace abierto, asegúrese de especificar uno existente que haya configurado. Para obtener más información, consulte Permisos de funciones de servicio de [ AgentCore Gateway. ](gateway-prerequisites-permissions.md#gateway-service-role-permissions)

Seleccione uno de los siguientes métodos:

**Example**  

1. Con la AgentCore CLI, primero cree la puerta de enlace y, a continuación, configure los interceptores mediante la AWS CLI o el SDK de AWS Python (Boto3).

   Cree la puerta de enlace:

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

   Tras la implementación, configure los interceptores en la puerta de enlace mediante el `update-gateway` comando de la AWS CLI o el SDK de AWS Python (Boto3), como se muestra en las demás pestañas.

1. Ejecute `agentcore` para abrir la TUI y, a continuación, seleccione ** agregar y elija Gateway. ** ** ** Tras crear la puerta de enlace, configure los interceptores mediante la AWS CLI o el SDK de AWS Python (Boto3):

1. Introduzca el nombre de la puerta de enlace:  
![Asistente de puerta de enlace: introduzca el nombre](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-name.png)

1. Seleccione JWT ** personalizado ** como tipo de autorización y pulse ** Entrar: **  
![Asistente de puerta de enlace: selecciona el autorizador JWT personalizado](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-auth-jwt.png)

1. Configure las opciones avanzadas:  
![Asistente de puerta de enlace: configuración avanzada](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-advanced.png)

1. Revise el resumen de la configuración y pulse ** ** Entrar para confirmar:  
![Asistente de puerta de enlace: revise la configuración](https://docs.aws.amazon.com/es_es/bedrock-agentcore/latest/devguide/images/tui/gateway-add-confirm.png)

   Una vez creada e implementada la puerta de enlace, configure los interceptores mediante el `update-gateway` comando de la AWS CLI o el SDK de AWS Python (Boto3), como se muestra en las demás pestañas.

1. Ejecute el siguiente código en una terminal para crear una puerta de enlace con configuraciones de interceptores mediante la 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`En la respuesta se indica el punto final que se utilizará al invocar la puerta de enlace.

1. El siguiente código de Python muestra cómo crear una puerta de enlace con configuraciones de interceptores mediante el SDK de 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']}")
   ```

## Cree una puerta de enlace con una configuración de motor de políticas
<a name="gateway-create-ex-policy-engine"></a>

Puede crear una puerta de enlace con una configuración de motor de políticas. Un motor de políticas es un conjunto de políticas que evalúa y autoriza las llamadas a las herramientas de los agentes. Cuando se asocia a una puerta de enlace, el motor de políticas intercepta todas las solicitudes de los agentes y determina si se permite o deniega cada acción en función de las políticas definidas. La aplicación `mode` especifica si se deben probar las políticas (`LOG_ONLY`) o aplicarlas (`ENFORCE`).

**Example**  

1. Primero, agrega un motor de políticas a tu proyecto. Luego, crea una puerta de enlace que haga referencia al motor de políticas:

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

   Para hacer cumplir las políticas en lugar de solo registrar las decisiones, cambie `--policy-engine-mode` a`ENFORCE`.

1. Ejecute el siguiente comando para crear una puerta de enlace con una configuración de motor de políticas mediante 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`En la respuesta se indica el punto final que se utilizará al invocar la puerta de enlace.