Zugrundeliegende Datenzugriffskontrolle - 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.

Zugrundeliegende Datenzugriffskontrolle

Wenn ein integrierter AWS Service Zugriff auf Daten an einem Amazon S3 S3-Standort anfordert, der zugriffskontrolliert wird AWS Lake Formation, stellt Lake Formation temporäre Anmeldeinformationen für den Zugriff auf die Daten bereit.

Damit Lake Formation den Zugriff auf die zugrunde liegenden Daten an einem Amazon S3 S3-Standort kontrollieren kann, registrieren Sie diesen Standort bei Lake Formation.

Nachdem Sie einen Amazon S3 S3-Standort registriert haben, können Sie damit beginnen, die folgenden Lake Formation Formation-Berechtigungen zu gewähren:

  • Datenzugriffsberechtigungen (SELECTINSERT, und für Datenkatalogtabellen, die DELETE) auf diesen Speicherort verweisen.

  • Berechtigungen zum Speicherort von Daten an diesem Standort.

Die Datenstandortberechtigungen von Lake Formation steuern die Fähigkeit, Datenkatalogressourcen zu erstellen, die auf bestimmte Amazon S3 S3-Standorte verweisen. Datenstandortberechtigungen bieten eine zusätzliche Sicherheitsebene für Standorte innerhalb des Data Lake. Wenn Sie einem Prinzipal die ALTER Berechtigung CREATE_TABLE oder erteilen, gewähren Sie auch Datenstandortberechtigungen, um die Speicherorte einzuschränken, für die der Prinzipal Metadatentabellen erstellen oder ändern kann.

Amazon S3 S3-Standorte sind Buckets oder Präfixe unter einem Bucket, aber keine einzelnen Amazon S3 S3-Objekte.

Sie können einem Prinzipal Datenstandortberechtigungen erteilen, indem Sie die Lake Formation Formation-Konsole, die API oder die verwenden AWS CLI. Die allgemeine Form eines Zuschusses lautet wie folgt:

grant DATA_LOCATION_ACCESS to principal on S3 location [with grant option]

Wenn Sie dies mit einbeziehenwith grant option, kann der Empfänger die Berechtigungen anderen Schulleitern gewähren.

Denken Sie daran, dass Lake Formation Formation-Berechtigungen immer in Kombination mit AWS Identity and Access Management (IAM-) Berechtigungen für eine detaillierte Zugriffskontrolle funktionieren. Für Lese-/Schreibberechtigungen für zugrunde liegende Amazon S3 S3-Daten werden IAM-Berechtigungen wie folgt erteilt:

Wenn Sie einen Standort registrieren, geben Sie eine IAM-Rolle an, die Lese-/Schreibberechtigungen für diesen Standort gewährt. Lake Formation übernimmt diese Rolle bei der Bereitstellung temporärer Anmeldeinformationen für integrierte AWS Dienste. Einer typischen Rolle könnte die folgende Richtlinie zugeordnet sein, wobei der registrierte Standort der Bucket istawsexamplebucket.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::awsexamplebucket" ] } ] }

Lake Formation bietet eine dienstbezogene Rolle, die Sie bei der Registrierung verwenden können, um automatisch solche Richtlinien zu erstellen. Weitere Informationen finden Sie unter Verwenden von serviceverknüpften Rollen für Lake Formation.

Daher werden durch die Registrierung eines Amazon S3 S3-Standorts die erforderlichen s3: IAM-Berechtigungen für diesen Standort gewährt, wobei die Berechtigungen durch die Rolle festgelegt werden, die für die Registrierung des Standorts verwendet wurde.

Wichtig

Vermeiden Sie es, einen Amazon S3 S3-Bucket zu registrieren, für den Zahlungen durch den Antragsteller aktiviert ist. Bei Buckets, die bei Lake Formation registriert sind, wird die Rolle, mit der der Bucket registriert wurde, immer als der Anforderer angesehen. Wenn ein anderes AWS Konto auf den Bucket zugreift, wird dem Bucket-Besitzer der Datenzugriff in Rechnung gestellt, sofern die Rolle zu demselben Konto gehört wie der Bucket-Besitzer.

Für den Lese-/Schreibzugriff auf zugrunde liegende Daten benötigen Principals zusätzlich zu den Lake Formation Formation-Berechtigungen auch die folgenden IAM-Berechtigungen:

lakeformation:GetDataAccess

Mit dieser Berechtigung gewährt Lake Formation die Anforderung von temporären Anmeldeinformationen für den Zugriff auf die Daten.

Anmerkung

Amazon Athena setzt voraus, dass der Benutzer über die entsprechende lakeformation:GetDataAccess Genehmigung verfügt. Für andere integrierte Dienste ist die entsprechende Ausführungsrolle erforderlich, um über die lakeformation:GetDataAccess entsprechende Genehmigung zu verfügen.

