Mise à niveau AWS Glue autorisations de données pour le AWS Lake Formation modèle - 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.

Mise à niveau AWS Glue autorisations de données pour le AWS Lake Formation modèle

AWS Lake Formation les autorisations permettent un contrôle d'accès précis pour les données de votre lac de données. Vous pouvez utiliser le modèle d'autorisations de Lake Formation pour gérer vos AWS Glue Data Catalog objets et emplacements de données existants dans Amazon Simple Storage Service (Amazon S3).

Le modèle d'autorisations de Lake Formation utilise des autorisations grossières AWS Identity and Access Management (IAM) pour l'accès aux services. API Lake Formation utilise des Filtrage des données et sécurité au niveau des cellules dans Lake Formation fonctionnalités pour restreindre l'accès aux tables au niveau des colonnes, des lignes et des cellules pour les utilisateurs et leurs applications. À titre de comparaison, le AWS Glue le modèle accorde l'accès aux données via des IAMpolitiques basées sur l'identité et basées sur les ressources.

Pour effectuer le changement, suivez les étapes décrites dans ce guide.

Pour de plus amples informations, veuillez consulter Vue d'ensemble des autorisations relatives à Lake Formation .

À propos des autorisations par défaut

Pour maintenir la rétrocompatibilité avec AWS Glue, par défaut, AWS Lake Formation accorde l'Superautorisation au IAMAllowedPrincipals groupe sur tous les sites existants AWS Glue Ressources du catalogue de données, et accorde l'Superautorisation sur les nouvelles ressources du catalogue de données si les paramètres Utiliser uniquement le contrôle IAM d'accès sont activés. Ainsi, l'accès aux ressources du catalogue de données et aux emplacements Amazon S3 est contrôlé uniquement par des politiques AWS Identity and Access Management (IAM). Le IAMAllowedPrincipals groupe inclut tous IAM les utilisateurs et rôles autorisés à accéder aux objets de votre catalogue de données conformément à vos IAM politiques. L'Superautorisation permet au principal d'effectuer toutes les opérations de Lake Formation prises en charge sur la base de données ou la table pour laquelle elle est accordée.

Vous pouvez commencer à utiliser Lake Formation pour gérer l'accès à vos données en enregistrant les emplacements des ressources du catalogue de données existantes dans Lake Formation ou en utilisant le mode d'accès hybride. Lorsque vous enregistrez l'emplacement Amazon S3 en mode d'accès hybride, vous pouvez activer les autorisations de Lake Formation en optant pour les principes pour les bases de données et les tables situées sous cet emplacement.

Pour faciliter la transition des autorisations de lac de données d'un IAM modèle Amazon S3 vers les autorisations 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 de plus amples informations, veuillez consulter Mode d'accès hybride.

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

Pour commencer à utiliser les autorisations de Lake Formation avec vos autorisations existantes AWS Glue Bases de données et tables du catalogue de données, vous devez effectuer les opérations suivantes :

  1. Déterminez les IAM autorisations existantes de vos utilisateurs pour chaque base de données et chaque table.

  2. Répliquez ces autorisations dans Lake Formation.

  3. Pour chaque site Amazon S3 contenant des données :

    1. Révoquez l'Superautorisation accordée au IAMAllowedPrincipals groupe sur chaque ressource du catalogue de données qui fait référence à cet emplacement.

    2. Enregistrez l'emplacement auprès de Lake Formation.

  4. Nettoyez les politiques de contrôle IAM d'accès détaillées existantes.

Important

Pour ajouter de nouveaux utilisateurs pendant le processus de transition de votre catalogue de données, vous devez configurer le granular AWS Glue autorisations d'entrée IAM comme avant. Vous devez également reproduire ces autorisations dans Lake Formation, comme décrit dans cette section. Si les nouveaux utilisateurs appliquent les IAM politiques générales décrites dans ce guide, ils peuvent répertorier toutes les bases de données ou tables auxquelles l'Superautorisation est accordée. IAMAllowedPrincipals Ils peuvent également consulter les métadonnées de ces ressources.

Suivez les étapes décrites dans cette section pour passer au modèle d'autorisations Lake Formation.

