Configurez AWS Lake Formation - 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.

Configurez AWS Lake Formation

Les sections suivantes fournissent des informations sur la configuration de Lake Formation pour la première fois. Toutes les rubriques de cette section ne sont pas obligatoires pour commencer à utiliser Lake Formation. Vous pouvez utiliser les instructions pour configurer le modèle d'autorisations de Lake Formation afin de gérer vos AWS Glue Data Catalog objets et emplacements de données existants dans Amazon Simple Storage Service (Amazon S3).

Cette section explique comment configurer les ressources de Lake Formation de deux manières différentes :

  • Utilisation d'un AWS CloudFormation modèle

  • Utilisation de la console Lake Formation

Pour configurer Lake Formation à l'aide de AWS la console, rendez-vous surCréation d'un administrateur de lac de données.

Configurer les ressources de Lake Formation à l'aide d' AWS CloudFormation un modèle

Note

La AWS CloudFormation pile exécute les étapes 1 à 6 ci-dessus, à l'exception des étapes 2 et 5. Effectuez Modifier le modèle d'autorisation par défaut ou utiliser le mode d'accès hybride et Intégration d'IAM Identity Center manuellement depuis la console Lake Formation.

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

  2. Choisissez Launch Stack.

  3. Choisissez Suivant sur l'écran Créer une pile.

  4. Entrez un nom de pile.

  5. Pour DatalakeAdminNameet DatalakeAdminPassword, entrez votre nom d'utilisateur et votre mot de passe pour l'utilisateur administrateur de Data Lake.

  6. Pour DatalakeUser1Name et DatalakeUser1Password, entrez votre nom d'utilisateur et votre mot de passe pour l'utilisateur Data Lake Analyst.

  7. Pour DataLakeBucketName, entrez le nouveau nom du bucket qui sera créé.

  8. Choisissez Suivant.

  9. Sur la page suivante, choisissez Next.

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

  11. Choisissez Créer.

    La création de la pile peut prendre jusqu'à deux minutes.

Nettoyage des ressources

Si vous souhaitez nettoyer les ressources de la AWS CloudFormation pile :

  1. Désenregistrez le compartiment Amazon S3 créé par votre stack et enregistré en tant qu'emplacement de lac de données.

  2. Supprimez la AWS CloudFormation pile. Cela supprimera toutes les ressources créées par la pile.

Création d'un administrateur de lac de données

Les administrateurs de lacs de données sont initialement les seuls utilisateurs ou rôles AWS Identity and Access Management (IAM) qui peuvent accorder à Lake Formation des autorisations sur les emplacements des données et les ressources du catalogue de données à n'importe quel principal (y compris à lui-même). Pour plus d'informations sur les fonctionnalités d'administration des lacs de données, consultezPermissions implicites de Lake Formation. Par défaut, Lake Formation vous permet de créer jusqu'à 30 administrateurs de lacs de données.

Vous pouvez créer un administrateur de lac de données à l'aide de la PutDataLakeSettings console Lake Formation ou de l'API Lake Formation.

Les autorisations suivantes sont requises pour créer un administrateur de lac de données. L'Administratorutilisateur dispose implicitement de ces autorisations.

  • lakeformation:PutDataLakeSettings

  • lakeformation:GetDataLakeSettings

Si vous accordez cette AWSLakeFormationDataAdmin politique à un utilisateur, celui-ci ne sera pas en mesure de créer d'autres utilisateurs administrateurs de Lake Formation.

