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 des utilisateurs AWS en dehors de 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 AWS, voir À propos de la fédération SAML 2.0 dans le 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, consultez AssumeRoleWithSAML dans la référence de l'AWS Security Token Service API.

  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

Cette procédure établit un lien de confiance entre l'IdP de votre organisation et votre AWS compte afin de permettre un accès fédéré basé sur SAML au fonctionnement de l'API Amazon Athena.

Pour activer l'accès fédéré à l'API Athena :
  1. Dans votre organisation, enregistrez-vous AWS en tant que fournisseur de services (SP) auprès de 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 (ADFS) de votre organisation, générez un fichier XML de métadonnées équivalent qui décrit votre IdP en tant que fournisseur d'identité pour. AWS Votre fichier de métadonnées doit inclure le nom de l'émetteur, la date de création, la date d'expiration et les clés AWS utilisées 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 de confiance 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 ADFS, consultez le billet de blog : Activation de la fédération à 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 STSAssumeRoleWithSAML et lui transmet les assertions, comme indiqué à l'étape 4 du schéma d'architecture.

    2. AWS s'assure que la demande pour assumer le rôle provient de l'IdP référencé dans l'entité fournisseur SAML.

    3. Si la demande aboutit, l'opération d'API AWS STS AssumeRoleWithSAML renvoie un ensemble d'informations d'identification de sécurité temporaires, que votre application cliente utilise pour envoyer des demandes signées à Athena.

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