View a markdown version of this page

Spécifiez le type d'autorisation et les informations d'identification pour accéder à la cible de la passerelle - 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.

Spécifiez le type d'autorisation et les informations d'identification pour accéder à la cible de la passerelle

Dans le corps de la CreateGatewayTarget demande, vous spécifiez la configuration du fournisseur d'informations d'identification dans la credentialProviderConfigurations baie. La configuration dépend du type d'autorisation sortante que vous configurez. Pour obtenir des informations de référence sur la structure d'API pour la configuration du fournisseur d'informations d'identification, consultez CredentialProviderConfiguration. Pour plus d'informations sur l'autorisation sortante, voir Configurer l'autorisation sortante pour votre passerelle.

Pour en savoir plus sur la configuration d'un fournisseur d'informations d'identification, sélectionnez une rubrique :

AgentCore Autorisation du rôle de service de passerelle (IAM)

Si vous utilisez l'autorisation IAM via un rôle de service AgentCore Gateway pour votre cible, spécifiez-le credentialProviderType commeGATEWAY_IAM_ROLE. La configuration dépend de votre type de cible.

Pour les cibles Lambda, API Gateway, Smithy et Connector

La iamCredentialProvider configuration n'est pas nécessaire car le nom du service cible est déjà connu du service AgentCore Gateway. Utilisez uniquement la credentialProviderType configuration, comme illustré dans l'exemple suivant :

{ "credentialProviderType": "GATEWAY_IAM_ROLE" }

Pour le serveur MCP et les cibles OpenAPI

Pour le serveur MCP et les cibles OpenAPI, vous devez également fournir un iamCredentialProvider avec le nom de service utilisé pour la AWS signature Signature Version 4 (Sig V4). Le champ service est obligatoire. Le region champ est facultatif et correspond par défaut à la région de la passerelle.

{ "credentialProviderType": "GATEWAY_IAM_ROLE", "credentialProvider": { "iamCredentialProvider": { "service": "execute-api", "region": "us-west-2" } } }

Le tableau suivant décrit les champs de l'iamCredentialProviderobjet :

Champ Obligatoire Description

service

Oui

Le nom du AWS service utilisé pour la signature SIGv4. Cette valeur doit correspondre au nom de service attendu par la cible lors de la vérification de la signature SIGv4. Les valeurs courantes sont les suivantes :

  • bedrock-agentcore— Pour les serveurs MCP hébergés sur Amazon Bedrock AgentCore, tels que le runtime (voir Déployer des serveurs MCP dans AgentCore Runtime) ou une autre passerelle.

  • execute-api— Pour les serveurs MCP ou les cibles OpenAPI situées derrière Amazon API Gateway.

  • lambda— Pour les serveurs MCP situés derrière des URL de fonction Lambda.

region

Non

La AWS région pour la signature SIGv4. En cas d'omission, la valeur par défaut est la région de la passerelle.

Autorisation OAuth

Si vous utilisez l'autorisation OAuth, vous devez spécifier comme. credentialProviderType OAUTH Dans l'objet auquel le credentialProvider champ est mappé, associez un nom de oauthCredentialProvider champ à un OAuthCredentialProvider objet et fournissez les valeurs en fonction de votre configuration d'autorisation sortante.

La structure du modèle OAuthCredentialProvider varie en fonction du type de modèle d'authentification que vous configurez. Pour en savoir plus sur les différents modèles d'authentification, consultez la section Modèles d'authentification pris en charge.

  • Si vous configurez l'authentification de machine à machine, également appelée octroi d'informations d'identification client ou OAuth à deux niveaux (2LO), suivez la structure de l'onglet Informations d'identification du client.

  • Si vous configurez un accès délégué par l'utilisateur, également appelé octroi de code d'autorisation ou OAuth à 3 étapes (3LO), suivez la structure de l'onglet Code d'autorisation.

  • Si vous configurez un échange de jetons pour le compte de manière à propager l'identité d'un utilisateur authentifié à un service en aval ou à obtenir un jeton d'accès avec le contexte de l'acteur, suivez la structure de l'onglet Token exchange (). On-behalf-of

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

