Zugriffskontrolle für Metadaten - 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.

Zugriffskontrolle für Metadaten

Bei der Zugriffskontrolle für Datenkatalogressourcen wird in der folgenden Diskussion von einer detaillierten Zugriffskontrolle mit Lake Formation Formation-Berechtigungen und einer groben Zugriffskontrolle mit IAM-Richtlinien ausgegangen.

Es gibt zwei unterschiedliche Methoden, um Lake Formation Formation-Berechtigungen für Datenkatalogressourcen zu gewähren:

  • Zugriffskontrolle für benannte Ressourcen — Mit dieser Methode gewähren Sie Berechtigungen für bestimmte Datenbanken oder Tabellen, indem Sie Datenbank- oder Tabellennamen angeben. Die Zuschüsse haben die folgende Form:

    Erteilen Sie Principals Berechtigungen für Ressourcen [mit Grant-Option].

    Mit der Option „Gewähren“ können Sie dem Empfänger gestatten, die Berechtigungen anderen Prinzipalen zu gewähren.

  • Tag-basierte Zugriffskontrolle — Mit dieser Methode weisen Sie Datenkatalogdatenbanken, Tabellen und Spalten ein oder mehrere LF-Tags zu und gewähren Prinzipalen Berechtigungen für ein oder mehrere LF-Tags. Jedes LF-Tag ist ein Schlüssel-Wert-Paar, wie z. department=sales Ein Principal mit LF-Tags, die den LF-Tags auf einer Datenkatalogressource entsprechen, kann auf diese Ressource zugreifen. Diese Methode wird für Data Lakes mit einer großen Anzahl von Datenbanken und Tabellen empfohlen. Sie wird ausführlich in erklärtTag-basierte Zugangskontrolle von Lake Formation.

Die Berechtigungen, die ein Principal für eine Ressource hat, sind die Vereinigung der Berechtigungen, die durch beide Methoden gewährt wurden.

In der folgenden Tabelle sind die verfügbaren Lake Formation Formation-Berechtigungen für Datenkatalogressourcen zusammengefasst. Die Spaltenüberschriften geben die Ressource an, für die die Berechtigung erteilt wurde.

Katalog Datenbank Tabelle
CREATE_DATABASE CREATE_TABLE ALTER
ALTER DROP
DROP DESCRIBE
DESCRIBE SELECT*
INSERT*
DELETE*

Die CREATE_TABLE Berechtigung wird beispielsweise für eine Datenbank erteilt. Das bedeutet, dass der Prinzipal Tabellen in dieser Datenbank erstellen darf.

Die mit einem Sternchen (*) markierten Berechtigungen werden für Datenkatalogressourcen gewährt, sie gelten jedoch für die zugrunde liegenden Daten. Die DROP Berechtigung für eine Metadatentabelle ermöglicht es Ihnen beispielsweise, die Tabelle aus dem Datenkatalog zu löschen. Die für dieselbe Tabelle erteilte DELETE Berechtigung ermöglicht es Ihnen jedoch, die der Tabelle zugrunde liegenden Daten in Amazon S3 zu löschen, indem Sie beispielsweise eine DELETE SQL-Anweisung verwenden. Mit diesen Berechtigungen können Sie die Tabelle auch auf der Lake Formation Formation-Konsole anzeigen und Informationen über die Tabelle mit der AWS Glue API abrufen. Somit DELETE sind SELECTINSERT, und sowohl Datenkatalogberechtigungen als auch Datenzugriffsberechtigungen.

Wenn Sie für eine Tabelle gewährenSELECT, können Sie einen Filter hinzufügen, der eine oder mehrere Spalten ein- oder ausschließt. Dies ermöglicht eine detaillierte Zugriffskontrolle auf die Spalten der Metadatentabelle und schränkt die Spalten ein, die Benutzer integrierter Dienste bei der Ausführung von Abfragen sehen können. Diese Funktion ist nicht nur bei Verwendung von IAM-Richtlinien verfügbar.

Es gibt auch eine spezielle Genehmigung mit dem NamenSuper. Die Super Berechtigung ermöglicht es einem Prinzipal, jeden unterstützten Lake Formation Formation-Vorgang in der Datenbank oder Tabelle auszuführen, für die sie erteilt wurde. Diese Genehmigung kann mit den anderen Lake Formation Formation-Berechtigungen koexistieren. Sie können beispielsweise SuperSELECT, und INSERT für eine Metadatentabelle gewähren. Der Principal kann alle unterstützten Aktionen für die Tabelle ausführen, und wenn Sie sie widerrufenSuper, bleiben die INSERT Berechtigungen SELECT und erhalten.

Einzelheiten zu den einzelnen Berechtigungen finden Sie unterReferenz zu den Genehmigungen von Lake Formation.

Wichtig

Um eine von einem anderen Benutzer erstellte Datenkatalogtabelle anzeigen zu können, muss Ihnen mindestens eine Lake Formation Formation-Berechtigung für die Tabelle erteilt worden sein. Wenn Ihnen mindestens eine Berechtigung für die Tabelle erteilt wurde, können Sie auch die Datenbank sehen, die die Tabelle enthält.

Sie können Datenkatalogberechtigungen mithilfe der Lake Formation Formation-Konsole, der API oder der AWS Command Line Interface (AWS CLI) gewähren oder widerrufen. Im Folgenden finden Sie ein Beispiel für einen AWS CLI Befehl, der dem Benutzer die datalake_user1 Berechtigung erteilt, Tabellen in der retail Datenbank zu erstellen.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'

Im Folgenden finden Sie ein Beispiel für eine grobkörnige IAM-Richtlinie für die Zugriffskontrolle, die die detaillierte Zugriffskontrolle durch Lake Formation Formation-Berechtigungen ergänzt. Sie ermöglicht alle Operationen an jeder Metadaten-Datenbank oder -Tabelle.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:*Database*", "glue:*Table*", "glue:*Partition*" ], "Resource": "*" } ] }

Das nächste Beispiel ist ebenfalls grobkörnig, aber etwas restriktiver. Es ermöglicht schreibgeschützte Operationen für alle Metadatendatenbanken und Tabellen im Datenkatalog im angegebenen Konto und in der angegebenen Region.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTables", "glue:SearchTables", "glue:GetTable", "glue:GetDatabase", "glue:GetDatabases" ], "Resource": "arn:aws:glue:us-east-1:111122223333:*" } ] }

Vergleichen Sie diese Richtlinien mit der folgenden Richtlinie, die eine IAM-basierte, detaillierte Zugriffskontrolle implementiert. Sie gewährt Berechtigungen nur für eine Teilmenge von Tabellen in der CRM-Metadatendatenbank (Customer Relationship Management) im angegebenen Konto und in der angegebenen Region.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTables", "glue:SearchTables", "glue:GetTable", "glue:GetDatabase", "glue:GetDatabases" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/CRM", "arn:aws:glue:us-east-1:111122223333:table/CRM/P*" ] } ] }

Weitere Beispiele für grobe Richtlinien zur Zugriffskontrolle finden Sie unter. Referenz zu Personas und IAM-Berechtigungen in Lake Formation