View a markdown version of this page

Passer du contrôle d'accès AWS Lake Formation à IAM - 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.

Passer du contrôle d'accès AWS Lake Formation à IAM

Cette section décrit le flux de travail permettant de passer du contrôle d'accès AWS Lake Formation des autorisations aux privilèges IAM pour les tables Amazon S3 intégrées au AWS Glue Data Catalog.

Important

La modification du contrôle d'accès AWS Lake Formation des autorisations à IAM révoquera tous les accès existants basés sur Lake Formation à vos ressources S3 Tables. Une fois l'étape 2 terminée, les utilisateurs et les rôles qui accédaient auparavant aux données par le biais des subventions de Lake Formation perdront immédiatement leur accès. Vous devez accorder l'accès IAM à l'étape 1 avant de mettre à jour le catalogue. Planifiez cette migration pendant une période de maintenance et coordonnez-la avec votre équipe chargée des données.

Important

Les contrôles d'accès précis, tels que l'accès au niveau des colonnes et les filtres de cellules de données, avec les objets du catalogue de données sont disponibles uniquement en cas d'utilisation. AWS Lake Formation Avant de procéder à la migration des contrôles d'accès AWS Lake Formation vers IAM, vérifiez vos autorisations Lake Formation existantes à l'aide de politiques IAM équivalentes aws lakeformation list-permissions et déterminez si des politiques IAM équivalentes peuvent fournir l'accès dont vos utilisateurs ont besoin. Tout directeur qui s'est appuyé sur des subventions détaillées de Lake Formation aura besoin d'un accès IAM complet au niveau de la table après la migration du contrôle d'accès.

Conditions préalables

Avant de commencer, assurez-vous de ce qui suit :

  • Vous avez identifié toutes les subventions de Lake Formation actuellement en vigueur pour les ressources en cours de migration. Courez aws lakeformation list-permissions --resource-type TABLE pour les examiner.

  • Vous avez préparé des politiques IAM qui fournissent un accès équivalent à tous les principaux concernés.

  • Le rôle IAM enregistré auprès de Lake Formation existe toujours lakeformation:GetDataAccess (nécessaire pendant la période de transition hybride).

En utilisant AWS CLI

  1. Étape 1 : octroyer des autorisations IAM aux principaux

    Associez des politiques IAM aux utilisateurs ou aux rôles qui ont besoin d'un accès. La politique doit inclure à la fois les autorisations AWS Glue relatives aux métadonnées et les autorisations relatives aux données des tables S3.

    Note

    L'exemple de politique suivant fournit uniquement un accès en lecture.

    aws iam put-user-policy \ --user-name GlueIAMAccessUser \ --policy-name S3TablesIAMAccessPolicy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "GlueMetadataAccess", "Effect": "Allow", "Action": [ "glue:GetCatalog", "glue:GetDatabase", "glue:GetTable" ], "Resource": [ "arn:aws:glue:us-east-1:AWSAccountID:catalog/s3tablescatalog", "arn:aws:glue:us-east-1:AWSAccountID:database/s3tablescatalog/table-bucket-name/namespace", "arn:aws:glue:us-east-1:AWSAccountID:table/s3tablescatalog/table-bucket-name/namespace/*" ] }, { "Sid": "S3TablesDataAccess", "Effect": "Allow", "Action": [ "s3tables:GetTableBucket", "s3tables:GetTable", "s3tables:GetTableMetadataLocation", "s3tables:GetTableData" ], "Resource": [ "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/table-bucket-name", "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/table-bucket-name/table/*" ] } ] }'

    Vérifiez que tous les utilisateurs et rôles concernés peuvent accéder aux tables attendues à l'aide de leurs informations d'identification IAM avant de continuer.

  2. Étape 2 : mettre à jour le catalogue pour restaurer les autorisations par défaut d'IAM

    Mettez à jour le catalogue en conséquence CreateDatabaseDefaultPermissions et CreateTableDefaultPermissions ALL accordez-le àIAM_ALLOWED_PRINCIPALS. Définissez cette OverwriteChildResourcePermissionsWithDefault option pour Accept que la modification se propage à toutes les ressources enfants existantes, et pas seulement à celles qui viennent d'être créées.

    aws glue update-catalog \ --catalog-id "s3tablescatalog" \ --catalog-input '{ "FederatedCatalog": { "Identifier": "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/*", "ConnectionName": "aws:s3tables" }, "CreateDatabaseDefaultPermissions": [{ "Principal": {"DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"}, "Permissions": ["ALL"] }], "CreateTableDefaultPermissions": [{ "Principal": {"DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"}, "Permissions": ["ALL"] }], "OverwriteChildResourcePermissionsWithDefault": "Accept" }'
  3. Étape 3 : Désenregistrer la ressource de Lake Formation

    Une fois que vous avez confirmé que tous les accès fonctionnent conformément aux politiques IAM et qu'aucun principe ne dépend des subventions de Lake Formation, vous pouvez annuler l'enregistrement de la ressource auprès de Lake Formation pour terminer la migration.

    aws lakeformation deregister-resource \ --resource-arn "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/*"
    Note

    Après avoir annulé l'enregistrement de la ressource, supprimez lakeformation:GetDataAccess de l'IAM les principaux qui n'en ont plus besoin.

Aucune revoke-permissions étape n'est requise.