View a markdown version of this page

Méthodes d'authentification du client - Amazon Bedrock AgentCore

Méthodes d'authentification du client

La méthode d'authentification du client contrôle la manière dont le client OAuth s'authentifie auprès du point de terminaison du serveur d'autorisation lorsqu'il demande des jetons d'accès.

Pour les fournisseurs d'informations d'identification spécifiques à un fournisseur, AgentCore Identity gère pour vous la méthode d'authentification du client en fonction des exigences de chaque fournisseur. Aucune configuration supplémentaire n'est donc nécessaire.

Pour les cas d'utilisation nécessitant un contrôle plus précis, tels que l'authentification à l'aide d'une assertion IAM-signed JWT au lieu d'un secret client, ou le ciblage d'un serveur d'autorisation dont les exigences diffèrent de celles d'un fournisseur intégré, utilisez le fournisseur personnalisé, qui vous permet de choisir parmi les méthodes prises en charge ci-dessous.

Méthodes d'authentification client prises en charge

AgentCore Identity prend en charge les valeurs suivantes pour la méthode d'authentification du client.

  1. CLIENT_SECRET_BASIC(par défaut) — Les clients qui ont reçu une valeur de secret client du serveur d'autorisation s'authentifient auprès du serveur d'autorisation conformément à la section 2.3.1 d'OAuth 2.0 (RFC 6749) à l'aide du schéma d'authentification HTTP Basic. L'ID client et le secret du client sont tous deux requis.

  2. CLIENT_SECRET_POST— Les clients qui ont reçu une valeur secrète du client du serveur d'autorisation s'authentifient auprès du serveur d'autorisation conformément à la section 2.3.1 d'OAuth 2.0 (RFC 6749) en incluant les informations d'identification du client dans le corps de la demande. L'ID client et le secret du client sont tous deux requis.

  3. AWS_IAM_ID_TOKEN_JWT— S'authentifie auprès du point de terminaison du jeton du serveur d'autorisation en envoyant une assertion AWS IAM-signed JWT pour le rôle d'exécution de l'agent (obtenu via sts : GetWebIdentityToken) en tant qu'assertion client, conformément à la RFC 7523, section 2.2. Le serveur d'autorisation doit prendre en charge ce mécanisme et faire confiance à AWS IAM en tant qu'émetteur. Lorsque cette méthode est sélectionnée, le secret du client n'est pas requis et l'ID client n'est requis que pour le flux d'accès délégué par l'utilisateur (User-delegated accès (octroi du code d'autorisation OAuth 2.0)). Pour l'utiliser AWS_IAM_ID_TOKEN_JWT comme méthode d'authentification client, voici les prérequis :

    1. La fédération d'identité Web sortante doit être activée sur votre compte. Activez-le avec iam : EnableOutboundWebIdentityFederation.

    2. L'identité AWS IAM appelante doit être autorisée à appeler sts : GetWebIdentityToken.

Comment configurer la méthode d'authentification du client

Configuration de la méthode d'authentification du client pour CustomOauth 2

Pour configurer la méthode d'authentification du client pour un fournisseur personnalisé sur la AWS console, voir Ajouter un client OAuth à l'aide d'un fournisseur personnalisé. Vous pouvez également le configurer à l'aide de la CLI.

Exemple de CLI : utilisation de CLIENT_SECRET_BASIC comme méthode d'authentification du client

aws bedrock-agentcore-control create-oauth2-credential-provider \ --cli-input-json '{ "name": "sample-client-basic", "credentialProviderVendor": "CustomOauth2", "oauth2ProviderConfigInput": { "customOauth2ProviderConfig": { "oauthDiscovery": { "discoveryUrl": "https://my.idp.com/.well-known/openid-configuration" }, "clientId": "your-client-id", "clientSecret": "your-client-secret", "clientAuthenticationMethod": "CLIENT_SECRET_BASIC" } } }'

Exemple de CLI : utilisation de AWS_IAM_ID_TOKEN_JWT comme méthode d'authentification du client

aws bedrock-agentcore-control create-oauth2-credential-provider \ --cli-input-json '{ "name": "sample-iam-jwt", "credentialProviderVendor": "CustomOauth2", "oauth2ProviderConfigInput": { "customOauth2ProviderConfig": { "oauthDiscovery": { "discoveryUrl": "https://my.idp.com/.well-known/openid-configuration" }, "clientId": "your-client-id", "clientAuthenticationMethod": "AWS_IAM_ID_TOKEN_JWT" } } }'

Notice (Avis)

Le tokenEndpointAuthMethodschamp n'est pas recommandé en faveur de la méthode d'authentification du client, mais il est conservé pour des raisons de rétrocompatibilité dans la CLI et le SDK. Le fait de fournir les deux dans la même demande entraînera une erreur de validation.