Sécurisation des lacs de données grâce au contrôle d'accès au niveau des lignes - AWS Lake Formation

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.

Sécurisation des lacs de données grâce au contrôle d'accès au niveau des lignes

AWS Lake Formation les autorisations au niveau des lignes vous permettent d'accéder à des lignes spécifiques d'un tableau en fonction des politiques de conformité et de gouvernance des données. Si vous avez de grandes tables stockant des milliards d'enregistrements, vous devez trouver un moyen de permettre aux différents utilisateurs et équipes d'accéder uniquement aux données qu'ils sont autorisés à consulter. Le contrôle d'accès au niveau des lignes est un moyen simple et performant de protéger les données, tout en permettant aux utilisateurs d'accéder aux données dont ils ont besoin pour effectuer leur travail. Lake Formation fournit des audits et des rapports de conformité centralisés en identifiant quels principaux ont accédé à quelles données, quand et par le biais de quels services.

Dans ce didacticiel, vous apprendrez comment fonctionnent les contrôles d'accès au niveau des lignes dans Lake Formation et comment les configurer.

Ce didacticiel inclut un AWS CloudFormation modèle permettant de configurer rapidement les ressources requises. Vous pouvez le consulter et le personnaliser en fonction de vos besoins.

Public visé

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 et les responsabilités du propriétaire et du consommateur de données.