Pour créer un administrateur de lac de données (console)
  1. Si l'utilisateur qui doit être administrateur du lac de données n'existe pas encore, utilisez la console IAM pour le créer. Sinon, choisissez un utilisateur existant qui sera l'administrateur du lac de données.

    Note

    Nous vous recommandons de ne pas sélectionner d'utilisateur administratif IAM (utilisateur doté de la politique AdministratorAccess AWS gérée) comme administrateur du lac de données.

    Associez les politiques AWS gérées suivantes à l'utilisateur :

    Politiques Obligatoire ? Remarques
    AWSLakeFormationDataAdmin Obligatoire Autorisations d'administrateur de base du lac de données. Cette politique AWS gérée contient un refus explicite du fonctionnement de l'API Lake Formation, PutDataLakeSetting qui empêche les utilisateurs de créer de nouveaux administrateurs de lacs de données.
    AWSGlueConsoleFullAccess, CloudWatchLogsReadOnlyAccess Facultatif Joignez ces politiques si l'administrateur du lac de données doit résoudre les problèmes liés aux flux de travail créés à partir des plans de Lake Formation. Ces politiques permettent à l'administrateur du lac de données de consulter les informations de dépannage dans la AWS Glue console et dans la Amazon CloudWatch Logs console. Pour plus d'informations sur les flux de travail, consultezImportation de données à l'aide de flux de travail dans Lake Formation.
    AWSLakeFormationCrossAccountManager Facultatif Joignez cette politique pour permettre à l'administrateur du lac de données d'accorder et de révoquer des autorisations entre comptes sur les ressources du catalogue de données. Pour plus d’informations, consultez Partage de données entre comptes dans Lake Formation.
    AmazonAthenaFullAccess Facultatif Joignez cette politique si l'administrateur du lac de données doit exécuter des requêtes dans Amazon Athena.
  2. Joignez la politique intégrée suivante, qui accorde à l'administrateur du lac de données l'autorisation de créer le rôle lié au service Lake Formation. Le nom suggéré pour la politique estLakeFormationSLR.

    Le rôle lié à un service permet à l'administrateur du lac de données d'enregistrer plus facilement les sites Amazon S3 auprès de Lake Formation. Pour plus d'informations sur le rôle lié au service Lake Formation, consultez. Utilisation de rôles liés à un service pour Lake Formation

    Important

    Dans toutes les politiques suivantes, remplacez-le <account-id>par un numéro de AWS compte valide.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "lakeformation.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::<account-id>:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess" } ] }
  3. (Facultatif) Attachez la politique PassRole intégrée suivante à l'utilisateur. Cette politique permet à l'administrateur du lac de données de créer et d'exécuter des flux de travail. L'iam:PassRoleautorisation permet au flux de travail d'assumer le rôle LakeFormationWorkflowRole de créer des robots d'exploration et des tâches, et d'associer le rôle aux robots et aux tâches créés. Le nom suggéré pour la politique estUserPassRole.

    Important

    Remplacez <account-id>par un numéro de AWS compte valide.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole" ] } ] }
  4. (Facultatif) Joignez cette politique en ligne supplémentaire si votre compte accordera ou recevra des autorisations entre comptes Lake Formation. Cette politique permet à l'administrateur du lac de données de consulter et d'accepter AWS Resource Access Manager (AWS RAM) les invitations de partage de ressources. En outre, pour les administrateurs de lacs de données du compte de AWS Organizations gestion, la politique inclut une autorisation permettant d'autoriser les subventions entre comptes aux organisations. Pour plus d’informations, consultez Partage de données entre comptes dans Lake Formation.

    Le nom suggéré pour la politique estRAMAccess.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }
  5. Ouvrez la AWS Lake Formation console à l'adresse https://console.aws.amazon.com/lakeformation/ et connectez-vous en tant qu'utilisateur administrateur que vous avez créé Création d'un utilisateur doté d'un accès administratif ou en tant qu'utilisateur doté d'une politique AWS gérée par AdministratorAccess l'utilisateur.

  6. Si une fenêtre Welcome to Lake Formation apparaît, choisissez l'utilisateur IAM que vous avez créé ou sélectionné à l'étape 1, puis choisissez Get started.

  7. Si la fenêtre Welcome to Lake Formation ne s'affiche pas, effectuez les étapes suivantes pour configurer un administrateur de Lake Formation.

    1. Dans le volet de navigation, sous Administrateurs, sélectionnez Rôles et tâches administratifs. Dans la section Administrateurs du lac de données de la page de console, choisissez Ajouter.

    2. Dans la boîte de dialogue Ajouter des administrateurs, sous Type d'accès, choisissez Data lake administrator.

    3. Pour les utilisateurs et les rôles IAM, choisissez l'utilisateur IAM que vous avez créé ou sélectionné à l'étape 1, puis cliquez sur Enregistrer.

