Référence des autorisations de 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.

Référence des autorisations de Lake Formation

Pour effectuer des AWS Lake Formation opérations, les directeurs ont besoin à la fois des autorisations Lake Formation et des autorisations AWS Identity and Access Management (IAM). Vous accordez généralement des autorisations IAM à l'aide de politiques de contrôle d'accès grossières, comme décrit dans. Vue d'ensemble des autorisations relatives à Lake Formation Vous pouvez accorder des autorisations à Lake Formation à l'aide de la console, de l'API ou du AWS Command Line Interface (AWS CLI).

Pour savoir comment accorder ou révoquer les autorisations de Lake Formation, consultez Octroi d'autorisations sur les ressources du catalogue de données etOctroi d'autorisations de localisation des données.

Note

Les exemples présentés dans cette section montrent comment accorder des autorisations aux principaux d'un même AWS compte. Pour des exemples de subventions entre comptes, voirPartage de données entre comptes dans Lake Formation.

Permissions de Lake Formation par type de ressource

Voici les autorisations valides de Lake Formation disponibles pour chaque type de ressource :

Ressource Autorisation
Database ALL (Super)
ALTER
CREATE_TABLE
DESCRIBE
DROP
Table ALL (Super)
ALTER
DELETE
DESCRIBE
DROP
INSERT
SELECT
View ALL (Super)
SELECT
DESCRIBE
DROP
Data Catalog CREATE_DATABASE
Amazon S3 location DATA_LOCATION_ACCESS
LF-Tags DROP
ALTER
LF-Tag values ASSOCIATE
DESCRIBE
GrantWithLFTagExpression
LF-Tag policy - Database ALL (Super)
ALTER
CREATE_TABLE
DESCRIBE
DROP
LF-Tag policy - Table ALL (Super)
ALTER
DESCRIBE
DELETE
DROP
INSERT
SELECT
Resource link - Database or Table DESCRIBE
DROP
Table with data filters DESCRIBE
DROP
SELECT
Table with column filter SELECT

Lake Formation accorde et AWS CLI révoque des commandes

Chaque description d'autorisation présentée dans cette section inclut des exemples d'octroi de l'autorisation à l'aide d'une AWS CLI commande. Voici les synopsis de la Lake Formation grant-permissions et revoke-permissions AWS CLI des commandes.

grant-permissions [--catalog-id <value>] --principal <value> --resource <value> --permissions <value> [--permissions-with-grant-option <value>] [--cli-input-json <value>] [--generate-cli-skeleton <value>]
revoke-permissions [--catalog-id <value>] --principal <value> --resource <value> --permissions <value> [--permissions-with-grant-option <value>] [--cli-input-json <value>] [--generate-cli-skeleton <value>]

Pour une description détaillée de ces commandes, voir grant-permissions et revoke-permissions dans la référence des commandes.AWS CLI Cette section fournit des informations supplémentaires sur --principal cette option.

La valeur de l'--principaloption est l'une des suivantes :

  • Amazon Resource Name (ARN) pour un utilisateur ou un rôle AWS Identity and Access Management (IAM)

  • ARN pour un utilisateur ou un groupe qui s'authentifie via un fournisseur SAML, tel que Microsoft Active Directory Federation Service (AD FS)

  • ARN pour un QuickSight utilisateur ou un groupe Amazon

  • Pour les autorisations entre comptes, un identifiant de AWS compte, un identifiant d'organisation ou un identifiant d'unité organisationnelle

Vous trouverez ci-dessous la syntaxe et des exemples pour tous les --principal types.

Le principal est un utilisateur IAM

Syntaxe :

--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/<user-name>

Exemple :

--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1
Le directeur est un rôle IAM

Syntaxe :

--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:role/<role-name>

Exemple :

--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/workflowrole
Le principal est un utilisateur qui s'authentifie via un fournisseur SAML

Syntaxe :

--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:saml-provider/<SAMLproviderName>:user/<user-name>

Exemples :

--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/idp1:user/datalake_user1
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/AthenaLakeFormationOkta:user/athena-user@example.com
Le principal est un groupe qui s'authentifie via un fournisseur SAML

Syntaxe :

--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:saml-provider/<SAMLproviderName>:group/<group-name>

Exemples :

--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/idp1:group/data-scientists
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/AthenaLakeFormationOkta:group/my-group
Le principal est un utilisateur QuickSight d'Amazon Enterprise Edition

Syntaxe :

