Partage d'un lac de données à l'aide du contrôle d'accès basé sur des balises Lake Formation et de ressources nommé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.

Partage d'un lac de données à l'aide du contrôle d'accès basé sur des balises Lake Formation et de ressources nommées

Ce didacticiel explique comment vous pouvez configurer AWS Lake Formation pour partager en toute sécurité les données stockées dans un lac de données avec plusieurs entreprises, organisations ou unités commerciales, sans avoir à copier l'intégralité de la base de données. Il existe deux options pour partager vos bases de données et vos tables avec une autre personne Compte AWS en utilisant le contrôle d'accès entre comptes de Lake Formation :

  • Contrôle d'accès basé sur des balises Lake Formation (recommandé)

    Le contrôle d'accès basé sur les balises de Lake Formation est une stratégie d'autorisation qui définit les autorisations en fonction des attributs. Dans Lake Formation, ces attributs sont appelés balises LF. Pour plus d'informations, consultez Gestion d'un lac de données à l'aide du contrôle d'accès basé sur des balises Lake Formation.

  • Ressources nommées Lake Formation

    La méthode des ressources nommées Lake Formation est une stratégie d'autorisation qui définit les autorisations pour les ressources. Les ressources incluent des bases de données, des tables et des colonnes. Les administrateurs des lacs de données peuvent attribuer et révoquer des autorisations sur les ressources du Lake Formation. Pour plus d'informations, consultez Partage de données entre comptes dans Lake Formation.

    Nous recommandons d'utiliser des ressources nommées si l'administrateur du lac de données préfère accorder des autorisations explicites à des ressources individuelles. Lorsque vous utilisez la méthode des ressources nommées pour accorder à Lake Formation des autorisations sur une ressource du catalogue de données à un compte externe, Lake Formation utilise AWS Resource Access Manager (AWS RAM) pour partager la ressource.

Public visé

Ce didacticiel est destiné aux gestionnaires de données, aux ingénieurs de données et aux analystes de données. Lorsqu'il s'agit de partager des tables du catalogue de données AWS Glue et d'administrer les autorisations dans Lake Formation, les responsables des données des comptes producteurs ont la propriété fonctionnelle des fonctions qu'ils prennent en charge et peuvent accorder l'accès à divers consommateurs, organisations externes et comptes. Le tableau suivant répertorie les rôles utilisés dans ce didacticiel :

Rôle Description
DataLakeAdminProducer L'IAMutilisateur administrateur du lac de données dispose des droits d'accès suivants :
  • Accès complet en lecture, écriture et mise à jour à toutes les ressources du catalogue de données

  • Possibilité d'accorder des autorisations aux ressources

  • Peut créer des liens de ressources pour la table partagée

  • Peut attacher des balises LF aux ressources, ce qui permet d'accéder aux principaux en fonction des politiques créées par les gestionnaires de données

DataLakeAdminConsumer

L'IAMutilisateur administrateur du lac de données dispose des droits d'accès suivants :

  • Accès complet en lecture, écriture et mise à jour à toutes les ressources du catalogue de données

  • Possibilité d'accorder des autorisations aux ressources

  • Peut créer des liens de ressources pour la table partagée

  • Peut attacher des balises LF aux ressources, ce qui permet d'accéder aux principaux en fonction des politiques créées par les gestionnaires de données

DataAnalyst L' DataAnalyst utilisateur dispose des droits d'accès suivants :
  • Accès détaillé aux ressources partagées par les politiques d'accès basées sur les balises de Lake Formation ou à l'aide de la méthode des ressources nommées

Configurer les paramètres du catalogue de données de Lake Formation dans le compte du producteur

Avant de commencer ce didacticiel, vous devez disposer d'un Compte AWS identifiant que vous pouvez utiliser pour vous connecter en tant qu'utilisateur administratif avec les autorisations appropriées. Pour de plus amples informations, veuillez consulter Exécution des tâches AWS de configuration initiale.

Le didacticiel part du principe que vous connaissezIAM. Pour plus d'informationsIAM, consultez le guide de IAM l'utilisateur.

Configurer les paramètres du catalogue de données de Lake Formation dans le compte du producteur
Note

Dans ce didacticiel, le compte contenant la table source est appelé compte producteur, et le compte devant accéder à la table source est appelé compte consommateur.

