View a markdown version of this page

Métodos de autenticación de clientes - Base amazónica AgentCore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Métodos de autenticación de clientes

El método de autenticación del cliente controla la forma en que el cliente de OAuth se autentica en el punto final del token del servidor de autorización al solicitar los tokens de acceso.

En el caso de los proveedores de credenciales específicos de un proveedor, AgentCore Identity administra el método de autenticación de clientes en función de los requisitos de cada proveedor, por lo que no es necesaria ninguna configuración adicional.

En los casos de uso que requieren un control más detallado, como autenticarse con una afirmación de IAM-signed JWT en lugar de con un secreto de cliente, o dirigirse a un servidor de autorización cuyos requisitos difieran de los de un proveedor integrado, utilice el proveedor personalizado, que le permite elegir entre los métodos compatibles que se indican a continuación.

Métodos de autenticación de clientes compatibles

AgentCore La identidad admite los siguientes valores para el método de autenticación de clientes.

  1. CLIENT_SECRET_BASIC(predeterminado): los clientes que han recibido un valor secreto de cliente del servidor de autorización se autentican en este servidor de conformidad con la sección 2.3.1 de OAuth 2.0 (RFC 6749) mediante el esquema de autenticación HTTP Basic. Se requieren tanto el ID de cliente como el secreto del cliente.

  2. CLIENT_SECRET_POST— Los clientes que han recibido un valor de secreto de cliente del servidor de autorización se autentican en este servidor de conformidad con la sección 2.3.1 de OAuth 2.0 (RFC 6749) e incluyen las credenciales del cliente en el cuerpo de la solicitud. Se requieren tanto el ID de cliente como el secreto del cliente.

  3. AWS_IAM_ID_TOKEN_JWT— Se autentica en el punto final del token del servidor de autorización enviando una afirmación de AWS IAM-signed JWT para la función de ejecución del agente (obtenida mediante sts: GetWebIdentityToken) como afirmación de cliente, según la sección 2.2 de la RFC 7523. El servidor de autorización debe admitir este mecanismo y confiar en IAM como emisor. AWS Cuando se selecciona este método, no se requiere el secreto del cliente y solo se requiere el ID del cliente para el flujo de acceso delegado por el usuario (User-delegated acceso (concesión del código de autorización de OAuth 2.0)). Para usarlo AWS_IAM_ID_TOKEN_JWT como método de autenticación de clientes, estos son los requisitos previos:

    1. La federación de identidades web salientes debe estar habilitada en su cuenta. Habilítelo con iam:. EnableOutboundWebIdentityFederation

    2. La identidad de AWS IAM que realiza la llamada debe tener permiso para llamar a sts:. GetWebIdentityToken

  4. PRIVATE_KEY_JWTSe autentica en el punto final del token del servidor de autorización enviando una afirmación de cliente JWT de corta duración. AgentCore Identity crea y firma la afirmación con una clave asimétrica de AWS KMS administrada por el cliente, según lo establecido en la sección 2.2 de la RFC 7523. kms:Sign La clave privada nunca sale de KMS. El servidor de autorización valida la afirmación comparándola con la clave pública que ha registrado. Al seleccionar este método, no se requiere ningún secreto de cliente. Se requiere un identificador de cliente para todos los flujos. Para usarlo PRIVATE_KEY_JWT como método de autenticación de clientes, cumpla los siguientes requisitos previos:

    1. Una clave de firma asimétrica en AWS KMS con uso de clavesSIGN_VERIFY, con una política de claves adecuada y una especificación de clave compatible con el algoritmo de firma elegido (consulte JWT de clave privada para ver la tabla de especificaciones de algoritmo a clave).

    2. La función de ejecución de la AgentCore identidad (o la identidad de llamada) debe tener permisos sobre la clave de KMS. kms:DescribeKey kms:Sign

    3. El servidor de autorización del proveedor de identidad debe admitir la autenticación del cliente JWT con clave privada y la clave pública correspondiente debe estar registrada en su servidor de autorización.

¿Cómo configurar el método de autenticación del cliente

Configurar el método de autenticación de clientes para CustomOauth 2

Para configurar el método de autenticación de clientes para un proveedor personalizado en la AWS consola, consulte Agregar un cliente de OAuth mediante un proveedor personalizado. También puede configurarlo mediante la CLI.

Ejemplo de CLI: uso de CLIENT_SECRET_BASIC como método de autenticación de 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" } } }'

Ejemplo de CLI: uso de _TOKEN_JWT como método de autenticación de cliente AWS_IAM_ID

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" } } }'

Ejemplo de CLI: uso de PRIVATE_KEY_JWT como método de autenticación de 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 obtener más información sobre la referencia de configuración completa, incluida la configuración de la clave de KMS, la compatibilidad entre cuentas y las opciones de algoritmos de firma, consulte Private Key JWT. Autenticación de cliente JWT con clave privada

Aviso

Este tokenEndpointAuthMethods campo no se recomienda en favor del método de autenticación del cliente, pero se mantiene para mantener la compatibilidad con versiones anteriores de la CLI y el SDK. Si se proporcionan ambos en la misma solicitud, se producirá un error de validación.