--principal DataLakePrincipalIdentifier=arn:aws:quicksight:<region>:<account-id>:user/<namespace>/<user-name>
Note

Pour<namespace>, vous devez spécifierdefault.

Exemple :

--principal DataLakePrincipalIdentifier=arn:aws:quicksight:us-east-1:111122223333:user/default/bi_user1
Principal est un groupe Amazon QuickSight Enterprise Edition

Syntaxe :

--principal DataLakePrincipalIdentifier=arn:aws:quicksight:<region>:<account-id>:group/<namespace>/<group-name>
Note

Pour<namespace>, vous devez spécifierdefault.

Exemple :

--principal DataLakePrincipalIdentifier=arn:aws:quicksight:us-east-1:111122223333:group/default/data_scientists
Le principal est un AWS compte

Syntaxe :

--principal DataLakePrincipalIdentifier=<account-id>

Exemple :

--principal DataLakePrincipalIdentifier=111122223333
Le principal est une organisation

Syntaxe :

--principal DataLakePrincipalIdentifier=arn:aws:organizations::<account-id>:organization/<organization-id>

Exemple :

--principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl
Le directeur est une unité organisationnelle

Syntaxe :

--principal DataLakePrincipalIdentifier=arn:aws:organizations::<account-id>:ou/<organization-id>/<organizational-unit-id>

Exemple :

--principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:ou/o-abcdefghijkl/ou-ab00-cdefghij
Le principal est un utilisateur ou un groupe d'identités IAM Identity Center

Exemple : utilisateur

--principal DataLakePrincipalIdentifier=arn:aws:identitystore:::user/<UserID>

Exemple : Groupe :

--principal DataLakePrincipalIdentifier=arn:aws:identitystore:::group/<GroupID>
Le principal est un groupe IAM - IAMAllowedPrincipals

Lake Formation attribue des Super autorisations sur toutes les bases de données et tables du catalogue de données à un groupe appelé IAMAllowedPrincipals par défaut. Si cette autorisation de groupe existe sur une base de données ou une table, tous les principaux de votre compte auront accès à la ressource par le biais des politiques principales IAM pour. AWS Glue Il assure une rétrocompatibilité lorsque vous commencez à utiliser les autorisations de Lake Formation pour sécuriser les ressources du catalogue de données qui étaient auparavant protégées par les politiques IAM pour AWS Glue.

Lorsque vous utilisez Lake Formation pour gérer les autorisations pour les ressources de votre catalogue de données, vous devez d'abord révoquer l'IAMAllowedPrincipalsautorisation sur les ressources ou activer les principes et les ressources en mode d'accès hybride pour que les autorisations de Lake Formation fonctionnent.

Exemple :

--principal DataLakePrincipalIdentifier=IAM_Allowed_Principals
Le principal est un groupe IAM - ALLIAMPrincipals

Lorsque vous autorisez un ALLIAMPrincipals groupe sur une ressource de catalogue de données, chaque principal du compte a accès à la ressource de catalogue de données à l'aide des autorisations Lake Formation et des autorisations IAM.

Exemple :

--principal DataLakePrincipalIdentifier=123456789012:IAMPrincipals

Permissions de Lake Formation

Cette section contient les autorisations de Lake Formation disponibles que vous pouvez accorder aux directeurs.

ALTER

Autorisation Accordé sur cette ressource Le bénéficiaire a également besoin
ALTER DATABASE glue:UpdateDatabase
ALTER TABLE glue:UpdateTable
ALTER LF-Tag lakeformation:UpdateLFTag

Un directeur disposant de cette autorisation peut modifier les métadonnées d'une base de données ou d'une table dans le catalogue de données. Pour les tables, vous pouvez modifier le schéma des colonnes et ajouter des paramètres de colonne. Vous ne pouvez pas modifier les colonnes des données sous-jacentes vers lesquelles pointe une table de métadonnées.

Si la propriété modifiée est un emplacement enregistré auprès d'Amazon Simple Storage Service (Amazon S3), le principal doit disposer des autorisations de localisation des données sur le nouvel emplacement.

L'exemple suivant accorde l'ALTERautorisation à l'utilisateur datalake_user1 sur la base de données retail dans le AWS compte 1111-2222-3333.

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

L'exemple suivant accorde ALTER à l'utilisateur le droit d'datalake_user1accéder à la table inventory de la base de donnéesretail.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ALTER" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

CREATE_DATABASE

Autorisation Accordé sur cette ressource Le bénéficiaire a également besoin
CREATE_DATABASE Catalogue de données glue:CreateDatabase

