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.
Méthodes d'authentification des clients
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 jeton du serveur d'autorisation lorsqu'il demande des jetons d'accès.
Pour les fournisseurs d'informations d'identification spécifiques aux fournisseurs, AgentCore Identity gère la méthode d'authentification des clients pour vous en fonction des exigences de chaque fournisseur, de sorte qu'aucune configuration supplémentaire n'est nécessaire.
Pour les cas d'utilisation nécessitant un contrôle plus précis, comme 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.
-
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 code secret du client sont tous deux requis. -
CLIENT_SECRET_POST— 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) en incluant les informations d'identification du client dans le corps de la demande. L'ID client et le code secret du client sont tous deux requis. -
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 (obtenue 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'utiliserAWS_IAM_ID_TOKEN_JWTcomme méthode d'authentification client, voici les prérequis :-
La fédération d'identités Web sortantes doit être activée sur votre compte. Activez-le avec iam : EnableOutboundWebIdentityFederation.
-
L'identité AWS IAM appelante doit être autorisée à appeler sts : GetWebIdentityToken.
-
-
PRIVATE_KEY_JWTAuthentifie auprès du point de terminaison du jeton du serveur d'autorisation en envoyant une assertion client JWT de courte durée. AgentCore Identity crée et signe l'assertion à l'aide d'une clé asymétrique AWS KMS gérée par le clientkms:Sign, conformément à la section 2.2 de la RFC 7523. La clé privée ne quitte jamais KMS. Le serveur d'autorisation valide l'assertion par rapport à la clé publique que vous avez enregistrée. Lorsque vous sélectionnez cette méthode, aucun secret client n'est requis. Un ID client est requis pour tous les flux. Pour l'utiliserPRIVATE_KEY_JWTcomme méthode d'authentification du client, remplissez les conditions préalables suivantes :-
Une clé de signature asymétrique dans AWS KMS avec utilisation de la clé
SIGN_VERIFY, avec une politique de clé appropriée et une spécification de clé compatible avec l'algorithme de signature que vous avez choisi (voir Private Key JWT pour le tableau des spécifications algorithme-clé). -
Le rôle AgentCore d'exécution de l'identité (ou identité d'appel) doit disposer d'
kms:Signautorisationskms:DescribeKeyet d'autorisations sur la clé KMS. -
Le serveur d'autorisation du fournisseur d'identité doit prendre en charge l'authentification du client JWT par clé privée, et la clé publique correspondante doit être enregistrée auprès de son serveur d'autorisation.
-
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" } } }'
Exemple de CLI : utilisation de PRIVATE_KEY_JWT comme méthode d'authentification du client
aws bedrock-agentcore-control create-oauth2-credential-provider \ --cli-input-json '{ "name": "sample-private-key-jwt", "credentialProviderVendor": "CustomOauth2", "oauth2ProviderConfigInput": { "customOauth2ProviderConfig": { "oauthDiscovery": { "discoveryUrl": "https://your-idp.example.com/.well-known/openid-configuration" }, "clientId": "your-client-id", "clientAuthenticationMethod": "PRIVATE_KEY_JWT", "privateKeyJwtConfig": { "privateKeySource": { "kmsKeySource": { "kmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/your-key-id" } }, "signingAlgorithm": "RS256" } } } }'
Pour plus d'informations sur la référence de configuration complète, y compris la configuration de la clé KMS, la prise en charge de plusieurs comptes et les options d'algorithme de signature, consultez Private Key JWT.
Notice (Avis)
Le tokenEndpointAuthMethods champ n'est pas recommandé en faveur de la méthode d'authentification du client, mais il est conservé pour des raisons de compatibilité descendante dans la CLI et le SDK. Le fait de fournir les deux dans la même demande entraînera une erreur de validation.