Metodi di autenticazione del client
Il metodo di autenticazione del client controlla il modo in cui il client OAuth si autentica con l'endpoint del token del server di autorizzazione quando richiede i token di accesso.
Per i fornitori di credenziali specifici del provider, AgentCore Identity gestisce automaticamente il metodo di autenticazione del client in base ai requisiti di ciascun fornitore, quindi non è necessaria alcuna configurazione aggiuntiva.
Per i casi d'uso che richiedono un controllo più dettagliato, ad esempio l'autenticazione con un'asserzione IAM-signed JWT anziché un client secret o l'utilizzo di un server di autorizzazione i cui requisiti sono diversi da quelli di un fornitore integrato, utilizza il provider personalizzato, che consente di scegliere tra i metodi supportati di seguito.
Metodi di autenticazione client supportati
AgentCore Identity supporta i seguenti valori per il metodo di autenticazione del client.
-
CLIENT_SECRET_BASIC(impostazione predefinita): i client che hanno ricevuto un valore segreto del client dal server di autorizzazione si autenticano con il server di autorizzazione in conformità alla sezione 2.3.1 di OAuth 2.0 (RFC 6749) utilizzando lo schema di autenticazione HTTP Basic. Sono obbligatori sia l'ID client che il client secret. -
CLIENT_SECRET_POST— I client che hanno ricevuto un valore segreto del client dal server di autorizzazione si autenticano con il server di autorizzazione in conformità alla sezione 2.3.1 di OAuth 2.0 (RFC 6749) includendo le credenziali del client nel corpo della richiesta. Sono richiesti sia l'ID client che il client secret. -
AWS_IAM_ID_TOKEN_JWT— Si autentica sull'endpoint del token del server di autorizzazione inviando un'asserzione AWS IAM-signed JWT per il ruolo di esecuzione dell'agente (ottenuta tramite sts: GetWebIdentityToken) come asserzione client, secondo RFC 7523, Sezione 2.2. Il server di autorizzazione deve supportare questo meccanismo e affidarsi a IAM come emittente. AWS Quando questo metodo è selezionato, il segreto del client non è richiesto e l'ID client è richiesto solo per il flusso di accesso delegato dall'utente (User-delegated accesso (concessione del codice di autorizzazione OAuth 2.0)). Da utilizzareAWS_IAM_ID_TOKEN_JWTcome metodo di autenticazione client, ecco i prerequisiti:-
La federazione delle identità Web in uscita deve essere abilitata sul tuo account. Abilitalo con iam: EnableOutboundWebIdentityFederation.
-
L'identità AWS IAM chiamante deve avere il permesso di chiamare sts: GetWebIdentityToken.
-
Come configurare il metodo di autenticazione del client
Configurazione del metodo di autenticazione client per 2 CustomOauth
Per configurare il metodo di autenticazione del client per un provider personalizzato su AWS Console, vedi Aggiungere un client OAuth utilizzando un provider personalizzato. Puoi anche configurarlo utilizzando la CLI.
Esempio CLI: utilizzo di CLIENT_SECRET_BASIC come metodo di autenticazione 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" } } }'
Esempio CLI: utilizzo di AWS_IAM_ID_TOKEN_JWT come metodo di autenticazione del 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" } } }'
Comunicazione
Il tokenEndpointAuthMethodscampo non è consigliato a favore del metodo di autenticazione client, ma è mantenuto per la compatibilità con le versioni precedenti in CLI e SDK. Fornire entrambi nella stessa richiesta comporterà un errore di convalida.