Diese Berechtigung ist in den vorgeschlagenen Richtlinien in der enthaltenReferenz zu Personas und IAM-Berechtigungen in Lake Formation.

Zusammenfassend lässt sich sagen, dass Lake Formation-Prinzipale die zugrunde liegenden Daten lesen und schreiben können, wobei der Zugriff durch Lake Formation Formation-Berechtigungen gesteuert wird:

  • Registrieren Sie die Amazon S3 S3-Standorte, die die Daten enthalten, bei Lake Formation.

  • Principals, die Datenkatalogtabellen erstellen, die auf zugrunde liegende Datenspeicherorte verweisen, müssen über Datenstandortberechtigungen verfügen.

  • Principals, die zugrunde liegende Daten lesen und schreiben, müssen über Lake Formation Formation-Datenzugriffsberechtigungen für die Datenkatalogtabellen verfügen, die auf die zugrunde liegenden Datenspeicherorte verweisen.

  • Principals, die zugrunde liegende Daten lesen und schreiben, müssen über die lakeformation:GetDataAccess IAM-Berechtigung verfügen, wenn der zugrunde liegende Datenstandort bei Lake Formation registriert ist.

Anmerkung

Das Lake Formation Formation-Berechtigungsmodell verhindert nicht den Zugriff auf Amazon S3 S3-Standorte über die Amazon S3 S3-API oder -Konsole, wenn Sie über IAM- oder Amazon S3 S3-Richtlinien Zugriff darauf haben. Sie können IAM-Richtlinien an Principals anhängen, um diesen Zugriff zu blockieren.

Weitere Informationen zu Berechtigungen für den Speicherort von Daten

Berechtigungen zum Speicherort von Daten bestimmen das Ergebnis von Erstellungs- und Aktualisierungsvorgängen in Datenkatalog-Datenbanken und -Tabellen. Die Regeln lauten wie folgt:

  • Ein Principal muss über explizite oder implizite Datenspeicherberechtigungen für einen Amazon S3 S3-Standort verfügen, um eine Datenbank oder Tabelle zu erstellen oder zu aktualisieren, die diesen Speicherort spezifiziert.

  • Die ausdrückliche Genehmigung DATA_LOCATION_ACCESS wird über die Konsole, die API oder AWS CLI erteilt.

  • Implizite Berechtigungen werden erteilt, wenn eine Datenbank über eine Standorteigenschaft verfügt, die auf einen registrierten Speicherort verweist, der Principal über die CREATE_TABLE entsprechende Berechtigung für die Datenbank verfügt und der Principal versucht, eine Tabelle an diesem Speicherort oder einem untergeordneten Speicherort zu erstellen.

  • Wenn einem Prinzipal Datenstandortberechtigungen für einen Standort erteilt werden, verfügt der Prinzipal über Datenstandortberechtigungen für alle untergeordneten Standorte.

  • Ein Prinzipal benötigt keine Datenstandortberechtigungen, um Lese-/Schreibvorgänge an den zugrunde liegenden Daten durchzuführen. Es ist ausreichend, über die SELECT oder INSERT Datenzugriffsberechtigungen zu verfügen. Berechtigungen zum Speicherort von Daten gelten nur für die Erstellung von Datenkatalogressourcen, die auf den Speicherort verweisen.

Stellen Sie sich das in der folgenden Abbildung gezeigte Szenario vor.

Ordnerhierarchie und zwei Datenbanken, Datenbank A und B, wobei Datenbank B auf den Kundenservice-Ordner verweist.

Vorgänge in diesem Diagramm:

  • Die Amazon S3 S3-Buckets ProductsFinance, und Customer Service sind bei Lake Formation registriert.

  • Database Ahat keine Standorteigenschaft und Database B verfügt über eine Standorteigenschaft, die auf den Customer Service Bucket verweist.

  • Der Benutzer datalake_user hat CREATE_TABLE in beiden Datenbanken.

  • datalake_userDem Benutzer wurden nur Datenspeicherberechtigungen für den Products Bucket erteilt.

Im Folgenden sind die Ergebnisse aufgeführt, wenn der Benutzer datalake_user versucht, eine Katalogtabelle in einer bestimmten Datenbank an einem bestimmten Speicherort zu erstellen.

Ort, an dem datalake_user versucht wird, eine Tabelle zu erstellen
Datenbank und Standort Erfolgreich oder schlägt fehl Grund
Datenbank A bei Finance/Sales Scheitert Keine Genehmigung zum Speicherort von Daten
Datenbank A bei Products Ist erfolgreich Hat die Berechtigung zum Speichern von Daten
Datenbank A unter HR/Plans Ist erfolgreich Der Standort ist nicht registriert
Datenbank B unter Customer Service/Incidents Ist erfolgreich Die Datenbank hat die Standorteigenschaft unter Customer Service

Weitere Informationen finden Sie hier: