Activation de l'accès fédéré à l'API Athena - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Activation de l'accès fédéré à l'API Athena

Cette section décrit l'accès fédéré qui autorise un utilisateur ou une application cliente de votre organisation à appeler des opérations d'API Amazon Athena. Dans ce cas, les utilisateurs de l'organisation ne disposent pas d'un accès direct à Athena. Au lieu de cela, vous gérez les informations d'identification de l'utilisateur en dehors d'AWS dans Microsoft Active Directory. Active Directory prend en charge SAML 2.0 (Security Assertion Markup Language 2.0).

Pour authentifier les utilisateurs, utilisez le pilote JDBC ou ODBC avec la prise en charge de SAML 2.0 pour accéder à Active Directory Federation Services (AD FS) 3.0 et permettre à une application cliente d'appeler les opérations d'API Athena.

Pour plus d'informations sur la prise en charge de SAML 2.0 dans AWS, consultez la rubrique À propos de la fédération SAML 2.0 du Guide de l'utilisateur IAM.

Note

L'accès fédéré à l'API Athena est pris en charge pour un type de fournisseur d'identité (IdP) spécifique, l'Active Directory Federation Service (ADFS 3.0), qui fait partie de Windows Server. L'accès fédéré n'est pas compatible avec la fonctionnalité de propagation d'identité approuvée d'IAM Identity Center. L'accès est établi via les versions des pilotes JDBC ou ODBC prenant en charge SAML 2.0. Pour plus d'informations, consultez Connexion à Amazon Athena avec JDBC et Connexion à Amazon Athena avec le pilote ODBC.

Avant de commencer

Avant de commencer, effectuez les opérations obligatoires suivantes :

  • Dans votre organisation, installez et configurez AD FS 3.0 comme votre fournisseur d'identité.

  • Installez et configurez les dernières versions disponibles des pilotes JDBC ou ODBC sur les clients qui sont utilisés pour l'accès à Athena. Le pilote doit inclure la prise en charge de l'accès fédéré compatible avec SAML 2.0. Pour plus d'informations, consultez Connexion à Amazon Athena avec JDBC et Connexion à Amazon Athena avec le pilote ODBC.

Diagramme d'architecture

Le schéma suivant illustre ce processus.


                Le diagramme de l'accès fédéré à l'API Athena.
  1. A l'aide d'une application cliente dotée du pilote JDBC ou ODBC, un utilisateur de l'organisation demande son authentification par l'IdP de l'organisation. L'IdP est AD FS 3.0.

  2. L'IdP authentifie l'utilisateur par rapport à Active Directory, qui est la base d'identités de l'organisation.

  3. L'IdP crée une assertion SAML à l'aide des informations concernant l'utilisateur et l'envoie à l'application cliente via le pilote JDBC ou ODBC.

  4. Le pilote JDBC ou ODBC appelle l'opération d'API AWS Security Token Service AssumeRoleWithSAML en lui transmettant les paramètres suivants :

    • L'ARN du fournisseur SAML

    • ARN du rôle à assumer.

    • Assertion SAML de l'IdP

    Pour plus d'informations, voir AssumeRoleWithSAML dans le document Référence d'API AWS Security Token Service.

  5. La réponse de l'API à l'application cliente via le pilote JDBC ou ODBC inclut les informations d'identification de sécurité temporaires.

  6. L'application cliente utilise ces informations d'identification de sécurité temporaires pour appeler les opérations d'API Athena, ce qui permet aux utilisateurs d'accéder aux opérations d'API Athena.

Procédure : accès fédéré SAML à l'API Athena

La procédure établit une relation d'approbation entre l'IdP de votre organisation et votre compte AWS afin d'activer l'accès fédéré SAML à l'opération d'API Amazon Athena.