Modifier le modèle d'autorisation par défaut ou utiliser le mode d'accès hybride

Lake Formation démarre avec les paramètres « Utiliser uniquement le contrôle d'accès IAM » activés pour garantir la compatibilité avec le AWS Glue Data Catalog comportement existant. Ces paramètres vous permettent de gérer l'accès à vos données dans le lac de données et à ses métadonnées par le biais de politiques IAM et de politiques de compartiment Amazon S3.

Pour faciliter la transition des autorisations de lac de données d'un modèle IAM et Amazon S3 vers les autorisations de Lake Formation, nous vous recommandons d'utiliser le mode d'accès hybride pour Data Catalog. Avec le mode d'accès hybride, vous disposez d'un chemin incrémentiel qui vous permet d'activer les autorisations de Lake Formation pour un ensemble spécifique d'utilisateurs sans interrompre les autres utilisateurs ou charges de travail existants.

Pour plus d’informations, consultez Mode d'accès hybride.

Désactivez les paramètres par défaut pour déplacer tous les utilisateurs existants d'une table vers Lake Formation en une seule étape.

Important

Si vous avez des AWS Glue Data Catalog bases de données et des tables existantes, ne suivez pas les instructions de cette section. Au lieu de cela, suivez les instructions de Mise à niveau AWS Glue des autorisations de données vers le AWS Lake Formation modèle.

Avertissement

Si vous avez mis en place une automatisation qui crée des bases de données et des tables dans le catalogue de données, les étapes suivantes peuvent entraîner l'échec des tâches d'automatisation et d'extraction, de transformation et de chargement (ETL) en aval. Procédez uniquement après avoir modifié vos processus existants ou accordé des autorisations explicites de Lake Formation aux principaux responsables requis. Pour plus d'informations sur les autorisations de Lake Formation, consultezRéférence des autorisations de Lake Formation.

Pour modifier les paramètres par défaut du catalogue de données
  1. Continuez dans la console Lake Formation à l'adresse https://console.aws.amazon.com/lakeformation/. Assurez-vous d'être connecté en tant qu'utilisateur administrateur que vous avez créé Création d'un utilisateur doté d'un accès administratif ou en tant qu'utilisateur doté de la politique AdministratorAccess AWS gérée.

  2. Modifiez les paramètres du catalogue de données :

    1. Dans le volet de navigation, sous Administration, sélectionnez Paramètres du catalogue de données.

    2. Décochez les deux cases et choisissez Enregistrer.

      La boîte de dialogue des paramètres du catalogue de données a pour sous-titre « Autorisations par défaut pour les bases de données et tables nouvellement créées » et comporte deux cases à cocher, décrites dans le texte.
  3. Révoquez IAMAllowedPrincipals l'autorisation accordée aux créateurs de bases de données.

    1. Dans le volet de navigation, sous Administration, sélectionnez Administrative roles and tasks.

    2. Sur la page de console des rôles et tâches administratifs, dans la section Créateurs de base de données, sélectionnez le IAMAllowedPrincipals groupe, puis choisissez Révoquer.

      La boîte de dialogue Révoquer les autorisations apparaît, indiquant que IAMAllowedPrincipals vous disposez de l'autorisation Créer une base de données.

    3. Choisissez Révoquer.

Attribuer des autorisations aux utilisateurs de Lake Formation

Créez un utilisateur qui aura accès au lac de données dans AWS Lake Formation. Cet utilisateur dispose des autorisations de moindre privilège pour interroger le lac de données.

Pour plus d'informations sur la création d'utilisateurs ou de groupes, consultez la section Identités IAM dans le guide de l'utilisateur IAM.

