

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.

# Utilisez Athena pour interroger les données enregistrées auprès de AWS Lake Formation
<a name="security-athena-lake-formation"></a>

[AWS Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/what-is-lake-formation.html) vous permet de définir et d’appliquer des stratégies d’accès au niveau des bases de données, des tables et des colonnes lorsque vous utilisez des requêtes Athena pour lire des données stockées dans Amazon S3 ou accessibles via des sources de données fédérées. Lake Formation fournit une couche d’autorisation et de gouvernance sur les données stockées dans Amazon S3 ou dans des catalogues de données fédérés. Vous pouvez utiliser une hiérarchie d'autorisations dans Lake Formation pour accorder ou révoquer les autorisations de lecture des objets du catalogue de données tels que les bases de données, les tables et les colonnes. Lake Formation simplifie la gestion des autorisations et vous permet d'implémenter un contrôle d'accès précis (FGAC) pour vos données.

Vous pouvez utiliser Athena pour interroger à la fois les données qui sont enregistrées dans Lake Formation et celles qui ne le sont pas.

Les autorisations Lake Formation s’appliquent lorsque vous utilisez Athena pour interroger des données sources à partir d’emplacements Amazon S3 ou de catalogues de données enregistrés dans Lake Formation. Elles s’appliquent également lorsque vous créez des bases de données et des tables qui pointent vers des emplacements de données Amazon S3 ou des catalogues de données enregistrés.

Les autorisations Lake Formation ne s’appliquent pas lors de l’écriture d’objets ni lors de l’interrogation de données ou de métadonnées qui ne sont pas enregistrées dans Lake Formation. Pour les données source et les métadonnées qui ne sont pas enregistrées auprès de Lake Formation, l'accès est déterminé par les politiques et AWS Glue actions d'autorisation IAM. Les emplacements des résultats des requêtes Athena dans Simple Storage Service (Amazon S3) ne peuvent pas être enregistrés dans Lake Formation, et les politiques d'autorisation IAM pour Simple Storage Service (Amazon S3) contrôlent l'accès. En outre, les autorisations de Lake Formation ne s'appliquent pas à l'historique des requêtes Athena. Vous pouvez utiliser des groupes de travail Athena pour contrôler l'accès à l'historique des requêtes.

Pour plus d'informations sur Lake Formation, consultez [Lake Formation FAQs](https://aws.amazon.com/lake-formation/faqs/) et le [Guide du AWS Lake Formation développeur](https://docs.aws.amazon.com/lake-formation/latest/dg/what-is-lake-formation.html).

## Application d’autorisations Lake Formation à des bases de données et des tables existantes
<a name="lf-athena-apply-lf-permissions-to-existing-databases-and-tables"></a>

Si vous débutez avec Athena et que vous utilisez Lake Formation pour configurer l’accès aux données de requête, il n’est pas nécessaire de configurer des politiques IAM pour que les utilisateurs puissent lire les données et créer des métadonnées. Vous pouvez utiliser Lake Formation pour gérer les autorisations.

Il n'est pas nécessaire d'enregistrer les données dans Lake Formation et de mettre à jour les politiques d'autorisations IAM. Si les données ne sont pas enregistrées dans Lake Formation, les utilisateurs Athena qui disposent des autorisations appropriées peuvent continuer à les interroger.

Si certains de vos utilisateurs Athena interrogent des données Amazon S3 qui ne sont pas enregistrés auprès de Lake Formation, vous pouvez mettre à jour les autorisations IAM pour Amazon S3 (et le cas échéant) afin de pouvoir utiliser les AWS Glue Data Catalog autorisations de Lake Formation pour gérer l'accès des utilisateurs de manière centralisée. Pour obtenir l'autorisation de lire les emplacements de données Simple Storage Service (Amazon S3), vous pouvez mettre à jour les politiques basées sur les ressources et les politiques basées sur l'identité afin de modifier les autorisations Simple Storage Service (Amazon S3). Pour l'accès aux métadonnées, si vous avez configuré des politiques au niveau des ressources pour un contrôle d'accès précis AWS Glue, vous pouvez utiliser les autorisations de Lake Formation pour gérer l'accès à la place. 