Étape 1 : Répertorier les autorisations existantes des utilisateurs et des rôles

Pour commencer à utiliser AWS Lake Formation les autorisations avec vos autorisations existantes AWS Glue bases de données et tables, vous devez d'abord déterminer les autorisations existantes de vos utilisateurs.

Important

Avant de commencer, assurez-vous d'avoir terminé les tâches dansDébuter avec Lake Formation.

Utilisation de l'APIopération

Utilisez l'ListPoliciesGrantingServiceAccessAPIopération AWS Identity and Access Management (IAM) pour déterminer les IAM politiques associées à chaque principal (utilisateur ou rôle). À partir des politiques renvoyées dans les résultats, vous pouvez déterminer les IAM autorisations accordées au principal. Vous devez invoquer le API pour chaque principal séparément.

L' AWS CLI exemple suivant renvoie les politiques associées à l'utilisateurglue_user1.

aws iam list-policies-granting-service-access --arn arn:aws:iam::111122223333:user/glue_user1 --service-namespaces glue

La commande renvoie des résultats similaires aux suivants.

{ "PoliciesGrantingServiceAccess": [ { "ServiceNamespace": "glue", "Policies": [ { "PolicyType": "INLINE", "PolicyName": "GlueUserBasic", "EntityName": "glue_user1", "EntityType": "USER" }, { "PolicyType": "MANAGED", "PolicyArn": "arn:aws:iam::aws:policy/AmazonAthenaFullAccess", "PolicyName": "AmazonAthenaFullAccess" } ] } ], "IsTruncated": false }

À l'aide du AWS Management Console

Vous pouvez également consulter ces informations sur la console AWS Identity and Access Management (IAM), dans l'onglet Access Advisor de la page Résumé de l'utilisateur ou du rôle :

  1. Ouvrez la IAM console à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, sélectionnez Users (Utilisateurs) ou Roles (Rôles).

  3. Choisissez un nom dans la liste pour ouvrir sa page de résumé, puis cliquez sur l'onglet Access Advisor.

  4. Examinez chacune des politiques afin de déterminer la combinaison de bases de données, de tables et d'actions pour laquelle chaque utilisateur est autorisé.

    N'oubliez pas d'inspecter les rôles en plus des utilisateurs au cours de ce processus, car vos tâches de traitement des données peuvent assumer des rôles pour accéder aux données.

En utilisant AWS CloudTrail

Une autre façon de déterminer vos autorisations existantes consiste à AWS CloudTrail rechercher AWS Glue APIappels où le additionaleventdata champ des logs contient une insufficientLakeFormationPermissions entrée. Cette entrée répertorie la base de données et la table pour lesquelles l'utilisateur doit disposer des autorisations de Lake Formation pour effectuer la même action.

Il s'agit de journaux d'accès aux données, il n'est donc pas garanti qu'ils produisent une liste complète des utilisateurs et de leurs autorisations. Nous vous recommandons de choisir une plage de temps étendue pour capturer la plupart des modèles d'accès aux données de vos utilisateurs, par exemple plusieurs semaines ou mois.

Pour plus d'informations, consultez la section Affichage des événements avec l'historique des CloudTrail événements dans le guide de AWS CloudTrail l'utilisateur.

Ensuite, vous pouvez configurer les autorisations de Lake Formation pour qu'elles correspondent aux AWS Glue autorisations. Consultez Étape 2 : configurer des autorisations équivalentes pour Lake Formation.

Étape 2 : configurer des autorisations équivalentes pour Lake Formation

À l'aide des informations collectées dansÉtape 1 : Répertorier les autorisations existantes des utilisateurs et des rôles, accordez AWS Lake Formation des autorisations correspondant aux AWS Glue autorisations. Utilisez l'une des méthodes suivantes pour effectuer les subventions :

Pour de plus amples informations, veuillez consulter Vue d'ensemble des autorisations relatives à Lake Formation .

Après avoir configuré les autorisations de Lake Formation, passez àÉtape 3 : IAM Autoriser les utilisateurs à utiliser Lake Formation.

Étape 3 : IAM Autoriser les utilisateurs à utiliser Lake Formation

