¿Cómo accedo a los recursos de otra cuenta de AWS mediante AWS IAM?

4 minutos de lectura
0

Quiero asumir un rol de AWS Identity and Access Management (IAM) en otra cuenta de AWS. ¿Cómo configuro el acceso entre cuentas mediante IAM?

Descripción breve

Puede establecer una relación de confianza con un rol de IAM en otra cuenta de AWS para acceder a sus recursos. Por ejemplo, desea acceder a la cuenta de destino desde la cuenta de origen. Para ello, asuma el rol de IAM desde la cuenta de origen a la de destino proporcionando su permiso de usuario de IAM para la API AssumeRole. Debe especificar su usuario de IAM en la relación de confianza del rol de IAM de destino.

Nota: También puede asumir un rol desde el rol de IAM de origen al rol de IAM de destino, en lugar de usar el encadenamiento de roles de usuario a rol. El encadenamiento de roles solo funciona para el acceso mediante programación, como la Interfaz de la línea de comandos de AWS (AWS CLI) o API. El cambio de rol no se puede utilizar con la consola de administración de AWS.

Resolución

Siga estas instrucciones para crear una política de permisos de IAM para la cuenta de origen, adjuntar la política a un usuario y, a continuación, crear un rol para la cuenta de destino.

Nota: Si recibe errores al ejecutar los comandos de la AWS CLI, asegúrese de utilizar la versión más reciente de la AWS CLI.

Cuenta de origen

1.    Cree una política de IAM similar a la siguiente:

Nota: Reemplace DESTINATION-ACCOUNT-ID y DESTINATION-ROLENAME por sus propios valores.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": [
        "arn:aws:iam::DESTINATION-ACCOUNT-ID:role/DESTINATION-ROLENAME"
      ]
    }
  ]
}

2.    Adjunte la política de IAM a sus permisos de usuario de IAM.

Adjunte la política creada a sus permisos de usuario de IAM siguiendo los pasos que se indican aquí.

Cuenta de destino

1.    Cree un rol de IAM.

2.    Pegue la política de confianza personalizada similar a la siguiente:

Nota: Reemplace SOURCE-ACCOUNT-ID y SOURCE-USERNAME por sus propios valores.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::SOURCE-ACCOUNT-ID:user/SOURCE-USERNAME"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Nota: Si no tiene acceso para crear y editar roles y usuarios de IAM, pida ayuda al propietario de la cuenta para completar el proceso. Como práctica recomendada, conceda acceso a su cuenta y recursos solo a las entidades en las que confíe.

Puede modificar esta política para permitir la asignación de tantas entidades de origen a tantos roles de destino como sea necesario. Por ejemplo, puede cambiar el valor Entidad principal de la política de confianza de la cuenta de destino a «AWS»: «SOURCE-ACCOUNT-ID». Esto permite que todas las entidades de la cuenta de origen con los permisos de asumir el rol asuman el rol de cuenta de destino. Para obtener más información, consulte Especificar una entidad principal y Crear o editar la política.

Ponga a prueba su acceso

Para probar su acceso, siga las instrucciones para Cambiar a un rol (consola).

-o-

Siga las instrucciones para Cambiar a un rol de IAM (AWS CLI).

Para obtener más información, consulte el tutorial de IAM: Delegue el acceso a todas las cuentas de AWS mediante roles de IAM.


Información relacionada

¿Cómo asumo un rol de IAM mediante la AWS CLI?

He creado o actualizado una política de IAM y he recibido el error «Ha prohibido el campo Entidad principal». ¿Cómo puedo solucionar este problema?

¿Cómo puedo proporcionar acceso entre cuentas a los objetos que se encuentran en los buckets de Amazon S3?

¿Por qué he recibido el mensaje de error «AccessDenied» o «Información no válida» al intentar asumir un rol de IAM entre cuentas?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año