

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.

# Partage d'un lac de données à l'aide du contrôle d'accès précis de Lake Formation
<a name="share-dl-fgac-tutorial"></a>

Ce didacticiel fournit des step-by-step instructions sur la manière dont vous pouvez partager rapidement et facilement des ensembles de données à l'aide de Lake Formation lorsque vous en gérez plusieurs Comptes AWS avec AWS Organizations. Vous définissez des autorisations détaillées pour contrôler l'accès aux données sensibles.

Les procédures suivantes montrent également comment un administrateur du lac de données du compte A peut fournir un accès détaillé au compte B, et comment un utilisateur du compte B, agissant en tant que gestionnaire de données, peut accorder un accès détaillé à la table partagée aux autres utilisateurs de son compte. Au sein de chaque compte, les responsables des données peuvent déléguer l'accès de manière indépendante à leurs propres utilisateurs, ce qui donne de l'autonomie à chaque équipe ou secteur d'activité (LOB).

Le cas d'utilisation suppose que vous utilisez AWS Organizations pour gérer votre Comptes AWS. L'utilisateur du compte A dans une unité organisationnelle (OU1) accorde l'accès aux utilisateurs du compte B dans OU2. Vous pouvez utiliser la même approche lorsque vous n'utilisez pas Organizations, par exemple lorsque vous n'avez que quelques comptes. Le schéma suivant illustre le contrôle d'accès détaillé des ensembles de données dans un lac de données. Le lac de données est disponible dans le compte A. L'administrateur du lac de données du compte A fournit un accès détaillé au compte B. Le diagramme montre également qu'un utilisateur du compte B fournit un accès au niveau des colonnes de la table du lac de données du compte A à un autre utilisateur du compte B.

