Métodos de autenticação do cliente
O método de autenticação do cliente controla como o cliente OAuth se autentica com o endpoint do token do servidor de autorização ao solicitar tokens de acesso.
Para provedores de credenciais específicos do provedor, o AgentCore Identity gerencia o método de autenticação do cliente para você com base nos requisitos de cada fornecedor, portanto, nenhuma configuração adicional é necessária.
Para casos de uso que exigem um controle mais refinado, como a autenticação com uma declaração IAM-signed JWT em vez de uma chave secreta do cliente ou a segmentação de um servidor de autorização cujos requisitos sejam diferentes dos de um fornecedor incorporado, use o provedor personalizado, que permite escolher entre os métodos compatíveis abaixo.
Métodos de autenticação de cliente compatíveis
AgentCore O Identity suporta os seguintes valores para o método de autenticação do cliente.
-
CLIENT_SECRET_BASIC(padrão) — Clientes que receberam um valor secreto do cliente do servidor de autorização se autenticam com o servidor de autorização de acordo com a Seção 2.3.1 do OAuth 2.0 (RFC 6749) usando o esquema de autenticação HTTP Basic. Tanto o ID do cliente quanto o segredo do cliente são obrigatórios. -
CLIENT_SECRET_POST— Clientes que receberam um valor secreto do cliente do servidor de autorização se autenticam no servidor de autorização de acordo com a Seção 2.3.1 do OAuth 2.0 (RFC 6749), incluindo as credenciais do cliente no corpo da solicitação. Tanto o ID do cliente quanto o segredo do cliente são obrigatórios. -
AWS_IAM_ID_TOKEN_JWT— Autentique-se no endpoint do token do servidor de autorização enviando uma declaração AWS IAM-signed JWT para a função de execução do agente (obtida via sts: GetWebIdentityToken) como declaração do cliente, de acordo com a RFC 7523, Seção 2.2. O servidor de autorização deve oferecer suporte a esse mecanismo e confiar no AWS IAM como emissor. Quando esse método é selecionado, o segredo do cliente não é necessário e o ID do cliente só é necessário para o fluxo de acesso delegado pelo usuário (User-delegated acesso (concessão do código de autorização do OAuth 2.0)). Para usarAWS_IAM_ID_TOKEN_JWTcomo método de autenticação do cliente, aqui estão os pré-requisitos:-
A federação de identidade da web de saída deve estar ativada em sua conta. Ative-o com iam: EnableOutboundWebIdentityFederation.
-
A identidade AWS do IAM chamador deve ter permissão para chamar sts: GetWebIdentityToken.
-
Como configurar o método de autenticação do cliente
Configurando o método de autenticação do cliente para 2 CustomOauth
Para configurar o método de autenticação do cliente para o provedor personalizado no AWS console, consulte Adicionar cliente OAuth usando o provedor personalizado. Você também pode configurá-lo usando a CLI.
Exemplo de CLI: usando CLIENT_SECRET_BASIC como método de autenticação do cliente
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" } } }'
Exemplo de CLI: usando AWS_IAM_ID_TOKEN_JWT como método de autenticação do cliente
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" } } }'
Aviso
O tokenEndpointAuthMethodscampo não é recomendado em favor do método de autenticação do cliente, mas é mantido para compatibilidade com versões anteriores na CLI e no SDK. Fornecer os dois na mesma solicitação resultará em um erro de validação.