Pour activer l'accès fédéré à l'API Athena :
  1. Dans votre organisation, enregistrez AWS en tant que fournisseur de services dans votre IdP. Ce processus est connu sous le nom d'approbation des parties utilisatrices. Pour plus d'informations, consultez la rubrique Configuration de votre IdP SAML 2.0 à l'aide d'une relation d'approbation des parties utilisatrices du Guide de l'utilisateur IAM. Dans le cadre de cette tâche, effectuez les étapes suivantes :

    1. Obtenez l'exemple de document de métadonnées SAML à partir de cette URL : https://signin.aws.amazon.com/static/saml-metadata.xml.

    2. Dans l'IdP de l'organisation (AD FS), vous générez un fichier XML de métadonnées équivalent qui décrit cet IdP en tant que fournisseur d'identité à AWS. Votre fichier de métadonnées doit inclure le nom de l'auteur, une date de création et d'expiration et les clés qu'AWS utilise pour valider les réponses d'authentification (assertions) de votre organisation.

  2. Dans la console IAM, créez une entité de fournisseur d'identité SAML. Pour plus d'informations, consultez la rubrique Création de fournisseurs d'identité SAML du Guide de l'utilisateur IAM. Dans le cadre de cette étape, effectuez ce qui suit :

    1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

    2. Chargez le document de métadonnées SAML généré par l'IdP (AD FS) à l'étape 1 de cette procédure.

  3. Dans la console IAM, créez un ou plusieurs rôles IAM pour votre IdP. Pour plus d'informations, consultez la rubrique Création d'un rôle pour un fournisseur d'identité tiers (fédération) du Guide de l'utilisateur IAM. Dans le cadre de cette étape, effectuez ce qui suit :

    • Dans la politique d'autorisation du rôle, dressez une liste des actions que les utilisateurs de l'organisation sont autorisés à effectuer dans AWS.

    • Dans la politique d'approbation du rôle, définissez le fournisseur d'identité que vous avez créée à l'étape 2 de cette procédure en tant que principal.

    Cela établit une relation d'approbation entre votre organisation et AWS.

  4. Dans l'IdP de votre organisation (ADFS), vous définissez les assertions qui associent les utilisateurs et les groupes de l'organisation aux rôles IAM. Le mappage des utilisateurs et des groupes aux rôles IAM est également connu sous le nom de règle de demande. Notez que différents utilisateurs et groupes de l'organisation peuvent être associés à différents rôles IAM.

    Pour plus d'informations sur la configuration du mappage dans AD FS, consultez le billet de blog : activation de la fédération sur AWS à l'aide de Windows Active Directory, ADFS et SAML 2.0.

  5. Installez et configurez le pilote JDBC ou ODBC avec la prise en charge de SAML 2.0. Pour plus d'informations, consultez Connexion à Amazon Athena avec JDBC et Connexion à Amazon Athena avec le pilote ODBC.

  6. Spécifiez la chaîne de connexion de votre application vers le pilote JDBC ou ODBC. Pour plus d'informations sur la chaîne de connexion que votre application doit utiliser, consultez la section « Utilisation du fournisseur d'informations d'identification d'Active Directory Federation Services (ADFS) » du Guide de configuration et d'installation du pilote JDBC, ou une rubrique similaire du Guide de configuration et d'installation du pilote ODBC disponible au téléchargement au format PDF à partir des rubriques Connexion à Amazon Athena avec JDBC et Connexion à Amazon Athena avec le pilote ODBC.

    Le résumé global de la configuration de la chaîne de connexion pour les pilotes est le suivant :

    1. Dans AwsCredentialsProviderClass configuration, définissez le com.simba.athena.iamsupport.plugin.AdfsCredentialsProvider pour indiquer que vous souhaitez utiliser l'authentification basée sur SAML 2.0 via l'IdP AD FS.

    2. Pour idp_host, fournissez le nom d'hôte du serveur d'IdP AD FS.

    3. Pour idp_port, fournissez le numéro de port que l'IdP AD FS écoute pour la demande d'assertion SAML.

    4. Pour UID et PWD, fournissez les informations d'identification de l'utilisateur de domaine AD. Lorsque vous utilisez le pilote sur Windows, si UID et PWD ne sont pas fournis, le pilote tente d'obtenir les informations d'identification de l'utilisateur connecté à la machine Windows.

    5. Vous pouvez également définir ssl_insecure sur true. Dans ce cas, le pilote ne vérifie pas l'authenticité du certificat SSL du serveur de l'IdP AD FS. Le fait de définir sur true est nécessaire si le certificat SSL de l'IdP AD FS n'a pas été configuré pour être approuvé par le pilote.

    6. Pour activer le mappage d'un utilisateur ou d'un groupe du domaine Active Directory utilisateur à un ou plusieurs rôles IAM (comme indiqué à l'étape 4 de cette procédure), dans le preferred_role pour la connexion JDBC ou ODBC, spécifiez le rôle IAM (ARN) à endosser pour le pilote de connexion. La spécification du preferred_role est facultative, et elle est utile si le rôle n'est pas le premier répertorié dans la règle de demande.

    En conséquence de cette procédure, les actions suivantes se produisent :

    1. Le pilote JDBC ou ODBC appelle l'API AWS STS AssumeRoleWithSAML et transmet les assertions, comme illustré à l'étape 4 du schéma de l'architecture.

    2. AWS vérifie que la demande concernant le rôle à assumer provient de l'IdP référencé dans le fournisseur d'identité SAML.

    3. Si la demande aboutit, l'opération API AWS STS AssumeRoleWithSAML retourne des informations d'identification de sécurité temporaires que votre application peut utiliser pour adresser des demandes signées à Athena.

      Votre application dispose maintenant d'informations sur l'utilisateur actuel et peut accéder à Athena par programmation.