

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.

# Asumir un rol con identidad web u OpenID Connect para autenticar y herramientas AWS SDKs
<a name="access-assume-role-web"></a>

Para asumir un rol, se utiliza un conjunto de credenciales de seguridad temporales para acceder a los recursos de AWS a los que de otro modo usted no tendría acceso. Las credenciales temporales incluyen un ID de clave de acceso, una clave de acceso secreta y un token de seguridad. Para obtener más información sobre las solicitudes de la API de AWS Security Token Service (AWS STS), consulte [Acciones](https://docs.aws.amazon.com/STS/latest/APIReference/API_Operations.html) en la *Referencia de la API de AWS Security Token Service *. 

Para configurar el SDK o la herramienta para que asuma un rol, primero debe crear o identificar el *rol* específico que desee asumir. Los roles de IAM se identifican de forma exclusiva mediante un nombre de recurso de Amazon ([ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)) del rol. Los roles establecen relaciones de confianza con otra entidad. La entidad de confianza que usa el rol puede ser un proveedor de identidad web o una federación OpenID Connect(OIDC) o SAML. Para obtener más información sobre los roles de IAM, consulte [Métodos para asumir un rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) en la *Guía del usuario de IAM*. 

Una vez configurada la función de IAM en tu SDK, si esa función está configurada para confiar en tu proveedor de identidades, puedes configurar aún más tu SDK para que asuma esa función a fin de obtener AWS credenciales temporales.

**nota**  
Se recomienda utilizar puntos de enlace regionales siempre que sea posible y configurar los suyos. AWS [Región de AWS](feature-region.md) 

## Cómo federar con identidad web u OpenID Connect
<a name="webidentity"></a>

Puedes usar los JSON Web Tokens (JWTs) de proveedores de identidad públicos, como Login With Amazon, Facebook o Google, para obtener AWS credenciales temporales`AssumeRoleWithWebIdentity`. Según cómo se usen, JWTs pueden denominarse tokens de ID o tokens de acceso. También puede utilizar proveedores de identidad JWTs emitidos por proveedores de identidad (IdPs) que sean compatibles con el protocolo de detección de la OIDC, como EntraId o. PingFederate

Si utiliza Amazon Elastic Kubernetes Service, esta característica permite especificar diferentes roles de IAM para cada uno de sus cuentas de servicio en un clúster de Amazon EKS. Esta función de Kubernetes se distribuye JWTs a tus pods, que luego este proveedor de credenciales los utiliza para obtener credenciales temporales. AWS Para obtener más información sobre esta configuración de Amazon EKS, consulte [Roles de IAM para cuentas de servicio](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) en la **Guía del usuario de Amazon EKS**. Sin embargo, para simplificar el proceso, le recomendamos que utilice [Amazon EKS Pod Identities](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html) si su [SDK es compatible](feature-container-credentials.md#feature-container-credentials-sdk-compat).

### Paso 1: Configurar un proveedor de identidades y un rol de IAM
<a name="webidentity_step1"></a>

Para configurar la federación con un IdP externo, utilice un proveedor de identidades de IAM para informar AWS sobre el IdP externo y su configuración. Esto establece la *confianza* entre su IdP Cuenta de AWS y el externo. Antes de configurar el SDK para usar el JSON Web Token (JWT) para la autenticación, primero debe configurar el proveedor de identidad (IdP) y el rol de IAM que se usa para acceder a él. Para configurarlos, consulte [Creación de un rol para identidades web o de OpenID Connect Federation (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html) en la *Guía del usuario de IAM*.

### Paso 2: configurar el SDK o la herramienta
<a name="webidentity_step2"></a>

Configure el SDK o la herramienta para usar un token web JSON (JWT) AWS STS para la autenticación. 

Cuando lo especificas en un perfil, el SDK o la herramienta realiza automáticamente la llamada a la AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)API correspondiente. Para recuperar y usar credenciales temporales mediante la federación de identidades web, especifique los siguientes valores de configuración en el AWS `config` archivo compartido. Para obtener más información sobre esta configuración, consulte la sección [Asumir la configuración del proveedor de credenciales de rol](feature-assume-role-credentials.md#feature-assume-role-credentials-settings). 
+ `role_arn`: del rol de IAM que creó en el paso 1
+ `web_identity_token_file`: desde el IdP externo
+ (Opcional) `duration_seconds`
+ (Opcional) `role_session_name` 

El siguiente es un ejemplo de una configuración de archivos compartidos `config` para asumir un rol con identidad web:

```
[profile web-identity]
role_arn=arn:aws:iam::123456789012:role/my-role-name
web_identity_token_file=/path/to/a/token
```

**nota**  
Para aplicaciones móviles, le recomendamos que utilice Amazon Cognito. Amazon Cognito actúa como agente de identidades y realiza gran parte del trabajo de federación por usted. Sin embargo, el proveedor de identidades de Amazon Cognito no está incluido en las bibliotecas principales de herramientas SDKs y herramientas como otros proveedores de identidades. Para acceder a la API de Amazon Cognito, incluya el cliente del servicio Amazon Cognito en la compilación o las bibliotecas de su SDK o herramienta. Para su uso con AWS SDKs, consulte los [ejemplos de código](https://docs.aws.amazon.com/cognito/latest/developerguide/service_code_examples.html) en la Guía *para desarrolladores de Amazon Cognito*.

Para obtener más información sobre la configuración del proveedor de credenciales de rol, consulte [Asumir el rol de proveedor de credenciales](feature-assume-role-credentials.md) en esta guía.