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 :
-
clientToken— Une valeur de jeton client pour garantir qu'une demande ne soit traitée qu'une seule fois. Si vous n'incluez pas ce jeton, il 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'autorisateur est le casCUSTOM_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 avec 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é 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 de ce champ. Pour les options de cette configuration, consultez GatewayProtocolConfiguration.
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 :
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 correspondant à 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.
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, 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
-
-
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'autorisateur et appuyez sur Entrée :
-
Configurez les options avancées :
-
Consultez le résumé de la 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"]
}
}'
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)
-
-
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 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
-
-
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.
* 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
-
-
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
-
-
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 la configuration et appuyez sur Entrée pour confirmer :
- AWS CLI
-
-
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)
-
-
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.
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
-
-
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)
-
-
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
-
-
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
-
-
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'autorisateur 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 la 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"
}
}'
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)
-
-
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.
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
-
-
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 le débogage des messages en définissant le niveau d'DEBUGexception sur :
-
Entrez le nom de la passerelle :
-
Sélectionnez le type d'autorisateur et appuyez sur Entrée :
-
Dans les options avancées, définissez le niveau d'exception comme suit DEBUG :
-
Consultez le résumé de la 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
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)
-
-
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.
* 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
-
-
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
-
-
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'autorisateur et appuyez sur Entrée :
-
Configurez les options avancées :
-
Consultez le résumé de la 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'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)
-
-
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
-
-
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
-
-
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.