Uso de roles de IAM con las aplicaciones que llaman directamente a los servicios de AWS - Amazon EMR

Uso de roles de IAM con las aplicaciones que llaman directamente a los servicios de AWS

Las aplicaciones que se ejecutan en las instancias EC2 de un clúster pueden usar el perfil de instancia de EC2 para obtener credenciales de seguridad temporales al llamar a los servicios de AWS.

Las versiones de Hadoop disponibles con la versión 2.3.0 y posteriores de Amazon EMR ya se han actualizado para utilizar roles de IAM. Si la aplicación se ejecuta estrictamente sobre la arquitectura de Hadoop y no llama directamente a ningún servicio en AWS, debería funcionar con roles de IAM, sin ningún tipo de modificación.

Si la aplicación llama a los servicios de AWS directamente, debe actualizarla para que utilice los roles de IAM. Esto significa que, en lugar de obtener credenciales de cuenta de /etc/hadoop/conf/core-site.xml en las instancias de EC2 del clúster, la aplicación utiliza un SDK para acceder a los recursos que utilizan roles de IAM o llama a los metadatos de la instancia de EC2 para obtener las credenciales temporales.

Para tener acceso a los recursos de AWS con roles de IAM mediante un SDK
Para obtener credenciales temporales de metadatos de instancias EC2
  • Llame a la siguiente URL desde una instancia EC2 que se ejecuta con el rol de IAM especificado, que devuelve las credenciales de seguridad temporales asociadas (AccessKeyId, SecretAccessKey, SessionToken y Expiration). En el ejemplo que aparece a continuación se utiliza el perfil de instancia predeterminado para Amazon EMR, EMR_EC2_DefaultRole.

    GET http://169.254.169.254/latest/meta-data/iam/security-credentials/EMR_EC2_DefaultRole

Para obtener más información sobre la escritura de aplicaciones que utilizan roles de IAM, consulte Permitir el acceso a los recursos de AWS a aplicaciones que se ejecutan en instancias de Amazon EC2.

Para obtener más información acerca de las credenciales de seguridad temporales, consulte Uso de credenciales de seguridad temporales en la guía Uso de credenciales de seguridad temporales.