Concesión de permisos para crear credenciales de seguridad temporales - AWS Identity and Access Management

Concesión de permisos para crear credenciales de seguridad temporales

De forma predeterminada, los usuarios de IAM no tienen permiso para crear credenciales de seguridad temporales para usuarios federados y roles. Debe utilizar una política para proporcionar estos permisos a los usuarios. Aunque pueda conceder permisos directamente a un usuario, le recomendamos encarecidamente que conceda permisos a los grupos. Esto facilita en gran medida la administración de los permisos. Cuando alguien ya no tenga que realizar las tareas asociadas a los permisos, solo tiene que retirarlo del grupo. Si otra persona necesita realizar dicha tarea, añádala al grupo para concederle los permisos.

Para conceder permiso a un grupo de IAM para crear credenciales de seguridad temporales para usuarios federados o roles, asocie una política que conceda a ambos los siguientes privilegios:

  • Para que los usuarios federados obtengan acceso a un rol de IAM, conceda acceso a AWS STS de AssumeRole.

  • Para los usuarios federados que no necesiten un rol, conceda acceso a GetFederationToken de AWS STS.

Para obtener información sobre las diferencias entre las operaciones de API AssumeRole y GetFederationToken, consulte Solicitud de credenciales de seguridad temporales.

Los usuarios de IAM también pueden llamar a GetSessionToken para crear credenciales de seguridad temporales. No se requieren permisos para que un usuario llame a GetSessionToken. La finalidad de esta operación es autenticar al usuario mediante MFA. No se pueden utilizar políticas para controlar la autenticación. Esto significa que no se puede impedir que los usuarios de IAM llamen a GetSessionToken para crear credenciales temporales.

ejemplo Ejemplo de política que concede permiso para asumir un rol

La siguiente política de ejemplo concede permiso para llamar a AssumeRole para el rol UpdateApp en la Cuenta de AWS 123123123123. Cuando se usa AssumeRole, el usuario (o la aplicación) que crea las credenciales de seguridad en nombre de un usuario federado no puede delegar ningún permiso que no se haya especificado ya en la política de permisos de la función.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::123123123123:role/UpdateAPP" }] }
ejemplo Ejemplo de política que concede permiso para crear credenciales de seguridad temporales para un usuario federado

La siguiente política de ejemplo concede permiso para obtener acceso a GetFederationToken.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:GetFederationToken", "Resource": "*" }] }
importante

Cuando dé a los usuarios de IAM permiso para crear credenciales de seguridad temporales para usuarios federados con GetFederationToken, debe ser consciente de que esto permite a esos usuarios delegar sus propios permisos. Para obtener más información sobre cómo delegar permisos entre usuarios de IAM y Cuentas de AWS, consulte Ejemplos de políticas para delegar el acceso. Para obtener más información sobre cómo controlar los permisos en las credenciales de seguridad temporales, consulte Control de los permisos para credenciales de seguridad temporales.

ejemplo Ejemplo de política que concede a un usuario un permiso limitado para crear credenciales de seguridad temporales para usuarios federados

Cuando se permite que un usuario de IAM llame a GetFederationToken, la práctica recomendada es restringir los permisos que el usuario de IAM puede delegar. Por ejemplo, la política siguiente muestra cómo dejar que un usuario de IAM cree credenciales de seguridad temporales únicamente para usuarios federados cuyos nombres comiencen con Manager.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:GetFederationToken", "Resource": ["arn:aws:sts::123456789012:federated-user/Manager*"] }] }