Crear un rol para un proveedor de identidad de terceros (federación)
Puede utilizar proveedores de identidad en lugar de crear usuarios de IAM en una Cuenta de AWS. Con un proveedor de identidad (IdP), puede administrar las identidades de usuario fuera de AWS y conceder permisos a estas identidades de usuarios externos para que tengan acceso a los recursos de AWS de su cuenta. Para obtener más información acerca de la identidad federada y los proveedores de identidad, consulte Federación y proveedores de identidades.
Creación de un rol para usuarios federados (consola)
Los procedimientos que ha de seguir para crear un rol para los usuarios federados dependen de su elección de proveedores de terceros:
-
Para conexiones OpenID Connect (OIDC), consulte Creación de un rol para una federación de OpenID Connect (consola).
-
Para SAML 2.0, consulte Creación de un rol para una federación SAML 2.0 (consola).
Creación de un rol para acceso federado (AWS CLI)
Los pasos que ha de seguir para crear un rol para los proveedores de identidad compatibles (OIDC o SAML) desde la AWS CLI son idénticos. La diferencia está en el contenido de la política de confianza que crea en los pasos de requisitos previos. Empiece siguiendo los pasos de la sección Requisitos previos para el tipo de proveedor que utilice:
-
Para un proveedor OIDC, consulte Requisitos previos para crear un rol para OIDC.
-
Para un proveedor SAML, consulte Requisitos previos para crear un rol para SAML.
Para crear un rol desde la AWS CLI se deben seguir varios pasos. Si utiliza la consola para crear un rol, muchos de los pasos se realizan automáticamente, pero con la AWS CLI deberá realizar cada paso usted mismo. Debe crear el rol y, a continuación, asignar una política de permisos al rol. Si lo prefiere, también puede configurar el límite de permisos para el rol.
Para crear un rol para la identidad federada (AWS CLI)
-
Crear un rol: aws iam create-role
-
Asociar una política de permisos al rol: aws iam attach-role-policy
o
Crear una política de permisos insertada para el rol: aws iam put-role-policy
-
(Opcional) Añadir los atributos personalizados al rol asociando etiquetas: aws iam tag-role
Para obtener más información, consulte Administrar etiquetas en roles de IAM (AWS CLI o API de AWS).
-
(Opcional) Configurar el límite de permisos para el rol: aws iam put-role-permissions-boundary
Un límite de permisos controla los permisos que puede tener un rol como máximo. Los límites de permisos son una característica avanzada de AWS.
El siguiente ejemplo muestra los dos primeros pasos, que también son los más comunes, para crear un rol de proveedor de identidad en un entorno sencillo. Este ejemplo permite a cualquier usuario de la cuenta 123456789012
asumir el rol y ver el bucket de example_bucket
Amazon S3. En el ejemplo, también se presupone que está ejecutando la AWS CLI en un equipo con Windows y que ya ha configurado la AWS CLI con sus credenciales. Para obtener más información, consulte Configuración de la AWS Command Line Interface.
En el ejemplo siguiente, la política de confianza está diseñada para una aplicación móvil si el usuario inicia sesión mediante Amazon Cognito. En este ejemplo, us-east:12345678-ffff-ffff-ffff-123456
representa el ID del grupo de identidades asignado por Amazon Cognito.
{ "Version": "2012-10-17", "Statement": { "Sid": "RoleForCognito", "Effect": "Allow", "Principal": {"Federated": "cognito-identity.amazonaws.com"}, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": {"StringEquals": {"cognito-identity.amazonaws.com:aud": "us-east:12345678-ffff-ffff-ffff-123456"}} } }
La siguiente política de permisos permite a cualquiera que asuma el rol realizar únicamente la acción ListBucket
en el bucket de Amazon S3 example_bucket
.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::example_bucket" } }
Para crear el rol Test-Cognito-Role
, primero debe guardar la política de confianza anterior con el nombre trustpolicyforcognitofederation.json
y la política de permisos anterior con el nombre permspolicyforcognitofederation.json
en la carpeta policies
del disco duro local C:
. A continuación, puede utilizar los comandos siguientes para crear el rol y asociarle la política insertada.
# Create the role and attach the trust policy that enables users in an account to assume the role. $
aws iam create-role --role-name Test-Cognito-Role --assume-role-policy-document file://C:\policies\trustpolicyforcognitofederation.json
# Attach the permissions policy to the role to specify what it is allowed to do.
aws iam put-role-policy --role-name Test-Cognito-Role --policy-name Perms-Policy-For-CognitoFederation --policy-document file://C:\policies\permspolicyforcognitofederation.json
Creación de un rol para acceso federado (API de AWS)
Los pasos que ha de seguir para crear un rol para los proveedores de identidad compatibles (OIDC o SAML) desde la AWS CLI son idénticos. La diferencia está en el contenido de la política de confianza que crea en los pasos de requisitos previos. Empiece siguiendo los pasos de la sección Requisitos previos para el tipo de proveedor que utilice:
-
Para un proveedor OIDC, consulte Requisitos previos para crear un rol para OIDC.
-
Para un proveedor SAML, consulte Requisitos previos para crear un rol para SAML.
Para crear un rol para la identidad federada (API de AWS)
-
Creación de un rol: CreateRole
-
Asociar una política de permisos al rol: AttachRolePolicy
o
Crear una política de permisos insertada para el rol: PutRolePolicy
-
(Opcional) Añadir los atributos personalizados al usuario asociando etiquetas: TagRole
Para obtener más información, consulte Administrar etiquetas en usuarios de IAM (AWS CLI o API de AWS).
-
(Opcional) Configuración del límite de permisos para el rol: PutRolePermissionsBoundary
Un límite de permisos controla los permisos que puede tener un rol como máximo. Los límites de permisos son una característica avanzada de AWS.