Tag-basierte Zugangskontrolle von 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 Zugangskontrolle von Lake Formation

Lake Formation Tag-Based Access Control (LF-TBAC) ist eine Autorisierungsstrategie, die Berechtigungen auf der Grundlage von Attributen definiert. In Lake Formation werden diese Attribute als LF-Tags bezeichnet. Sie können LF-Tags an Datenkatalogressourcen anhängen und Lake Formation-Prinzipalen mithilfe dieser LF-Tags Berechtigungen für diese Ressourcen erteilen. Lake Formation ermöglicht Operationen mit diesen Ressourcen, wenn der Tag-Wert des Principals mit dem Resource-Tag-Wert übereinstimmt. LF-TBAC ist hilfreich in Umgebungen, die schnell wachsen, und hilft in Situationen, in denen die Richtlinienverwaltung umständlich wird.

LF-TBAC ist die empfohlene Methode, um Lake Formation Formation-Berechtigungen zu erteilen, wenn eine große Anzahl von Datenkatalogressourcen vorhanden ist. LF-TBAC ist skalierbarer als die Methode mit benannten Ressourcen und erfordert weniger Aufwand bei der Rechteverwaltung.

Anmerkung

IAM-Tags sind nicht dasselbe wie LF-Tags. Diese Tags sind nicht austauschbar. LF-Tags werden verwendet, um Lake Formation Formation-Berechtigungen zu gewähren, und IAM-Tags werden verwendet, um IAM-Richtlinien zu definieren.

So funktioniert die Tag-basierte Zugriffskontrolle von Lake Formation

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

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

Aufgabe Einzelheiten zu den Aufgaben

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

-

2. Erstelle 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 den Datenkatalogressourcen LF-Tags zu.

Zuweisen von LF-Tags zu Datenkatalogressourcen

5. Erteilen Sie anderen Principals Berechtigungen, um Ressourcen LF-Tags zuzuweisen, optional mit der Option Grant.

Verwaltung von LF-Tag-Wertberechtigungen

6. Erteilen Sie Prinzipalen LF-Tag-Ausdrücke, optional mit der Grant-Option.

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

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

-

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

Auf der linken Seite befinden sich drei Figuren mit Benutzern, 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 Tabellen B.1 und B.2 und Datenbank C hat drei Tabellen mit den Bezeichnungen C.1, C.2 und C.3. Siebzehn Pfeile verbinden die Benutzer mit den Datenbanken und Tabellen und weisen so darauf hin, dass die Benutzer Zugriff auf die Datenbanken und Tabellen erhalten.