Pour utiliser le modèle AWS Lake Formation d'autorisations, les directeurs doivent avoir AWS Identity and Access Management (IAM) des autorisations sur la Lake FormationAPIs.

Créez la politique suivante IAM et associez-la à chaque utilisateur ayant besoin d'accéder à votre lac de données. Nommez la stratégie LakeFormationDataAccess.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": "*" } ] }

Passez ensuite aux autorisations de Lake Formation, un emplacement de données à la fois. Consultez Étape 4 : Basculez vos magasins de données vers le modèle d'autorisations Lake Formation.

Étape 4 : Basculez vos magasins de données vers le modèle d'autorisations Lake Formation

Passez aux autorisations de Lake Formation, un emplacement de données à la fois. Pour ce faire, répétez l'intégralité de cette section jusqu'à ce que vous ayez enregistré tous les chemins Amazon Simple Storage Service (Amazon S3) référencés par votre catalogue de données.

Vérifiez les autorisations de Lake Formation

Avant d'enregistrer un emplacement, effectuez une étape de vérification pour vous assurer que les bons directeurs disposent des autorisations requises pour la formation de Lake et qu'aucune autorisation de Lake Formation n'est accordée à des directeurs qui ne devraient pas en avoir. À l'aide de l'GetEffectivePermissionsForPathAPIopération Lake Formation, identifiez les ressources du catalogue de données qui font référence à l'emplacement Amazon S3, ainsi que les principaux détenteurs d'autorisations sur ces ressources.

L' AWS CLI exemple suivant renvoie les bases de données et les tables du catalogue de données qui font référence au compartiment Amazon S3products.

aws lakeformation get-effective-permissions-for-path --resource-arn arn:aws:s3:::products --profile datalake_admin

Notez l'profileoption. Nous vous recommandons d'exécuter la commande en tant qu'administrateur du lac de données.

Ce qui suit est un extrait des résultats renvoyés.

{ "PermissionsWithGrantOption": [ "SELECT" ], "Resource": { "TableWithColumns": { "Name": "inventory_product", "ColumnWildcard": {}, "DatabaseName": "inventory" } }, "Permissions": [ "SELECT" ], "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1", "DataLakePrincipalType": "IAM_USER" } },...
Important

Si vos recettes AWS Glue Le catalogue de données est crypté et GetEffectivePermissionsForPath renvoie uniquement les bases de données et les tables créées ou modifiées après la mise à disposition générale de Lake Formation.

Sécuriser les ressources du catalogue de données existantes

Ensuite, révoquez l'Superautorisation pour chaque table et IAMAllowedPrincipals base de données que vous avez identifiées pour l'emplacement.

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 révoquer Super depuis IAMAllowedPrincipals une table
  1. Ouvrez la AWS Lake Formation console à l'adresse https://console.aws.amazon.com/lakeformation/. Connectez-vous en tant qu'administrateur du lac de données.

  2. Dans le volet de navigation, choisissez Tables.

  3. Sur la page Tables, sélectionnez le bouton radio à côté du tableau souhaité.

  4. Dans le menu Actions, choisissez Révoquer.

  5. Dans la boîte de dialogue Révoquer les autorisations, dans la liste des IAMutilisateurs et des rôles, faites défiler la page jusqu'à l'en-tête Groupe, puis choisissez IAMAllowedPrincipals.

  6. Sous Autorisations relatives aux tables, assurez-vous que Super est sélectionné, puis choisissez Révoquer.

Pour révoquer l'accès Super à une IAMAllowedPrincipals base de données
  1. Ouvrez la AWS Lake Formation console à l'adresse https://console.aws.amazon.com/lakeformation/. Connectez-vous en tant qu'administrateur du lac de données.

  2. Dans le panneau de navigation, choisissez Databases (Bases de données).

  3. Sur la page Bases de données, sélectionnez le bouton radio à côté de la base de données souhaitée.

  4. Dans le menu Actions, choisissez Modifier.

  5. Sur la page Modifier la base de données, désactivez l'option Utiliser uniquement le contrôle d'IAMaccès pour les nouvelles tables de cette base de données, puis sélectionnez Enregistrer.

  6. De retour sur la page Bases de données, assurez-vous que la base de données est toujours sélectionnée, puis dans le menu Actions, choisissez Révoquer.

  7. Dans la boîte de dialogue Révoquer les autorisations, dans la liste des IAMutilisateurs et des rôles, faites défiler la page jusqu'à l'en-tête Groupe, puis choisissez IAMAllowedPrincipals.

  8. Sous Autorisations de base de données, assurez-vous que Super est sélectionné, puis choisissez Révoke.