Lake Formation fournit son propre modèle de gestion des autorisations. Pour maintenir la rétrocompatibilité avec le modèle d'IAMautorisation, l'Superautorisation est accordée au groupe IAMAllowedPrincipals sur toutes les AWS Glue Data Catalog ressources existantes par défaut. En outre, les paramètres de contrôle IAM d'accès « Utiliser uniquement » sont activés pour les nouvelles ressources du catalogue de données. Ce didacticiel utilise un contrôle d'accès détaillé à l'aide des autorisations de Lake Formation et utilise des IAM politiques pour un contrôle d'accès détaillé. Consultez Méthodes de contrôle d'accès précis pour plus de détails. Par conséquent, avant d'utiliser un AWS CloudFormation modèle pour une configuration rapide, vous devez modifier les paramètres du Lake Formation Data Catalog dans le compte du producteur.

Important

Ce paramètre concerne toutes les bases de données et tables nouvellement créées. Nous vous recommandons donc vivement de suivre ce didacticiel dans un compte hors production ou dans un nouveau compte. De plus, si vous utilisez un compte partagé (tel que le compte de développement de votre entreprise), assurez-vous que cela n'affecte pas les ressources des autres. Si vous préférez conserver les paramètres de sécurité par défaut, vous devez effectuer une étape supplémentaire lorsque vous partagez des ressources avec d'autres comptes, au cours de laquelle vous révoquez l'autorisation Super par défaut IAMAllowedPrincipals sur la base de données ou la table. Nous aborderons les détails plus loin dans ce didacticiel.

Pour configurer les paramètres du Lake Formation Data Catalog dans le compte du producteur, procédez comme suit :

  1. Connectez-vous à l' AWS Management Console aide du compte producteur en tant qu'administrateur ou en tant qu'utilisateur PutDataLakeSettings API autorisé à Lake Formation.

  2. Sur la console Lake Formation, dans le volet de navigation, sous Data Catalog, sélectionnez Settings.

  3. Désélectionnez Utiliser uniquement le contrôle IAM d'accès pour les nouvelles bases de données et Utiliser uniquement le contrôle IAM d'accès pour les nouvelles tables dans les nouvelles bases de données.

    Choisissez Save (Enregistrer).

    Data catalog settings interface for AWS Lake Formation with permission options.

    En outre, vous pouvez supprimer CREATE_DATABASE des autorisations pour les créateurs de base de données IAMAllowedPrincipals sous Rôles et tâches administratifs. Ce n'est qu'alors que vous pourrez déterminer qui peut créer une nouvelle base de données grâce aux autorisations de Lake Formation.

Étape 1 : provisionnez vos ressources à l'aide AWS CloudFormation de modèles

Le CloudFormation modèle de compte producteur génère les ressources suivantes :

  • Un compartiment Amazon S3 qui servira de lac de données.

  • Une fonction Lambda (pour les ressources personnalisées soutenues par AWS CloudFormation Lambda). Nous utilisons cette fonction pour copier des exemples de fichiers de données du compartiment public Amazon S3 vers votre compartiment Amazon S3.

  • IAMutilisateurs et politiques : DataLakeAdminProducer.

  • Les paramètres et autorisations appropriés de Lake Formation, notamment :

    • Définition de l'administrateur du lac de données de Lake Formation dans le compte du producteur

    • Enregistrement d'un bucket Amazon S3 comme emplacement du lac de données de Lake Formation (compte du producteur)

  • Une AWS Glue Data Catalog base de données, une table et une partition. Comme il existe deux options pour partager des ressources Comptes AWS, ce modèle crée deux ensembles distincts de base de données et de tables.

Le AWS CloudFormation modèle du compte client génère les ressources suivantes :

  • IAMutilisateurs et politiques :

    • DataLakeAdminConsumer

    • DataAnalyst

  • Une AWS Glue Data Catalog base de données. Cette base de données permet de créer des liens vers des ressources partagées.

Créez vos ressources dans le compte du producteur
  1. Connectez-vous à la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation dans la région USA Est (Virginie du Nord).

  2. Choisissez Launch Stack.

  3. Choisissez Suivant.

  4. Pour Nom de pile, entrez un nom de pile, tel questack-producer.

  5. Dans la section Configuration utilisateur, entrez le nom d'utilisateur et le mot de passe pour ProducerDatalakeAdminUserName etProducerDatalakeAdminUserPassword.

  6. Pour DataLakeBucketName, entrez le nom de votre bucket de data lake. Ce nom doit être unique au monde.

  7. Pour DatabaseNameet TableName, laissez les valeurs par défaut.

  8. Choisissez Suivant.

  9. Sur la page suivante, choisissez Next.

  10. Passez en revue les informations sur la dernière page et sélectionnez Je reconnais que cela AWS CloudFormation pourrait créer IAM des ressources.

  11. Sélectionnez Create (Créer).

    La création de la pile peut prendre jusqu'à une minute.

