Je souhaite utiliser les informations d'identification d'un rôle AWS Identity and Access Management (IAM) pour authentifier la connexion du pilote JDBC à Amazon Athena. Ou bien, je souhaite passer à un autre rôle IAM avant d'utiliser le pilote JDBC pour me connecter à Amazon Athena.
Résolution
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'interface.
Utiliser les informations d'identification du rôle IAM afin de se connecter au pilote Athena JDBC Athena
Récupérez les informations d'identification temporaires du rôle. Le processus de récupération des informations d'identification temporaires diffère selon la manière dont vous endossez le rôle.
Vous utilisez un fournisseur d'identité SAML pour endosser le rôle
Active Directory Federation Services (AD FS) 3.0, Okta, PingFederate et Microsoft Entra ID sont les seuls fournisseurs d'identité SAML 2.0 directement pris en charge dans le pilote JDBC Athena. Lorsque vous utilisez un autre fournisseur d'identité pour endosser le rôle, utilisez la commande assumer-role-avec-saml pour obtenir les informations d'identification temporaires.
Vous endossez un rôle différent dans votre compte
Si vous endossez un autre rôle dans le même compte AWS, exécutez la commande assume-role pour obtenir les informations d'identification temporaires.
Pour plus d'informations, consultez la section Méthodes pour endosser un rôle.
Les informations d'identification temporaires contiennent le jeton de session, l'ID de clé d'accès et la clé d'accès secrète qui sont nécessaires pour authentifier la connexion JDBC à Amazon Athena.
Remarque : Les informations d'identification temporaires ne sont valides que pendant 12 heures.
Enregistrez les informations d'identification temporaires de votre machine dans le fichier d'informations d'identification AWS ~/.aws/credentials en tant que profil nommé. Pour en savoir plus, consultez la section Configuration et paramètres du fichier d'informations d'identification dans l’AWS CLI.
Vous trouverez ci-dessous un exemple d’informations d'identification temporaires stockées dans un profil AWS CLI nommé testprofile :
[testprofile]aws_access_key_id=ASIA#########
aws_secret_access_key=########
aws_session_token=##################
Pour vous connecter à Amazon Athena à l’aide du pilote JDBC, spécifiez le nom de profil dans la chaîne de connexion JDBC, par exemple jdbc:awsathena://AwsRegion=us-west-2;Profile=testprofile;. Ou bien, définissez le nom de profil dans la propriété de configuration JDBC Profil.
Remarque : La configuration de la propriété de configuration JDBC Profil est disponible dans les versions 2.0.6 et ultérieures du pilote JDBC Athena. Pour obtenir la dernière version du pilote JDBC, consultez la section Se connecter à Amazon Athena à l'aide de JDBC.
Passer à un autre rôle IAM, et se connecter au pilote JDBC Athena
Pour changer de rôle avant de vous connecter au pilote JDBC Athena, utilisez l'option source_profile dans le profil nommé.
Sur votre machine, ajoutez un profil nommé au fichier d'informations d'identification de l'AWS CLI ~/.aws/credentials. Pour plus d'informations, consultez la section Utilisation de profils nommés.
Le profil doit inclure les propriétés suivantes :
- role_arn : ARN du rôle que vous souhaitez endosser.
- source_profile : Profil contenant les informations d'identification d'un utilisateur IAM ou d'un rôle IAM doté d’autorisations pour endosser ce rôle
Voici un exemple de configuration pour endosser un rôle nommé testrole dont l'ARN est arn:aws:iam::123456789012:role/testrole :
[switchroletest]role_arn=arn:aws:iam::123456789012:role/testrole
source_profile=default
Dans l’exemple suivant, le profil par défaut contient les informations d'identification d'un utilisateur ou d'un rôle IAM doté d’autorisations pour endosser le rôle testrole :
[default]aws_access_key_id=ASIA#########
aws_secret_access_key=########
aws_session_token=##################
Remarque : L'AWS CLI vous permet de spécifier source_profile dans le fichier de configuration de l'AWS CLI /.aws/config et les informations d'identification utilisateur dans un fichier d'informations d'identification d’AWS CLI distinct. Cependant, le pilote JDBC Athena ne peut lire les informations d'identification qu'à partir du fichier d'informations d'identification de l'AWS CLI. En raison de cette limitation, vous devez placer les profils dans le même fichier d'informations d'identification de l'AWS CLI. Aussi, n'utilisez pas le préfixe profil pour les profils.
Pour vous connecter à Athena avec le pilote JDBC, spécifiez le nom du profil dans la chaîne de connexion JDBC, par exemple jdbc:awsathena://AwsRegion=us-west-2;Profile=switchroletest;. Ou bien, définissez le nom de profil dans la propriété de configuration JDBC Profil.
Informations connexes
Demander des informations d’identification de sécurité temporaires
Guide d'installation et de configuration du pilote Simba Athena JDBC avec connecteur SQL (version 2.0.9)
Passer à un rôle IAM (AWS CLI)
Utilisation d’un rôle IAM dans l’AWS CLI