Pour autoriser un utilisateur non administrateur à accéder aux données de Lake Formation
  1. Ouvrez la console IAM à https://console.aws.amazon.com/iam et connectez-vous en tant qu'utilisateur administrateur que vous avez créé Création d'un utilisateur doté d'un accès administratif ou en tant qu'utilisateur avec la politique AdministratorAccess AWS gérée.

  2. Choisissez Utilisateurs ou Groupes d'utilisateurs.

  3. Dans la liste, sélectionnez le nom de l'utilisateur ou du groupe auquel intégrer une politique.

    Choisissez Autorisations.

  4. Choisissez Ajouter des autorisations, puis choisissez Joindre directement les politiques. Entrez Athena dans le champ de texte Politiques de filtrage. Dans la liste des résultats, cochez la case correspondant àAmazonAthenaFullAccess.

  5. Cliquez sur le bouton Créer une politique. Sur la page Créer une politique, choisissez l'onglet JSON. Copiez et collez le code suivant dans l'éditeur de politiques.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }
  6. Cliquez sur le bouton Suivant en bas jusqu'à ce que la page de révision de la politique s'affiche. Entrez un nom pour la politique, par exemple,DatalakeUserBasic. Choisissez Créer une politique, puis fermez l'onglet Politiques ou la fenêtre du navigateur.

Configurer un emplacement Amazon S3 pour votre lac de données

Pour utiliser Lake Formation afin de gérer et de sécuriser les données de votre lac de données, vous devez d'abord enregistrer un emplacement Amazon S3. Lorsque vous enregistrez un emplacement, ce chemin Amazon S3 et tous les dossiers situés sous ce chemin sont enregistrés, ce qui permet à Lake Formation de faire appliquer les autorisations de niveau de stockage. Lorsque l'utilisateur demande des données à un moteur intégré tel qu'Amazon Athena, Lake Formation fournit l'accès aux données au lieu d'utiliser les autorisations de l'utilisateur.

Lorsque vous enregistrez un emplacement, vous spécifiez un rôle IAM qui accorde des autorisations de lecture/écriture sur cet emplacement. Lake Formation assume ce rôle lorsqu'il fournit des informations d'identification temporaires aux AWS services intégrés qui demandent l'accès aux données de l'emplacement Amazon S3 enregistré. Vous pouvez spécifier le rôle lié au service (SLR) de Lake Formation ou créer votre propre rôle.

Utilisez un rôle personnalisé dans les situations suivantes :

Le rôle que vous choisissez doit disposer des autorisations nécessaires, comme décrit dansExigences relatives aux rôles utilisés pour enregistrer des sites. Pour obtenir des instructions sur la façon d'enregistrer un emplacement Amazon S3, consultezAjouter un emplacement Amazon S3 à votre lac de données.

(Facultatif) Paramètres de filtrage des données externes

Si vous avez l'intention d'analyser et de traiter les données de votre lac de données à l'aide de moteurs de requêtes tiers, vous devez autoriser les moteurs externes à accéder aux données gérées par Lake Formation. Si vous ne vous inscrivez pas, les moteurs externes ne pourront pas accéder aux données des sites Amazon S3 enregistrés auprès de Lake Formation.

Lake Formation prend en charge les autorisations au niveau des colonnes afin de restreindre l'accès à des colonnes spécifiques d'un tableau. Les services d'analyse intégrés tels qu' Amazon Athena Amazon Redshift Spectrum et Amazon EMR extraient les métadonnées de table non filtrées à partir du. AWS Glue Data Catalog Le filtrage proprement dit des colonnes dans les réponses aux requêtes relève de la responsabilité du service intégré. Il est de la responsabilité des administrateurs tiers de gérer correctement les autorisations afin d'éviter tout accès non autorisé aux données.

