Contrôle d'accès basé sur des balises 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.

Contrôle d'accès basé sur des balises Lake Formation

Le contrôle d'accès basé sur les balises de Lake Formation (LF-TBAC) 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. Vous pouvez associer des balises LF aux ressources du catalogue de données et accorder des autorisations aux responsables de Lake Formation sur ces ressources à l'aide de ces balises LF. Lake Formation autorise les opérations sur ces ressources lorsque la valeur de balise du principal correspond à la valeur de l'étiquette de ressource. Le LF-TBAC est utile dans les environnements qui se développent rapidement et dans les situations où la gestion des politiques devient fastidieuse.

La méthode LF-TBAC est recommandée pour accorder des autorisations à Lake Formation lorsqu'il existe un grand nombre de ressources du catalogue de données. La méthode LF-TBAC est plus évolutive que la méthode des ressources nommées et nécessite moins de frais de gestion des autorisations.

Note

Les balises IAM sont différentes des balises LF. Ces étiquettes ne sont pas interchangeables. Les balises LF sont utilisées pour accorder des autorisations à Lake Formation et les balises IAM sont utilisées pour définir les politiques IAM.

Comment fonctionne le contrôle d'accès basé sur des balises Lake Formation

Chaque balise LF est une paire clé-valeur, telle que ou. department=sales classification=restricted Une clé peut avoir plusieurs valeurs définies, telles quedepartment=sales,marketing,engineering,finance.

Pour utiliser la méthode LF-TBAC, les administrateurs de lacs de données et les ingénieurs de données effectuent les tâches suivantes.

Tâche Détails de la tâche

1. Définissez les propriétés et les relations des balises LF.

-

2. Créez les créateurs de balises LF dans Lake Formation.

Ajouter des créateurs de LF-Tag

3. Créez le tag LF dans Lake Formation.

Création de balises LF

4. Attribuez des balises LF aux ressources du catalogue de données.

Affectation de balises LF aux ressources du catalogue de données

5. Accordez des autorisations à d'autres principaux pour attribuer des balises LF aux ressources, éventuellement avec l'option d'octroi.

Gestion des autorisations relatives aux valeurs des balises LF

6. Accordez des expressions LF-Tag aux principaux, éventuellement avec l'option grant.

Octroi d'autorisations de data lake à l'aide de la TBAC méthode LF-

7. (Recommandé) Après avoir vérifié que les principaux ont accès aux bonnes ressources par le biais de la méthode LF-TBAC, révoquez les autorisations accordées à l'aide de la méthode des ressources nommées.

-

Imaginons le cas où vous devez accorder des autorisations à trois principaux sur trois bases de données et sept tables.

Trois figures d'utilisateurs se trouvent à gauche, disposées verticalement. Sur la droite se trouvent trois bases de données étiquetées A, B et C, disposées verticalement. La base de données A comporte deux tables étiquetées A.1 et A.2, la base de données B possède les tables B.1 et B.2, et la base de données C possède trois tables étiquetées C.1, C.2 et C.3. Dix-sept flèches connectent les utilisateurs aux bases de données et aux tables, indiquant aux utilisateurs les autorisations relatives aux bases de données et aux tables.

Pour obtenir les autorisations indiquées dans le schéma précédent en utilisant la méthode des ressources nommées, vous devez accorder 17 autorisations, comme suit (en pseudo-code).

GRANT CREATE_TABLE ON Database A TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table A.1 TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table B.2 TO PRINCIPAL 1 ... GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 2 GRANT CREATE_TABLE ON Database B TO PRINCIPAL 2 ... GRANT SELECT, INSERT ON Table C.3 TO PRINCIPAL 3

Réfléchissez maintenant à la manière dont vous accorderiez des autorisations en utilisant le LF-TBAC. Le schéma suivant indique que vous avez attribué des balises LF aux bases de données et aux tables, et que vous avez accordé des autorisations sur les balises LF aux principaux.

Dans cet exemple, les balises LF représentent des zones du lac de données qui contiennent des analyses pour différents modules d'une suite d'applications de planification des ressources d'entreprise (ERP). Vous pouvez contrôler l'accès aux données d'analyse pour les différents modules. Toutes les balises LF ont la clé module et les valeurs possibles SalesOrders, et. Customers Voici un exemple de balise LF :

module=Sales

Le diagramme montre uniquement les valeurs des balises LF.