Activez les autorisations de Lake Formation pour votre site Amazon S3

Enregistrez ensuite l'emplacement Amazon S3 auprès de Lake Formation. Pour ce faire, vous pouvez utiliser le processus décrit dansAjouter un emplacement Amazon S3 à votre lac de données. Vous pouvez également utiliser l'RegisterResourceAPIopération décrite dansAPI de vente d'informations d'identification.

Note

Si un établissement parent est enregistré, il n'est pas nécessaire d'enregistrer un établissement pour enfants.

Après avoir terminé ces étapes et vérifié que vos utilisateurs peuvent accéder à leurs données, vous avez passé avec succès aux autorisations Lake Formation. Passez à l'étape suivante,Étape 5 : Sécuriser les nouvelles ressources du catalogue de données.

Étape 5 : Sécuriser les nouvelles ressources du catalogue de données

Sécurisez ensuite toutes les nouvelles ressources du catalogue de données en modifiant les paramètres par défaut du catalogue de données. Désactivez les options permettant d'utiliser uniquement le contrôle d'accès AWS Identity and Access Management (IAM) pour les nouvelles bases de données et tables.

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. Ouvrez la AWS Lake Formation console à l'adresse https://console.aws.amazon.com/lakeformation/. Connectez-vous en tant qu'utilisateur IAM administratif (l'utilisateur Administrator ou un autre utilisateur doté de la politique AdministratorAccess AWS gérée).

  2. Dans le panneau de navigation, sélectionnez Settings (Paramètres).

  3. Sur la page des paramètres du catalogue de données, décochez les deux cases, puis choisissez Enregistrer.

L'étape suivante consiste à accorder aux utilisateurs l'accès à des bases de données ou à des tables supplémentaires à l'avenir. Consultez Étape 6 : Donnez aux utilisateurs une nouvelle IAM politique pour l'accès futur aux lacs de données.

Étape 6 : Donnez aux utilisateurs une nouvelle IAM politique pour l'accès futur aux lacs de données

Pour permettre à vos utilisateurs d'accéder à des bases de données ou à des tables supplémentaires du catalogue de données à l'avenir, vous devez leur donner la politique en ligne grossière AWS Identity and Access Management (IAM) décrite ci-dessous. Nommez la stratégie GlueFullReadAccess.

Important

Si vous associez cette politique à un utilisateur avant de révoquer l'accès à chaque IAMAllowedPrincipals base Super de données et table de votre catalogue de données, cet utilisateur peut consulter toutes les métadonnées de toutes les ressources pour lesquelles Super il est accordé àIAMAllowedPrincipals.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GlueFullReadAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions" ], "Resource": "*" } ] }
Note

Les politiques intégrées définies dans cette étape et dans les étapes précédentes contiennent des IAM autorisations minimales. Pour les politiques suggérées aux administrateurs de lacs de données, aux analystes de données et à d'autres personnes, consultezRéférence des personnes et des IAM autorisations de Lake Formation.

Ensuite, passez àÉtape 7 : Nettoyer les IAM politiques existantes.

Étape 7 : Nettoyer les IAM politiques existantes

Après avoir configuré les AWS Lake Formation autorisations et créé et attaché les politiques de contrôle d'accès AWS Identity and Access Management (IAM) grossières, effectuez la dernière étape suivante :

  • Supprimez des utilisateurs, des groupes et des rôles les anciennes IAM politiques de contrôle d'accès détaillées que vous avez répliquées dans Lake Formation.

Ce faisant, vous vous assurez que ces principaux n'ont plus accès directement aux données d'Amazon Simple Storage Service (Amazon S3). Vous pouvez ensuite gérer l'accès aux lacs de données pour ces principaux entièrement via Lake Formation.