Tag-basierte Zugriffskontrolle für Lake Formation - AWS Lake Formation

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Tag-basierte Zugriffskontrolle für Lake Formation

Die tagbasierte Zugriffskontrolle (LF-TBAC) von Lake Formation ist eine Autorisierungsstrategie, die Berechtigungen basierend auf Attributen definiert. In Lake Formation werden diese Attribute als LF-Tags bezeichnet. Sie können LF-Tags an Data-Catalog-Ressourcen anfügen und Lake-Formation-Prinzipalen mit diesen LF-Tags Berechtigungen für diese Ressourcen erteilen. Lake Formation erlaubt Operationen für diese Ressourcen, wenn der Tag-Wert des Auftraggebers mit dem Tag-Wert der Ressource übereinstimmt. LF-TBAC ist in Umgebungen hilfreich, die schnell wachsen, und hilft in Situationen, in denen die Richtlinienverwaltung mühsam wird.

LF-TBAC ist die empfohlene Methode, um Lake-Formation-Berechtigungen zu erteilen, wenn eine große Anzahl von Data-Catalog-Ressourcen vorhanden ist. LF-TBAC ist skalierbarer als die benannte Ressourcenmethode und erfordert weniger Aufwand für das Berechtigungsmanagement.

Anmerkung

IAM-Tags sind nicht identisch mit LF-Tags. Diese Tags sind nicht austauschbar. LF-Tags werden verwendet, um Lake-Formation-Berechtigungen zu erteilen, und IAM-Tags werden verwendet, um IAM-Richtlinien zu definieren.

Funktionsweise der tagbasierten Zugriffskontrolle in Lake Formation

Jedes LF-Tag ist ein Schlüssel-Wert-Paar, z. B. department=sales oder classification=restricted. Ein Schlüssel kann mehrere definierte Werte haben, z. B. department=sales,marketing,engineering,finance.

Um die LF-TBAC-Methode zu verwenden, führen Data-Lake-Administratoren und Dateningenieure die folgenden Aufgaben aus.

Aufgabe Aufgabendetails

1. Definieren Sie die Eigenschaften und Beziehungen von LF-Tags.

-

2. Erstellen Sie die LF-Tag-Ersteller in Lake Formation.

Hinzufügen von LF-Tag-Erstellern

3. Erstellen Sie das LF-Tag in Lake Formation.

LF-Tags erstellen

4. Weisen Sie Data-Catalog-Ressourcen LF-Tags zu.

Zuweisen von LF-Tags zu Datenkatalogressourcen

5. Erteilen Sie anderen Prinzipalen Berechtigungen zum Zuweisen von LF-Tags zu -Ressourcen, optional mit der Gewährungsoption.

Erteilen, Widerrufen und Auflisten von LF-Tag-Wertberechtigungen

6. Erteilen Sie LF-Tag-Ausdrücke an Prinzipale, optional mit der Option Erteilung.

Erteilen von Data Lake-Berechtigungen mithilfe der LF-TBAC-Methode

7. (Empfohlen) Nachdem Sie überprüft haben, ob Prinzipale über die LF-TBAC-Methode Zugriff auf die richtigen Ressourcen haben, widerrufen Sie Berechtigungen, die mit der benannten Ressourcenmethode erteilt wurden.

-

Betrachten Sie den Fall, dass Sie drei Prinzipalen Berechtigungen für drei Datenbanken und sieben Tabellen erteilen müssen.


        Drei Zahlen von Benutzern befinden sich auf der linken Seite, die vertikal angeordnet sind. Auf der rechten Seite befinden sich drei Datenbanken mit den Bezeichnungen A, B und C, die vertikal angeordnet sind. Datenbank A hat zwei Tabellen mit den Bezeichnungen A.1 und A.2, Datenbank B hat die Tabellenbezeichnungen B.1 und B.2 und Datenbank C hat drei Tabellen mit den Bezeichnungen C.1, C.2 und C.3. Siebenzehn Pfeile verbinden die Benutzer mit den Datenbanken und Tabellen und geben den Benutzern Berechtigungen für die Datenbanken und Tabellen an.

Um die im vorherigen Diagramm angegebenen Berechtigungen mithilfe der benannten Ressourcenmethode zu erreichen, müssten Sie wie folgt 17 Erteilungen vornehmen (in Pseudocode).

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

Überlegen Sie nun, wie Sie Berechtigungen mithilfe von LF-TBAC erteilen würden. Das folgende Diagramm zeigt, dass Sie Datenbanken und Tabellen LF-Tags zugewiesen und Prinzipalen Berechtigungen für LF-Tags erteilt haben.

In diesem Beispiel stellen die LF-Tags Bereiche des Data Lake dar, die Analysen für verschiedene Module einer Enterprise Resource Planning (ERP)-Anwendungssuite enthalten. Sie können den Zugriff auf die Analysedaten für die verschiedenen Module steuern. Alle LF-Tags haben den Schlüssel module und die möglichen Werte SalesOrders, und Customers. Ein Beispiel für ein LF-Tag sieht wie folgt aus:

module=Sales