![\[AWS Organization structure with two OUs, showing data lake access and user permissions across accounts.\]](http://docs.aws.amazon.com/fr_fr/lake-formation/latest/dg/images/tutorial-fine-grained-access1.jpg)


**Topics**
+ [Public visé](#tut-share-fine-grained-roles)
+ [Prérequis](#tut-share-fine-grained-prereqs)
+ [Étape 1 : Fournir un accès détaillé à un autre compte](#tut-fgac-another-account)
+ [Étape 2 : fournir un accès détaillé à un utilisateur du même compte](#tut-fgac-same-account)

## Public visé
<a name="tut-share-fine-grained-roles"></a>



Ce didacticiel est destiné aux gestionnaires de données, aux ingénieurs de données et aux analystes de données. Le tableau suivant répertorie les rôles utilisés dans ce didacticiel :


| Rôle | Description | 
| --- | --- | 
| Administrateur IAM | Utilisateur disposant de la politique AWS gérée :AdministratorAccess.  | 
| Administrateur du lac de données |  Utilisateur disposant de la politique AWS gérée : `AWSLakeFormationDataAdmin` attaché au rôle.  | 
| Analyste des données | Utilisateur disposant de la politique AWS gérée : AmazonAthenaFullAccess joint. | 

## Prérequis
<a name="tut-share-fine-grained-prereqs"></a>

Avant de commencer ce didacticiel, vous devez disposer d'un Compte AWS identifiant que vous pouvez utiliser pour vous connecter en tant qu'utilisateur administratif avec les autorisations appropriées. Pour de plus amples informations, veuillez consulter [Exécution des tâches AWS de configuration initiale](getting-started-setup.md#initial-aws-signup).

Le didacticiel part du principe que vous connaissez IAM. Pour plus d'informations sur IAM, consultez le guide de l'[utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html).

**Vous avez besoin des ressources suivantes pour ce didacticiel :**
+ Deux unités organisationnelles :
  + OU1 — Contient le compte A
  + OU2 — Contient le compte B
+ Emplacement d'un lac de données Amazon S3 (compartiment) dans le compte A.
+ Utilisateur administrateur de lac de données dans le compte A. Vous pouvez créer un administrateur de lac de données à l'aide de la console Lake Formation ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)) ou de l'API Lake Formation. `PutDataLakeSettings`
+ Lake Formation configurée dans le compte A, et l'emplacement du lac de données Amazon S3 enregistré auprès de Lake Formation dans le compte A.
+ Deux utilisateurs du compte B avec les politiques gérées par IAM suivantes :
  +  testuser1 — contient les politiques AWS `AWSLakeFormationDataAdmin` gérées.
  +  testuser2 — La politique AWS `AmazonAthenaFullAccess` gérée est attachée.
+ Une base de données testdb dans la base de données Lake Formation pour le compte B.

## Étape 1 : Fournir un accès détaillé à un autre compte
<a name="tut-fgac-another-account"></a>

Découvrez comment l'administrateur du lac de données du compte A fournit un accès détaillé au compte B.

**Accorder un accès détaillé à un autre compte**

1. Connectez-vous AWS Management Console au compte A [https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/)en tant qu'administrateur du lac de données.

1. Ouvrez la console Lake Formation ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)), puis choisissez **Get started**.

1. dans le volet de navigation, sélectionnez **Databases**.

1. Choisissez **Create database** (Créer une base de données).

1. Dans la section Détails **de la base** de données, sélectionnez **Base de données**.

1. Pour **Nom**, entrez un nom (pour ce didacticiel, nous utilisons`sampledb01`).

1. Assurez-vous que **l'option Utiliser uniquement le contrôle d'accès IAM pour les nouvelles tables de cette base de données** n'est pas sélectionnée. Si cette option n'est pas sélectionnée, nous pouvons contrôler l'accès depuis Lake Formation.

1. Choisissez **Créer une base de données**.

1. Sur la page **Bases de données**, choisissez votre base de données`sampledb01`.

1. Dans le menu **Actions**, choisissez **Grant**.

1. Dans la section **Accorder des autorisations**, sélectionnez **Compte externe**.

1. Dans le Compte AWS champ ID ou ID d' AWS organisation, entrez le numéro de compte du compte B dans OU2.

1. Pour **Table**, choisissez la table à laquelle vous souhaitez que le compte B ait accès (pour cet article, nous utilisons la table`acc_a_area`). Vous pouvez éventuellement autoriser l'accès aux colonnes du tableau, ce que nous faisons dans cet article.

1. Pour **Inclure les colonnes**, choisissez les colonnes auxquelles vous souhaitez que le compte B ait accès (pour cet article, nous accordons des autorisations de type, de nom et d'identifiant).

1. Pour **Colonnes**, choisissez **Inclure les colonnes**.

1. Pour les **autorisations relatives aux tables**, sélectionnez **Sélectionner**.

1. **Pour les **autorisations pouvant être accordées**, sélectionnez Sélectionner.** Des autorisations pouvant être accordées sont requises pour que les utilisateurs administrateurs du compte B puissent accorder des autorisations à d'autres utilisateurs du compte B.

1. Choisissez **Accorder**.

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

1. Vous pouvez voir une connexion active dans la section «  Comptes AWS  et AWS organisations ayant accès ».

**Création d'un lien vers une ressource**

Les services intégrés tels qu'Amazon Athena ne peuvent pas accéder directement aux bases de données ou aux tables entre les comptes. Par conséquent, vous devez créer un lien de ressource afin qu'Athéna puisse accéder aux liens de ressources de votre compte vers les bases de données et les tables d'autres comptes. Créez un lien de ressource vers la table (`acc_a_area`) afin que les utilisateurs du compte B puissent interroger ses données auprès d'Athena.

1. Connectez-vous à la AWS console [https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/)dans le compte B en tant que`testuser1`.

1. Sur la console Lake Formation ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)), dans le volet de navigation, sélectionnez **Tables**. Vous devriez voir les tables auxquelles le compte A a fourni l'accès.

1. Choisissez la table `acc_a_area`.

1. Dans le menu **Actions**, choisissez **Créer un lien vers une ressource**.

1. Pour **le nom du lien de ressource**, entrez un nom (pour ce didacticiel,`acc_a_area_rl`).

1. Pour **Base de données**, choisissez votre base de données (`testdb`).

1. Sélectionnez **Create** (Créer).

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

1. Choisissez la table `acc_b_area_rl`.

1. Dans le menu **Actions**, choisissez **Afficher les données**.

   Vous êtes redirigé vers la console Athena, où vous devriez voir la base de données et la table.

   Vous pouvez désormais exécuter une requête sur la table pour voir la valeur de la colonne pour laquelle l'accès a été accordé à testuser1 depuis le compte B.

## Étape 2 : fournir un accès détaillé à un utilisateur du même compte
<a name="tut-fgac-same-account"></a>

Cette section montre comment un utilisateur du compte B (`testuser1`), agissant en tant que gestionnaire de données, fournit à un autre utilisateur du même compte (`testuser2`) un accès détaillé au nom de colonne de la table partagée. `aac_b_area_rl`

**Accorder un accès détaillé à un utilisateur du même compte**

1. Connectez-vous à la AWS console [https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/)dans le compte B en tant que`testuser1`.

1. Sur la console Lake Formation, dans le volet de navigation, sélectionnez **Tables**.

   Vous pouvez accorder des autorisations sur une table via son lien de ressource. Pour ce faire, sur la page **Tables**, sélectionnez le lien vers la ressource`acc_b_area_rl`, puis dans le menu **Actions**, choisissez **Grant on target**.

1. Dans la section **Accorder des autorisations**, sélectionnez **Mon compte**.

1.  Pour les **utilisateurs et les rôles IAM**, choisissez l'utilisateur`testuser2`.

1. Pour **Colonne**, choisissez le nom de la colonne.

1. Pour les **autorisations relatives aux tables**, sélectionnez **Sélectionner**.

1. Choisissez **Accorder**.

   Lorsque vous créez un lien vers une ressource, vous êtes le seul à pouvoir le consulter et y accéder. Pour permettre aux autres utilisateurs de votre compte d'accéder au lien de ressource, vous devez accorder des autorisations sur le lien de ressource lui-même. Vous devez accorder les autorisations **DESCRIBE** ou **DROP**. Sur la **page Tables**, sélectionnez à nouveau votre tableau et dans le menu **Actions**, choisissez **Grant**.

1. Dans la section **Accorder des autorisations**, sélectionnez **Mon compte**.

1. Pour les **utilisateurs et les rôles IAM**, sélectionnez l'utilisateur`testuser2`.

1. Pour les **autorisations relatives aux liens vers les ressources**, sélectionnez **Décrire**.

1. Choisissez **Accorder**.

1. Connectez-vous à la AWS console dans le compte B en tant que`testuser2`.

   Sur la console Athena ([https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)), vous devriez voir la base de données et la table. `acc_b_area_rl` Vous pouvez désormais exécuter une requête sur la table pour voir la valeur de la colonne à laquelle `testuser2` vous avez accès.