Contrôle d'accès aux métadonnées - 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.

Contrôle d'accès aux métadonnées

Pour le contrôle d'accès aux ressources du catalogue de données, la discussion suivante suppose un contrôle d'accès précis avec les autorisations de Lake Formation et un contrôle d'accès grossier avec des politiques IAM.

Il existe deux méthodes distinctes pour accorder des autorisations à Lake Formation sur les ressources du catalogue de données :

  • Contrôle d'accès aux ressources nommées : avec cette méthode, vous accordez des autorisations sur des bases de données ou des tables spécifiques en spécifiant les noms des bases de données ou des tables. Les subventions se présentent sous la forme suivante :

    Accordez des autorisations aux directeurs sur les ressources [avec option de subvention].

    Avec l'option de subvention, vous pouvez autoriser le bénéficiaire à accorder les autorisations à d'autres principaux.

  • Contrôle d'accès basé sur les balises : avec cette méthode, vous attribuez une ou plusieurs balises LF aux bases de données, aux tables et aux colonnes du catalogue de données, et vous accordez des autorisations sur une ou plusieurs balises LF aux principaux. Chaque balise LF est une paire clé-valeur, telle que. department=sales Un principal dont les balises LF correspondent aux balises LF d'une ressource de catalogue de données peut accéder à cette ressource. Cette méthode est recommandée pour les lacs de données contenant un grand nombre de bases de données et de tables. C'est expliqué en détail dansContrôle d'accès basé sur des balises Lake Formation.

Les autorisations dont dispose un principal sur une ressource sont l'union des autorisations accordées par les deux méthodes.

Le tableau suivant récapitule les autorisations de Lake Formation disponibles sur les ressources du catalogue de données. Les en-têtes des colonnes indiquent la ressource pour laquelle l'autorisation est accordée.

Catalogue Base de données Tableau
CREATE_DATABASE CREATE_TABLE ALTER
ALTER DROP
DROP DESCRIBE
DESCRIBE SELECT*
INSERT*
DELETE*

Par exemple, l'CREATE_TABLEautorisation est accordée sur une base de données. Cela signifie que le principal est autorisé à créer des tables dans cette base de données.

Les autorisations marquées d'un astérisque (*) sont accordées sur les ressources du catalogue de données, mais elles s'appliquent aux données sous-jacentes. Par exemple, l'DROPautorisation sur une table de métadonnées vous permet de supprimer la table du catalogue de données. Cependant, l'DELETEautorisation accordée sur la même table vous permet de supprimer les données sous-jacentes de la table dans Amazon S3, à l'aide, par exemple, d'une DELETE instruction SQL. Avec ces autorisations, vous pouvez également consulter le tableau sur la console Lake Formation et récupérer des informations sur le tableau à l'aide de l'AWS GlueAPI. Ainsi, SELECTINSERT, et DELETE sont à la fois des autorisations de catalogue de données et des autorisations d'accès aux données.

Lorsque vous SELECT accordez un accord sur un tableau, vous pouvez ajouter un filtre qui inclut ou exclut une ou plusieurs colonnes. Cela permet un contrôle d'accès précis sur les colonnes des tables de métadonnées, limitant ainsi les colonnes que les utilisateurs des services intégrés peuvent voir lorsqu'ils exécutent des requêtes. Cette fonctionnalité n'est pas disponible uniquement en utilisant les politiques IAM.

Il existe également une autorisation spéciale nomméeSuper. 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. Cette autorisation peut coexister avec les autres autorisations de Lake Formation. Par exemple, vous pouvez accorder SuperSELECT, et INSERT sur une table de métadonnées. Le principal peut effectuer toutes les actions prises en charge sur la table, et lorsque vous révoquezSuper, les INSERT autorisations SELECT et sont conservées.

Pour plus de détails sur chaque autorisation, voirRéférence des autorisations de Lake Formation.

Important

Pour pouvoir consulter une table de catalogue de données créée par un autre utilisateur, vous devez disposer d'au moins une autorisation Lake Formation sur la table. Si vous disposez d'au moins une autorisation sur la table, vous pouvez également voir la base de données contenant la table.

Vous pouvez accorder ou révoquer les autorisations du catalogue de données à l'aide de la console Lake Formation, de l'API ou du AWS Command Line Interface (AWS CLI). Voici un exemple de AWS CLI commande qui accorde à l'utilisateur l'datalake_user1autorisation de créer des tables dans la retail base de données.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'

Voici un exemple de politique IAM de contrôle d'accès grossière qui complète le contrôle d'accès détaillé par des autorisations Lake Formation. Il permet toutes les opérations sur n'importe quelle base de données ou table de métadonnées.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:*Database*", "glue:*Table*", "glue:*Partition*" ], "Resource": "*" } ] }

L'exemple suivant est également grossier mais un peu plus restrictif. Il permet des opérations en lecture seule sur toutes les bases de données et tables de métadonnées du catalogue de données du compte et de la région désignés.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTables", "glue:SearchTables", "glue:GetTable", "glue:GetDatabase", "glue:GetDatabases" ], "Resource": "arn:aws:glue:us-east-1:111122223333:*" } ] }

Comparez ces politiques à la politique suivante, qui met en œuvre un contrôle d'accès précis basé sur l'IAM. Il accorde des autorisations uniquement sur un sous-ensemble de tables de la base de métadonnées de gestion de la relation client (CRM) du compte et de la région désignés.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTables", "glue:SearchTables", "glue:GetTable", "glue:GetDatabase", "glue:GetDatabases" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/CRM", "arn:aws:glue:us-east-1:111122223333:table/CRM/P*" ] } ] }

Pour d'autres exemples de politiques de contrôle d'accès détaillées, voir. Référence des personnalités de Lake Formation et des autorisations IAM