Das Diagramm zeigt nur die LF-Tag-Werte.


        Wie im vorherigen Diagramm sind drei Benutzerbilder links, vertikal angeordnet, und rechts sind drei Datenbanken mit den Bezeichnungen A, B und C, vertikal angeordnet. Datenbank A hat zwei Tabellen mit den Bezeichnungen A.1 und A.2, Datenbank B hat die Tabellenbezeichnungen B.1 und B.2 und Datenbank C hat drei Tabellen mit den Bezeichnungen C.1, C.2 und C.3. Es gibt keine Pfeile zwischen den Benutzern und den Datenbanken und Tabellen. Stattdessen geben mit „Flags“ neben den Benutzern an, dass user1 die LF-Tags Verkauf und Kunden, Benutzer 2 die LF-Tag-Bestellungen und Benutzer 3 die LF-Tag-Kunden erhalten hat. Flags neben den Datenbanken und Tabellen zeigen die folgenden Zuweisungen ofLF-Tags zu Datenbanken und Tabellen an: Datenbank A: Verkauf. Tabelle A1: Ein Dimm-Flag zeigt an, dass der Umsatz von Datenbank A geerbt wurde. Tabelle A2: Bestellungen, aber ein Dimm-Flag zeigt an, dass der Umsatz von Datenbank A geerbt wurde. Datenbank B: Bestellungen. Die Tabellen B.1 und B.2 erben Bestellungen, und die Tabelle B.2 hat Kunden. Datenbank C hat Kunden, und die Tabellen C.1, C.2 und C.3 erben Kunden. Die C-Tabellen haben keine anderen Zuweisungen.
Markieren von Zuweisungen an Data-Catalog-Ressourcen und Vererbung

Tabellen erben LF-Tags von Datenbanken und Spalten erben LF-Tags von Tabellen. Vererbte Werte können überschrieben werden. Im vorherigen Diagramm werden dimmte LF-Tags geerbt.

Aufgrund der Vererbung muss der Data-Lake-Administrator nur die fünf folgenden LF-Tag-Zuweisungen an Ressourcen (im Pseudocode) vornehmen.

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
Markieren von Erteilungen an Prinzipale

Nach dem Zuweisen von LF-Tags zu den Datenbanken und Tabellen darf der Data-Lake-Administrator den Prinzipalen nur vier Erteilungen von LF-Tags gewähren, und zwar wie folgt (im Pseudocode).

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

Jetzt kann ein Prinzipal mit dem module=SalesLF-Tag mit dem module=Sales LF-Tag (z. B. Datenbank A) auf Data-Catalog-Ressourcen zugreifen, ein Prinzipal mit dem module=Customers LF-Tag kann mit dem module=Customers LF-Tag auf Ressourcen zugreifen usw.

Die vorhergehenden Erteilungsbefehle sind unvollständig. Dies liegt daran, dass sie zwar durch LF-Tags die Data-Catalog-Ressourcen angeben, für die die Prinzipale Berechtigungen haben, sie aber nicht genau angeben, welche Lake-Formation-Berechtigungen (z. B. SELECT, ALTER) die Prinzipale für diese Ressourcen haben. Daher sind die folgenden Pseudocode-Befehle eine genauere Darstellung dafür, wie Lake-Formation-Berechtigungen für Data-Catalog-Ressourcen über LF-Tags erteilt werden.

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
Zusammenfügen – daraus resultierende Berechtigungen für Ressourcen

Angesichts der LF-Tags, die den Datenbanken und Tabellen im vorherigen Diagramm zugewiesen sind, und der LF-Tags, die den Prinzipalen im Diagramm gewährt wurden, werden in der folgenden Tabelle die Lake-Formation-Berechtigungen aufgeführt, die die Prinzipale für die Datenbanken und Tabellen haben.

Auftraggeber Durch LF-Tags erteilte Berechtigungen
Prinzipal 1
  • CREATE_TABLE in Datenbank A

  • SELECT, INSERT in Tabelle A.1

  • SELECT, INSERT in Tabelle B.2

  • CREATE_TABLE in Datenbank C

  • SELECT, INSERT in Tabelle C.1

  • SELECT, INSERT in Tabelle C.2

  • SELECT, INSERT in Tabelle C.3

Prinzipal 2
  • SELECT, INSERT in Tabelle A.2

  • CREATE_TABLE in Datenbank B

  • SELECT, INSERT in Tabelle B.1

  • SELECT, INSERT in Tabelle B.2

Prinzipal 3
  • SELECT, INSERT in Tabelle B.2

  • CREATE_TABLE in Datenbank C

  • SELECT, INSERT in Tabelle C.1

  • SELECT, INSERT in Tabelle C.2

  • SELECT, INSERT in Tabelle C.3

Untere Zeile

In diesem einfachen Beispiel konnte der Data-Lake-Administrator mithilfe von fünf Zuweisungsvorgängen und acht Erteilungsvorgängen 17 Berechtigungen angeben. Wenn es Dutzende von Datenbanken und Hunderten von Tabellen gibt, wird der Vorteil der LF-TBAC-Methode gegenüber der benannten Ressourcenmethode klar. Im hypothetischen Fall, dass jedem Prinzipal Zugriff auf jede Ressource gewähren muss, und wobei n(P) die Anzahl der Prinzipale und die Anzahl der Ressourcen n(R) ist:

  • Bei der benannten Ressourcenmethode ist die Anzahl der erforderlichen Erteilungen n(P) n(R).

  • Bei der LF-TBAC-Methode unter Verwendung eines einzigen LF-Tags beträgt die Gesamtzahl der Erteilungen an Prinzipale und Zuweisungen an Ressourcen n(P) + n(R).