Pour plus d'informations, reportez-vous [Configurez l'accès aux bases de données et aux tables dans le AWS Glue Data Catalog](fine-grained-access-to-glue-resources.md) à la section [Mise à niveau des autorisations de AWS Glue données pour le AWS Lake Formation modèle](https://docs.aws.amazon.com/lake-formation/latest/dg/upgrade-glue-lake-formation.html) dans le *Guide du AWS Lake Formation développeur*.

**Topics**
+ [Application d’autorisations Lake Formation à des bases de données et des tables existantes](#lf-athena-apply-lf-permissions-to-existing-databases-and-tables)
+ [Fonctionnement de l’accès aux données](lf-athena-access.md)
+ [Considérations et restrictions](lf-athena-limitations.md)
+ [Accès intercomptes](lf-athena-limitations-cross-account.md)
+ [Gérer les autorisations utilisateur](lf-athena-user-permissions.md)
+ [Utilisation de Lake Formation et de JDBC ou ODBC pour l’accès fédéré](security-athena-lake-formation-jdbc.md)

# Mode d'accès d'Athena aux données enregistrées dans Lake Formation
<a name="lf-athena-access"></a>

Le flux de travail d’accès décrit dans cette section s’applique lors de l’exécution de requêtes Athena sur des emplacements Amazon S3, des catalogues de données ou des objets de métadonnées enregistrés dans Lake Formation. Pour plus d'informations, consultez la rubrique [Enregistrement d'un lac de données](https://docs.aws.amazon.com/lake-formation/latest/dg/register-data-lake.html) du *Guide du développeur AWS Lake Formation *. Outre l'enregistrement des données, l'administrateur de Lake Formation applique les autorisations de Lake Formation qui accordent ou révoquent l'accès aux métadonnées du catalogue de données ou à l'emplacement des données dans Amazon S3. AWS Glue Data Catalog Pour de plus amples informations, consultez [Sécurité et contrôle d'accès aux métadonnées et données](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html#security-data-access-permissions) dans le *Guide du développeur AWS Lake Formation *.

Chaque fois qu’un principal Athena (utilisateur, groupe ou rôle) exécute une requête sur des données enregistrées à l’aide de Lake Formation, ce dernier vérifie que le principal dispose des autorisations Lake Formation appropriées sur la base de données, la table et l’emplacement de la source de données en fonction de la requête. Si le principal a accès, Lake Formation *apporte* des informations d'identification temporaires à Athena et la requête s'exécute.

Le schéma suivant montre le fonctionnement de la vente d'informations d'identification à Athena sur la query-by-query base d'une `SELECT` requête hypothétique sur une table contenant un site Amazon S3 ou un catalogue de données enregistré dans Lake Formation :

![\[Flux de travail de distribution d'informations d'identification pour une requête sur une table Athena.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/lake-formation-athena-security.png)


1. Un principal exécute une requête `SELECT` dans Athena.

1. Athena analyse la requête et vérifie les autorisations de Lake Formation pour voir si le principal a été autorisé à accéder à la table et à ses colonnes.

1. Si le principal a accès, Athena demande des informations d'identification à Lake Formation. Si le principal *n'a pas* accès, Athena génère une erreur d'accès refusé.

1. Lake Formation fournit à Athena les informations d’identification à utiliser lors de la lecture de données à partir d’Amazon S3 ou d’un catalogue, ainsi que la liste des colonnes autorisées.

1. Athena utilise les informations d’identification temporaires de Lake Formation pour interroger les données à partir d’Amazon S3 ou d’un catalogue. Une fois la requête terminée, Athena supprime les informations d'identification.

# Considérations et restrictions concernant l’interrogation de données enregistrées dans Lake Formation
<a name="lf-athena-limitations"></a>

Tenez compte des points suivants lorsque vous utilisez Athena pour interroger des données enregistrées dans Lake Formation. Pour plus d'informations, consultez la rubrique [Problèmes connus liés à AWS Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/limitations.html) du *Guide du développeur AWS Lake Formation *.

**Topics**
+ [Métadonnées de colonne visibles pour les utilisateurs sans autorisation d'accès aux colonnes des données dans certains cas](#lf-athena-limitations-column-metadata)
+ [Utilisation des autorisations Lake Formation pour les vues](#lf-athena-limitations-permissions-to-views)
+ [Prise en charge des DDL Iceberg](#lf-athena-limitations-iceberg-ddl-operations)
+ [Contrôle d'accès précis de Lake Formation et groupes de travail Athena](#lf-athena-limitations-fine-grained-access-control)
+ [Emplacement des résultats de la requête Athena dans Simple Storage Service (Amazon S3) non enregistré dans Lake Formation](#lf-athena-limitations-query-results-location)
+ [Utilisation des groupes de travail Athena pour limiter l'accès à l'historique des requêtes](#lf-athena-limitations-use-workgroups-to-limit-access-to-query-history)
+ [Les emplacements Simple Storage Service (Amazon S3) CSE-KMS enregistrés dans Lake Formation ne peuvent pas être interrogés dans Athena](#lf-athena-limitations-cse-kms)
+ [Les emplacements des données enregistrées dans Lake Formation doivent se trouver dans des sous-répertoires de table](#lf-athena-limitations-partioned-data-locations)
+ [Les requêtes de type CTAS (Create Table As Select) nécessitent des autorisations d'écriture sur Simple Storage Service (Amazon S3)](#lf-athena-limitations-ctas-queries)
+ [L'autorisation DESCRIBE est requise pour la base de données par défaut](#lf-athena-limitations-describe-default)

## Les métadonnées des colonnes sont visibles par les utilisateurs non autorisés dans certaines circonstances avec Avro et Custom SerDe
<a name="lf-athena-limitations-column-metadata"></a>

L'autorisation au niveau des colonnes de Lake Formation empêche les utilisateurs d'accéder aux données des colonnes pour lesquelles ils ne disposent pas d'autorisations Lake Formation. Toutefois, dans certaines situations, les utilisateurs peuvent accéder aux métadonnées décrivant toutes les colonnes de la table, y compris les colonnes pour lesquelles ils ne disposent pas d'autorisations pour les données.

Cela se produit lorsque les métadonnées des colonnes sont stockées dans les propriétés des tables en utilisant le format de stockage Apache Avro ou en utilisant un sérialiseur/désérialiseur (SerDe) personnalisé dans lequel le schéma de table est défini dans les propriétés de table avec la définition. SerDe Lorsque vous utilisez Athena avec Lake Formation, nous vous recommandons d'examiner le contenu des propriétés des tables que vous enregistrez dans Lake Formation et, dans la mesure du possible, de limiter les informations stockées dans les propriétés des tables pour éviter que les métadonnées sensibles ne soient visibles par les utilisateurs.

## Présentation de Lake Formation et des vues
<a name="lf-athena-limitations-permissions-to-views"></a>

Pour les données enregistrées dans Lake Formation, un utilisateur Athena ne peut créer une `VIEW` que s'il dispose des autorisations Lake Formation pour les tables, les colonnes et les emplacements de données Simple Storage Service (Amazon S3) sources sur lesquels la `VIEW` est basée. Une fois qu'une `VIEW` est créée dans Athena, les autorisations Lake Formation peuvent être appliquées à la `VIEW`. Les autorisations au niveau des colonnes ne sont pas disponibles pour un `VIEW`. Les utilisateurs qui disposent d'autorisations Lake Formation pour une `VIEW` mais qui ne disposent pas d'autorisations pour la table et les colonnes sur lesquelles la vue est basée ne peuvent pas utiliser la `VIEW` pour interroger les données. Cependant, les utilisateurs disposant de cette combinaison d'autorisations peuvent utiliser des instructions telles que `DESCRIBE VIEW`, `SHOW CREATE VIEW` et `SHOW COLUMNS` pour afficher les métadonnées `VIEW`. Pour cette raison, veillez à aligner les autorisations de Lake Formation pour chaque `VIEW` sur les autorisations de la table sous-jacente. Les filtres de cellules définis sur une table ne s'appliquent pas à une `VIEW` pour cette table. Les noms des liens de ressource doivent avoir le même nom que la ressource dans le compte d'origine. Des limites supplémentaires s'appliquent à l'utilisation de vues dans une configuration intrecomptes. Pour de plus amples informations sur la configuration des autorisations pour les vues partagées entre comptes, consultez [Configuration de l’accès intercompte au catalogue de données](lf-athena-limitations-cross-account.md).

## Prise en charge des DDL Iceberg
<a name="lf-athena-limitations-iceberg-ddl-operations"></a>

Athena ne prend actuellement pas en charge les opérations DDL sur les tables Iceberg dont l’emplacement est enregistré dans Lake Formation. Toute tentative d’exécution d’une requête DDL sur l’une de ces tables Iceberg peut renvoyer une erreur de refus d’accès Amazon S3 ou échouer avec une expiration de la requête. Pour effectuer des opérations DDL sur des tables Iceberg, l’utilisateur doit disposer d’un accès direct à l’emplacement de ces tables depuis Amazon S3.

## Contrôle d'accès précis de Lake Formation et groupes de travail Athena
<a name="lf-athena-limitations-fine-grained-access-control"></a>

Les utilisateurs du même groupe de travail Athena peuvent voir les données que le contrôle d'accès précis de Lake Formation a configurées pour être accessibles au groupe de travail. Pour plus d'informations sur l'utilisation du contrôle d'accès précis dans Lake Formation, voir [Gérer le contrôle d'accès précis à l'aide de AWS Lake Formation](https://aws.amazon.com/blogs/big-data/manage-fine-grained-access-control-using-aws-lake-formation/) sur le *blog AWS Big Data*. 

## Emplacement des résultats de la requête Athena dans Simple Storage Service (Amazon S3) non enregistré dans Lake Formation
<a name="lf-athena-limitations-query-results-location"></a>

Les emplacements des résultats des requêtes dans Simple Storage Service (Amazon S3) pour Athena ne peuvent pas être enregistrés dans Lake Formation. Les autorisations Lake Formation ne limitent pas l’accès à ces emplacements. Si vous n’appliquez pas de limite d’accès, les utilisateurs Athena peuvent accéder aux fichiers de résultats des requêtes et aux métadonnées sans disposer d’autorisations Lake Formation sur les données. Pour éviter cela, nous vous recommandons d'utiliser des groupes de travail pour spécifier l'emplacement des résultats des requêtes et d'aligner l'appartenance à un groupe de travail sur les autorisations de Lake Formation. Vous pouvez ensuite utiliser les politiques d'autorisation IAM pour limiter l'accès aux emplacements des résultats des requêtes. Pour plus d'informations sur les résultats des requêtes, voir [Utilisation des résultats des requêtes et des requêtes récentes](querying.md).

## Utilisation des groupes de travail Athena pour limiter l'accès à l'historique des requêtes
<a name="lf-athena-limitations-use-workgroups-to-limit-access-to-query-history"></a>

L'historique des requêtes d'Athena présente une liste des requêtes enregistrées et des chaînes de requête complètes. À moins que vous n'utilisiez des groupes de travail pour séparer l'accès aux historiques de requêtes, les utilisateurs d'Athena qui ne sont pas autorisés à interroger les données dans Lake Formation peuvent visualiser les chaînes de requêtes exécutées sur ces données, y compris les noms de colonnes, les critères de sélection, etc. Nous vous recommandons d'utiliser des groupes de travail pour séparer les historiques de requêtes, et d'aligner l'appartenance à un groupe de travail Athena sur les autorisations de Lake Formation pour en limiter l'accès. Pour de plus amples informations, veuillez consulter [Utilisation de groupes de travail pour contrôler l’accès aux requêtes et les coûts](workgroups-manage-queries-control-costs.md).

## Interrogation des tables chiffrées avec CSE\$1KMS enregistrées dans Lake Formation
<a name="lf-athena-limitations-cse-kms"></a>

Athena ne permet pas d’interroger les tables au format de table ouvert (OTF), par exemple les tables Apache Iceberg, qui présentent les caractéristiques suivantes :
+ Les tables basées sur des emplacements Amazon S3 enregistrés dans Lake Formation.
+ Les objets Amazon S3 chiffrés à l’aide du chiffrement côté client (CSE).
+ Le chiffrement utilise des clés AWS KMS gérées par le client ()`CSE_KMS`.

Pour interroger des tables non OTF (chiffrées à l'aide d'une `CSE_KMS` clé), ajoutez le bloc suivant à la politique de la AWS KMS clé que vous utilisez pour le chiffrement CSE. *<KMS\$1KEY\$1ARN>*est l'ARN de la AWS KMS clé qui chiffre les données. *<IAM-ROLE-ARN>*est l'ARN du rôle IAM qui enregistre la position Amazon S3 dans Lake Formation.

```
{
    "Sid": "Allow use of the key",
    "Effect": "Allow",
    "Principal": {
        "AWS": "*"
    },
    "Action": "kms:Decrypt",
    "Resource": "<KMS-KEY-ARN>",
    "Condition": {
        "ArnLike": {
            "aws:PrincipalArn": "<IAM-ROLE-ARN>"
        }
    }
}
```

## Les emplacements des données enregistrées dans Lake Formation doivent se trouver dans des sous-répertoires de table
<a name="lf-athena-limitations-partioned-data-locations"></a>

Les tables partitionnées enregistrées dans Lake Formation doivent avoir des données partitionnées dans des répertoires qui sont des sous-répertoires de la table dans Simple Storage Service (Amazon S3). Par exemple, une table avec l'emplacement `s3://amzn-s3-demo-bucket/mytable` et les partitions `s3://amzn-s3-demo-bucket/mytable/dt=2019-07-11`, `s3://amzn-s3-demo-bucket/mytable/dt=2019-07-12`, etc. peut être enregistrée dans Lake Formation et interrogée à l'aide d'Athena. D'autre part, une table dont l'emplacement `s3://amzn-s3-demo-bucket/mytable` et les partitions se trouvent à `s3://amzn-s3-demo-bucket/dt=2019-07-11`, `s3://amzn-s3-demo-bucket/dt=2019-07-12`, etc., ne peut pas être enregistrée dans Lake Formation. Comme ces partitions ne sont pas des sous-répertoires de `s3://amzn-s3-demo-bucket/mytable`, elles ne peuvent pas non plus être lues par Athena.

## Les requêtes de type CTAS (Create Table As Select) nécessitent des autorisations d'écriture sur Simple Storage Service (Amazon S3)
<a name="lf-athena-limitations-ctas-queries"></a>

Les instructions CTAS (Create Table As Statements) nécessitent un accès en écriture à l'emplacement Simple Storage Service (Amazon S3) des tables. Pour exécuter des requêtes CTAS sur des données enregistrées dans Lake Formation, les utilisateurs d'Athena doivent disposer d'autorisations IAM leur permettant d'écrire dans la table des emplacements Simple Storage Service (Amazon S3), en plus des autorisations Lake Formation appropriées leur permettant de lire les emplacements des données. Pour de plus amples informations, veuillez consulter [Création d’une table à partir des résultats des requêtes (CTAS)](ctas.md).

## L'autorisation DESCRIBE est requise pour la base de données par défaut
<a name="lf-athena-limitations-describe-default"></a>

L’autorisation Lake Formation `DESCRIBE` sur la base de données `default` est requise pour que Lake Formation puisse la visualiser. L'exemple de AWS CLI commande suivant accorde l'`DESCRIBE`autorisation d'accéder à la `default` base de données à l'utilisateur `datalake_user1` titulaire du AWS compte`111122223333`.

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DESCRIBE" --resource '{ "Database": {"Name":"default"}}
```

Pour plus d’informations, consultez [DESCRIBE](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html#perm-describe) dans le *Guide de développement d’AWS Lake Formation *.

# Configuration de l’accès intercompte au catalogue de données
<a name="lf-athena-limitations-cross-account"></a>

Pour accéder à un catalogue de données dans un autre compte, vous pouvez utiliser la fonction AWS Glue inter-comptes d'Athena ou configurer l'accès inter-comptes dans Lake Formation.

## Option A : Configuration de l’accès intercompte au catalogue de données dans Athena
<a name="lf-athena-limitations-cross-account-glue"></a>

Vous pouvez utiliser la fonction de AWS Glue catalogue multi-comptes d'Athena pour enregistrer le catalogue dans votre compte. Cette fonctionnalité n'est disponible que dans la version 2 du moteur Athena et les versions ultérieures, et est limitée à l'utilisation de la même région entre les comptes. Pour de plus amples informations, veuillez consulter [Enregistrement d’un catalogue de données à partir d’un autre compte](data-sources-glue-cross-account.md).

Si une politique de ressources est configurée dans le catalogue de données à partager AWS Glue, elle doit être mise à jour pour autoriser l'accès au catalogue de données du compte A AWS Resource Access Manager et autoriser le compte B à utiliser le catalogue de données du compte A.

Pour de plus amples informations, veuillez consulter [Configuration de l'accès entre comptes aux catalogues de AWS Glue données](security-iam-cross-account-glue-catalog-access.md).

## Option B : Configuration de l’accès intercompte dans Lake Formation
<a name="lf-athena-limitations-cross-account-glue-lf-xacct"></a>

AWS Lake Formation vous permet d'utiliser un seul compte pour gérer un catalogue de données central. Vous pouvez utiliser cette fonction pour implémenter l'[accès entre comptes](https://docs.aws.amazon.com/lake-formation/latest/dg/access-control-cross-account.html) aux métadonnées du catalogue de données et aux données sous-jacentes. Par exemple, un compte propriétaire peut accorder à un autre compte (destinataire) une autorisation `SELECT` sur une table. 

Pour qu'une base de données ou une table partagée apparaisse dans l'éditeur de requête Athena, vous devez [créer un lien de ressource](https://docs.aws.amazon.com/lake-formation/latest/dg/resource-links-about.html) dans Lake Formation vers la base de données ou la table partagée. Lorsque le compte du destinataire dans Lake Formation interroge la table du propriétaire, il [CloudTrail](https://docs.aws.amazon.com/lake-formation/latest/dg/cross-account-logging.html)ajoute l'événement d'accès aux données aux journaux du compte du destinataire et du compte du propriétaire.

Pour les vues partagées, gardez à l'esprit les points suivants :
+ Les requêtes sont exécutées sur des liens de ressources cibles, et non sur la table ou la vue source, puis la sortie est partagée avec le compte cible.
+ Il ne suffit pas de partager uniquement le point de vue. Toutes les tables impliquées dans la création de la vue doivent faire partie du partage entre comptes.
+ Le nom du lien de la ressource créé sur les ressources partagées doit correspondre au nom de la ressource dans le compte du propriétaire. Si le nom ne correspond pas, un message d'erreur tel que « Failed analyzing stored view 'awsdatacatalog » apparaît. *my-lf-resource-link*. *my-lf-view*': ligne 3:3 : *schema\$1name* Le schéma n'existe pas apparaît.

Pour de plus amples informations sur l'accès inter-comptes dans Lake Formation, consultez les ressources suivantes dans le *Guide du développeur AWS Lake Formation * :

 [Permettre l'accès entre comptes](https://docs.aws.amazon.com/lake-formation/latest/dg/access-control-cross-account.html) 

 [Mode de fonctionnement des liens des ressources dans Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/resource-links-about.html) 

 [Journalisation entre comptes CloudTrail ](https://docs.aws.amazon.com/lake-formation/latest/dg/cross-account-logging.html) 

# Gestion des autorisations utilisateur Lake Formation et Athena
<a name="lf-athena-user-permissions"></a>

Lake Formation fournit des informations d’identification pour l’interrogation de magasins de données Amazon S3 ou de catalogues fédérés enregistrés dans Lake Formation. Si vous utilisiez auparavant des politiques IAM pour accorder ou refuser des autorisations de lecture de catalogues ou d’emplacements de données dans Amazon S3, vous pouvez utiliser des autorisations Lake Formation à la place. Cependant, d'autres autorisations IAM sont toujours nécessaires.

Chaque fois que vous utilisez des politiques IAM, veillez à respecter les bonnes pratiques IAM. Pour plus d'informations, consultez la rubrique [Bonnes pratiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) du *Guide de l'utilisateur IAM*.

Les sections suivantes résument les autorisations requises pour utiliser Athena afin d'interroger les données enregistrées dans Lake Formation. Pour plus d'informations, consultez la rubrique [Sécurité dans AWS Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security.html) du *Guide du développeur AWS Lake Formation *.

**Topics**
+ [Autorisations basées sur l'identité pour Lake Formation et Athena](#lf-athena-user-permissions-identity-based)
+ [Autorisations Simple Storage Service (Amazon S3) pour les emplacements des résultats de requêtes Athena](#lf-athena-user-permissions-query-results-locations)
+ [Appartenances des groupes de travail Athena dans l'historique des requêtes](#lf-athena-user-permissions-workgroup-memberships-query-history)
+ [Autorisations Lake Formation aux données](#lf-athena-user-permissions-data)
+ [Autorisations IAM permettant d'écrire dans des emplacements Simple Storage Service (Amazon S3)](#lf-athena-user-permissions-s3-write)
+ [Autorisations pour les données chiffrées, les métadonnées et les résultats de requête Athena](#lf-athena-user-permissions-encrypted)
+ [Autorisations basées sur les ressources pour les compartiments Simple Storage Service (Amazon S3) dans des comptes externes (facultatif)](#lf-athena-user-permissions-s3-cross-account)

## Autorisations basées sur l'identité pour Lake Formation et Athena
<a name="lf-athena-user-permissions-identity-based"></a>

Toute personne utilisant Athena pour interroger des données enregistrées dans Lake Formation doit disposer d'une politique d'autorisations IAM qui autorise l'action `lakeformation:GetDataAccess`. [AWS politique gérée : AmazonAthenaFullAccess](security-iam-awsmanpol.md#amazonathenafullaccess-managed-policy) autorise cette action. Si vous utilisez des politiques en ligne, veillez à mettre à jour les politiques d'autorisations afin d'autoriser cette action.

Dans Lake Formation, un *administrateur de lac de données* est autorisé à créer des objets de métadonnées tels que des bases de données et des tables, à accorder des autorisations Lake Formation à d’autres utilisateurs et à enregistrer de nouveaux emplacements Amazon S3 ou de nouveaux catalogues de données. Pour enregistrer de nouveaux emplacements, des autorisations sont nécessaires pour le rôle lié au service de Lake Formation. Pour plus d'informations, consultez les rubriques [Création d'un administrateur de lac de données](https://docs.aws.amazon.com/lake-formation/latest/dg/getting-started-setup.html#create-data-lake-admin) et [Autorisations de rôles liés à des services pour Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/service-linked-roles.html#service-linked-role-permissions) du *Guide du développeur AWS Lake Formation *.

Un utilisateur Lake Formation peut utiliser Athena pour interroger des bases de données, des tables, des colonnes de table et des magasins de données Amazon S3 ou des catalogues sous-jacents en fonction des autorisations Lake Formation que les administrateurs de lac de données lui ont accordées. Les utilisateurs ne peuvent pas créer de bases de données ou de tables, ni enregistrer de nouveaux emplacements Simple Storage Service (Amazon S3) dans Lake Formation. Pour de plus amples informations, consultez [Création d'un utilisateur de lac de données](https://docs.aws.amazon.com/lake-formation/latest/dg/cloudtrail-tut-create-lf-user.html) dans le *Guide du développeur AWS Lake Formation *.

Dans Athena, les politiques d'autorisation basées sur l'identité, y compris celles des groupes de travail Athena, contrôlent toujours l'accès aux actions Athena pour les utilisateurs de comptes Amazon Web Services. En outre, l'accès fédéré peut être fourni par l'authentification basée sur SAML disponible avec les pilotes Athena. Pour plus d’informations, consultez [Utilisation de groupes de travail pour contrôler l’accès aux requêtes et les coûts](workgroups-manage-queries-control-costs.md), [Utilisation de politiques IAM pour contrôler l’accès aux groupes de travail.](workgroups-iam-policy.md) et [Activation de l’accès fédéré à l’API Athena](access-federation-saml.md).

Pour plus d'informations, consultez la rubrique [Octroi d'autorisations Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/lake-formation-permissions.html) du *Guide du développeur AWS Lake Formation *.

## Autorisations Simple Storage Service (Amazon S3) pour les emplacements des résultats de requêtes Athena
<a name="lf-athena-user-permissions-query-results-locations"></a>

Les emplacements des résultats des requêtes dans Simple Storage Service (Amazon S3) pour Athena ne peuvent pas être enregistrés dans Lake Formation. Les autorisations Lake Formation ne limitent pas l’accès à ces emplacements. Si vous n’appliquez pas de limite d’accès, les utilisateurs Athena peuvent accéder aux fichiers de résultats des requêtes et aux métadonnées sans disposer d’autorisations Lake Formation sur les données. Pour éviter cela, nous vous recommandons d'utiliser des groupes de travail pour spécifier l'emplacement des résultats des requêtes et d'aligner l'appartenance à un groupe de travail sur les autorisations de Lake Formation. Vous pouvez ensuite utiliser les politiques d'autorisation IAM pour limiter l'accès aux emplacements des résultats des requêtes. Pour plus d'informations sur les résultats des requêtes, voir [Utilisation des résultats des requêtes et des requêtes récentes](querying.md).

## Appartenances des groupes de travail Athena dans l'historique des requêtes
<a name="lf-athena-user-permissions-workgroup-memberships-query-history"></a>

L'historique des requêtes d'Athena présente une liste des requêtes enregistrées et des chaînes de requête complètes. À moins que vous n'utilisiez des groupes de travail pour séparer l'accès aux historiques de requêtes, les utilisateurs d'Athena qui ne sont pas autorisés à interroger les données dans Lake Formation peuvent visualiser les chaînes de requêtes exécutées sur ces données, y compris les noms de colonnes, les critères de sélection, etc. Nous vous recommandons d'utiliser des groupes de travail pour séparer les historiques de requêtes, et d'aligner l'appartenance à un groupe de travail Athena sur les autorisations de Lake Formation pour en limiter l'accès. Pour de plus amples informations, veuillez consulter [Utilisation de groupes de travail pour contrôler l’accès aux requêtes et les coûts](workgroups-manage-queries-control-costs.md).

## Autorisations Lake Formation aux données
<a name="lf-athena-user-permissions-data"></a>

Outre l'autorisation de base d'utiliser Lake Formation, les utilisateurs d'Athena doivent disposer d'autorisations Lake Formation pour accéder aux ressources qu'ils interrogent. Ces autorisations sont accordées et gérées par un administrateur Lake Formation. Pour de plus amples informations, consultez [Sécurité et contrôle d'accès aux métadonnées et données](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html#security-data-access-permissions) dans le *Guide du développeur AWS Lake Formation *.

## Autorisations IAM permettant d'écrire dans des emplacements Simple Storage Service (Amazon S3)
<a name="lf-athena-user-permissions-s3-write"></a>

Les autorisations Lake Formation sur Simple Storage Service (Amazon S3) ne comprennent pas la possibilité d'écrire sur Simple Storage Service (Amazon S3). Les instructions CTAS (Create Table As Statements) nécessitent un accès en écriture à l'emplacement Simple Storage Service (Amazon S3) des tables. Pour exécuter des requêtes CTAS sur des données enregistrées dans Lake Formation, les utilisateurs d'Athena doivent disposer d'autorisations IAM leur permettant d'écrire dans la table des emplacements Simple Storage Service (Amazon S3), en plus des autorisations Lake Formation appropriées leur permettant de lire les emplacements des données. Pour de plus amples informations, veuillez consulter [Création d’une table à partir des résultats des requêtes (CTAS)](ctas.md).

## Autorisations pour les données chiffrées, les métadonnées et les résultats de requête Athena
<a name="lf-athena-user-permissions-encrypted"></a>

Les données sources sous-jacentes d’Amazon S3 et les métadonnées du catalogue qui sont enregistrées dans Lake Formation peuvent être chiffrées. Il n'y a aucun changement dans la manière dont Athena traite le chiffrement des résultats des requêtes lors de l'utilisation d'Athena pour interroger des données enregistrées dans Lake Formation. Pour de plus amples informations, veuillez consulter [Chiffrement des résultats de requêtes Athena stockés dans Amazon S3](encrypting-query-results-stored-in-s3.md).
+ **Chiffrement des données source** : le chiffrement des données sources des emplacements de données Simple Storage Service (Amazon S3) est pris en charge. Les utilisateurs d'Athena qui interrogent des emplacements Simple Storage Service (Amazon S3) chiffrés enregistrés dans Lake Formation ont besoin d'autorisations pour chiffrer et déchiffrer les données. Pour plus d'informations sur les exigences, voir [Options de chiffrement Simple Storage Service (Amazon S3) prises en charge](encryption.md#encryption-options-S3-and-Athena) et [Autorisations pour les données chiffrées dans Simple Storage Service (Amazon S3)](encryption.md#permissions-for-encrypting-and-decrypting-data). 
+ **Chiffrement des métadonnées** : le chiffrement des métadonnées dans le AWS Glue Data Catalog est pris en charge. Pour les principals qui utilisent Athena, les politiques basées sur l'identité doivent autoriser les actions `"kms:GenerateDataKey"`, `"kms:Decrypt"` et `"kms:Encrypt"` pour la clé utilisée pour chiffrer les métadonnées. Pour plus d'informations, consultez le [Chiffrement du catalogue de données ](https://docs.aws.amazon.com/glue/latest/dg/encrypt-glue-data-catalog.html) dans le *Guide du développeur AWS Glue * et [Configurez l'accès depuis Athena aux métadonnées chiffrées dans AWS Glue Data Catalog](access-encrypted-data-glue-data-catalog.md).

## Autorisations basées sur les ressources pour les compartiments Simple Storage Service (Amazon S3) dans des comptes externes (facultatif)
<a name="lf-athena-user-permissions-s3-cross-account"></a>

Pour interroger un emplacement de données Simple Storage Service (Amazon S3) dans un compte différent, une politique IAM basée sur les ressources (politique de compartiment) doit autoriser l'accès à l'emplacement. Pour de plus amples informations, veuillez consulter [Configuration de l’accès intercompte aux compartiments Amazon S3 dans Athena](cross-account-permissions.md).

Pour plus d’informations sur l’accès aux catalogues d’un autre compte, consultez [Option A : Configuration de l’accès intercompte au catalogue de données dans Athena](lf-athena-limitations-cross-account.md#lf-athena-limitations-cross-account-glue).

# Utilisation de Lake Formation et des pilotes JDBC ou ODBC pour accéder à Athena
<a name="security-athena-lake-formation-jdbc"></a>

Les pilotes JDBC et ODBC d'Athena prennent en charge la fédération basée sur SAML 2.0 avec Athena à l'aide de fournisseurs d'identité Okta et Microsoft Active Directory Federation Services (AD FS). En intégrant Amazon Athena à AWS Lake Formation, vous activez l'authentification basée sur SAML auprès d'Athena à l'aide des informations d'identification de l'entreprise. Avec Lake Formation et Gestion des identités et des accès AWS (IAM), vous pouvez maintenir un contrôle d'accès précis au niveau des colonnes sur les données mises à la disposition de l'utilisateur SAML. Avec les pilotes JDBC et ODBC d'Athena, l'accès fédéré est disponible pour les outils ou les accès programmatiques.

Pour utiliser Athena afin d'accéder à une source de données contrôlée par Lake Formation, vous devez activer la fédération basée sur SAML 2.0 en configurant vos rôles de fournisseur d'identité (IdP) et (IAM). Gestion des identités et des accès AWS Pour obtenir des instructions complètes, consultez [Tutoriel : Configuration de l’accès fédéré des utilisateurs Okta à Athena à l’aide de Lake Formation et de JDBC](security-athena-lake-formation-jdbc-okta-tutorial.md).

## Conditions préalables
<a name="security-athena-lake-formation-jdbc-prerequisites"></a>

Pour utiliser Amazon Athena et Lake Formation pour l'accès fédéré, vous devez remplir les conditions suivantes :
+ Gérer les identités de votre entreprise à l'aide d'un fournisseur d'identité existant basé sur SAML, tel que Okta ou Microsoft Active Directory Federation Services (AD FS).
+ Vous l'utilisez AWS Glue Data Catalog comme magasin de métadonnées.
+ Définir et gérer les autorisations dans Lake Formation pour accéder aux bases de données, tables et colonnes du AWS Glue Data Catalog. Pour plus d’informations, consultez le [Guide du développeur AWS Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/).
+ Utiliser la version 2.0.14 ou une version ultérieure du [pilote JDBC d'Athena](https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html) ou la version 1.1.3 ou une version ultérieure du [pilote ODBC d'Athena](connect-with-odbc.md).

## Considérations et restrictions
<a name="security-athena-lake-formation-jdbc-considerations-and-limitations"></a>

Lorsque vous utilisez le pilote JDBC ou ODBC d'Athena et Lake Formation pour configurer l'accès fédéré à Athena, gardez à l'esprit les points suivants :
+ Actuellement, les pilotes JDBC et ODBC Athena prennent en charge les fournisseurs d'identité Okta, Microsoft Active Directory Federation Services (AD FS) et Azure AD. Bien que le pilote JDBC Athena possède une classe SAML générique qui peut être étendue pour utiliser d'autres fournisseurs d'identité, la prise en charge des extensions personnalisées permettant à d'autres fournisseurs d'identité () IdPs d'être utilisés avec Athena peut être limitée.
+ L’accès fédéré à l’aide des pilotes JDBC et ODBC n’est pas compatible avec la fonctionnalité de propagation d’identité approuvée d’IAM Identity Center.
+ Actuellement, vous ne pouvez pas utiliser la console Athena pour configurer la prise en charge de l'utilisation d'IdP et de SAML avec Athena. Pour configurer cette prise en charge, vous utilisez le fournisseur d'identité tiers, les consoles de gestion Lake Formation et IAM et le client de pilote JDBC ou ODBC.
+ Vous devez comprendre la [spécification SAML 2.0](https://www.oasis-open.org/standards#samlv2.0) et son fonctionnement avec votre fournisseur d'identité avant de configurer votre fournisseur d'identité et SAML pour une utilisation avec Lake Formation et Athena.
+ Les fournisseurs SAML et les pilotes Athena JDBC et ODBC étant fournis par des tiers, l'assistance AWS en cas de problèmes liés à leur utilisation peut être limitée.

**Topics**
+ [Conditions préalables](#security-athena-lake-formation-jdbc-prerequisites)
+ [Considérations et restrictions](#security-athena-lake-formation-jdbc-considerations-and-limitations)
+ [Tutoriel : Configuration de l’accès fédéré des utilisateurs Okta à Athena à l’aide de Lake Formation et de JDBC](security-athena-lake-formation-jdbc-okta-tutorial.md)

# Tutoriel : Configuration de l’accès fédéré des utilisateurs Okta à Athena à l’aide de Lake Formation et de JDBC
<a name="security-athena-lake-formation-jdbc-okta-tutorial"></a>

Ce didacticiel explique comment configurer Okta AWS Lake Formation, les Gestion des identités et des accès AWS autorisations et le pilote Athena JDBC pour permettre une utilisation fédérée d'Athena basée sur le protocole SAML. Lake Formation fournit à l'utilisateur basé sur SAML un contrôle d'accès précis aux données disponibles dans Athena. Pour configurer cette configuration, le didacticiel utilise la console de développement Okta, les consoles AWS IAM et Lake Formation, ainsi que l'outil SQL Workbench/J .
<a name="security-athena-lake-formation-jdbc-okta-tutorial-prerequisites"></a>
**Conditions préalables**  
Ce tutoriel suppose que vous avez effectué les opérations suivantes :
+ Création d'un compte Amazon Web Services. Pour créer un compte, visitez la [page d'accueil d'Amazon Web Services](https://aws.amazon.com/).
+ [Configuration d'un emplacement de résultats de requête](query-results-specify-location.md) pour Athena dans Simple Storage Service (Amazon S3).
+ [Enregistrement d'un emplacement de compartiment de données Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/lake-formation/latest/dg/register-data-lake.html) dans Lake Formation.
+ Définition dans le [catalogue de données AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) d’une [base de données](https://docs.aws.amazon.com/glue/latest/dg/define-database.html) et de [tables](https://docs.aws.amazon.com/glue/latest/dg/tables-described.html) qui pointent vers vos données dans Amazon S3.
  + Si vous n'avez pas encore défini de table, [lancez un AWS Glue robot d'exploration](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) ou [utilisez Athena pour définir une base de données et une ou plusieurs](work-with-data.md) tables pour les données auxquelles vous souhaitez accéder.
  + Ce tutoriel utilise une table basée sur le [jeu de données des courses de taxi de NYC](https://registry.opendata.aws/nyc-tlc-trip-records-pds/) disponible dans le [Registre des données ouvertes sur AWS](https://registry.opendata.aws/). Le tutoriel utilise le nom de la base de données `tripdb` et le nom de la table `nyctaxi`.

**Topics**
+ [Étape 1 : créer un compte Okta](#security-athena-lake-formation-jdbc-okta-tutorial-step-1-create-an-okta-account)
+ [Étape 2 : Ajouter des utilisateurs et des groupes à Okta](#security-athena-lake-formation-jdbc-okta-tutorial-step-2-set-up-an-okta-application-for-saml-authentication)
+ [Étape 3 : configurer une application Okta pour l'authentification SAML](#security-athena-lake-formation-jdbc-okta-tutorial-step-3-set-up-an-okta-application-for-saml-authentication)
+ [Étape 4 : Création d'un fournisseur d'identité AWS SAML et d'un rôle IAM d'accès à Lake Formation](#security-athena-lake-formation-jdbc-okta-tutorial-step-4-create-an-aws-saml-identity-provider-and-lake-formation-access-IAM-role)
+ [Étape 5 : ajouter le rôle IAM et le fournisseur d'identité SAML à l'application Okta](#security-athena-lake-formation-jdbc-okta-tutorial-step-5-update-the-okta-application-with-the-aws-role-and-saml-identity-provider)
+ [Étape 6 : Accorder des autorisations aux utilisateurs et aux groupes via AWS Lake Formation](#security-athena-lake-formation-jdbc-okta-tutorial-step-6-grant-permissions-through-aws-lake-formation)
+ [Étape 7 : Vérifier l'accès via le client JDBC d'Athena](#security-athena-lake-formation-jdbc-okta-tutorial-step-7-verify-access-through-athena-jdbc-client)
+ [Conclusion](#security-athena-lake-formation-jdbc-okta-tutorial-conclusion)
+ [Ressources connexes](#security-athena-lake-formation-jdbc-okta-tutorial-related-resources)

## Étape 1 : créer un compte Okta
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-1-create-an-okta-account"></a>

Ce tutoriel utilise Okta comme fournisseur d'identité basé sur SAML. Si vous n'avez pas encore de compte Okta, vous pouvez en créer un gratuitement. Un compte Okta est nécessaire pour pouvoir créer une application Okta pour l'authentification SAML.

**Création d'un compte**

1. Pour utiliser Okta, rendez-vous sur la [page d'inscription des développeurs Okta](https://developer.okta.com/signup/) et créez un compte d'essai Okta gratuit. Le service Developer Edition est gratuit dans les limites spécifiées par Okta à [developer.okta.com/pricing](https://developer.okta.com/pricing).

1. Lorsque vous recevez l'e-mail d'activation, activez votre compte. 

   Un nom de domaine Okta vous sera attribué. Notez le nom de domaine pour référence. Plus tard, vous utiliserez le nom de domaine (*<okta-idp-domain>*) dans la chaîne JDBC qui se connecte à Athena.

## Étape 2 : Ajouter des utilisateurs et des groupes à Okta
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-2-set-up-an-okta-application-for-saml-authentication"></a>

Dans cette étape, vous utilisez la console Okta pour effectuer les tâches suivantes :
+ Créer deux utilisateurs Okta.
+ Créer deux groupes Okta.
+ Ajouter un utilisateur Okta à chaque groupe Okta.

**Ajout d'utilisateurs à Okta**

1. Après avoir activé votre compte Okta, connectez-vous en tant qu'utilisateur administratif au domaine Okta attribué.

1. Dans le panneau de navigation de gauche, choisissez **Directory** (Répertoire), puis choisissez **People** (Personnes).

1. Choisissez **Add Person** (Ajouter une personne) pour ajouter un nouvel utilisateur qui accédera à Athena via le pilote JDBC.  
![\[Choisissez Add Person (Ajouter une personne).\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-3.png)

1. Dans la boîte de dialogue **Add Person** (Ajouter une personne), sasissez les informations requises.
   + Saisissez les valeurs pour **First name** (Prénom) et **Last name** (Nom de famille). Ce tutoriel utilise *athena-okta-user*.
   + Saisissez un **Username** (Nom d'utilisateur) et un **Primary email** (E-mail principal). Ce tutoriel utilise *athena-okta-user@anycompany.com*.
   + Pour **Password** (Mot de passe), choisissez **Set by admin** (Défini par l'administrateur), puis fournissez un mot de passe. Ce tutoriel désactive l'option **User must change password on first login** (L'utilisateur doit changer son mot de passe à la première connexion) ; vos exigences en matière de sécurité peuvent varier.  
![\[Ajout d'un utilisateur à l'application Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4.png)

1. Choisissez **Save and Add Another** (Enregistrer et ajouter un autre type).

1. Saisissez les informations pour un autre utilisateur. Cet exemple ajoute l'utilisateur Business Analyst*athena-ba-user@anycompany.com*.  
![\[Ajout d'un utilisateur à l'application Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4a.png)

1. Choisissez **Enregistrer**.

Dans la procédure suivante, vous fournissez l'accès à deux groupes Okta par le biais du pilote JDBC d'Athena en ajoutant un groupe « Analystes commerciaux » et un groupe « Développeurs ».

**Ajout de groupes Okta**

1. Dans le panneau de navigation de gauche, choisissez **Directory** (Répertoire), puis choisissez **Groups** (Groupes).

1. Sur la page **Groups** (Groupes), choisissez **Add Group** (Ajouter un groupe).  
![\[Choisissez Add Group (Ajouter un groupe).\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4c.png)

1. Dans la boîte de dialogue **Add Group** (Ajouter un groupe), saisissez les informations requises.
   + Pour **Nom**, saisissez *lf-business-analyst*.
   + Dans le **champ Description du groupe**, entrez*Business Analysts*.  
![\[Ajout d'un groupe Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4d.png)

1. Choisissez **Add Group** (Ajouter un groupe).

1. Sur la page **Groups** (Groupes), choisissez à nouveau **Add Group** (Ajouter un groupe). Cette fois, vous allez saisir les informations pour le groupe des développeurs.

1. Saisissez les informations requises.
   + Pour **Nom**, saisissez *lf-developer*.
   + Dans le **champ Description du groupe**, entrez*Developers*.

1. Choisissez **Add Group** (Ajouter un groupe).

Maintenant que vous avez deux utilisateurs et deux groupes, vous pouvez ajouter un utilisateur à chaque groupe.

**Ajout d'utilisateurs à un groupe**

1. Sur la page **Groups** (Groupes), choisissez le groupe **lf-developer** que vous venez de créer. Vous allez ajouter à ce groupe l'un des utilisateurs Okta que vous avez créé en tant que développeur.  
![\[Choisissez lf-developer.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4f.png)

1. Choisissez **Manage People** (Gérer personnes).  
![\[Choisissez Manage People (Gérer personnes).\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4g.png)

1. Dans la liste des **non-membres**, sélectionnez **athena-okta-user**.   
![\[Choisissez un utilisateur à ajouter à la liste des membres.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4h.png)

   L'entrée de l'utilisateur passe de la liste **Not Members** (Non membres), à gauche, à la liste **Members** (Membres), à droite.   
![\[Utilisateur Okta ajouté à un groupe Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4i.png)

1. Choisissez **Enregistrer**.

1. Choisissez **Back to Group** (Retour au groupe), ou choisissez **Directory** (Répertoire), puis choisissez **Groups** (Groupes).

1. Choisissez le **lf-business-analyst**groupe.

1. Choisissez **Manage People** (Gérer personnes).

1. Ajoutez le **athena-ba-user**à la liste des **membres** du **lf-business-analyst**groupe, puis choisissez **Enregistrer**. 

1. Choisissez **Back to Group** (Retour au groupe), ou choisissez **Directory** (Répertoire), **Groups** (Groupes).

   La page **Groups** (Groupes) montre maintenant que chaque groupe a un utilisateur Okta.  
![\[Un utilisateur a été ajouté à chaque groupe Okta de la console Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4j.png)

## Étape 3 : configurer une application Okta pour l'authentification SAML
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-3-set-up-an-okta-application-for-saml-authentication"></a>

Dans cette étape, vous utilisez la console du développeur Okta pour effectuer les tâches suivantes :
+ Ajoutez une application SAML à utiliser avec AWS.
+ Affecter l'application à l'utilisateur Okta.
+ Affecter l'application à un groupe Okta.
+ Téléchargez les métadonnées du fournisseur d'identité résultant pour une utilisation ultérieure avec AWS.

**Ajout d'une application pour l'authentification SAML**

1. Dans le panneau de navigation Okta, choisissez **Applications**, **Applications** afin que vous puissiez configurer une application Okta pour l'authentification SAML à Athena.

1. Cliquez sur **Browse App Catalog** (Parcourir le catalogue d'applications).

1. Dans la zone de recherche, saisissez **Redshift**.

1. Choisissez **Amazon Web Services Redshift**. L'application Okta de ce tutoriel utilise l'intégration SAML existante pour Amazon Redshift.  
![\[Choisissez Amazon Web Services Redshift.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-7.png)

1. Sur la page **Amazon Web Services Redshift**, choisissez **Add** (Ajouter) pour créer une application basée sur SAML pour Amazon Redshift.  
![\[Choisissez Add (Ajouter) pour créer une application basée sur SAML.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-8.png)

1. Pour **Application label** (Étiquette d'application), saisissez `Athena-LakeFormation-Okta`, puis **Done** (Terminé).  
![\[Saisissez un nom pour l'application Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-9.png)

Maintenant que vous avez créé une application Okta, vous pouvez l'affecter aux utilisateurs et aux groupes que vous avez créés.

**Affectation d'une application à des utilisateurs et des groupes**

1. Sur la page **Applications**, choisissez l'application **Athena- LakeFormation -Okta**.

1. Dans l'onglet **Assignments** (Affectations), choisissez **Assign** (Affecter), **Assign to People** (Affecter à des personnes).  
![\[Choisissez Assign (Affecter), Assign to People (Affecter à des personnes).\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-10.png)

1. Dans la boîte de dialogue **Affecter Athena-LakeFormation-Okta à des personnes**, recherchez l'**athena-okta-user**utilisateur que vous avez créé précédemment.

1. Choisissez **Assign** (Affecter) pour affecter l'utilisateur à l'application.  
![\[Choisissez Attribuer.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-11.png)

1. Choisissez **Save and Go Back** (Sauvegarder et revenir).

1. Sélectionnez **Exécuté**.

1. **Dans l'onglet **Attributions** de l'application **Athena- LakeFormation -Okta**, choisissez **Attribuer, Attribuer aux groupes**.** 

1. **Pour **lf-business-analyst**, choisissez **Affecter** pour attribuer l'application **Athena- LakeFormation -Okta au **lf-business-analyst****groupe, puis cliquez sur Terminé.**  
![\[Affectation d'une application Okta à un groupe d'utilisateurs Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-12b.png)

   Le groupe s'affiche dans la liste des groupes pour l'application.  
![\[L'application Okta est affectée au groupe Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-12c.png)

Vous pouvez maintenant télécharger les métadonnées de l'application du fournisseur d'identité à utiliser avec AWS.

**Téléchargement des métadonnées de l'application**

1. Choisissez l'onglet **Sign On** (Authentification) de l'application Okta, puis cliquez à droite sur **Identity Provider metadata** (Métadonnées du fournisseur d'identité).  
![\[Faites un clic droit sur Identity Provider metadata (Métadonnées du fournisseur d'identité).\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-13.png)

1. Choisissez **Save Link As** (Enregistrer le lien sous) pour enregistrer les métadonnées du fournisseur d'identité, qui sont au format XML, dans un fichier. Donnez-lui un nom que vous reconnaissez (par exemple, `Athena-LakeFormation-idp-metadata.xml`).  
![\[Enregistrement des métadonnées du fournisseur d'identité.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-14.png)

## Étape 4 : Création d'un fournisseur d'identité AWS SAML et d'un rôle IAM d'accès à Lake Formation
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-4-create-an-aws-saml-identity-provider-and-lake-formation-access-IAM-role"></a>

Au cours de cette étape, vous utilisez la console AWS Identity and Access Management (IAM) pour effectuer les tâches suivantes :
+ Créer un fournisseur d'identité pour AWS.
+ Créer un rôle IAM pour l'accès à Lake Formation.
+ Ajoutez la politique AmazonAthenaFullAccess gérée au rôle.
+ Ajoutez une politique pour Lake Formation et AWS Glue au rôle.
+ Ajouter une politique pour les résultats des requêtes Athena au rôle.

**Pour créer un fournisseur d'identité AWS SAML**

1. Connectez-vous à la **console** du **compte Amazon Web Services** en tant qu'**administrateur du compte Amazon Web Services** et accédez à la console **IAM** ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)).

1. Dans le panneau de navigation, choisissez **Identity providers** (Fournisseurs d'identité), puis **Add provider** (Ajouter un fournisseur).

1. Sur l'écran **Configure provider** (Configurer le fournisseur), saisissez les informations suivantes :
   + Pour **Provider type** (Type de fournisseur), choisissez **SAML**.
   + Pour **Provider name** (Nom du fournisseur), saisissez `AthenaLakeFormationOkta`.
   + Pour **Metadata document** (Document de métadonnées), utilisez l'option **Choose file** (Choisir un fichier) pour téléverser le fichier XML de métadonnées du fournisseur d'identité (IdP) que vous avez téléchargé.

1. Choisissez **Add provider** (Ajouter un fournisseur).

Ensuite, vous créez un rôle IAM pour AWS Lake Formation y accéder. Vous ajoutez deux politiques en ligne au rôle. Une politique fournit les autorisations d'accès à Lake Formation et au AWS Glue APIs. L'autre politique donne accès à Athena et à l'emplacement des résultats des requêtes Athena dans Simple Storage Service (Amazon S3).

**Pour créer un rôle IAM à des fins d'accès AWS Lake Formation**

1. Dans le panneau de navigation de la console IAM, choisissez **Roles** (Rôles), puis **Create role** (Créer un rôle).

1. Sur la page **Create role** (Créer un rôle), suivez les étapes ci-dessous :  
![\[Configuration d'un rôle IAM pour utiliser SAML 2.0.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-20.png)

   1. Pour **Select type of trusted entity** (Sélectionner le type d'entité de confiance), choisissez **SAML 2.0 Federation**.

   1. Pour le **fournisseur SAML**, sélectionnez **AthenaLakeFormationOkta**.

   1. Pour le **fournisseur SAML**, sélectionnez l'option **Autoriser la programmation et AWS Management Console ** l'accès.

   1. Choisissez **Suivant : Autorisations**.

1. Sur la page **Attach Permissions policies** (Attacher les politiques d'autorisations), pour **Filter policies** (Politiques de filtrage), saisissez **Athena**.

1. Sélectionnez la politique **AmazonAthenaFullAccess**gérée, puis choisissez **Next : Tags**.  
![\[Associer la politique AmazonAthenaFullAccessgérée au rôle IAM.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-21.png)

1. Sur la page **Add tags** (Ajouter des identifications), choisissez **Next: Review** (Suivant : Révision).

1. Sur la page **Révision**, pour **Nom du rôle**, entrez un nom pour le rôle (par exemple,*Athena-LakeFormation-OktaRole*), puis choisissez **Créer un rôle**.  
![\[Saisissez un nom pour le rôle IAM.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-22.png)

Ensuite, vous ajoutez des politiques intégrées qui autorisent l'accès aux résultats des requêtes Lake Formation et Athena dans Amazon S3. AWS Glue APIs 

Chaque fois que vous utilisez des politiques IAM, veillez à respecter les bonnes pratiques IAM. Pour plus d'informations, consultez la rubrique [Bonnes pratiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) du *Guide de l'utilisateur IAM*.

**Pour ajouter une politique intégrée au rôle de Lake Formation et AWS Glue**

1. Dans la liste des rôles de la console IAM, choisissez le rôle `Athena-LakeFormation-OktaRole` nouvellement créé.

1. Sur la page **Summary** (Résumé) du rôle, dans l'onglet **Permissions** (Autorisations), choisissez **Add inline policy** (Ajouter une politique en ligne).

1. Sur la page **Créer une politique**, choisissez **JSON**.

1. Ajoutez une politique en ligne comme la suivante qui donne accès à Lake Formation et au AWS Glue APIs.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Action": [
               "lakeformation:GetDataAccess",
               "glue:GetTable",
               "glue:GetTables",
               "glue:GetDatabase",
               "glue:GetDatabases",
               "glue:CreateDatabase",
               "glue:GetUserDefinedFunction",
               "glue:GetUserDefinedFunctions"
           ],
           "Resource": "*"
       }
   }
   ```

------

1. Choisissez **Review policy** (Examiner une politique).

1. Dans le champ **Name** (Nom), saisissez un nom pour la politique (par exemple, **LakeFormationGlueInlinePolicy**).

1. Choisissez **Create Policy** (Créer une politique).

**Ajout d'une politique en ligne au rôle pour l'emplacement des résultats des requêtes Athena**

1. Sur la page **Summary** (Résumé) du rôle `Athena-LakeFormation-OktaRole`, dans l'onglet **Permissions** (Autorisations), choisissez **Add inline policy** (Ajouter une politique en ligne).

1. Sur la page **Créer une politique**, choisissez **JSON**.

1. Ajoutez une politique en ligne comme la suivante qui autorise le rôle à accéder à l'emplacement des résultats des requêtes Athena. *<athena-query-results-bucket>*Remplacez les espaces réservés dans l'exemple par le nom de votre compartiment Amazon S3.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AthenaQueryResultsPermissionsForS3",
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:PutObject",
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::<athena-query-results-bucket>",
                   "arn:aws:s3:::<athena-query-results-bucket>/*"
               ]
           }
       ]
   }
   ```

------

1. Choisissez **Review policy** (Examiner une politique).

1. Dans le champ **Name** (Nom), saisissez un nom pour la politique (par exemple, **AthenaQueryResultsInlinePolicy**).

1. Choisissez **Create Policy** (Créer une politique).

Ensuite, vous copiez l'ARN du rôle d'accès de Lake Formation et l'ARN du fournisseur SAML que vous avez créé. Ils sont nécessaires lorsque vous configurez l'application Okta SAML dans la section suivante du tutoriel.

**Copier le rôle ARN et ARN du fournisseur d'identité SAML**

1. Dans la console IAM, sur la page **Summary** (Résumé) pour le rôle `Athena-LakeFormation-OktaRole`, cliquez sur l'icône **Copy to clipboard** (Copier dans le presse-papiers) à côté de **Role ARN** (ARN de rôle). L'ARN a le format suivant :

   ```
   arn:aws:iam::<account-id>:role/Athena-LakeFormation-OktaRole
   ```

1. Enregistrez l'ARN complet en toute sécurité pour référence ultérieure.

1. Dans le panneau de navigation de la console IAM, choisissez **Identity providers** (Fournisseurs d'identité).

1. Choisissez le **AthenaLakeFormationOkta**fournisseur.

1. Sur la page **Summary** (Résumé), cliquez sur l'icône **Copy to clipboard** (Copier dans le presse-papiers) à côté de **Provider ARN** (ARN du fournisseur). L'ARN doit ressembler à l'exemple suivant :

   ```
   arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta
   ```

1. Enregistrez l'ARN complet en toute sécurité pour référence ultérieure.

## Étape 5 : ajouter le rôle IAM et le fournisseur d'identité SAML à l'application Okta
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-5-update-the-okta-application-with-the-aws-role-and-saml-identity-provider"></a>

Dans cette étape, vous revenez à la console du développeur Okta et effectuez les tâches suivantes :
+ Ajouter les attributs URL Lake Formation de l'utilisateur et du groupe à l'application Okta.
+ Ajouter l'ARN pour le fournisseur d'identité et l'ARN pour le rôle IAM à l'application Okta.
+ Copier l'ID de l'application Okta. L'ID de l'application Okta est requis dans le profil JDBC qui se connecte à Athena.

**Ajout d'attributs d'URL Lake Formation de l'utilisateur et du groupe à l'application Okta**

1. Connectez-vous à la console de développement Okta.

1. Choisissez l'onglet **Applications**, puis choisissez l'application `Athena-LakeFormation-Okta`.

1. Choisissez l'onglet **Sign On** (Authentification) de l'application, puis choisissez **Edit** (Modifier).  
![\[Modifiez l'application Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-24.png)

1. Choisissez **Attributes (optional)** (Attributs [facultatif]) pour les développer.  
![\[Ajout d'un attribut URL Lake Formation d'utilisateur à l'application Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-25.png)

1. Pour **Attribute Statements (optional)** (Instructions d'attribut [facultatif]), ajoutez l'attribut suivant :
   + Pour **Nom**, saisissez **https://lakeformation.amazon.com/SAML/Attributes/Username**.
   + Pour le champ **Value (Valeur)**, saisissez **user.login**.

1. Sous **Group Attribute Statements (optional)** (Instructions d'attribut de groupe [facultatif]), ajoutez l'attribut suivant :
   + Pour **Nom**, saisissez **https://lakeformation.amazon.com/SAML/Attributes/Groups**.
   + Pour **Name format** (Format du nom), saisissez **Basic**
   + Pour **Filter** (Filtre), choisissez **Matches regex** (Correspond à regex), puis saisissez **.\$1** dans la zone de filtre.  
![\[Ajout d'un attribut URL Lake Formation de groupe à l'application Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-25a.png)

1. Faites défiler la page jusqu'à la section **Paramètres de connexion avancés**, où vous ajouterez le fournisseur d'identité et le rôle IAM ARNs à l'application Okta.

**Pour ajouter le rôle ARNs pour le fournisseur d'identité et le rôle IAM à l'application Okta**

1. Pour l'ARN **Idp et l'ARN du rôle, entrez l'ARN** du fournisseur AWS d'identité et l'ARN du rôle sous forme de valeurs séparées par des virgules au format*<saml-arn>*,. *<role-arn>* La chaîne combinée devrait ressembler à ce qui suit :

   ```
   arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta,arn:aws:iam::<account-id>:role/Athena-LakeFormation-OktaRole
   ```  
![\[Saisie de l'ARN du fournisseur d'identité et de l'ARN du rôle IAM dans l'application Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-26.png)

1. Choisissez **Enregistrer**.

Ensuite, copiez l'ID de l'application Okta. Vous en aurez besoin plus tard pour la chaîne JDBC qui se connecte à Athena.

**Recherche et copie de l'ID de l'application Okta**

1. Choisissez l'onglet **General** (Général) de l'application Okta.  
![\[Choisissez l'onglet General (Général) de l'application Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-27.png)

1. Faites défiler la page jusqu'à la section **App Embed Link** (Intégrer lien d'application).

1. À partir de **Embed Link** (Intégrer lien), copiez et enregistrez de manière sécurisée la partie de l'URL contenant l'ID de l'application Okta. L'ID de l'application Okta est la partie de l'URL après `amazon_aws_redshift/`, mais avant la prochaine barre oblique. Par exemple, si l'URL contient `amazon_aws_redshift/aaa/bbb`, l'ID de l'application est `aaa`.   
![\[Copie de l'ID de l'application Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-28.png)

**Note**  
Le lien intégré ne peut pas être utilisé dans le but de se connecter directement à la console Athena pour afficher les bases de données. Les autorisations Lake Formation pour les utilisateurs et les groupes SAML sont reconnues uniquement lorsque vous utilisez le pilote JDBC ou ODBC pour envoyer des requêtes à Athena. Pour consulter les bases de données, vous pouvez utiliser l' Workbench/J outil SQL, qui utilise le pilote JDBC pour se connecter à Athena. L' Workbench/J outil SQL est décrit dans[Étape 7 : Vérifier l'accès via le client JDBC d'Athena](#security-athena-lake-formation-jdbc-okta-tutorial-step-7-verify-access-through-athena-jdbc-client).

## Étape 6 : Accorder des autorisations aux utilisateurs et aux groupes via AWS Lake Formation
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-6-grant-permissions-through-aws-lake-formation"></a>

Dans cette étape, vous utilisez la console Lake Formation pour accorder des autorisations sur une table à l'utilisateur et au groupe SAML. Vous devez effectuer les tâches suivantes :
+ Spécifier l'ARN de l'utilisateur Okta SAML et les autorisations d'utilisateur associées sur la table.
+ Spécifier l'ARN du groupe Okta SAML et les autorisations de groupe associées sur la table.
+ Vérifiez les autorisations que vous avez accordées.

**Octroi d'autorisations dans Lake Formation à l'utilisateur Okta**

1. Connectez-vous à la AWS Management Console en tant qu'administrateur du lac de données. 

1. Ouvrez la console Lake Formation à l'adresse [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Dans le panneau de navigation, choisissez **Tables**, puis sélectionnez la table pour laquelle vous souhaitez accorder des autorisations. Ce tutoriel utilise la table `nyctaxi` de la base de données `tripdb`.  
![\[Choisissez la table pour laquelle vous voulez accorder des autorisations.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-29.png)

1. Dans **Actions**, choisissez **Grant** (Accorder).  
![\[Choisissez Grant (Accorder).\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-30.png)

1. Dans la boîte de dialogue **Grant permissions** (Accorder des autorisations), saisissez les informations suivantes :

   1. Sous **Utilisateurs et groupes SAML et Amazon Quick**, entrez l'ARN de l'utilisateur Okta SAML au format suivant :

      ```
      arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta:user/<athena-okta-user>@<anycompany.com>       
      ```

   1. Pour **Columns** (Colonnes), pour **Choose filter type** (Choisir un type de filtre), choisissez **Include columns** (Inclure des colonnes) ou **Exclude columns** (Exclure des colonnes).

   1. Utilisez la liste déroulante **Choose one or more columns** (Choisir une ou plusieurs colonnes) sous le filtre pour spécifier les colonnes que vous voulez inclure ou exclure pour ou de l'utilisateur.

   1. Pour **Table permissions** (Autorisations de table), choisissez **Select** (Sélectionner). Ce tutoriel n'accorde que l'autorisation `SELECT` ; vos besoins peuvent varier.  
![\[Octroi d'autorisations de niveau table et colonne à un utilisateur Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-31.png)

1. Choisissez **Grant** (Accorder).

Vous devez maintenant effectuer des étapes similaires pour le groupe Okta.

**Octroi d'autorisations dans Lake Formation au groupe Okta**

1. Sur la page **Tables** de la console Lake Formation, assurez-vous que la table **nyctaxi** est toujours sélectionnée.

1. Dans **Actions**, choisissez **Grant** (Accorder).

1. Dans la boîte de dialogue **Grant permissions** (Accorder des autorisations), saisissez les informations suivantes :

   1. Sous **Utilisateurs et groupes SAML et Amazon Quick**, entrez l'ARN du groupe Okta SAML au format suivant :

      ```
      arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta:group/lf-business-analyst
      ```

   1. Pour **Columns** (Colonnes), **Choose filter type** (Choisir un type de filtre), choisissez **Include columns** (Inclure des colonnes).

   1. Pour **Choose one or more columns** (Choisir une ou plusieurs colonnes), choisissez les trois premières colonnes de la table.

   1. Pour **Table permissions** (Autorisations de table), choisissez les autorisations d'accès spécifiques à accorder. Ce tutoriel n'accorde que l'autorisation `SELECT` ; vos besoins peuvent varier.  
![\[Octroi d'autorisations de table à un groupe Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-31b.png)

1. Choisissez **Grant** (Accorder).

1. Pour vérifier les autorisations que vous avez accordées, choisissez **Actions**, **View permissions** (Afficher les autorisations).  
![\[Choisissez View permissions (Afficher les autorisations) pour vérifier les autorisations que vous avez accordées.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-32.png)

   La page **Autorisations relatives aux données** du `nyctaxi` tableau indique les autorisations pour **athena-okta-user**et le **lf-business-analyst**groupe.  
![\[Affichage des autorisations accordées à l'utilisateur et au groupe Okta.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-33.png)

## Étape 7 : Vérifier l'accès via le client JDBC d'Athena
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-7-verify-access-through-athena-jdbc-client"></a>

Vous pouvez maintenant utiliser un client JDBC pour effectuer une connexion de test à Athena en tant qu'utilisateur Okta SAML. 

Dans cette section, vous effectuez les tâches suivantes :
+ Préparer le client de test : téléchargez le pilote JDBC d'Athena, installez SQL Workbench et ajoutez le pilote à Workbench. Ce tutoriel utilise SQL Workbench pour accéder à Athena via l'authentification Okta et pour vérifier les autorisations Lake Formation.
+ Dans SQL Workbench :
  + Créez une connexion pour l'utilisateur Okta Athena.
  + Exécutez des requêtes de test en tant qu'utilisateur Okta Athena.
  + Créez et testez une connexion pour l'utilisateur analyste commercial.
+ Dans la console Okta, ajoutez l'utilisateur analyste commercial au groupe développeur.
+ Dans la console Lake Formation, configurez les autorisations de table pour le groupe développeur.
+ Dans SQL Workbench, exécutez des requêtes de test en tant qu'utilisateur analyste commercial et vérifiez comment la modification des autorisations affecte les résultats.

**Préparation du client de test**

1. Téléchargez et extrayez le pilote JDBC Athena compatible Lake Formation (version 2.0.14 ou ultérieure) à partir de [Connexion à Amazon Athena avec JDBC](connect-with-jdbc.md).

1. Téléchargez et installez l'outil d'interrogation SQL gratuit [SQL Workbench/J](https://www.sql-workbench.eu/index.html), disponible sous une licence Apache 2.0 modifiée.

1. Dans SQL Workbench/J, choisissez **File** (Fichier), puis **Manage Drivers** (Gérer les pilotes).  
![\[Choisissez Manage Drivers (Gérer les pilotes).\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-1.png)

1. Dans la boîte de dialogue **Manage Drivers** (Gérer les pilotes), effectuez les étapes suivantes :

   1. Choisissez l'icône du nouveau pilote.

   1. Pour **Nom**, saisissez **Athena**.

   1. Pour **Library** (Bibliothèque), recherchez et choisissez le fichier Simba Athena JDBC `.jar` que vous venez de télécharger.

   1. Choisissez **OK**.  
![\[Ajout du pilote JDBC Athena à SQL Workbench.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-2.png)

Vous pouvez maintenant créer et tester une connexion pour l'utilisateur Okta Athena.

**Création d'une connexion pour l'utilisateur Okta Athena**

1. Choisissez **File** (Fichier), **Connect window** (Fenêtre de connexion).  
![\[Choisissez Connect window (Fenêtre de connexion).\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-3.png)

1. Dans la boîte de dialogue **Connection profile** (Profil de connexion), créez une connexion en saisissant les informations suivantes :
   + Dans le champ du nom, saisissez **Athena\$1Okta\$1User\$1Connection**.
   + Pour **Driver** (Pilote), choisissez le pilote JDBC Simba Athena.
   + Pour **URL**, effectuez l'une des actions suivantes :
     + Pour utiliser une URL de connexion, saisissez une chaîne de connexion d'une seule ligne. L'exemple suivant ajoute des sauts de ligne pour plus de lisibilité.

       ```
       jdbc:awsathena://AwsRegion=region-id;
       S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results;
       AwsCredentialsProviderClass=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider;
       user=athena-okta-user@anycompany.com;
       password=password;
       idp_host=okta-idp-domain;
       App_ID=okta-app-id;
       SSL_Insecure=true;
       LakeFormationEnabled=true;
       ```
     + Pour utiliser une URL AWS basée sur un profil, effectuez les opérations suivantes :

       1. Configurez un [AWS profil](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) doté d'un fichier AWS d'informations d'identification, comme dans l'exemple suivant.

          ```
          [athena_lf_dev]
          plugin_name=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider
          idp_host=okta-idp-domain
          app_id=okta-app-id
          uid=athena-okta-user@anycompany.com
          pwd=password
          ```

       1. Pour **URL**, saisissez une chaîne de connexion d'une seule ligne comme dans l'exemple suivant. L'exemple ajoute des sauts de ligne pour plus de lisibilité.

          ```
          jdbc:awsathena://AwsRegion=region-id;
          S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results;
          profile=athena_lf_dev;
          SSL_Insecure=true;
          LakeFormationEnabled=true;
          ```

     Notez que ces exemples sont des représentations de base de l'URL nécessaire pour se connecter à Athena. Pour obtenir la liste complète des paramètres pris en charge dans l'URL, veuillez consulter la [documentation JDBC](connect-with-jdbc.md).

   L'image suivante montre un profil de connexion SQL Workbench qui utilise une URL de connexion.  
![\[Profil de connexion dans SQL Workbench.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-4.png)

Maintenant que vous avez établi une connexion pour l'utilisateur Okta, vous pouvez la tester en récupérant certaines données.

**Test de la connexion de l'utilisateur Okta**

1. Choisissez **Test**, puis vérifiez que la connexion réussit.

1. Dans la fenêtre **Statement** (Instruction) de SQL Workbench, exécutez la commande SQL `DESCRIBE` suivante. Vérifiez que toutes les colonnes sont affichées.

   ```
   DESCRIBE "tripdb"."nyctaxi"
   ```  
![\[Toutes les colonnes sont affichées.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-5.png)

1. Dans la fenêtre **Statement** (Instruction) de SQL Workbench, exécutez la commande SQL `SELECT` suivante. Vérifiez que toutes les colonnes sont affichées.

   ```
   SELECT * FROM tripdb.nyctaxi LIMIT 5
   ```  
![\[Vérifiez que toutes les colonnes sont affichées.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-6.png)

Ensuite, vous devez vérifier qu'en tant que membre du **lf-business-analyst**groupe, il n'a accès qu'aux trois premières colonnes du tableau que vous avez spécifié précédemment dans Lake Formation. **athena-ba-user**

**Pour vérifier l'accès au **athena-ba-user****

1. Dans SQL Workbench, dans la boîte de dialogue **Connection profile** (Profil de connexion), créez un autre profil de connexion.
   + Pour le nom du profil de connexion, saisissez ** Athena\$1Okta\$1Group\$1Connection**.
   + Pour **Driver** (Pilote), choisissez le pilote JDBC Simba Athena.
   + Pour **URL**, effectuez l'une des actions suivantes :
     + Pour utiliser une URL de connexion, saisissez une chaîne de connexion d'une seule ligne. L'exemple suivant ajoute des sauts de ligne pour plus de lisibilité.

       ```
       jdbc:awsathena://AwsRegion=region-id;
       S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results;
       AwsCredentialsProviderClass=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider;
       user=athena-ba-user@anycompany.com;
       password=password;
       idp_host=okta-idp-domain;
       App_ID=okta-application-id;
       SSL_Insecure=true;
       LakeFormationEnabled=true;
       ```
     + Pour utiliser une URL AWS basée sur un profil, effectuez les opérations suivantes :

       1. Configurez un AWS profil doté d'un fichier d'informations d'identification, comme dans l'exemple suivant.

          ```
          [athena_lf_ba]
          plugin_name=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider
          idp_host=okta-idp-domain
          app_id=okta-application-id
          uid=athena-ba-user@anycompany.com
          pwd=password
          ```

       1. Pour **URL**, saisissez une chaîne de connexion d'une seule ligne comme la suivante. L'exemple ajoute des sauts de ligne pour plus de lisibilité.

          ```
          jdbc:awsathena://AwsRegion=region-id;
          S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results;
          profile=athena_lf_ba;
          SSL_Insecure=true;
          LakeFormationEnabled=true;
          ```

1. Choisissez **Test** pour confirmer que la connexion est réussie.

1. Dans la fenêtre **SQL Statement** (Instruction SQL), exécutez les mêmes commandes SQL `DESCRIBE` et `SELECT` que précédemment et vérifiez les résultats.

   Comme **athena-ba-user**il est membre du **lf-business-analyst**groupe, seules les trois premières colonnes que vous avez spécifiées dans la console Lake Formation sont renvoyées.  
![\[Seules les trois premières colonnes sont renvoyées.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-7.png)  
![\[Données des trois premières colonnes.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-8.png)

Revenez ensuite à la console Okta pour ajouter l'utilisateur `athena-ba-user` au groupe Okta `lf-developer`.

**Pour ajouter le athena-ba-user au groupe lf-developer**

1. Connectez-vous à la console Okta en tant qu'utilisateur administratif du domaine Okta attribué.

1. Choisissez **Directory** (Répertoire), puis choisissez **Groups** (Groupes).

1. Sur la page Groups (Groupes), choisissez le groupe **lf-developer**.  
![\[Choisissez le groupe lf-developer.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-9.png)

1. Choisissez **Manage People** (Gérer personnes).

1. Dans la liste des **non-membres**, choisissez le **athena-ba-user**pour l'ajouter au groupe **lf-developer**.

1. Choisissez **Enregistrer**.

Revenez maintenant à la console Lake Formation pour configurer les autorisations de table pour le groupe **lf-developer**.

**Pour configurer les autorisations de table pour lf-developer-group**

1. Connectez-vous à la console Lake Formation en tant qu'administrateur de lac de données.

1. Dans le volet de navigation, choisissez **Tables**.

1. Sélectionnez la table **nyctaxi**.

1. Choisissez **Actions**, **Grant** (Accorder).

1. Dans la boîte de dialogue **Grant permissions** (Accorder des autorisations), saisissez les informations suivantes :
   + Pour les **utilisateurs et les groupes SAML et Amazon Quick**, entrez l'ARN du groupe Okta SAML lf-developer au format suivant :
   + Pour **Columns** (Colonnes), **Choose filter type** (Choisir un type de filtre), choisissez **Include columns** (Inclure des colonnes).
   + Choisissez la colonne **trip\$1type**.
   + Pour **Table permissions** (Autorisations de table), choisissez **SELECT** (Sélectionner).

1. Choisissez **Grant** (Accorder).

Vous pouvez maintenant utiliser SQL Workbench pour vérifier la modification des autorisations pour le groupe **lf-developer**. Le changement devrait se refléter dans les données disponibles pour **athena-ba-user**, qui est désormais membre du groupe **lf-developer**.

**Pour vérifier la modification des autorisations pour athena-ba-user**

1. Fermez le programme SQL Workbench, puis rouvrez-le.

1. Connectez-vous au profil pour **athena-ba-user**.

1. À partir de la fenêtre **Statement** (Instruction), exécutez les mêmes instructions SQL que précédemment :

   Cette fois, la colonne **trip\$1type** s'affiche.  
![\[La quatrième colonne est disponible pour la requête.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-10.png)

   Étant donné qu'**athena-ba-user**il est désormais membre à la fois du **lf-developer** et **lf-business-analyst**des groupes, la combinaison des autorisations Lake Formation pour ces groupes détermine les colonnes renvoyées.  
![\[La quatrième colonne des résultats des données.\]](http://docs.aws.amazon.com/fr_fr/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-11.png)

## Conclusion
<a name="security-athena-lake-formation-jdbc-okta-tutorial-conclusion"></a>

Dans ce didacticiel, vous avez configuré l'intégration d'Athena en AWS Lake Formation utilisant Okta comme fournisseur SAML. Vous avez utilisé Lake Formation et IAM pour contrôler les ressources mises à la disposition de l'utilisateur SAML dans votre catalogue de données de lacs de AWS Glue données.

## Ressources connexes
<a name="security-athena-lake-formation-jdbc-okta-tutorial-related-resources"></a>

Pour plus d'informations, consultez les ressources suivantes.
+ [Connexion à Amazon Athena avec JDBC](connect-with-jdbc.md)
+ [Activation de l’accès fédéré à l’API Athena](access-federation-saml.md)
+ [AWS Lake Formation Manuel du développeur](https://docs.aws.amazon.com/lake-formation/latest/dg/)
+ [Octroi et révocation des autorisations du catalogue de données](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-catalog-permissions.html) dans le *Guide du développeur AWS Lake Formation *.
+ [Fournisseurs d'identité et fédération](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) dans le *Guide de l'utilisateur IAM*.
+ [Création de fournisseurs d'identité IAM SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html) dans le *Guide de l'utilisateur IAM*.
+ [Activation de la fédération à AWS l'aide de Windows Active Directory, ADFS et SAML 2.0](https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/) sur le blog de *AWS sécurité*.