Un directeur disposant de cette autorisation peut créer une base de données de métadonnées ou un lien de ressource dans le catalogue de données. Le principal peut également créer des tables dans la base de données.

L'exemple suivant accorde une autorisation CREATE_DATABASE à l'utilisateur datalake_user1 du AWS compte 1111-2222-3333.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_DATABASE" --resource '{ "Catalog": {}}'

Lorsqu'un principal crée une base de données dans le catalogue de données, aucune autorisation sur les données sous-jacentes n'est accordée. Les autorisations de métadonnées supplémentaires suivantes sont accordées (ainsi que la possibilité d'accorder ces autorisations à d'autres personnes) :

  • CREATE_TABLEdans la base de données

  • Base de données ALTER

  • Base de données DROP

Lors de la création d'une base de données, le principal peut éventuellement spécifier un emplacement Amazon S3. Selon que le principal dispose ou non d'autorisations de localisation des données, celles-ci CREATE_DATABASE peuvent ne pas être suffisantes pour créer des bases de données dans tous les cas. Il est important de garder à l'esprit les trois cas suivants.

Créer un cas d'utilisation de base de données Autorisations nécessaires
La propriété de localisation n'est pas spécifiée. CREATE_DATABASEest suffisant.
La propriété de localisation est spécifiée, et l'emplacement n'est pas géré par Lake Formation (il n'est pas enregistré). CREATE_DATABASEest suffisant.
La propriété de localisation est spécifiée, et l'emplacement est géré par Lake Formation (est enregistré). CREATE_DATABASEest obligatoire, ainsi que les autorisations de localisation des données à l'emplacement spécifié.

CREATE_TABLE

Autorisation Accordé sur cette ressource Le bénéficiaire a également besoin
CREATE_TABLE DATABASE glue:CreateTable

Un directeur disposant de cette autorisation peut créer une table de métadonnées ou un lien de ressource dans le catalogue de données de la base de données spécifiée.

L'exemple suivant accorde à l'utilisateur l'datalake_user1autorisation de créer des tables dans la retail base de données sous le AWS compte 1111-2222-3333.

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

Lorsqu'un directeur crée une table dans le catalogue de données, toutes les autorisations de Lake Formation sur la table sont accordées au principal, avec la possibilité d'accorder ces autorisations à d'autres personnes.

Subventions entre comptes

Si un compte propriétaire de base de données accorde une autorisation CREATE_TABLE à un compte destinataire et qu'un utilisateur du compte destinataire crée avec succès une table dans la base de données du compte propriétaire, les règles suivantes s'appliquent :

  • L'utilisateur et les administrateurs du lac de données du compte destinataire disposent de toutes les autorisations relatives à Lake Formation. Ils peuvent accorder des autorisations sur la table aux autres principaux de leur compte. Ils ne peuvent pas accorder d'autorisations aux principaux sur le compte du propriétaire ou sur tout autre compte.

  • Les administrateurs du lac de données du compte propriétaire peuvent accorder des autorisations sur la table aux autres principaux de leur compte.

Autorisations de localisation des données

Lorsque vous tentez de créer une table pointant vers un emplacement Amazon S3, selon que vous disposez ou non des autorisations de localisation des données, ces CREATE_TABLE autorisations peuvent ne pas être suffisantes pour créer une table. Il est important de garder à l'esprit les trois cas suivants.

Création d'un cas d'utilisation d'une table Autorisations nécessaires
L'emplacement spécifié n'est pas géré par Lake Formation (il n'est pas enregistré). CREATE_TABLEest suffisant.
L'emplacement spécifié est géré par Lake Formation (il est enregistré), et la base de données qui le contient ne possède aucune propriété de localisation ou possède une propriété de localisation qui n'est pas un préfixe Amazon S3 de l'emplacement de la table. CREATE_TABLEest obligatoire, ainsi que les autorisations de localisation des données à l'emplacement spécifié.
L'emplacement spécifié est géré par Lake Formation (il est enregistré), et la base de données contenant possède une propriété de localisation qui pointe vers un emplacement enregistré et qui est un préfixe Amazon S3 de l'emplacement de la table. CREATE_TABLEest suffisant.

DATA_LOCATION_ACCESS

Autorisation Accordé sur cette ressource Le bénéficiaire a également besoin
DATA_LOCATION_ACCESS Emplacement Amazon S3 (Autorisations Amazon S3 sur l'emplacement, qui doivent être spécifiées par le rôle utilisé pour enregistrer l'emplacement.)

Il s'agit de la seule autorisation de localisation des données. Un principal disposant de cette autorisation peut créer une base de données ou une table de métadonnées pointant vers l'emplacement Amazon S3 spécifié. L'emplacement doit être enregistré. Un directeur qui dispose d'autorisations de localisation des données sur un emplacement possède également des autorisations de localisation sur les emplacements des enfants.

L'exemple suivant accorde des autorisations de localisation des données s3://products/retail à l'utilisateur du AWS compte datalake_user1 1111-2222-3333.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3:::products/retail"}}'

DATA_LOCATION_ACCESSn'est pas nécessaire pour interroger ou mettre à jour les données sous-jacentes. Cette autorisation s'applique uniquement à la création de ressources de catalogue de données.

Pour plus d'informations sur les autorisations de localisation des données, consultezUnderlying data access control.

DELETE

Autorisation Accordé sur cette ressource Le bénéficiaire a également besoin
DELETE TABLE (Aucune autorisation IAM supplémentaire n'est requise si l'emplacement est enregistré.)

Un principal disposant de cette autorisation peut supprimer les données sous-jacentes à l'emplacement Amazon S3 indiqué dans le tableau. Le directeur peut également consulter le tableau sur la console Lake Formation et récupérer des informations sur le tableau à l'aide de l'AWS GlueAPI.

L'exemple suivant accorde l'DELETEautorisation à l'utilisateur datalake_user1 sur la table de la base de données inventory dans le AWS compte retail 1111-2222-3333.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DELETE" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

Cette autorisation s'applique uniquement aux données d'Amazon S3, et non aux données d'autres magasins de données tels qu'Amazon Relational Database Service (Amazon RDS).

DESCRIBE

Autorisation Accordé sur cette ressource Le bénéficiaire a également besoin
DESCRIBE

Lien vers les ressources du tableau

Lien vers les ressources de la base

glue:GetTable

glue:GetDatabase

DESCRIBE DATABASE glue:GetDatabase
DESCRIBE TABLE glue:GetTable
DESCRIBE LF-Tag

glue:GetTable

glue:GetDatabase

lakeformation:GetResourceLFTags

lakeformation:ListLFTags

lakeformation:GetLFTag

lakeformation:SearchTablesByLFTags

lakeformation:SearchDatabasesByLFTags

Un principal disposant de cette autorisation peut consulter la base de données, la table ou le lien de ressource spécifié. Aucune autre autorisation de catalogue de données n'est accordée implicitement, et aucune autorisation d'accès aux données n'est accordée implicitement. Les bases de données et les tables apparaissent dans les éditeurs de requêtes des services intégrés, mais aucune requête ne peut être effectuée à leur encontre à moins que d'autres autorisations de Lake Formation (par exemple,SELECT) ne soient accordées.

Par exemple, un utilisateur qui possède une DESCRIBE base de données peut voir la base de données et toutes les métadonnées de la base de données (description, emplacement, etc.). Toutefois, l'utilisateur ne peut pas savoir quelles tables contient la base de données et ne peut pas supprimer, modifier ou créer des tables dans la base de données. De même, un utilisateur qui possède DESCRIBE une table peut voir la table et ses métadonnées (description, schéma, emplacement, etc.), mais ne peut pas supprimer, modifier ou exécuter des requêtes sur la table.

Voici quelques règles supplémentaires pour DESCRIBE :

  • Si un utilisateur dispose d'autres autorisations Lake Formation sur une base de données, une table ou un lien de ressource, elles DESCRIBE sont implicitement accordées.

  • Si un utilisateur ne dispose SELECT que d'un sous-ensemble de colonnes pour un tableau (partielSELECT), il est limité à l'affichage de ces colonnes.

  • Vous ne pouvez pas accorder d'autorisation DESCRIBE à un utilisateur qui a effectué une sélection partielle sur une table. À l'inverse, vous ne pouvez pas spécifier de listes d'inclusion ou d'exclusion de colonnes pour les DESCRIBE tables accordées sur.

L'exemple suivant accorde l'DESCRIBEautorisation à l'utilisateur datalake_user1 sur le lien de ressource de la table dans la base de données inventory-link dans le AWS compte retail 1111-2222-3333.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DESCRIBE" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory-link"}}'

DROP

Autorisation Accordé sur cette ressource Le bénéficiaire a également besoin
DROP DATABASE glue:DeleteDatabase
DROP TABLE glue:DeleteTable
DROP LF-Tag lakeformation:DeleteLFTag
DROP

Lien vers les ressources de la base

Lien vers les ressources du tableau

glue:DeleteDatabase

glue:DeleteTable

Un principal disposant de cette autorisation peut supprimer une base de données, une table ou un lien de ressource dans le catalogue de données. Vous ne pouvez pas accorder l'autorisation DROP sur une base de données à un compte ou à une organisation externe.

Avertissement

La suppression d'une base de données entraîne la suppression de toutes les tables de la base de données.

L'exemple suivant accorde l'DROPautorisation à l'utilisateur datalake_user1 sur la base de données retail dans le AWS compte 1111-2222-3333.

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

L'exemple suivant accorde des DROP autorisations à l'utilisateur datalake_user1 sur la table de inventory la base de donnéesretail.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

L'exemple suivant accorde DROP à l'utilisateur datalake_user1 sur la table un lien de ressource inventory-link dans la base de donnéesretail.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory-link"}}'

INSERT

Autorisation Accordé sur cette ressource Le bénéficiaire a également besoin
INSERT TABLE (Aucune autorisation IAM supplémentaire n'est requise si l'emplacement est enregistré.)

Un principal disposant de cette autorisation peut insérer, mettre à jour et lire les données sous-jacentes à l'emplacement Amazon S3 indiqué dans le tableau. Le directeur peut également consulter le tableau dans la console Lake Formation et récupérer des informations sur le tableau à l'aide de l'AWS GlueAPI.

L'exemple suivant accorde l'INSERTautorisation à l'utilisateur datalake_user1 sur la table de la base de données inventory dans le AWS compte retail 1111-2222-3333.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "INSERT" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

Cette autorisation s'applique uniquement aux données d'Amazon S3, et non aux données d'autres magasins de données tels qu'Amazon RDS.

SELECT

Autorisation Accordé sur cette ressource Le bénéficiaire a également besoin
SELECT
  • TABLE

(Aucune autorisation IAM supplémentaire n'est requise si l'emplacement est enregistré.)

Un directeur disposant de cette autorisation peut consulter une table dans le catalogue de données et interroger les données sous-jacentes dans Amazon S3 à l'emplacement spécifié par la table. Le directeur peut consulter le tableau dans la console Lake Formation et récupérer des informations sur le tableau à l'aide de l'AWS GlueAPI. Si le filtrage des colonnes a été appliqué lorsque cette autorisation a été accordée, le principal peut consulter les métadonnées uniquement pour les colonnes incluses et ne peut interroger les données qu'à partir des colonnes incluses.

Note

Il est de la responsabilité du service d'analyse intégré d'appliquer le filtrage des colonnes lors du traitement d'une requête.

L'exemple suivant accorde l'SELECTautorisation à l'utilisateur datalake_user1 sur la table de la base de données inventory dans le AWS compte retail 1111-2222-3333.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

Cette autorisation s'applique uniquement aux données d'Amazon S3, et non aux données d'autres magasins de données tels qu'Amazon RDS.

Vous pouvez filtrer (restreindre l'accès à) des colonnes spécifiques à l'aide d'une liste d'inclusion ou d'exclusion facultative. Une liste d'inclusion indique les colonnes accessibles. Une liste d'exclusion indique les colonnes qui ne sont pas accessibles. En l'absence de liste d'inclusion ou d'exclusion, toutes les colonnes du tableau sont accessibles.

Les résultats de glue:GetTable renvoient uniquement les colonnes que l'appelant est autorisé à consulter. Les services intégrés tels qu'Amazon Athena et Amazon Redshift respectent les listes d'inclusion et d'exclusion des colonnes.

L'exemple suivant octroie une SELECT autorisation à l'utilisateur figurant datalake_user1 sur la table inventory à l'aide d'une liste d'inclusion.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "TableWithColumns": {"DatabaseName":"retail", "Name":"inventory", "ColumnNames": ["prodcode","location","period","withdrawals"]}}'

L'exemple suivant donne des autorisations SELECT sur la inventory table à l'aide d'une liste d'exclusion.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "TableWithColumns": {"DatabaseName":"retail", "Name":"inventory", "ColumnWildcard": {"ExcludedColumnNames": ["intkey", "prodcode"]}}}'

Les restrictions suivantes s'appliquent à l'SELECTautorisation :

  • Lors de l'octroiSELECT, vous ne pouvez pas inclure l'option d'octroi si le filtrage des colonnes est appliqué.

  • Vous ne pouvez pas restreindre le contrôle d'accès aux colonnes qui sont des clés de partition.

  • Un principal disposant de l'SELECTautorisation sur un sous-ensemble de colonnes d'une table ne peut pas obtenir l'INSERTautorisation ALTERDROP,DELETE, ou sur cette table. De même, un principal disposant de l'INSERTautorisation ALTER DROPDELETE,, ou sur une table ne peut pas SELECT obtenir l'autorisation de filtrage des colonnes.

L'SELECTautorisation apparaît toujours sur la page Autorisations relatives aux données de la console Lake Formation sous forme de ligne séparée. L'image suivante montre que cela SELECT est accordé aux utilisateurs datalake_user2 et datalake_user3 sur toutes les colonnes du inventory tableau.

La page Autorisations relatives aux données affiche deux lignes pour l'utilisateur datalake_user1 et l'inventaire des tables. La première ligne répertorie le tableau des autorisations de suppression et d'insertion avec type de ressource, et la deuxième ligne répertorie la colonne Autorisation de sélection avec type de ressource, avec la ressource indiquée sous la forme retail.inventory.*.

Super

Autorisation Accordé sur cette ressource Le bénéficiaire a également besoin
Super DATABASE glue:*Database*
Super TABLE glue:*Table*, glue:*Partition*

Cette autorisation permet au principal d'effectuer toutes les opérations de Lake Formation prises en charge sur la base de données ou la table. Vous ne pouvez pas accorder d'autorisation Super sur une base de données à un compte externe.

Cette autorisation peut coexister avec les autres autorisations de Lake Formation. Par exemple, vous pouvez accorder les INSERT autorisations SuperSELECT, et sur une table de métadonnées. Le principal peut ensuite effectuer toutes les opérations prises en charge sur la table. Lorsque vous révoquezSuper, les INSERT autorisations SELECT et sont conservées et le principal ne peut effectuer que des opérations de sélection et d'insertion.

Au lieu de l'octroyer Super à un directeur individuel, vous pouvez l'accorder au groupeIAMAllowedPrincipals. Le IAMAllowedPrincipals groupe est créé automatiquement et inclut tous les utilisateurs et rôles IAM autorisés à accéder aux ressources de votre catalogue de données par vos politiques IAM. Lorsqu'il Super est accordé IAMAllowedPrincipals pour une ressource de catalogue de données, l'accès à la ressource est effectivement contrôlé uniquement par les politiques IAM.

Vous pouvez Super obtenir l'autorisation d'accéder automatiquement IAMAllowedPrincipals aux nouvelles ressources du catalogue en tirant parti des options de la page Paramètres de la console Lake Formation.

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.
  • Pour l'accorder Super à IAMAllowedPrincipals toutes les nouvelles bases de données, sélectionnez Utiliser uniquement le contrôle d'accès IAM pour les nouvelles bases de données.

  • IAMAllowedPrincipalsPour l'accorder Super à toutes les nouvelles tables des nouvelles bases de données, sélectionnez Utiliser uniquement le contrôle d'accès IAM pour les nouvelles tables des nouvelles bases de données.

    Note

    Cette option entraîne la sélection par défaut de la case Utiliser uniquement le contrôle d'accès IAM pour les nouvelles tables de cette base de données dans la boîte de dialogue Créer une base de données. Il ne fait rien de plus que cela. C'est la case à cocher de la boîte de dialogue Créer une base de données qui permet d'accorder Super àIAMAllowedPrincipals.

Ces options de la page Paramètres sont activées par défaut. Pour plus d’informations, consultez les ressources suivantes :

ASSOCIATE

Autorisation Accordé sur cette ressource Le bénéficiaire a également besoin
ASSOCIATE LF-Tag

glue:GetDatabase

glue:GetTable

lakeformation:AddLFTagsToResource"

lakeformation:RemoveLFTagsFromResource"

lakeformation:GetResourceLFTags

lakeformation:ListLFTags

lakeformation:GetLFTag

lakeformation:SearchTablesByLFTags

lakeformation:SearchDatabasesByLFTags

Un directeur disposant de cette autorisation sur une balise LF peut attribuer la balise LF à une ressource de catalogue de données. Accorder ASSOCIATE implicitement des subventionsDESCRIBE.

Cet exemple accorde à l'utilisateur datalake_user1 l'ASSOCIATEautorisation d'utiliser le tag LF avec la clé. module Il autorise l'affichage et l'attribution de toutes les valeurs pour cette clé, comme indiqué par l'astérisque (*).

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'