Saltar al contenido

¿Cómo uso las credenciales de mi rol de IAM o cambio a otro rol de IAM cuando uso el controlador JDBC para conectarme a Amazon Athena?

4 minutos de lectura
0

Quiero usar las credenciales de un rol de AWS Identity and Access Management (IAM) para autenticar la conexión del controlador JDBC a Amazon Athena. O bien, quiero cambiar a otro rol de IAM antes de usar el controlador JDBC para conectarme a Amazon Athena.

Solución

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Solución de problemas de AWS CLI. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.

Utilización de las credenciales del rol de IAM para la conexión con el controlador JDBC de Athena

Recupere las credenciales temporales del rol. El proceso para recuperar las credenciales temporales es diferente según la forma en que asuma el rol.

Uso de un proveedor de identidad SAML para asumir el rol

Active Directory Federation Services (AD FS) 3.0, Okta, PingFederate y Microsoft Entra ID son los únicos proveedores de identidades de SAML 2.0 admitidos directamente por el controlador JDBC de Athena. Si usa otro proveedor de identidad para asumir el rol, ejecute el comando assume-role-with-saml para obtener las credenciales temporales.

Asunción de otro rol en su cuenta

Si asume otro rol en la misma cuenta de AWS, ejecute el comando assume-role para obtener las credenciales temporales.

Para obtener más información, consulte Métodos para asumir un rol.

Las credenciales temporales contienen el token de sesión, el ID de la clave de acceso y la clave de acceso secreta necesarios para autenticar la conexión de JDBC a Amazon Athena.

Nota: Las credenciales temporales son válidas solo durante 12 horas.

Guarde las credenciales temporales de su máquina en el archivo ~/.aws/credentials de credenciales de AWS como un perfil con nombre. Para obtener más información, consulte Opciones de los archivos de configuración y credenciales en AWS CLI.

A continuación, se muestra un ejemplo de credenciales temporales almacenadas en un perfil de AWS CLI denominado testprofile:

[testprofile]aws_access_key_id=ASIA#########
aws_secret_access_key=########
aws_session_token=##################

Para usar el controlador JDBC para conectarse a Amazon Athena, especifique el nombre del perfil en la cadena de conexión de JDBC (por ejemplo: jdbc:awsathena://AwsRegion=us-west-2;Profile=testprofile;). Como alternativa, defina el nombre del perfil en la propiedad de configuración de JDBC Perfil.

Nota: La propiedad de configuración de JDBC Perfil está disponible en la versión 2.0.6 del controlador JDBC de Athena y en versiones posteriores. Para obtener el controlador JDBC más reciente, consulte Conexión a Amazon Athena con JDBC.

Cambio a otro rol de IAM y posterior conexión al controlador JDBC de Athena

Para cambiar de rol antes de conectarse al controlador JDBC de Athena, utilice la opción source_profile en el perfil con nombre.

En su máquina, agregue un perfil con nombre al archivo de credenciales de la AWS CLI ~/.aws/credentials. Para obtener más información, consulte Uso de perfiles con nombre.

El perfil debe incluir las siguientes propiedades:

  • role_arn: ARN del rol que desea asumir.
  • source_profile: un perfil que contenga las credenciales de un usuario o un rol de IAM con permisos para asumir el rol.

El siguiente es un ejemplo de configuración para asumir un rol denominado testrole con el ARN arn:aws:iam::123456789012:role/testrole:

[switchroletest]role_arn=arn:aws:iam::123456789012:role/testrole
source_profile=default

En el siguiente ejemplo, el perfil predeterminado contiene las credenciales de un usuario o un rol de IAM con permisos para asumir el rol testrole:

[default]aws_access_key_id=ASIA#########
aws_secret_access_key=########
aws_session_token=##################

Nota: AWS CLI le permite especificar source_profile en el archivo de configuración /.aws/config de AWS CLI y las credenciales de usuario en un archivo de credenciales de AWS CLI independiente. Sin embargo, el controlador JDBC de Athena solo puede leer credenciales del archivo de credenciales de AWS CLI. Debido a esta limitación, debe colocar los perfiles en el mismo archivo de credenciales de AWS CLI. Además, no utilice el prefijo de perfil para los perfiles.

Para usar el controlador JDBC para conectarse a Athena, especifique el nombre del perfil en la cadena de conexión de JDBC (por ejemplo: jdbc:awsathena://AwsRegion=us-west-2;Profile=switchroletest;). Como alternativa, defina el nombre del perfil en la propiedad de configuración de JDBC Perfil.

Información relacionada

Solicitud de las credenciales de seguridad temporales

Guía de instalación y configuración del controlador JDBC de Simba de Athena con conector SQL (versión 2.0.9)

Cambio a un rol de IAM (AWS CLI)

Uso de un rol de IAM en la AWS CLI

OFICIAL DE AWSActualizada hace 2 años