View a markdown version of this page

Création d'une AgentCore passerelle à l'aide de l'API - Base rocheuse de l'Amazonie AgentCore

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

Pour créer une AgentCore passerelle à l'aide de l'API, envoyez une CreateGateway demande à l'un des points de terminaison du plan de 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.

  • 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.

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

Configuration de l'autorisateur

Si votre type d'autorisation estCUSTOM_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 estEQUALS, 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 estCONTAINS, 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 estCONTAINS_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 dematchValueArray, 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 qui correspond à 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 les points suivants :* Les valeurs de la configuration d'autorisation datent de la configuration de l'autorisation Configurez l'autorisation entrante pour votre passerelle 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.

    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, 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.

    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'autorisation et appuyez sur Entrée  :

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

      Assistant de passerelle : configuration avancée
    5. Consultez le résumé de 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"] } }'

      gatewayUrlDans la réponse, il s'agit du 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 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
    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. 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 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.

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

    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 de passerelle : sélectionnez AUCUN autorisateur
    4. Configurez les options avancées :

      Assistant de passerelle : configuration avancée
    5. Consultez le résumé de 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 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

      gatewayUrlDans la réponse, il s'agit du 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 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)

    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.

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

      gatewayUrlDans la réponse, il s'agit du 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 grâce à la 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 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
    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'autorisation et appuyez sur Entrée  :

      Assistant Gateway : sélectionnez le type d'autorisation
    4. 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
    5. Consultez le résumé de 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" } }'

      gatewayUrlDans la réponse, il s'agit du 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 contenant 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, consultez la section Activer les messages 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 requête 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 les messages de débogage 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'autorisation et appuyez sur Entrée  :

      Assistant Gateway : sélectionnez le type d'autorisation
    4. 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é
    5. Consultez le résumé de 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

      gatewayUrlDans la réponse, il s'agit du 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 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.

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

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

    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'autorisation et appuyez sur Entrée  :

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

      Assistant de passerelle : configuration avancée
    5. Consultez le résumé de 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'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"] }]'

      gatewayUrlDans la réponse, il s'agit du 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'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

    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).

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

    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

      gatewayUrlDans la réponse, il s'agit du point de terminaison à utiliser lorsque vous appelez la passerelle.