Exemple
Client credentials
  1. Spécifiez le grantType asCLIENT_CREDENTIALS, comme dans l'exemple suivant :

    { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "grantType": "CLIENT_CREDENTIALS", "scopes": [ "string", ... ], "customParameters": { "string": "string" } } } }
Authorization code
  1. Spécifiez le grantType as AUTHORIZATION_CODE et incluez, dans le defaultReturnUrl champ, l'URL vers laquelle rediriger le navigateur de l'utilisateur final après avoir obtenu le code d'autorisation, comme dans l'exemple suivant :

    { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "grantType": "AUTHORIZATION_CODE", "defaultReturnUrl": "string", "scopes": [ "string", ... ], "customParameters": { "string": "string" } } } }

    Pour en savoir plus sur l'authentification 3LO, consultez la section Liaison de session d'URL d'autorisation OAuth 2.0.

Token exchange (On-behalf-of)
  1. Spécifiez grantType l'annonceTOKEN_EXCHANGE. La passerelle échange le jeton d'accès de l'utilisateur entrant contre un jeton à portée cible via le fournisseur d'informations d'identification. Incluez tous IdP-specific les paramètres danscustomParameters. Pour plus d'informations sur la configuration du fournisseur d'informations d'identification, consultez la section échange de On-behalf-of jetons.

    { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "string", "grantType": "TOKEN_EXCHANGE", "scopes": [ "string", ... ], "customParameters": { "subject_token_type": "urn:ietf:params:oauth:token-type:access_token" } } } }
    Note

    Le customParameters champ transmet les valeurs directement au point de terminaison du jeton du fournisseur d'identité. Les paramètres requis varient selon le fournisseur. Par exemple, Okta nécessite un audience paramètre en plus desubject_token_type. Consultez la documentation de votre fournisseur d'identité et l'échange de On-behalf-of jetons pour plus de détails.

Autorisation par clé API

Si vous configurez l'autorisation par clé API, vous spécifiez credentialProviderType commeAPI_KEY. Dans l'objet auquel le credentialProvider champ est mappé, associez un nom de apiKeyCredentialProvider champ à un ApiKeyCredentialProvider objet et fournissez les valeurs en fonction de votre configuration d'autorisation sortante. Le JSON suivant montre la structure :

{ "credentialProviderType": "API_KEY", "credentialProvider": { "apiKeyCredentialProvider": { "providerArn": "string", "credentialLocation": "HEADER" | "QUERY_PARAMETER", "credentialParameterName": "string", "credentialPrefix": "string" } } }

Autorisation des informations d'identification IAM de l'appelant

Si vous souhaitez que la passerelle utilise l'identité IAM et les autorisations de l'appelant pour signer les demandes destinées à la cible en aval, spécifiez credentialProviderType comme. CALLER_IAM_CREDENTIALS Avec ce type d'autorisation, la passerelle adresse une demande à la cible en aval au nom de l'appelant de la passerelle à l'aide de SIGv4. Cela permet à la cible en aval d'appliquer des politiques IAM en fonction de la personne qui a initialement appelé la passerelle.

Note

CALLER_IAM_CREDENTIALSn'est disponible que pour les passerelles qui ont le type d'autorisation AWS_IAM ou AUTHENTICATE_ONLY en tant que type d'autorisation.

{ "credentialProviderType": "CALLER_IAM_CREDENTIALS" }

Autorisation JWT Passthrough

Si vous souhaitez que la passerelle transmette le jeton porteur de la demande entrante directement à la cible en aval sans modification, spécifiez le credentialProviderType asJWT_PASSTHROUGH. La passerelle valide le jeton entrant, puis le transmet à la cible dans la demande sortante. Cela est utile lorsque le service cible gère sa propre autorisation à l'aide du jeton de l'appelant d'origine.

Note

JWT_PASSTHROUGHn'est disponible que pour les cibles HTTP (passthrough et AgentCore Runtime).

{ "credentialProviderType": "JWT_PASSTHROUGH" }