Gestion de l'accès à une table ou à une base de données avec Lake Formation - Amazon Simple Storage Service

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.

Gestion de l'accès à une table ou à une base de données avec Lake Formation

Une fois vos compartiments de tables intégrés aux services AWS d'analyse, Lake Formation gère l'accès aux ressources de vos tables. Lake Formation utilise son propre modèle d'autorisations (autorisations Lake Formation) qui permet un contrôle d'accès précis pour les ressources du catalogue de données. Lake Formation exige que chaque principal IAM (utilisateur ou rôle) soit autorisé à effectuer des actions sur les ressources gérées par Lake Formation. Pour plus d’informations, consultez Octroi d’autorisations Lake Formation du Guide du développeur AWS Lake Formation . Pour plus d'informations sur le partage de données entre comptes, voir Partage de données entre comptes dans Lake Formation dans le Guide du AWS Lake Formation développeur.

Avant que les responsables d'IAM puissent accéder aux tables des services AWS d'analyse, vous devez leur accorder des autorisations Lake Formation sur ces ressources.

Note

Si vous êtes l'utilisateur qui a effectué l'intégration du bucket de tables, vous disposez déjà des autorisations Lake Formation pour accéder à vos tables. Si vous êtes le seul directeur à accéder à vos tables, vous pouvez ignorer cette étape. Il vous suffit d'accorder des autorisations Lake Formation sur vos tables aux autres principaux IAM. Cela permet aux autres principaux d'accéder à la table lors de l'exécution de requêtes. Pour de plus amples informations, veuillez consulter Octroi de l'autorisation Lake Formation sur une table ou une base de données.

Vous devez accorder aux autres responsables IAM des autorisations Lake Formation sur les ressources de votre table pour travailler avec eux dans les services suivants :

  • Amazon Redshift

  • Amazon Data Firehose

  • Amazon QuickSight

  • Amazon Athena

Octroi de l'autorisation Lake Formation sur une table ou une base de données

Vous pouvez accorder à une Lake Formation principale des autorisations sur une table ou une base de données dans un bucket de tables, soit par le biais de la console Lake Formation, soit du AWS CLI.

Note

Lorsque vous accordez des autorisations sur une ressource du catalogue de données à un compte externe ou directement à un responsable IAM d'un autre compte, Lake Formation utilise le service AWS Resource Access Manager (AWS RAM) pour partager la ressource. Si le compte du bénéficiaire appartient à la même organisation que le compte du donateur, la ressource partagée est immédiatement accessible au bénéficiaire. Si le compte du bénéficiaire n'appartient pas à la même organisation, AWS RAM envoie une invitation au compte du bénéficiaire pour qu'il accepte ou rejette la subvention de ressources. Ensuite, pour rendre la ressource partagée disponible, l'administrateur du lac de données du compte bénéficiaire doit utiliser la AWS RAM console ou AWS CLI accepter l'invitation. Pour plus d'informations sur le partage de données entre comptes, voir Partage de données entre comptes dans Lake Formation dans le guide du AWS Lake Formation développeur.

Console
  1. Ouvrez la AWS Lake Formation console sur https://console.aws.amazon.com/lakeformation/ et connectez-vous en tant qu'administrateur du lac de données. Pour plus d'informations sur la création d'un administrateur de lac de données, voir Création d'un administrateur de lac de données dans le guide du AWS Lake Formation développeur.

  2. Dans le volet de navigation, choisissez Autorisations relatives aux données, puis choisissez Grant.

  3. Sur la page Accorder des autorisations, sous Principaux, effectuez l'une des opérations suivantes :

    • Pour Amazon Athena ou Amazon Redshift, choisissez les utilisateurs et les rôles IAM, puis sélectionnez le principal IAM que vous utilisez pour les requêtes.

    • Pour Amazon Data Firehose, choisissez les utilisateurs et les rôles IAM, puis sélectionnez le rôle de service que vous avez créé pour le streaming vers les tables.

    • Pour QuickSight, choisissez des utilisateurs et des groupes SAML, puis entrez le nom de ressource Amazon (ARN) de votre utilisateur QuickSight administrateur.

    • Pour l'accès aux AWS GlueIceberg REST terminaux, choisissez les utilisateurs et les rôles IAM, puis sélectionnez le rôle IAM que vous avez créé pour votre client. Pour de plus amples informations, consultez Créez un rôle IAM pour votre client.

  4. Sous Balises LF ou ressources de catalogue, choisissez Ressources de catalogue de données nommées.

  5. Pour les catalogues, choisissez le sous-catalogue que vous avez créé lorsque vous avez intégré votre compartiment de table, par exemple,. account-id:s3tablescatalog/amzn-s3-demo-bucket

  6. Pour Bases de données, choisissez l’espace de noms de compartiments de tables S3 que vous avez créé.

  7. (Facultatif) Pour Tables, choisissez la table S3 que vous avez créée dans votre compartiment de tables.

    Note

    Si vous créez une nouvelle table dans l'éditeur de requêtes Athena, ne sélectionnez pas de table.

  8. Effectuez l’une des actions suivantes :

    • Si vous avez spécifié une table à l'étape précédente, choisissez Super pour les autorisations de table.

    • Si vous n'avez pas spécifié de table à l'étape précédente, accédez à Autorisations de base de données. Pour le partage de données entre comptes, vous ne pouvez pas choisir Super pour accorder à l'autre principal toutes les autorisations sur votre base de données. Choisissez plutôt des autorisations plus détaillées, telles que Describe.

  9. Choisissez Accorder.

CLI
  1. Assurez-vous d'exécuter les AWS CLI commandes suivantes en tant qu'administrateur du lac de données. Pour plus d'informations, consultez la section Création d'un administrateur de lac de données dans le guide du AWS Lake Formation développeur.

  2. Exécutez la commande suivante pour accorder des autorisations Lake Formation sur la table du compartiment de tables S3 à un principal IAM pour lui permettre d’accéder à la table. Pour utiliser cet exemple, remplacez user input placeholders par vos propres informations.

    aws lakeformation grant-permissions \ --region us-east-1 \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier": "user or role ARN, for example, arn:aws:iam::account-id:role/example-role" }, "Resource": { "Table": { "CatalogId": "account-id:s3tablescatalog/amzn-s3-demo-bucket", "DatabaseName": "S3 table bucket namespace, for example, test_namespace", "Name": "S3 table bucket table name, for example test_table" } }, "Permissions": [ "ALL" ] }'