Créez vos ressources dans le compte client
  1. Connectez-vous à la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation dans la région USA Est (Virginie du Nord).

  2. Choisissez Launch Stack.

  3. Choisissez Suivant.

  4. Pour Nom de pile, entrez un nom de pile, tel questack-consumer.

  5. Dans la section Configuration utilisateur, entrez le nom d'utilisateur et le mot de passe pour ConsumerDatalakeAdminUserName etConsumerDatalakeAdminUserPassword.

  6. Pour DataAnalystUserName etDataAnalystUserPassword, entrez le nom d'utilisateur et le mot de passe que vous souhaitez pour l'IAMutilisateur de l'analyste de données.

  7. Pour DataLakeBucketName, entrez le nom de votre bucket de data lake. Ce nom doit être unique au monde.

  8. Pour DatabaseName, conservez les valeurs par défaut.

  9. PourAthenaQueryResultS3BucketName, entrez le nom du compartiment Amazon S3 qui stocke les résultats des requêtes Amazon Athena. Si vous n'en avez pas, créez un compartiment Amazon S3.

  10. Choisissez Suivant.

  11. Sur la page suivante, choisissez Next.

  12. Passez en revue les informations sur la dernière page et sélectionnez Je reconnais que cela AWS CloudFormation pourrait créer IAM des ressources.

  13. Sélectionnez Create (Créer).

    La création de la pile peut prendre jusqu'à une minute.

Note

Une fois le didacticiel terminé, supprimez le stack in AWS CloudFormation pour éviter d'encourir des frais. Vérifiez que les ressources sont correctement supprimées dans le statut de l'événement pour la pile.

Étape 2 : Conditions préalables au partage entre comptes de Lake Formation

Avant de partager des ressources avec Lake Formation, il existe des conditions préalables à la fois pour la méthode de contrôle d'accès basée sur les balises et pour la méthode des ressources nommées.

Conditions préalables complètes pour le contrôle d'accès basé sur des balises et le partage de données entre comptes
  • Pour plus d'informations sur les exigences en matière de partage de données entre comptes, consultez la Prérequis section du chapitre Partage de données entre comptes.

    Pour partager les ressources du catalogue de données avec la version 3 ou supérieure des paramètres de version multi-comptes, le concédant doit disposer des IAM autorisations définies dans la politique AWS AWSLakeFormationCrossAccountManager gérée de votre compte.

    Si vous utilisez la version 1 ou la version 2 des paramètres de version multi-comptes, avant de pouvoir utiliser la méthode de contrôle d'accès basée sur les balises pour accorder l'accès aux ressources entre comptes, vous devez ajouter l'objet d'JSONautorisations suivant à la politique de ressources du catalogue de données du compte producteur. Cela donne au compte client l'autorisation d'accéder au catalogue de données lorsque cela glue:EvaluatedByLakeFormationTags est vrai. Cette condition s'applique également aux ressources pour lesquelles vous avez accordé une autorisation en utilisant les balises d'autorisation de Lake Formation sur le compte du consommateur. Cette politique est obligatoire pour tous ceux Compte AWS auxquels vous accordez des autorisations.

    La politique suivante doit être intégrée à un Statement élément. Nous discutons de la IAM politique complète dans la section suivante.

    { "Effect": "Allow", "Action": [ "glue:*" ], "Principal": { "AWS": [ "consumer-account-id" ] }, "Resource": [ "arn:aws:glue:region:account-id:table/*", "arn:aws:glue:region:account-id:database/*", "arn:aws:glue:region:account-id:catalog" ], "Condition": { "Bool": { "glue:EvaluatedByLakeFormationTags": true } } }
