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 :
-
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.
-
authorizerConfiguration— Si votre type d'autorisation estCUSTOM_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 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.
-
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 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 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. Pour des exemples de création d'une passerelle avec des intercepteurs, voir Création d'une passerelle avec des configurations d'intercepteurs.
-
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.
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 :
Les exemples suivants montrent la structure des CustomClaimValidationsType objets que vous pouvez spécifier :
Exemple
- String matches string
-
-
{
"inboundTokenClaimName": "string",
"inboundTokenClaimValueType": "STRING",
"authorizingClaimMatchValue": {
"claimMatchValue": {
"matchValueString": "string"
},
"claimMatchOperator": "EQUALS"
}
}
- Array contains string
-
-
{
"inboundTokenClaimName": "string",
"inboundTokenClaimValueType": "STRING_ARRAY",
"authorizingClaimMatchValue": {
"claimMatchValue": {
"matchValueString": "string"
},
"claimMatchOperator": "CONTAINS"
}
}
- Array contains any value in array
-
-
{
"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 :
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.
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
-
-
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
-
-
Exécutez agentcore pour ouvrir le TUI, puis sélectionnez Ajouter et choisissez Gateway :
-
Entrez le nom de la passerelle :
-
Sélectionnez Custom JWT comme type d'autorisation et appuyez sur Entrée :
-
Configurez les options avancées :
-
Consultez le résumé de configuration et appuyez sur Entrée pour confirmer :
- AWS CLI
-
-
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)
-
-
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.
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
-
-
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
-
-
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.
* 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
-
-
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
-
-
Exécutez agentcore pour ouvrir le TUI, puis sélectionnez Ajouter et choisissez Gateway :
-
Entrez le nom de la passerelle :
-
Sélectionnez AUCUN comme type d'autorisation et appuyez sur Entrée :
-
Configurez les options avancées :
-
Consultez le résumé de configuration et appuyez sur Entrée pour confirmer :
- AWS CLI
-
-
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)
-
-
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.
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
-
-
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)
-
-
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
-
-
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
-
-
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 :
-
Entrez le nom de la passerelle :
-
Sélectionnez le type d'autorisation et appuyez sur Entrée :
-
Dans les options avancées, vérifiez que la recherche sémantique est activée (c'est la valeur par défaut) :
-
Consultez le résumé de configuration et appuyez sur Entrée pour confirmer :
- AWS CLI
-
-
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)
-
-
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.
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
-
-
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
-
-
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 :
-
Entrez le nom de la passerelle :
-
Sélectionnez le type d'autorisation et appuyez sur Entrée :
-
Dans les options avancées, définissez le niveau d'exception sur DEBUG :
-
Consultez le résumé de configuration et appuyez sur Entrée pour confirmer :
- AWS CLI
-
-
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)
-
-
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.
* 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
-
-
À 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
-
-
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) :
-
Entrez le nom de la passerelle :
-
Sélectionnez Custom JWT comme type d'autorisation et appuyez sur Entrée :
-
Configurez les options avancées :
-
Consultez le résumé de configuration et appuyez sur Entrée pour confirmer :
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
-
-
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)
-
-
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
-
-
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
-
-
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.