View a markdown version of this page

Métodos de autenticação do cliente - Base da Amazônia AgentCore

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.

  1. 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.

  2. 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.

  3. 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 usar AWS_IAM_ID_TOKEN_JWT como método de autenticação do cliente, aqui estão os pré-requisitos:

    1. A federação de identidade externa na web deve estar ativada em sua conta. Habilite-o com iam: EnableOutboundWebIdentityFederation.

    2. A identidade AWS do IAM de chamada deve ter permissão para chamar sts: GetWebIdentityToken.

  4. 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 usar PRIVATE_KEY_JWT como método de autenticação do cliente, atenda aos seguintes pré-requisitos:

    1. Uma chave de assinatura assimétrica no AWS KMS com uso de chavesSIGN_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).

    2. A função de execução de AgentCore identidade (ou identidade de chamada) deve ter kms:DescribeKey kms:Sign permissões na chave KMS.

    3. 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.