Um die im obigen Diagramm angegebenen Berechtigungen mithilfe der Methode der benannten Ressource zu erhalten, müssten Sie 17 Zuweisungen vornehmen, und zwar wie folgt (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 sich nun, wie Sie mithilfe von LF-TBAC Berechtigungen gewähren 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 ERP-Anwendungssuite (Enterprise Resource Planning) enthalten. Sie kontrollieren den Zugriff auf die Analysedaten für die verschiedenen Module. Alle LF-Tags haben den Schlüssel module und mögliche Werte SalesOrders, und. Customers Ein Beispiel für ein LF-Tag sieht so aus:

module=Sales

Das Diagramm zeigt nur die LF-Tag-Werte.

Wie im vorherigen Diagramm befinden sich links drei Abbildungen von Benutzern, vertikal angeordnet, und rechts drei vertikal angeordnete Datenbanken mit den Bezeichnungen A, B und C. Datenbank A hat zwei Tabellen mit den Bezeichnungen A.1 und A.2, Datenbank B hat die Tabellen mit den Bezeichnungen 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 weisen „Flaggen“ neben den Benutzern darauf hin, dass Benutzer1 die LF-Tags Vertrieb und Kunden, Benutzer 2 die LF-Tags Bestellungen und Benutzer 3 die LF-Tags Kunden erhalten hat. Flaggen neben den Datenbanken und Tabellen weisen auf die folgenden Zuweisungen von LF-Tags zu Datenbanken und Tabellen hin: Datenbank A: Vertrieb. Tabelle A1: Eine abgeblendete Markierung gibt an, dass der Umsatz aus Datenbank A übernommen wurde. Tabelle A2: Bestellungen. Eine abgeblendete Flagge bedeutet jedoch, dass der Umsatz aus Datenbank A übernommen wurde. Datenbank B: Bestellungen. Tabelle B.1 und B.2 erben Bestellungen, und Tabelle B.2 enthält Kunden. Datenbank C hat Kunden, und die Tabellen C.1, C.2 und C.3 erben Kunden. Die C-Tabellen haben keine anderen Zuweisungen.
Tag-Zuweisungen zu Datenkatalogressourcen 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 abgedunkelte LF-Tags vererbt.

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

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
Tag-Zuschüsse für Schulleiter

Nach der Zuweisung von LF-Tags zu den Datenbanken und Tabellen muss der Data Lake-Administrator den Prinzipalen nur vier LF-Tags gewähren, und zwar wie folgt (in 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 Principal mit dem module=Sales LF-Tag auf Datenkatalogressourcen mit dem LF-Tag zugreifen (z. B. Datenbank A), ein Principal mit dem module=Sales LF-Tag kann auf Ressourcen mit dem module=Customers LF-Tag zugreifen usw. module=Customers

Die obigen Grant-Befehle sind unvollständig. Dies liegt daran, dass sie zwar anhand von LF-Tags die Datenkatalogressourcen angeben, für die die Prinzipale Berechtigungen haben, sie geben jedoch nicht genau an, welche Lake Formation Formation-Berechtigungen (z. B.ALTER) die Principals SELECT für diese Ressourcen haben. Daher stellen die folgenden Pseudocode-Befehle genauer dar, wie Lake Formation Formation-Berechtigungen für Datenkatalogressourcen ü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
Zusammenstellen — Die daraus resultierenden Berechtigungen für Ressourcen

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

Auftraggeber Über LF-Tags erteilte Berechtigungen
Schulleiter 1
  • CREATE_TABLEauf Datenbank A

  • SELECT, INSERT in Tabelle A.1

  • SELECT, INSERT auf Tabelle B.2

  • CREATE_TABLEauf Datenbank C

  • SELECT, INSERT in Tabelle C.1

  • SELECT, INSERT auf Tabelle C.2

  • SELECT, INSERT auf Tabelle C.3

Schulleiter 2
  • SELECT, INSERT auf Tabelle A.2

  • CREATE_TABLEauf Datenbank B

  • SELECT, INSERT in Tabelle B.1

  • SELECT, INSERT auf Tabelle B.2

Schulleiter 3
  • SELECT, INSERT auf Tabelle B.2

  • CREATE_TABLEauf Datenbank C

  • SELECT, INSERT in Tabelle C.1

  • SELECT, INSERT auf Tabelle C.2

  • SELECT, INSERT auf Tabelle C.3

Unterm Strich

In diesem einfachen Beispiel konnte der Data Lake-Administrator mithilfe von fünf Zuweisungsvorgängen und acht Zuweisungsvorgängen 17 Berechtigungen angeben. Bei Dutzenden von Datenbanken und Hunderten von Tabellen wird der Vorteil der LF-TBAC-Methode gegenüber der benannten Ressourcenmethode deutlich. Im hypothetischen Fall, dass jedem Hauptbenutzer Zugriff auf jede Ressource gewährt werden muss, und wo n(P) ist die Anzahl der Prinzipale und ist die Anzahl der Ressourcen: n(R)

  • Bei der Methode mit der Bezeichnung „Ressourcen“ beträgt die Anzahl der erforderlichen Zuschüsse ✕. n(P) n(R)

  • Bei der LF-TBAC-Methode, bei der ein einziger LF-Tag verwendet wird, ergibt die Gesamtzahl der Zuschüsse an Schulleiter und der Zuweisungen an Ressourcen einen Wert von +. n(P) n(R)