Conditions préalables complètes pour le partage entre comptes de la méthode des ressources nommées
  1. S'il n'existe aucune politique de ressources du catalogue de données dans votre compte, le compte croisé Lake Formation vous permet de poursuivre comme d'habitude. Toutefois, s'il existe une politique de ressources pour le catalogue de données, vous devez y ajouter l'instruction suivante pour permettre à vos subventions entre comptes de réussir si elles sont accordées avec la méthode de ressource nommée. Si vous prévoyez d'utiliser uniquement la méthode de ressource nommée ou uniquement la méthode de contrôle d'accès basée sur des balises, vous pouvez ignorer cette étape. Dans ce didacticiel, nous évaluons les deux méthodes et nous devons ajouter la politique suivante.

    La politique suivante doit être intégrée à un Statement élément. Nous discutons de la IAM politique complète dans la section suivante.

    { "Effect": "Allow", "Action": [ "glue:ShareResource" ], "Principal": { "Service":"ram.amazonaws.com" }, "Resource": [ "arn:aws:glue:region:account-id:table/*/*", "arn:aws:glue:region:account-id:database/*", "arn:aws:glue:region:account-id:catalog" ] }
  2. Ajoutez ensuite la politique de AWS Glue Data Catalog ressources à l'aide du AWS Command Line Interface (AWS CLI).

    Si vous accordez des autorisations entre comptes en utilisant à la fois la méthode de contrôle d'accès basée sur les balises et la méthode des ressources nommées, vous devez définir l'EnableHybridargument sur « true » lors de l'ajout des politiques précédentes. Parce que cette option n'est pas actuellement prise en charge sur la console, vous devez utiliser le glue:PutResourcePolicy API et AWS CLI.

    Créez d'abord un document de politique (tel que policy.json) et ajoutez les deux politiques précédentes. Remplacez consumer-account-id avec le account ID du Compte AWS bénéficiaire de la subvention, region avec la région du catalogue de données contenant les bases de données et les tables pour lesquelles vous accordez des autorisations, et account-id avec l' Compte AWS identifiant du producteur.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ram.amazonaws.com" }, "Action": "glue:ShareResource", "Resource": [ "arn:aws:glue:region:account-id:table/*/*", "arn:aws:glue:region:account-id:database/*", "arn:aws:glue:region:account-id:catalog" ] }, { "Effect": "Allow", "Principal": { "AWS": "region:account-id" }, "Action": "glue:*", "Resource": [ "arn:aws:glue:region:account-id:table/*/*", "arn:aws:glue:region:account-id:database/*", "arn:aws:glue:region:account-id:catalog" ], "Condition": { "Bool": { "glue:EvaluatedByLakeFormationTags": "true" } } } ] }

    Entrez la AWS CLI commande suivante. Remplacez glue-resource-policy avec les valeurs correctes (par exemple file : //policy.json).

    aws glue put-resource-policy --policy-in-json glue-resource-policy --enable-hybrid TRUE

    Pour plus d'informations, consultez put-resource-policy.

Étape 3 : mise en œuvre du partage entre comptes à l'aide de la méthode de contrôle d'accès basée sur des balises

Dans cette section, nous vous expliquons les étapes de haut niveau suivantes :

  1. Définissez une balise LF.

  2. Attribuez le tag LF à la ressource cible.

  3. Accordez des autorisations LF-Tag au compte client.

  4. Accordez des autorisations de données au compte client.

  5. Vous pouvez éventuellement révoquer les autorisations pour la IAMAllowedPrincipals base de données, les tables et les colonnes.

  6. Créez un lien de ressource vers la table partagée.

  7. Créez une balise LF et attribuez-la à la base de données cible.

  8. Accordez des autorisations relatives aux données LF-Tag au compte client.

Définir un LF-Tag
Note

Si vous êtes connecté à votre compte producteur, déconnectez-vous avant de suivre les étapes suivantes.

  1. Connectez-vous au compte du producteur en tant qu'administrateur du lac de données à l'adresse https://console.aws.amazon.com/lakeformation/. Utilisez le numéro de compte du producteur, le nom IAM d'utilisateur (par défautDatalakeAdminProducer) et le mot de passe que vous avez spécifiés lors de la création de la AWS CloudFormation pile.

  2. Sur la console Lake Formation (https://console.aws.amazon.com/lakeformation/), dans le volet de navigation, sous Permissions, choisissez LF-Tags and Permissions.

  3. Choisissez Ajouter un tag LF.

Attribuez le tag LF à la ressource cible

Attribuez le tag LF à la ressource cible et accordez des autorisations de données à un autre compte

En tant qu'administrateur de data lake, vous pouvez associer des balises aux ressources. Si vous envisagez d'utiliser un rôle distinct, vous devrez peut-être accorder des autorisations de description et d'attachement au rôle distinct.

  1. Dans le volet de navigation, sous Catalogue de données, sélectionnez Bases de données.

  2. Sélectionnez la base de données cible (lakeformation_tutorial_cross_account_database_tbac) et dans le menu Actions, choisissez Modifier les balises LF.

    Dans ce didacticiel, vous allez attribuer une balise LF à une base de données, mais vous pouvez également attribuer des balises LF à des tables et à des colonnes.

  3. Choisissez Attribuer un nouveau tag LF.

  4. Ajoutez la clé Confidentiality et la valeurpublic.

  5. Choisissez Save (Enregistrer).

Accorder l'autorisation LF-Tag au compte client

Toujours dans le compte du producteur, autorisez le compte du consommateur à accéder au LF-Tag.

  1. Dans le volet de navigation, sous Permissions, sélectionnez LF-Tags and permissions.

  2. Choisissez l'onglet LF-Tags, puis choisissez la clé et les valeurs du LF-Tag partagé avec le compte client (clé Confidentiality et valeur). public

  3. Choisissez Grant permissions (Accorder des autorisations).

  4. Pour le type d'autorisation, choisissez les autorisations de paire clé-valeur LF-Tag.

  5. Pour Principaux, sélectionnez Comptes externes.

  6. Entrez l'Compte AWS ID cible.

    Comptes AWS au sein de la même organisation apparaissent automatiquement. Dans le cas contraire, vous devez saisir l' Compte AWS identifiant manuellement.

  7. Sous Autorisations, sélectionnez Décrire.

    Il s'agit des autorisations accordées au compte du consommateur. Les autorisations pouvant être accordées sont des autorisations que le compte client peut accorder à d'autres mandants.

  8. Choisissez Grant (Accorder).

    À ce stade, l'administrateur du lac de données du consommateur devrait être en mesure de trouver le tag de politique partagé via la console Lake Formation du compte consommateur, sous Autorisations, balises LF et autorisations.

Accorder l'autorisation d'accès aux données du compte client

Nous allons maintenant fournir un accès aux données au compte client en spécifiant une expression LF-Tag et en accordant au compte client l'accès à toute table ou base de données correspondant à l'expression.

  1. Dans le volet de navigation, sous Autorisations, Autorisations du lac de données, sélectionnez Grant.

  2. Pour Principaux, choisissez Comptes externes et entrez l' Compte AWS ID cible.

  3. Pour les balises LF ou les ressources du catalogue, choisissez la clé et les valeurs de la balise LF partagée avec le compte client (clé Confidentiality et valeur). public

  4. Pour les autorisations, sous Ressources associées à des balises LF (recommandé), choisissez Ajouter une balise LF.

  5. Sélectionnez la clé et la valeur du tag partagé avec le compte client (clé Confidentiality et valeurpublic).

  6. Pour les autorisations de base de données, sélectionnez Décrire sous Autorisations de base de données pour accorder des autorisations d'accès au niveau de la base de données.

  7. L'administrateur du lac de données du consommateur doit être en mesure de trouver la balise de politique partagée via le compte du consommateur sur la console Lake Formation à l'adresse https://console.aws.amazon.com/lakeformation/, sous Autorisations, rôles et tâches administratifs, balises LF.

  8. Sélectionnez Décrire sous Autorisations pouvant être accordées afin que le compte client puisse accorder des autorisations au niveau de la base de données à ses utilisateurs.

  9. Pour les autorisations de table et de colonne, sélectionnez Sélectionner et décrire sous Autorisations de table.

  10. Sélectionnez Sélectionner et décrire sous Autorisations pouvant être accordées.

  11. Choisissez Grant (Accorder).

Révoquez l'autorisation pour la IAMAllowedPrincipals base de données, les tables et les colonnes (facultatif).

Au tout début de ce didacticiel, vous avez modifié les paramètres du Lake Formation Data Catalog. Si vous avez ignoré cette partie, cette étape est obligatoire. Si vous avez modifié les paramètres de votre catalogue de données sur les formations des lacs, vous pouvez ignorer cette étape.

Au cours de cette étape, nous devons révoquer l'autorisation Super par défaut IAMAllowedPrincipals sur la base de données ou la table. Consultez Étape 4 : Basculez vos magasins de données vers le modèle d'autorisations Lake Formation pour plus de détails.

Avant de révoquer l'autorisationIAMAllowedPrincipals, assurez-vous d'avoir accordé IAM aux mandants existants les autorisations nécessaires par le biais de Lake Formation. Cela comprend trois étapes :

  1. Ajoutez une IAM autorisation à l'IAMutilisateur ou au rôle cible avec l'GetDataAccessaction Lake Formation (avec IAM politique).

  2. Accordez à IAM l'utilisateur ou au rôle cible disposant des autorisations relatives aux données de Lake Formation (modifier, sélectionner, etc.).

  3. Révoquez ensuite les autorisations pourIAMAllowedPrincipals. Sinon, après avoir révoqué les autorisations pourIAMAllowedPrincipals, les IAM principaux existants risquent de ne plus être en mesure d'accéder à la base de données cible ou au catalogue de données.

    La révocation de l'autorisation Super IAMAllowedPrincipals est requise lorsque vous souhaitez appliquer le modèle d'autorisation de Lake Formation (au lieu du modèle de IAM politique) pour gérer l'accès des utilisateurs au sein d'un seul compte ou entre plusieurs comptes à l'aide du modèle d'autorisation de Lake Formation. Vous n'êtes pas obligé de révoquer l'autorisation IAMAllowedPrincipals pour les autres tables pour lesquelles vous souhaitez conserver le modèle de IAM politique traditionnel.

    À ce stade, l'administrateur du lac de données du compte client doit être en mesure de trouver la base de données et la table partagées via le compte client sur la console Lake Formation https://console.aws.amazon.com/lakeformation/, sous Data Catalog, databases. Dans le cas contraire, vérifiez si les éléments suivants sont correctement configurés :

    1. La balise de politique et les valeurs correctes sont attribuées aux bases de données et aux tables cibles.

    2. L'autorisation de balise et l'autorisation de données correctes sont attribuées au compte client.

    3. Révoquez la super autorisation par défaut IAMAllowedPrincipals sur la base de données ou la table.

Création d'un lien de ressource vers la table partagée

Lorsqu'une ressource est partagée entre des comptes et que les ressources partagées ne sont pas placées dans le catalogue de données des comptes consommateurs. Pour les rendre disponibles et interroger les données sous-jacentes d'une table partagée à l'aide de services tels qu'Athena, nous devons créer un lien de ressource vers la table partagée. Un lien de ressource est un objet du catalogue de données qui est un lien vers une base de données ou une table locale ou partagée. Pour plus de détails, consultez Création de liens vers des ressources. En créant un lien vers une ressource, vous pouvez :

  • Attribuez un nom différent à une base de données ou à une table conforme aux politiques de dénomination des ressources de votre catalogue de données.

  • Utilisez des services tels qu'Athena et Redshift Spectrum pour interroger des bases de données ou des tables partagées.

Pour créer un lien vers une ressource, procédez comme suit :

  1. Si vous êtes connecté à votre compte client, déconnectez-vous.

  2. Connectez-vous en tant qu'administrateur du lac de données du compte client. Utilisez l'identifiant du compte client, le nom IAM d'utilisateur (par défaut DatalakeAdminConsumer) et le mot de passe que vous avez spécifiés lors de la création de la AWS CloudFormation pile.

  3. Sur la console Lake Formation (https://console.aws.amazon.com/lakeformation/), dans le volet de navigation, sous Data Catalog, Databases, choisissez la base de données partagéelakeformation_tutorial_cross_account_database_tbac.

    Si la base de données n'apparaît pas, revoyez les étapes précédentes pour vérifier si tout est correctement configuré.

  4. Choisissez Afficher les tables.

  5. Choisissez la table partagéeamazon_reviews_table_tbac.

  6. Dans le menu Actions, choisissez Créer un lien vers une ressource.

  7. Pour le nom du lien de ressource, entrez un nom (pour ce didacticiel,amazon_reviews_table_tbac_resource_link).

  8. Sous Base de données, sélectionnez la base de données dans laquelle le lien de ressource est créé (pour cet article, la pile AWS CloudFormation n a créé la base de donnéeslakeformation_tutorial_cross_account_database_consumer).

  9. Sélectionnez Create (Créer).

    Le lien vers la ressource apparaît sous Catalogue de données, Tables.

Créez une balise LF et attribuez-la à la base de données cible

Les balises Lake Formation se trouvent dans le même catalogue de données que les ressources. Cela signifie que les balises créées dans le compte du producteur ne peuvent pas être utilisées lors de l'octroi de l'accès aux liens de ressources du compte client. Vous devez créer un ensemble distinct de balises LF dans le compte client pour utiliser le contrôle d'accès basé sur les balises LF lors du partage des liens de ressources dans le compte client.

  1. Définissez le tag LF dans le compte client. Pour ce didacticiel, nous utilisons des clés Division et des valeurs salesmarketing, etanalyst.

  2. Attribuez la clé Division et la valeur du tag LF analyst à la base de donnéeslakeformation_tutorial_cross_account_database_consumer, dans laquelle le lien de ressource est créé.

Autoriser le consommateur à utiliser les données LF-Tag

Enfin, accordez au consommateur l'autorisation d'utiliser les données LF-Tag.

  1. Dans le volet de navigation, sous Autorisations, Autorisations du lac de données, sélectionnez Grant.

  2. Pour Principaux, choisissez IAMles utilisateurs et les rôles, puis choisissez l'utilisateurDataAnalyst.

  3. Pour les balises LF ou les ressources du catalogue, choisissez Ressources associées aux balises LF (recommandé).

  4. Choisissez une division clé et un analyste de valeur.

  5. Pour les autorisations de base de données, sélectionnez Décrire sous Autorisations de base de données.

  6. Pour les autorisations de table et de colonne, sélectionnez Sélectionner et décrire sous Autorisations de table.

  7. Choisissez Grant (Accorder).

  8. Répétez ces étapes pour l'utilisateurDataAnalyst, où se trouvent la clé LF-Tag Confidentiality et la valeur. public

    À ce stade, l'utilisateur de l'analyste de données du compte client doit être en mesure de trouver la base de données et le lien vers la ressource, et d'interroger la table partagée via la console Athena à l'adresse. https://console.aws.amazon.com/athena/ Dans le cas contraire, vérifiez si les éléments suivants sont correctement configurés :

    • Le lien de ressource est créé pour la table partagée

    • Vous avez accordé à l'utilisateur l'accès au LF-Tag partagé par le compte du producteur

    • Vous avez accordé à l'utilisateur l'accès à la balise LF associée au lien de ressource et à la base de données dans lesquels le lien de ressource est créé

    • Vérifiez si vous avez attribué la balise LF correcte au lien de ressource et à la base de données dans laquelle le lien de ressource est créé

Étape 4 : Implémentation de la méthode de ressource nommée

Pour utiliser la méthode de ressource nommée, nous vous expliquons les étapes de haut niveau suivantes :

  1. Vous pouvez éventuellement révoquer l'autorisation pour la IAMAllowedPrincipals base de données, les tables et les colonnes.

  2. Accordez l'autorisation d'accès aux données du compte client.

  3. Acceptez un partage de ressources depuis AWS Resource Access Manager.

  4. Créez un lien de ressource pour la table partagée.

  5. Accordez au consommateur l'autorisation d'accéder aux données de la table partagée.

  6. Accordez au consommateur l'autorisation d'accès aux données pour le lien vers la ressource.

Révoquer l'autorisation pour la IAMAllowedPrincipals base de données, les tables et les colonnes (facultatif)
  • Au tout début de ce didacticiel, nous avons modifié les paramètres du Lake Formation Data Catalog. Si vous avez ignoré cette partie, cette étape est obligatoire. Pour obtenir des instructions, reportez-vous à l'étape facultative de la section précédente.

Accorder l'autorisation d'accès aux données du compte client
  1. Note

    Si vous êtes connecté au compte producteur en tant qu'autre utilisateur, déconnectez-vous d'abord.

    Connectez-vous à la console Lake Formation en https://console.aws.amazon.com/lakeformation/utilisant l'administrateur du compte producteur Data Lake à l'aide de l' Compte AWS ID, du nom IAM d'utilisateur (par défautDatalakeAdminProducer) et du mot de passe spécifiés lors de la création de la AWS CloudFormation pile.

  2. Sur la page Autorisations, sous Permissions du lac de données, sélectionnez Accorder.

  3. Sous Principaux, sélectionnez Comptes externes, puis saisissez une Compte AWS IDs ou plusieurs AWS organisationsIDs. Pour plus d'informations, voir : AWS Organizations.

    Organisations auxquelles appartient le compte producteur et au Comptes AWS sein de la même organisation apparaissent automatiquement. Dans le cas contraire, entrez manuellement l'identifiant du compte ou l'identifiant de l'organisation.

  4. Pour les balises LF ou les ressources du catalogue, choisissez. Named data catalog resources

  5. Sous Bases de données, sélectionnez la base de donnéeslakeformation_tutorial_cross_account_database_named_resource.

  6. Choisissez Ajouter un tag LF.

  7. Sous Tables, sélectionnez Toutes les tables.

  8. Pour les autorisations relatives aux colonnes du tableau, choisissez Sélectionner et Décrire sous Autorisations du tableau.

  9. Sélectionnez Sélectionner et décrire, sous Autorisations pouvant être accordées.

  10. Facultativement, pour les autorisations relatives aux données, choisissez Accès simple basé sur les colonnes si la gestion des autorisations au niveau des colonnes est requise.

  11. Choisissez Grant (Accorder).

Si vous n'avez pas révoqué l'autorisation pourIAMAllowedPrincipals, le message d'erreur « Échec de l'octroi des autorisations » s'affiche. À ce stade, vous devriez voir la table cible partagée AWS RAM avec le compte client sous Autorisations, Autorisations relatives aux données.

Accepter un partage de ressources depuis AWS RAM
Note

Cette étape est requise uniquement pour le partage Compte AWS basé, et non pour le partage basé sur l'organisation.

  1. Connectez-vous à la AWS console en https://console.aws.amazon.com/connect/utilisant l'administrateur du lac de données du compte consommateur en utilisant le nom IAM d'utilisateur (par défaut DatalakeAdminConsumer) et le mot de passe spécifiés lors de la création de la AWS CloudFormation pile.

  2. Sur la AWS RAM console, dans le volet de navigation, sous Shared with me, Resource shares, choisissez la ressource Lake Formation partagée. Le statut doit être En attente.

  3. Choisissez Action et Grant.

  4. Confirmez les détails de la ressource, puis choisissez Accepter le partage des ressources.

    À ce stade, l'administrateur du lac de données du compte client doit être en mesure de trouver la ressource partagée sur la console Lake Formation (https://console.aws.amazon.com/lakeformation/) sous Catalogue de données, Bases de données.

Création d'un lien de ressource pour la table partagée
Autoriser le consommateur à accéder aux données de la table partagée

Pour autoriser le consommateur à accéder aux données de la table partagée, procédez comme suit :

  1. Sur la console Lake Formation (https://console.aws.amazon.com/lakeformation/), sous Autorisations, Autorisations du lac de données, choisissez Grant.

  2. Pour Principaux, choisissez IAMles utilisateurs et les rôles, puis choisissez l'utilisateurDataAnalyst.

  3. Pour les balises LF ou les ressources de catalogue, choisissez Ressources de catalogue de données nommées.

  4. Sous Bases de données, sélectionnez la base de donnéeslakeformation_tutorial_cross_account_database_named_resource. Si la base de données ne figure pas dans la liste déroulante, choisissez Load more.

  5. Sous Tables, sélectionnez la tableamazon_reviews_table_named_resource.

  6. Pour les autorisations de table et de colonne, sélectionnez Sélectionner et décrire sous Autorisations de table.

  7. Choisissez Grant (Accorder).

Accorder au consommateur l'autorisation d'accès aux données pour le lien vers la ressource

En plus d'autoriser l'utilisateur du lac de données à accéder à la table partagée, vous devez également accorder à l'utilisateur du lac de données l'autorisation d'accéder au lien de ressource.

  1. Sur la console Lake Formation (https://console.aws.amazon.com/lakeformation/), sous Autorisations, Autorisations du lac de données, choisissez Grant.

  2. Pour Principaux, choisissez IAMles utilisateurs et les rôles, puis choisissez l'utilisateurDataAnalyst.

  3. Pour les balises LF ou les ressources de catalogue, choisissez Ressources de catalogue de données nommées.

  4. Sous Bases de données, sélectionnez la base de donnéeslakeformation_tutorial_cross_account_database_consumer. Si la base de données ne figure pas dans la liste déroulante, choisissez Load more.

  5. Sous Tables, sélectionnez la tableamazon_reviews_table_named_resource_resource_link.

  6. Pour les autorisations relatives aux liens vers les ressources, sélectionnez Décrire sous Autorisations relatives aux liens vers les ressources.

  7. Choisissez Grant (Accorder).

    À ce stade, l'utilisateur de l'analyste de données du compte client doit être en mesure de trouver la base de données et le lien vers la ressource, et d'interroger la table partagée via la console Athena.

    Dans le cas contraire, vérifiez si les éléments suivants sont correctement configurés :

    • Le lien de ressource est créé pour la table partagée

    • Vous avez accordé à l'utilisateur l'accès à la table partagée par le compte du producteur

    • Vous avez accordé à l'utilisateur l'accès au lien de ressource et à la base de données pour lesquels le lien de ressource est créé

Étape 5 : Nettoyer les AWS ressources

Pour éviter des frais indésirables Compte AWS, vous pouvez supprimer les AWS ressources que vous avez utilisées pour ce didacticiel.

  1. Connectez-vous à la console Lake Formation à https://console.aws.amazon.com/lakeformation/l'aide du compte producteur et supprimez ou modifiez les éléments suivants :

    • AWS Resource Access Manager partage des ressources

    • Tags Lake Formation

    • AWS CloudFormation pile

    • Paramètres de la Lake Formation

    • AWS Glue Data Catalog

  2. Connectez-vous à la console Lake Formation en https://console.aws.amazon.com/lakeformation/utilisant le compte client et supprimez ou modifiez les éléments suivants :

    • Tags Lake Formation

    • AWS CloudFormation pile