Pour autoriser les moteurs tiers à accéder aux données et à les filtrer (console)
  1. Continuez dans la console Lake Formation à l'adresse https://console.aws.amazon.com/lakeformation/. Assurez-vous que vous êtes connecté en tant que principal disposant de l'autorisation IAM pour le fonctionnement de l'PutDataLakeSettingsAPI Lake Formation. L'utilisateur administrateur IAM que vous avez créé Inscrivez-vous pour un Compte AWS possède cette autorisation.

  2. Dans le volet de navigation, sous Administration, sélectionnez Paramètres d'intégration des applications.

  3. Sur la page des paramètres d'intégration des applications, procédez comme suit :

    1. Cochez la case Autoriser les moteurs externes à filtrer les données dans les sites Amazon S3 enregistrés auprès de Lake Formation.

    2. Entrez les valeurs des balises de session définies pour les moteurs tiers.

    3. Pour les identifiants de AWS compte, entrez les identifiants de compte à partir desquels les moteurs tiers sont autorisés à accéder aux emplacements enregistrés auprès de Lake Formation. Appuyez sur Entrée après chaque identifiant de compte.

    4. Choisissez Enregistrer.

Pour autoriser les moteurs externes à accéder aux données sans validation des balises de session, voir Intégration des applications pour un accès complet aux tables

(Facultatif) Accordez l'accès à la clé de chiffrement du catalogue de données

Si elle AWS Glue Data Catalog est cryptée, accordez des autorisations AWS Identity and Access Management (IAM) sur la AWS KMS clé à tous les principaux qui doivent accorder des autorisations à Lake Formation sur les bases de données et les tables du catalogue de données.

Pour plus d’informations, consultez le Guide du développeur AWS Key Management Service .

(Facultatif) Créez un rôle IAM pour les flux de travail

Avec AWS Lake Formation, vous pouvez importer vos données à l'aide de flux de travail exécutés par des AWS Glue robots d'exploration. Un flux de travail définit la source de données et le calendrier d'importation des données dans votre lac de données. Vous pouvez facilement définir des flux de travail à l'aide des plans ou des modèles fournis par Lake Formation.

Lorsque vous créez un flux de travail, vous devez lui attribuer un rôle AWS Identity and Access Management (IAM) qui accorde à Lake Formation les autorisations nécessaires pour ingérer les données.

La procédure suivante suppose une bonne connaissance de l'IAM.

Pour créer un rôle IAM pour les flux de travail
  1. Ouvrez la console IAM à https://console.aws.amazon.com/iam et connectez-vous en tant qu'utilisateur administrateur que vous avez créé Création d'un utilisateur doté d'un accès administratif ou en tant qu'utilisateur avec la politique AdministratorAccess AWS gérée.

  2. Dans le volet de navigation, choisissez Rôles, puis Créer un rôle.

  3. Sur la page Create role, choisissez AWS service, puis Glue. Choisissez Suivant.

  4. Sur la page Ajouter des autorisations, recherchez la stratégie AWSGlueServiceRolegérée et cochez la case à côté du nom de la stratégie dans la liste. Complétez ensuite l'assistant de création de rôle en nommant le rôleLFWorkflowRole. Pour terminer, choisissez Create role.

  5. De retour sur la page Rôles, recherchez LFflowRole et choisissez le nom du rôle.

  6. Sur la page Récapitulatif des rôles, sous l'onglet Autorisations, choisissez Créer une politique intégrée. Sur l'écran Créer une politique, accédez à l'onglet JSON et ajoutez la politique en ligne suivante. Le nom suggéré pour la politique estLakeFormationWorkflow.

    Important

    Dans la politique suivante, remplacez <account-id>par un Compte AWS numéro valide.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions" ], "Resource": "*" }, { "Effect": "Allow", "Action": ["iam:PassRole"], "Resource": [ "arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole" ] } ] }

    Voici une brève description des autorisations définies dans cette politique :

    • lakeformation:GetDataAccesspermet aux tâches créées par le flux de travail d'écrire sur l'emplacement cible.

    • lakeformation:GrantPermissionspermet au flux de travail d'accorder l'SELECTautorisation sur les tables cibles.

    • iam:PassRolepermet au service d'assumer le rôle de LakeFormationWorkflowRole créer des robots d'exploration et des tâches (instances de flux de travail), et d'associer le rôle aux robots et aux tâches créés.

  7. Vérifiez que deux politiques sont associées au rôleLakeFormationWorkflowRole.

  8. Si vous ingérez des données situées en dehors de l'emplacement du lac de données, ajoutez une politique intégrée autorisant la lecture des données sources.