View a markdown version of this page

Création d'une AgentCore passerelle à l'aide de l'API - Amazon Bedrock AgentCore

Création d'une AgentCore passerelle à l'aide de l'API

Pour créer une AgentCore passerelle à l'aide de l'API, envoyez une CreateGatewaydemande à l'un des points de terminaison du plan de AgentCore contrôle.

Au minimum, vous devez spécifier les champs suivants :

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 surMCP, la passerelle fonctionne en mode agrégation et ne peut avoir que des cibles MCP. Si vous omettez ce champ, la passerelle peut avoir des cibles MCP et HTTP.

  • description— 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 autres champs dépendent de la configuration de votre passerelle et du fait que vous souhaitez activer ou non les fonctionnalités personnalisées de votre passerelle :

Configuration de l'autorisateur

Si votre type d'autorisateur est le casCUSTOM_JWT, vous devez également inclure une configuration d'autorisateur 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 autres champs 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 cette disposition limite l'ensemble des réclamations.

  • customClaims— Un ensemble d'objets qui vous permet de définir des champs et des valeurs personnalisés qui limitent le nombre de demandes à authentifier. Chaque objet est un CustomClaimValidationsType objet qui contient les champs suivants :

    • inboundTokenClaimName— Le nom du champ de réclamation personnalisé à vérifier.

    • inboundTokenClaimValueType— Le type de données de la valeur de la réclamation à vérifier.

    • authorizingClaimMatchValue— Définit la valeur à laquelle doit correspondre la valeur de la réclamation. Contient les champs suivants :

      • claimMatchOperator— Définit la relation à rechercher entre la valeur correspondante et la valeur de la réclamation.

      • claimMatchValue— Un objet contenant uniquement l'un des champs suivants :

        • match ValueString — Utilisé dans les situations suivantes :

          • Si inboundTokenClaimValueType c'est STRING et si claimMatchOperator c'estEQUALS, spécifiez une chaîne à laquelle vous souhaitez que la valeur de la réclamation corresponde pour l'authentification.

          • Si inboundTokenClaimValueType c'est STRING_ARRAY et si claimMatchOperator c'estCONTAINS, spécifiez la chaîne que vous souhaitez que le tableau de valeurs de réclamation contienne pour l'authentification.

        • matchValueArray— Si inboundTokenClaimValueType c'est STRING_ARRAY et si claimMatchOperator c'estCONTAINS_ANY, spécifiez un tableau de valeurs dont vous souhaitez vérifier l'authentification. Si l'une des valeurs du tableau de valeurs de réclamation correspond à l'une des valeurs dumatchValueArray, la réclamation peut être authentifiée.

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

Exemple
String matches string
  1. { "inboundTokenClaimName": "string", "inboundTokenClaimValueType": "STRING", "authorizingClaimMatchValue": { "claimMatchValue": { "matchValueString": "string" }, "claimMatchOperator": "EQUALS" } }
Array contains string
  1. { "inboundTokenClaimName": "string", "inboundTokenClaimValueType": "STRING_ARRAY", "authorizingClaimMatchValue": { "claimMatchValue": { "matchValueString": "string" }, "claimMatchOperator": "CONTAINS" } }
Array contains any value in array
  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 correspondant à votre cas d'utilisation :

