Comment utiliser mes identifiants de rôle IAM ou passer à un autre rôle pour me connecter à Athena à l'aide du pilote JDBC ?

Lecture de 4 minute(s)
0

J'aimerais me connecter à Amazon Athena via le pilote JDBC à l'aide d'un rôle AWS Identity and Access Management (IAM). Autrement, j'aimerais passer à un autre rôle IAM avant de me connecter à Athena par l'intermédiaire du pilote JDBC.

Résolution

Utilisez les informations d'identification du rôle IAM afin de se connecter au pilote Athena JDBC

Récupérez les informations d'identification temporaires du rôle. La récupération des informations d'identification temporaires est fonction des modalités de prise en charge du rôle.

  • Prise en charge du rôle auprès d'un fournisseur d'identité SAML : Active Directory Federation Services (AD FS) 3.0, Okta, PingFederate et Azure AD sont les seuls fournisseurs d'identité SAML 2.0 directement pris en charge dans le pilote JDBC Athena. Lorsque vous vous réattribuez le rôle auprès d'un autre fournisseur d'identité, utilisez la commande assumer-role-avec-saml pour obtenir les informations d'identification temporaires.
  • Assumer un autre rôle dans votre compte : Si vous assumez un autre rôle dans le même compte AWS, utilisez assume-role pour obtenir les informations d'identification temporaires.

Remarque : Si des erreurs surviennent lors de l'exécution des commandes de l'interface de ligne de commande AWS (AWS CLI), assurez-vous de disposer de la version la plus récente de cet outil.

Pour plus d'informations, consultez la section Utilisation des rôles IAM et le tableau Comparaison des méthodes d'utilisation des rôles.

Les identifiants temporaires comprennent le jeton de session, l'identifiant de la clé d'accès et la clé d'accès secrète. Ces trois identifiants sont nécessaires pour authentifier la connexion JDBC à Athena. Veuillez noter que les identifiants temporaires ont une durée de vie maximale de 12 heures.

  1. Enregistrez les identifiants temporaires dans le fichier d'identifiants AWS (~/.aws/credentials) sur la machine où le pilote JDBC d'Athena est installé, sous la forme d'un profil nommé. Vous trouverez de plus amples informations à la section Configuration et paramètres du fichier d'informations d'identification.

    En voici un exemple : les informations d'identification temporaires sont stockées dans un profil AWS CLI nommé testprofile :

    [testprofile]
    aws_access_key_id=ASIAXXXXXXXXX
    aws_secret_access_key=XXXXXXXX
    aws_session_token=XXXXXXXXXXXXXXXXXX
  2. La connexion à Athena avec le pilote JDBC se fait en spécifiant le nom du profil dans la chaîne de connexion JDBC (par exemple : jdbc:awsathena://AwsRegion=us-west-2;Profile=testprofile ;). Ou définissez le nom du profil dans la propriété de configuration Profile JDBC.

    Remarque : La configuration de la propriété de profil JDBC est disponible dans les versions 2.0.6 et ultérieures du pilote JDBC d'Athena. Vous pouvez obtenir la dernière version du pilote JDBC en vous connectant sur Amazon Athena à l'aide de JDBC.

Basculez dans un autre rôle IAM et connectez-vous au pilote JDBC d'Athena

Pour basculer vers un autre rôle avant de se connecter au pilote JDBC d'Athena, utilisez l'option source_profile dans le profil nommé :

  1. Ajoutez un profil nommé au fichier d'informations d'identification de l'interface de ligne de commande AWS (~/.aws/credentials) sur la machine sur laquelle le pilote JDBC Athena est installé. Vous trouverez de plus amples informations sur la création de profils nommés à la sectionUtilisation des profils nommés. Le profil doit inclure les propriétés suivantes :

    role_arn : le nom de ressource Amazon (ARN) du rôle que vous souhaitez assumer
    source_profile : profil contenant les informations d'identification d'un utilisateur IAM ou d'un rôle IAM autorisé à assumer ce rôle

    Exemple, pour assumer un rôle nommé testrole dont l'ARN est arn:aws:iam::123456789012:role/testrole, créez un profil nommé comme suit :

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

    Cet exemple montre que le profil par défaut contient les informations d'identification d'un utilisateur ou d'un rôle IAM ayant le droit d'assumer le rôle testrole :

    [default]
    aws_access_key_id=ASIAXXXXXXXXX
    aws_secret_access_key=XXXXXXXX
    aws_session_token=XXXXXXXXXXXXXXXXXX

    Remarque : AWS CLI prend en charge la spécification de source_profile dans le fichier de configuration AWS CLI (/.aws/config) et les informations d'identification de l'utilisateur dans un fichier d'informations d'identification AWS CLI séparé (~/.aws/credentials). Cependant, le pilote JDBC d'Athena ne peut lire les informations d'identification qu'à partir du fichier d'informations d'identification de l'interface CLI d'AWS. Cette limitation exige que ces profils soient placés dans le même fichier d'informations d'identification AWS CLI (/.aws/credentials). En outre, ils ne doivent pas être préfixés par profile. Le pilote JDBC Athena ne prend pas en charge l'utilisation de credential_source = EC2InstanceMetadata dans les profils nommés.

  2. Connectez-vous à Athena avec le pilote JDBC, en spécifiant le nom du profil dans la chaîne de connexion JDBC (exemple : jdbc:awsathena://AwsRegion=us-west-2;Profile=switchroletest ;). Ou définissez le nom du profil dans la propriété de configuration Profile JDBC.

Informations complémentaires

Demande d'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)

Basculer vers un rôle IAM (AWS CLI)

Utiliser un rôle IAM dans AWS CLI

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 10 mois