As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
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 de 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 detalhado, como a autenticação com uma declaração IAM-signed JWT em vez de um segredo de cliente ou a segmentação de um servidor de autorização cujos requisitos diferem dos de um fornecedor incorporado, use o provedor personalizado, que permite escolher entre os métodos suportados abaixo.
Métodos de autenticação de cliente suportados
AgentCore A identidade oferece suporte aos 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 no 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 a 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 a ID do cliente quanto o segredo do cliente são obrigatórios. -
AWS_IAM_ID_TOKEN_JWT— Autentica 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 por meio de sts: GetWebIdentityToken) como afirmaçã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 a ID do cliente só é necessária para o fluxo de acesso delegado pelo usuário (User-delegated acesso (concessão do código de autorização 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 externa na web deve estar ativada em sua conta. Habilite-o com iam: EnableOutboundWebIdentityFederation.
-
A identidade AWS do IAM de chamada deve ter permissão para chamar sts: GetWebIdentityToken.
-
-
PRIVATE_KEY_JWTAutentica no endpoint do token do servidor de autorização enviando uma declaração de cliente JWT de curta duração. AgentCore A identidade cria e assina a afirmação com uma chave assimétrica AWS KMS gerenciada pelo cliente por meio de, de acordo com a RFC 7523kms:Sign, Seção 2.2. A chave privada nunca sai do KMS. O servidor de autorização valida a afirmação em relação à chave pública que você registrou. Quando você seleciona esse método, nenhum segredo do cliente é necessário. É necessário um ID de cliente para todos os fluxos. Para usarPRIVATE_KEY_JWTcomo método de autenticação do cliente, atenda aos seguintes pré-requisitos:-
Uma chave de assinatura assimétrica no AWS KMS com uso de chaves
SIGN_VERIFY, com uma política de chaves apropriada e uma especificação de chave compatível com o algoritmo de assinatura escolhido (consulte Private Key JWT para ver a tabela de algoritmo para especificação de chave). -
A função de execução de AgentCore identidade (ou identidade de chamada) deve ter
kms:DescribeKeykms:Signpermissões na chave KMS. -
O servidor de autorização do provedor de identidade deve oferecer suporte à autenticação do cliente JWT com chave privada, e a chave pública correspondente deve ser registrada no servidor de autorização.
-
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" } } }'
Exemplo de CLI: Usando PRIVATE_KEY_JWT como método de autenticação do cliente
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" } } } }'
Para obter mais informações sobre a referência de configuração completa, incluindo configuração da chave KMS, suporte entre contas e opções de algoritmo de assinatura, consulte Private Key JWT.
Aviso
O tokenEndpointAuthMethods campo não é recomendado em favor do método de autenticação do cliente, mas é mantido para fins de compatibilidade com versões anteriores na CLI e no SDK. Fornecer ambos na mesma solicitação resultará em um erro de validação.