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.
Rubriques
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 :
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). Sous Catalogue de données, sélectionnez Paramètres.
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.
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.
Connectez-vous à la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation
dans la région USA Est (Virginie du Nord). Choisissez Launch Stack
. Choisissez Next sur l'écran de création d'une pile.
Entrez un nom de pile.
Pour DatalakeAdminUserNameet DatalakeAdminUserPassword, entrez votre nom IAM d'utilisateur et votre mot de passe pour l'utilisateur administrateur de Data Lake.
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.
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.
Pour DataLakeBucketName, entrez le nom de votre compartiment de données.
Pour DatabaseName, et TableNamelaissez comme valeur par défaut.
Choisissez Next (Suivant)
Sur la page suivante, choisissez Next.
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.
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
-
Connectez-vous Athena console en https://console.aws.amazon.com/athena/
tant qu' DatalakeAdmin
utilisateur, 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
-
Exécutez ensuite une requête d'agrégation pour récupérer le nombre total d'enregistrements par
marketplace
.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 lamarketplace
colonne.
É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
Créez un filtre pour restreindre l'accès aux
US
marketplace
données.Connectez-vous à la console Lake Formation https://console.aws.amazon.com/lakeformation/
dans la région USA Est (Virginie du Nord) en tant qu' DatalakeAdmin
utilisateur.Choisissez Filtres de données.
Choisissez Créer un nouveau filtre.
Dans Nom du filtre de données, entrez
amazon_reviews_US
.Pour Base de données cible, choisissez la base de données
lakeformation_tutorial_row_security
.Pour Table cible, choisissez la table
amazon_reviews
.Pour l'accès au niveau des colonnes, laissez la valeur par défaut.
Pour Expression du filtre de ligne, entrez
marketplace='US'
.Choisissez Create filter (Créer un filtre).
-
Créez un filtre pour restreindre l'accès aux
marketplace
données japonaises.Sur la page Filtres de données, choisissez Créer un nouveau filtre.
Dans Nom du filtre de données, entrez
amazon_reviews_JP
.Pour Base de données cible, choisissez la base de données
lakeformation_tutorial_row_security
.Pour le tableau Target, choisissez le
table amazon_reviews
.Pour l'accès au niveau des colonnes, laissez la valeur par défaut.
Pour Expression du filtre de ligne, entrez
marketplace='JP'
.Choisissez Create filter (Créer un filtre).
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
) :Sous Autorisations, sélectionnez Autorisations du lac de données.
Sous Autorisation relative aux données, choisissez Grant.
-
Pour Principaux, choisissez IAMles utilisateurs et les rôles, puis sélectionnez le rôle
DataAnalystUS
. Pour les balises LF ou les ressources de catalogue, choisissez Ressources de catalogue de données nommées.
-
Pour Database (Base de données), sélectionnez
lakeformation_tutorial_row_security
. Pour les tables (facultatif), choisissez.
amazon_reviews
Pour les filtres de données (facultatif), sélectionnez
amazon_reviews_US
.-
Pour les autorisations de filtrage de données, sélectionnez Sélectionner.
Choisissez Grant (Accorder).
Procédez comme suit pour accorder des autorisations à l'analyste de données japonais (
DataAnalystJP
) :Sous Autorisations, sélectionnez Autorisations du lac de données.
Sous Autorisation relative aux données, choisissez Grant.
-
Pour Principaux, choisissez IAMles utilisateurs et les rôles, puis sélectionnez le rôle
DataAnalystJP
. Pour les balises LF ou les ressources de catalogue, choisissez Ressources de catalogue de données nommées.
-
Pour Database (Base de données), sélectionnez
lakeformation_tutorial_row_security
. Pour les tables (facultatif), choisissez.
amazon_reviews
Pour les filtres de données (facultatif), sélectionnez
amazon_reviews_JP
.-
Pour les autorisations de filtrage de données, sélectionnez Sélectionner.
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.
-
Connectez-vous à la console Athena en https://console.aws.amazon.com/athena/
tant qu'utilisateur. DataAnalystUS
-
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.
-
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 demarketplace
colonne est égale àUS
. -
Passez à l'
DataAnalystJP
utilisateur 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
JP
marketplace
. -
Exécutez la requête pour compter le nombre total d'enregistrements par
marketplace
.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
JP
marketplace
.
É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.