Rubriques

    Création d'une passerelle : exemple de base (autorisation JWT personnalisée)

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

    Note

    Notez ce qui suit :* Les valeurs de la configuration d'autorisation datent de la configuration de l'autorisation entrante. * Si vous choisissez une option qui implique de spécifier un ARN de rôle de service de passerelle manifeste, assurez-vous d'en spécifier un ARN existant que vous avez configuré. Pour plus d'informations, consultez la section Autorisations relatives aux rôles du service AgentCore Gateway.

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

    Exemple
    AgentCore CLI
    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, vous devez utiliser 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 (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écification 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, le statut gatewayUrl affiché par agentcore est le point de terminaison à utiliser lorsque vous appelez la passerelle.

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

    2. Entrez le nom de la passerelle :

      Assistant de passerelle : entrez le nom
    3. Sélectionnez Custom JWT comme type d'autorisateur et appuyez sur Entrée :

      Assistant Gateway : sélectionnez l'autorisateur JWT personnalisé
    4. Configurez les options avancées :

      Assistant Gateway : configuration avancée
    5. Consultez le résumé de la configuration et appuyez sur Entrée pour confirmer :

      Assistant Gateway : révision de la configuration
    AWS CLI
    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"] } }'

      Le point de terminaison contenu gatewayUrl dans la réponse est le point de terminaison à utiliser lorsque vous appelez la passerelle.

    AWS Python SDK (Boto3)
    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)

    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 :

    Exemple
    AWS CLI
    1. Exécutez ce qui suit 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
    Boto3
    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)

    Cette section fournit des exemples de base de création d'une passerelle avec un type d'autorisation NONE. Cela représente 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 la section Autorisation entrante pour les problèmes de sécurité et les détails relatifs à l'utilisation de cette configuration. * Si vous choisissez une option qui implique de spécifier un ARN de rôle de service de passerelle manifeste, assurez-vous d'en spécifier un ARN existant que vous avez configuré. Pour plus d'informations, consultez la section Autorisations relatives aux rôles du service AgentCore Gateway.

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

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

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

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

      Après le déploiement, le statut gatewayUrl affiché par agentcore est le point de terminaison à utiliser lorsque vous appelez la passerelle.

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

    2. Entrez le nom de la passerelle :

      Assistant de passerelle : entrez le nom
    3. Sélectionnez AUCUN comme type d'autorisation et appuyez sur Entrée :

      Assistant Gateway : sélectionnez AUCUN autorisateur
    4. Configurez les options avancées :

      Assistant Gateway : configuration avancée
    5. Consultez le résumé de la configuration et appuyez sur Entrée pour confirmer :

      Assistant Gateway : révision de la configuration
    AWS CLI
    1. Exécutez le code suivant dans un terminal pour créer une passerelle de type d'autorisation NONE à l'aide de 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

      Le point de terminaison contenu gatewayUrl dans la réponse est le point de terminaison à utiliser lorsque vous appelez la passerelle.

    AWS Python SDK (Boto3)
    1. Le code Python suivant montre comment créer une passerelle avec le type d'autorisation NONE à 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)

    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é lors de la délégation des décisions d'autorisation au service cible.

    Note

    Le type AUTHENTICATE_ONLY d'autorisateur nécessite une configuration d'autorisateur 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 de spécifier un ARN de rôle de service de passerelle manifeste, assurez-vous d'en spécifier un ARN existant que vous avez configuré. Pour plus d'informations, consultez la section Autorisations relatives aux rôles du service AgentCore Gateway.

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

    Exemple
    AWS CLI
    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"] } }'

      Le point de terminaison contenu gatewayUrl dans la réponse est le point de terminaison à utiliser lorsque vous appelez la passerelle.

    AWS Python SDK (Boto3)
    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 avec recherche sémantique

    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.

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

    Exemple
    AgentCore CLI
    1. Par défaut, la recherche sémantique est activée lorsque vous créez une passerelle à l'aide de la AgentCore CLI. 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 :

      agentcore add gateway --name my-gateway agentcore deploy
    Interactive
    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 :

    2. Entrez le nom de la passerelle :

      Assistant de passerelle : entrez le nom
    3. Sélectionnez le type d'autorisateur et appuyez sur Entrée :

      Assistant de passerelle : sélectionnez le type d'autorisateur
    4. Dans les options avancées, vérifiez que la recherche sémantique est activée (c'est la valeur par défaut) :

      Assistant Gateway : configuration avancée avec recherche sémantique activée
    5. Consultez le résumé de la configuration et appuyez sur Entrée pour confirmer :

      Assistant Gateway : révision de la configuration
    AWS CLI
    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-configurationobjet, 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" } }'

      Le point de terminaison contenu gatewayUrl dans la réponse est le point de terminaison à utiliser lorsque vous appelez la passerelle.

    AWS Python SDK (Boto3)
    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'protocolConfigurationobjet, 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

    Vous pouvez créer une passerelle avec des messages de débogage en spécifiant la exceptionLevel valeur commeDEBUG. Cette section fournit des exemples de création d'une passerelle avec des messages de débogage. Pour en savoir plus, voir Activer les messages de débogage.

    Note

    La AgentCore CLI 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 UpdateGatewaydemande et en omettant l'exceptionLevelargument.

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

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

      agentcore add gateway --name my-gateway --exception-level DEBUG agentcore deploy
    Interactive
    1. Exécutez agentcore pour ouvrir le TUI, puis sélectionnez Ajouter et choisissez Gateway. Dans les options avancées, vous pouvez activer le débogage des messages en définissant le niveau d'DEBUGexception sur :

    2. Entrez le nom de la passerelle :

      Assistant de passerelle : entrez le nom
    3. Sélectionnez le type d'autorisateur et appuyez sur Entrée :

      Assistant de passerelle : sélectionnez le type d'autorisateur
    4. Dans les options avancées, définissez le niveau d'exception comme suit DEBUG :

      Assistant Gateway : configuration avancée avec le mode de débogage activé
    5. Consultez le résumé de la configuration et appuyez sur Entrée pour confirmer :

      Assistant Gateway : révision de la configuration
    AWS CLI
    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

      Le point de terminaison contenu gatewayUrl dans la réponse est le point de terminaison à utiliser lorsque vous appelez la passerelle.

    AWS Python SDK (Boto3)
    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

    Cette section fournit des exemples de création d'une passerelle sur laquelle des 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 demande. * Si vous choisissez une option qui implique de spécifier un ARN de rôle de service de passerelle manifeste, assurez-vous d'en spécifier un ARN existant que vous avez configuré. Pour plus d'informations, consultez la section Autorisations relatives aux rôles du service AgentCore Gateway.

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

    Exemple
    AgentCore CLI
    1. Avec 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.

    Interactive
    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) :

    2. Entrez le nom de la passerelle :

      Assistant de passerelle : entrez le nom
    3. Sélectionnez Custom JWT comme type d'autorisateur et appuyez sur Entrée :

      Assistant Gateway : sélectionnez l'autorisateur JWT personnalisé
    4. Configurez les options avancées :

      Assistant Gateway : configuration avancée
    5. Consultez le résumé de la configuration et appuyez sur Entrée pour confirmer :

      Assistant Gateway : révision de la configuration

      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.

    AWS CLI
    1. Exécutez le code suivant dans un terminal pour créer une passerelle avec des configurations d'intercepteurs à 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"] }]'

      Le point de terminaison contenu gatewayUrl dans la réponse est le point de terminaison à utiliser lorsque vous appelez la passerelle.

    AWS Python SDK (Boto3)
    1. Le code Python suivant montre comment créer une passerelle avec des configurations d'intercepteurs à 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

    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 de l'agent et détermine s'il convient d'autoriser ou de refuser chaque action en fonction des politiques définies. L'application mode indique s'il faut tester les politiques (LOG_ONLY) ou les appliquer (ENFORCE).

    Exemple
    AgentCore CLI
    1. Ajoutez d'abord 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 des politiques au lieu de simplement enregistrer les décisions, passez --policy-engine-mode àENFORCE.

    AWS CLI
    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

      Le point de terminaison contenu gatewayUrl dans la réponse est le point de terminaison à utiliser lorsque vous appelez la passerelle.