Uso de AssumeRoleWithWebIdentity con un AWS SDK o la CLI - AWS Identity and Access Management

Uso de AssumeRoleWithWebIdentity con un AWS SDK o la CLI

Los siguientes ejemplos de código muestran cómo utilizar AssumeRoleWithWebIdentity.

CLI
AWS CLI

Cómo obtener credenciales a corto plazo para un rol autenticado con Web Identity (OAuth 2."0)

El siguiente comando assume-role-with-web-identity recupera un conjunto de credenciales a corto plazo para el rol de IAM app1. La solicitud se autentica mediante el token de identidad web proporcionado por el proveedor de identidad web especificado. Se aplican dos políticas adicionales a la sesión para restringir aún más lo que el usuario puede hacer. Las credenciales devueltas caducan una hora después de haberse generado.

aws sts assume-role-with-web-identity \ --duration-seconds 3600 \ --role-session-name "app1" \ --provider-id "www.amazon.com" \ --policy-arns "arn:aws:iam::123456789012:policy/q=webidentitydemopolicy1","arn:aws:iam::123456789012:policy/webidentitydemopolicy2" \ --role-arn arn:aws:iam::123456789012:role/FederatedWebIdentityRole \ --web-identity-token "Atza%7CIQEBLjAsAhRFiXuWpUXuRvQ9PZL3GMFcYevydwIUFAHZwXZXXXXXXXXJnrulxKDHwy87oGKPznh0D6bEQZTSCzyoCtL_8S07pLpr0zMbn6w1lfVZKNTBdDansFBmtGnIsIapjI6xKR02Yc_2bQ8LZbUXSGm6Ry6_BG7PrtLZtj_dfCTj92xNGed-CrKqjG7nPBjNIL016GGvuS5gSvPRUxWES3VYfm1wl7WTI7jn-Pcb6M-buCgHhFOzTQxod27L9CqnOLio7N3gZAGpsp6n1-AJBOCJckcyXe2c6uD0srOJeZlKUm2eTDVMf8IehDVI0r1QOnTV6KzzAI3OY87Vd_cVMQ"

Salida:

{ "SubjectFromWebIdentityToken": "amzn1.account.AF6RHO7KZU5XRVQJGXK6HB56KR2A" "Audience": "client.5498841531868486423.1548@apps.example.com", "AssumedRoleUser": { "Arn": "arn:aws:sts::123456789012:assumed-role/FederatedWebIdentityRole/app1", "AssumedRoleId": "AROACLKWSDQRAOEXAMPLE:app1" } "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", "SessionToken": "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE", "Expiration": "2020-05-19T18:06:10+00:00" }, "Provider": "www.amazon.com" }

Para obtener más información, consulte Solicitud de credenciales de seguridad temporales en la Guía del usuario de AWS IAM.

PowerShell
Herramientas para PowerShell

Ejemplo 1: devuelve un conjunto temporal de credenciales, válido durante una hora, para un usuario que se ha autenticado con el proveedor de identidad Inicio de sesión con Amazon. Las credenciales asumen la política de acceso asociada al rol identificado por el ARN del rol. Si lo desea, puede pasar una política de JSON al parámetro -Policy para perfeccionar aún más los permisos de acceso (no puede conceder más permisos de los disponibles en los permisos asociados al rol). El valor proporcionado al -WebIdentityToken es el identificador de usuario único que devolvió el proveedor de identidades.

Use-STSWebIdentityRole -DurationInSeconds 3600 -ProviderId "www.amazon.com" -RoleSessionName "app1" -RoleArn "arn:aws:iam::123456789012:role/FederatedWebIdentityRole" -WebIdentityToken "Atza...DVI0r1"
  • Para obtener información sobre la API, consulte AssumeRoleWithWebIdentity en la Referencia de Cmdlet de AWS Tools for PowerShell.

Para obtener una lista completa de las guías para desarrolladores del AWS SDK y ejemplos de código, consulte Uso de IAM con un AWS SDK. En este tema también se incluye información sobre cómo comenzar a utilizar el SDK y detalles sobre sus versiones anteriores.