Comme dans le schéma précédent, trois figures d'utilisateurs se trouvent à gauche, disposées verticalement, et à droite se trouvent trois bases de données étiquetées A, B et C, disposées verticalement. La base de données A comporte deux tables étiquetées A.1 et A.2, la base de données B possède les tables B.1 et B.2, et la base de données C possède trois tables étiquetées C.1, C.2 et C.3. Il n'y a aucune flèche entre les utilisateurs et les bases de données et les tables. Au lieu de cela, les « drapeaux » étiquetés à côté des utilisateurs indiquent que l'utilisateur 1 a reçu les LF-Tags Sales and Customers, l'utilisateur 2 a reçu les commandes LF-Tag et l'utilisateur 3 a reçu les LF-Tag Customers. Les drapeaux situés à côté des bases de données et des tables indiquent les affectations suivantes des balises FLF aux bases de données et aux tables : Base de données A : Ventes. Tableau A1 : Un indicateur grisé indique que les ventes ont été héritées de la base de données A. Tableau A2 : Commandes, mais un indicateur grisé indique que les ventes ont été héritées de la base de données A. Base de données B : Commandes. Les tables B.1 et B.2 héritent des commandes, et la table B.2 contient les clients. La base de données C possède des clients et les tables C.1, C.2 et C.3 héritent des clients. Les tables C n'ont aucune autre affectation.
Attributions de balises aux ressources et à l'héritage du catalogue de données

Les tables héritent des balises LF des bases de données et les colonnes héritent des balises LF des tables. Les valeurs héritées peuvent être remplacées. Dans le schéma précédent, les balises LF grisées sont héritées.

En raison de l'héritage, l'administrateur du lac de données doit uniquement attribuer les cinq balises LF suivantes aux ressources (en pseudo-code).

ASSIGN TAGS module=Sales TO database A ASSIGN TAGS module=Orders TO table A.2 ASSIGN TAGS module=Orders TO database B ASSIGN TAGS module=Customers TO table B.2 ASSIGN TAGS module=Customers TO database C
Étiquetez les subventions aux directeurs

Après avoir attribué des balises LF aux bases de données et aux tables, l'administrateur du lac de données ne doit accorder que quatre balises LF aux principaux, comme suit (en pseudo-code).

GRANT TAGS module=Sales TO Principal 1 GRANT TAGS module=Customers TO Principal 1 GRANT TAGS module=Orders TO Principal 2 GRANT TAGS module=Customers TO Principal 3

Désormais, un principal doté du module=Sales tag LF peut accéder aux ressources du catalogue de données avec le module=Sales tag LF (par exemple, la base de données A), un principal doté du tag module=Customers LF peut accéder aux ressources avec le module=Customers tag LF, etc.

Les commandes d'autorisation précédentes sont incomplètes. En effet, bien qu'ils indiquent par le biais de balises LF les ressources du catalogue de données sur lesquelles les principaux sont autorisés, ils n'indiquent pas exactement quelles autorisations de Lake Formation (telles queSELECT,ALTER) les principaux ont sur ces ressources. Par conséquent, les commandes de pseudo-code suivantes sont une représentation plus précise de la manière dont les autorisations Lake Formation sont accordées sur les ressources du catalogue de données via des balises LF.

GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Sales TO Principal 1 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Sales TO Principal 1 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 1 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Customers TO Principal 1 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Orders TO Principal 2 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Orders TO Principal 2 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 3 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Customers TO Principal 3
Assemblage : autorisations résultantes sur les ressources

Compte tenu des balises LF attribuées aux bases de données et aux tables dans le schéma précédent, et des balises LF accordées aux principaux dans le diagramme, le tableau suivant répertorie les autorisations de Lake Formation dont disposent les principaux sur les bases de données et les tables.

Principal Autorisations accordées par le biais de balises LF
Principal 1
  • CREATE_TABLEsur la base de données A

  • SELECT, INSERT sur le tableau A.1

  • SELECT, INSERT sur le tableau B.2

  • CREATE_TABLEsur la base de données C

  • SELECT, INSERT sur le tableau C.1

  • SELECT, INSERT sur le tableau C.2

  • SELECT, INSERT sur le tableau C.3

Principal 2
  • SELECT, INSERT sur le tableau A.2

  • CREATE_TABLEsur la base de données B

  • SELECT, INSERT sur le tableau B.1

  • SELECT, INSERT sur le tableau B.2

Principal 3
  • SELECT, INSERT sur le tableau B.2

  • CREATE_TABLEsur la base de données C

  • SELECT, INSERT sur le tableau C.1

  • SELECT, INSERT sur le tableau C.2

  • SELECT, INSERT sur le tableau C.3

Conclusion

Dans cet exemple simple, à l'aide de cinq opérations d'attribution et de huit opérations de subvention, l'administrateur du lac de données a pu spécifier 17 autorisations. Lorsqu'il existe des dizaines de bases de données et des centaines de tables, l'avantage de la méthode LF-TBAC par rapport à la méthode des ressources nommées devient évident. Dans le cas hypothétique de la nécessité d'accorder à chaque principal l'accès à chaque ressource, et où n(P) sont le nombre de principaux et n(R) le nombre de ressources :

  • Avec la méthode des ressources nommées, le nombre de subventions requises est de n(P)n(R).

  • Avec la méthode LF-TBAC, en utilisant un seul tag LF, le total du nombre de subventions aux directeurs et d'affectations aux ressources est de +. n(P) n(R)