Spécifiez le type d'autorisation et les informations d'identification pour accéder à la cible de la passerelle
Dans le corps de la CreateGatewayTargetdemande, vous spécifiez la configuration du fournisseur d'informations d'identification dans le credentialProviderConfigurations tableau. La configuration dépend du type d'autorisation sortante que vous avez configuré. Pour des informations de référence sur la structure de l'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 :
Rubriques
AgentCore Autorisation du rôle de service de passerelle (IAM)
Si vous utilisez l'autorisation IAM via un rôle de service de AgentCore passerelle pour votre cible, spécifiez le credentialProviderType asGATEWAY_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 indiqué 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 iamCredentialProvider un avec le nom de service utilisé AWS pour la signature de 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 |
|---|---|---|
|
|
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 les plus courantes sont les suivantes :
|
|
|
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 le credentialProviderType as. OAUTH Dans l'objet auquel le credentialProvider champ correspond, associez un nom de oauthCredentialProvider champ à un OAuthCredentialProviderobjet et fournissez les valeurs en fonction de votre configuration d'autorisation sortante.
La structure du OAuthCredentialProvidervarie en fonction du type de modèle d'authentification que vous avez configuré. Pour en savoir plus sur les différents modèles d'authentification, consultez Modèles d'authentification pris en charge.
-
Si vous configurez l'authentification de machine à machine, également connue sous le nom d'octroi d'informations d'identification client ou d'authentification OAuth à deux pattes (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 l'échange de jetons au nom de l'acteur pour propager l'identité d'un utilisateur authentifié vers un service en aval ou pour obtenir un jeton d'accès avec le contexte de l'acteur, suivez la structure de l'onglet Échange de jetons (). On-behalf-of
Sélectionnez l'une des méthodes suivantes :
Exemple
Autorisation par clé d'API
Si vous configurez l'autorisation par clé d'API, vous spécifiez le credentialProviderType asAPI_KEY. Dans l'objet auquel le credentialProvider champ correspond, associez un nom de apiKeyCredentialProvider champ à un ApiKeyCredentialProviderobjet 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 adressées à la cible en aval, spécifiez le credentialProviderType as. CALLER_IAM_CREDENTIALS Avec ce type d'autorisation, la passerelle envoie 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 dotées AWS_IAM ou AUTHENTICATE_ONLY en tant que type d'autorisateur.
{ "credentialProviderType": "CALLER_IAM_CREDENTIALS" }
Autorisation de transfert JWT
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" }