Rôle Description
IAMAdministrateur Utilisateur capable de créer des utilisateurs, des rôles et des compartiments Amazon Simple Storage Service (Amazon S3). Possède la politique AdministratorAccess AWS gérée.
Administrateur du lac de données Utilisateur chargé de configurer le lac de données, de créer des filtres de données et d'accorder des autorisations aux analystes de données.
Analyste des données Un utilisateur qui peut exécuter des requêtes sur le lac de données. Les analystes de données résidant dans différents pays (pour notre cas d'utilisation, les États-Unis et le Japon) ne peuvent analyser que les avis des clients situés dans leur propre pays et, pour des raisons de conformité, ne devraient pas être en mesure de consulter les données clients situées dans d'autres pays.

Prérequis

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.

Le didacticiel part du principe que vous connaissezIAM. Pour plus d'informationsIAM, consultez le guide de IAM l'utilisateur.

Modifier les paramètres de Lake Formation
Important

Avant de lancer le AWS CloudFormation modèle, désactivez l'option Utiliser uniquement le contrôle IAM d'accès pour les nouvelles bases de données/tables de Lake Formation en suivant les étapes ci-dessous :

  1. Connectez-vous à la console Lake Formation https://console.aws.amazon.com/lakeformation/dans la région USA Est (Virginie du Nord) ou USA Ouest (Oregon).

  2. Sous Catalogue de données, sélectionnez Paramètres.

  3. Désélectionnez Utiliser uniquement le contrôle IAM d'accès pour les nouvelles bases de données et Utiliser uniquement le contrôle IAM d'accès pour les nouvelles tables des nouvelles bases de données.

  4. Choisissez Save (Enregistrer).

Étape 1 : Approvisionnez vos ressources

Ce didacticiel inclut un AWS CloudFormation modèle pour une configuration rapide. Vous pouvez le consulter et le personnaliser en fonction de vos besoins. Le AWS CloudFormation modèle génère les ressources suivantes :

  • Utilisateurs et politiques pour :

    • DataLakeAdmin

    • DataAnalystÉtats-Unis

    • DataAnalystJP

  • Lake Formation : paramètres et autorisations du lac

  • Fonction Lambda (pour les ressources AWS CloudFormation personnalisées soutenues par Lambda) utilisée pour copier des exemples de fichiers de données du compartiment Amazon S3 public vers votre compartiment Amazon S3

  • Un bucket Amazon S3 qui servira de lac de données

  • Une AWS Glue Data Catalog base de données, une table et une partition

Créez vos ressources

Suivez ces étapes pour créer vos ressources à l'aide du AWS CloudFormation modèle.

  1. Connectez-vous à la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation dans la région USA Est (Virginie du Nord).

  2. Choisissez Launch Stack.

  3. Choisissez Next sur l'écran de création d'une pile.

  4. Entrez un nom de pile.

  5. Pour DatalakeAdminUserNameet DatalakeAdminUserPassword, entrez votre nom IAM d'utilisateur et votre mot de passe pour l'utilisateur administrateur de Data Lake.

  6. Pour DataAnalystUsUserNameet DataAnalystUsUserPassword, entrez le nom d'utilisateur et le mot de passe pour le nom d'utilisateur et le mot de passe que vous souhaitez pour l'utilisateur analyste de données responsable du marché américain.

  7. Pour DataAnalystJpUserNameet DataAnalystJpUserPassword, entrez le nom d'utilisateur et le mot de passe pour le nom d'utilisateur et le mot de passe que vous souhaitez pour l'utilisateur analyste de données responsable du marché japonais.

  8. Pour DataLakeBucketName, entrez le nom de votre compartiment de données.

  9. Pour DatabaseName, et TableNamelaissez comme valeur par défaut.

  10. Choisissez Next (Suivant)

  11. Sur la page suivante, choisissez Next.

  12. Passez en revue les informations sur la dernière page et sélectionnez Je reconnais que cela AWS CloudFormation pourrait créer IAM des ressources.

  13. Sélectionnez Create (Créer).

    La création de la pile peut prendre une minute.

Étape 2 : Requête sans filtres de données

Après avoir configuré l'environnement, vous pouvez consulter le tableau des avis sur les produits. Interrogez d'abord la table sans contrôles d'accès au niveau des lignes pour vous assurer que vous pouvez voir les données. Si vous exécutez des requêtes dans Amazon Athena pour la première fois, vous devez configurer l'emplacement des résultats des requêtes.

Interrogez la table sans contrôle d'accès au niveau des lignes
  1. Connectez-vous Athena console en https://console.aws.amazon.com/athena/tant qu'DatalakeAdminutilisateur, et exécutez la requête suivante :

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    La capture d'écran suivante montre le résultat de la requête. Ce tableau ne comporte qu'une seule partition. Chaque enregistrement est donc un commentaire d'évaluation pour un produit vidéo. product_category=Video

    Query results showing 10 rows of Amazon product reviews for VHS tapes with various ratings.
  2. Exécutez ensuite une requête d'agrégation pour récupérer le nombre total d'enregistrements parmarketplace.

    SELECT marketplace, count(*) as total_count FROM lakeformation_tutorial_row_security.amazon_reviews GROUP BY marketplace

    La capture d'écran suivante montre le résultat de la requête. La marketplace colonne comporte cinq valeurs différentes. Au cours des étapes suivantes, vous allez configurer des filtres basés sur des lignes à l'aide de la marketplace colonne.

    Query results showing marketplace data with total counts for FR, UK, JP, DE, and US.

Étape 3 : configurer les filtres de données et accorder des autorisations

Ce didacticiel fait appel à deux analystes de données : l'un responsable du marché américain et l'autre du marché japonais. Chaque analyste utilise Athena pour analyser les avis des clients uniquement pour son marché spécifique. Créez deux filtres de données différents, l'un pour l'analyste responsable du marché américain et l'autre pour celui responsable du marché japonais. Accordez ensuite aux analystes leurs autorisations respectives.

Créez des filtres de données et accordez des autorisations
  1. Créez un filtre pour restreindre l'accès aux US marketplace données.

    1. Connectez-vous à la console Lake Formation https://console.aws.amazon.com/lakeformation/dans la région USA Est (Virginie du Nord) en tant qu'DatalakeAdminutilisateur.

    2. Choisissez Filtres de données.

    3. Choisissez Créer un nouveau filtre.

    4. Dans Nom du filtre de données, entrezamazon_reviews_US.

    5. Pour Base de données cible, choisissez la base de donnéeslakeformation_tutorial_row_security.

    6. Pour Table cible, choisissez la tableamazon_reviews.

    7. Pour l'accès au niveau des colonnes, laissez la valeur par défaut.

    8. Pour Expression du filtre de ligne, entrezmarketplace='US'.

    9. Choisissez Create filter (Créer un filtre).

  2. Créez un filtre pour restreindre l'accès aux marketplace données japonaises.

    1. Sur la page Filtres de données, choisissez Créer un nouveau filtre.

    2. Dans Nom du filtre de données, entrezamazon_reviews_JP.

    3. Pour Base de données cible, choisissez la base de donnéeslakeformation_tutorial_row_security.

    4. Pour le tableau Target, choisissez letable amazon_reviews.

    5. Pour l'accès au niveau des colonnes, laissez la valeur par défaut.

    6. Pour Expression du filtre de ligne, entrezmarketplace='JP'.

    7. Choisissez Create filter (Créer un filtre).

  3. Accordez ensuite des autorisations aux analystes de données utilisant ces filtres de données. Procédez comme suit pour accorder des autorisations à l'analyste de données américain (DataAnalystUS) :

    1. Sous Autorisations, sélectionnez Autorisations du lac de données.

    2. Sous Autorisation relative aux données, choisissez Grant.

    3. Pour Principaux, choisissez IAMles utilisateurs et les rôles, puis sélectionnez le rôleDataAnalystUS.

    4. Pour les balises LF ou les ressources de catalogue, choisissez Ressources de catalogue de données nommées.

    5. Pour Database (Base de données), sélectionnez lakeformation_tutorial_row_security.

    6. Pour les tables (facultatif), choisissez. amazon_reviews

    7. Pour les filtres de données (facultatif), sélectionnezamazon_reviews_US.

    8. Pour les autorisations de filtrage de données, sélectionnez Sélectionner.

    9. Choisissez Grant (Accorder).

  4. Procédez comme suit pour accorder des autorisations à l'analyste de données japonais (DataAnalystJP) :

    1. Sous Autorisations, sélectionnez Autorisations du lac de données.

    2. Sous Autorisation relative aux données, choisissez Grant.

    3. Pour Principaux, choisissez IAMles utilisateurs et les rôles, puis sélectionnez le rôleDataAnalystJP.

    4. Pour les balises LF ou les ressources de catalogue, choisissez Ressources de catalogue de données nommées.

    5. Pour Database (Base de données), sélectionnez lakeformation_tutorial_row_security.

    6. Pour les tables (facultatif), choisissez. amazon_reviews

    7. Pour les filtres de données (facultatif), sélectionnezamazon_reviews_JP.

    8. Pour les autorisations de filtrage de données, sélectionnez Sélectionner.

    9. Choisissez Grant (Accorder).

Étape 4 : Requête à l'aide de filtres de données

Avec les filtres de données attachés au tableau des avis sur les produits, exécutez quelques requêtes et découvrez comment les autorisations sont appliquées par Lake Formation.

  1. Connectez-vous à la console Athena en https://console.aws.amazon.com/athena/tant qu'utilisateur. DataAnalystUS

  2. Exécutez la requête suivante pour récupérer quelques enregistrements, qui sont filtrés en fonction des autorisations au niveau des lignes que nous avons définies :

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    La capture d'écran suivante montre le résultat de la requête.

    Query results showing 10 rows of Amazon product reviews data, including marketplace, ratings, and product titles.
  3. De même, exécutez une requête pour compter le nombre total d'enregistrements par site de vente.

    SELECT marketplace , count ( * ) as total_count FROM lakeformation_tutorial_row_security .amazon_reviews GROUP BY marketplace

    Le résultat de la requête n'affiche que le marketplace US dans les résultats. Cela est dû au fait que l'utilisateur n'est autorisé à voir que les lignes dont la valeur de marketplace colonne est égale àUS.

  4. Passez à l'DataAnalystJPutilisateur et exécutez la même requête.

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    Le résultat de la requête indique que seuls les enregistrements appartiennent au JPmarketplace.

  5. Exécutez la requête pour compter le nombre total d'enregistrements parmarketplace.

    SELECT marketplace, count(*) as total_count FROM lakeformation_tutorial_row_security.amazon_reviews GROUP BY marketplace

    Le résultat de la requête montre uniquement la ligne appartenant au JPmarketplace.

Étape 5 : Nettoyer les AWS ressources

Nettoyage des ressources

Pour éviter des frais indésirables Compte AWS, vous pouvez supprimer les AWS ressources que vous avez utilisées pour ce didacticiel.