Wird geupgradet AWS Glue Datenberechtigungen für das AWS Lake Formation Modell - 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.

Wird geupgradet AWS Glue Datenberechtigungen für das AWS Lake Formation Modell

AWS Lake Formation Berechtigungen ermöglichen eine differenzierte Zugriffskontrolle für Daten in Ihrem Data Lake. Sie können das Lake Formation Formation-Berechtigungsmodell verwenden, um Ihre vorhandenen AWS Glue Data Catalog Objekte und Datenspeicherorte in Amazon Simple Storage Service (Amazon S3) zu verwalten.

Das Lake Formation Formation-Berechtigungsmodell verwendet grobkörnige AWS Identity and Access Management (IAM) Berechtigungen für den Dienstzugriff. API Lake Formation verwendet Datenfilterung und Sicherheit auf Zellebene in Lake Formation Funktionen, um den Tabellenzugriff auf Spalten-, Zeilen- und Zellenebene für Benutzer und ihre Anwendungen einzuschränken. Im Vergleich dazu AWS Glue Das Modell gewährt Datenzugriff über identitäts- und ressourcenbasierte IAM Richtlinien.

Folgen Sie den Schritten in dieser Anleitung, um den Wechsel vorzunehmen.

Weitere Informationen finden Sie unter Überblick über die Genehmigungen für Lake Formation .

Über Standardberechtigungen

Um die Abwärtskompatibilität aufrechtzuerhalten mit AWS Glue, AWS Lake Formation erteilt der IAMAllowedPrincipals Gruppe standardmäßig die Super Berechtigung für alle vorhandenen AWS Glue Datenkatalogressourcen und erteilt die Super Berechtigung für neue Datenkatalogressourcen, wenn die Einstellungen Nur IAM Zugriffskontrolle verwenden aktiviert sind. Dies führt effektiv dazu, dass der Zugriff auf Datenkatalogressourcen und Amazon S3 S3-Standorte ausschließlich durch AWS Identity and Access Management (IAM) -Richtlinien gesteuert wird. Die IAMAllowedPrincipals Gruppe umfasst alle IAM Benutzer und Rollen, denen gemäß Ihren IAM Richtlinien Zugriff auf Ihre Datenkatalogobjekte gewährt wird. 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.

Sie können beginnen, Lake Formation zur Verwaltung des Zugriffs auf Ihre Daten zu verwenden, indem Sie die Standorte vorhandener Datenkatalogressourcen in Lake Formation registrieren oder den Hybridzugriffsmodus verwenden. Wenn Sie den Amazon S3 S3-Standort im Hybridzugriffsmodus registrieren, können Sie Lake Formation Formation-Berechtigungen aktivieren, indem Sie Prinzipale für Datenbanken und Tabellen unter diesem Standort auswählen.

Um den Übergang von Data Lake-Berechtigungen von einem IAM Amazon S3 S3-Modell zu Lake Formation Formation-Berechtigungen zu vereinfachen, empfehlen wir Ihnen, den hybriden Zugriffsmodus für Data Catalog zu verwenden. Mit dem Hybridzugriffsmodus haben Sie einen inkrementellen Pfad, über den Sie Lake Formation Formation-Berechtigungen für eine bestimmte Gruppe von Benutzern aktivieren können, ohne andere bestehende Benutzer oder Workloads zu unterbrechen.

Weitere Informationen finden Sie unter Hybrider Zugriffsmodus.

Deaktivieren Sie die Standardeinstellungen für den Datenkatalog, um alle vorhandenen Benutzer einer Tabelle in einem einzigen Schritt nach Lake Formation zu verschieben.

Um zu beginnen, Lake Formation Formation-Berechtigungen mit Ihren vorhandenen zu verwenden AWS Glue Für Datenbanken und Tabellen im Datenkatalog müssen Sie wie folgt vorgehen:

  1. Ermitteln Sie die vorhandenen IAM Berechtigungen Ihrer Benutzer für jede Datenbank und Tabelle.

  2. Replizieren Sie diese Berechtigungen in Lake Formation.

  3. Für jeden Amazon S3 S3-Standort, der Daten enthält:

    1. Widerrufen Sie der IAMAllowedPrincipals Gruppe die Super Erlaubnis für jede Datenkatalogressource, die auf diesen Speicherort verweist.

    2. Registrieren Sie den Standort bei Lake Formation.

  4. Bereinigen Sie bestehende detaillierte Richtlinien für die ZugriffskontrolleIAM.

Wichtig

Um während der Umstellung Ihres Datenkatalogs neue Benutzer hinzuzufügen, müssen Sie eine detaillierte Konfiguration einrichten AWS Glue Berechtigungen IAM wie zuvor. Sie müssen diese Berechtigungen auch in Lake Formation replizieren, wie in diesem Abschnitt beschrieben. Wenn neue Benutzer über die in diesem Handbuch beschriebenen groben IAM Richtlinien verfügen, können sie alle Datenbanken oder Tabellen auflisten, denen die entsprechende Berechtigung erteilt wurde. Super IAMAllowedPrincipals Sie können auch die Metadaten für diese Ressourcen einsehen.

Folgen Sie den Schritten in diesem Abschnitt, um auf das Lake Formation Formation-Berechtigungsmodell umzusteigen.

Schritt 1: Listet die vorhandenen Berechtigungen der Benutzer und Rollen auf

Um zu beginnen, AWS Lake Formation Berechtigungen mit Ihren vorhandenen zu verwenden AWS Glue Für Datenbanken und Tabellen müssen Sie zunächst die vorhandenen Berechtigungen Ihrer Benutzer ermitteln.

Wichtig

Bevor Sie beginnen, stellen Sie sicher, dass Sie die Aufgaben in abgeschlossen habenErste Schritte mit Lake Formation.

Verwenden Sie die API Operation

Verwenden Sie die ListPoliciesGrantingServiceAccessAPIOperation AWS Identity and Access Management (IAM), um die IAM Richtlinien zu ermitteln, die jedem Prinzipal (Benutzer oder Rolle) zugewiesen sind. Anhand der in den Ergebnissen zurückgegebenen Richtlinien können Sie die IAM Berechtigungen ermitteln, die dem Prinzipal gewährt werden. Sie müssen die API für jeden Prinzipal separat aufrufen.

Im folgenden AWS CLI Beispiel werden die dem Benutzer glue_user1 zugewiesenen Richtlinien zurückgegeben.

aws iam list-policies-granting-service-access --arn arn:aws:iam::111122223333:user/glue_user1 --service-namespaces glue

Der Befehl gibt Ergebnisse zurück, die den folgenden ähneln.

{ "PoliciesGrantingServiceAccess": [ { "ServiceNamespace": "glue", "Policies": [ { "PolicyType": "INLINE", "PolicyName": "GlueUserBasic", "EntityName": "glue_user1", "EntityType": "USER" }, { "PolicyType": "MANAGED", "PolicyArn": "arn:aws:iam::aws:policy/AmazonAthenaFullAccess", "PolicyName": "AmazonAthenaFullAccess" } ] } ], "IsTruncated": false }

Mit dem AWS Management Console

Sie können diese Informationen auch auf der Konsole AWS Identity and Access Management (IAM) auf der Registerkarte Access Advisor auf der Seite mit der Benutzer- oder Rollenzusammenfassung einsehen:

  1. Öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/.

  2. Klicken Sie im Navigationsbereich auf Users (Benutzer) oder Roles (Rollen).

  3. Wählen Sie einen Namen in der Liste aus, um die zugehörige Übersichtsseite zu öffnen, und wählen Sie die Registerkarte Access Advisor.

  4. Untersuchen Sie die einzelnen Richtlinien, um die Kombination von Datenbanken, Tabellen und Aktionen zu ermitteln, für die jeder Benutzer über Berechtigungen verfügt.

    Denken Sie daran, während dieses Vorgangs zusätzlich zu den Benutzern auch Rollen zu überprüfen, da Ihre Datenverarbeitungsaufträge möglicherweise Rollen für den Datenzugriff übernehmen.

Verwenden AWS CloudTrail

Eine andere Möglichkeit, Ihre vorhandenen Berechtigungen zu ermitteln, besteht darin, nach zu suchen AWS CloudTrail AWS Glue APIRuft auf, bei denen das additionaleventdata Feld der Logs einen insufficientLakeFormationPermissions Eintrag enthält. Dieser Eintrag listet die Datenbank und Tabelle auf, für die der Benutzer Lake Formation Formation-Berechtigungen benötigt, um dieselbe Aktion auszuführen.

Da es sich um Datenzugriffsprotokolle handelt, kann nicht garantiert werden, dass sie eine umfassende Liste der Benutzer und ihrer Berechtigungen erstellen. Wir empfehlen, einen großen Zeitraum zu wählen, um die meisten Datenzugriffsmuster Ihrer Benutzer zu erfassen, z. B. mehrere Wochen oder Monate.

Weitere Informationen finden Sie im AWS CloudTrail Benutzerhandbuch unter Ereignisse mit CloudTrail Ereignisverlauf anzeigen.

Als Nächstes können Sie Lake Formation Formation-Berechtigungen so einrichten, dass sie den AWS Glue Berechtigungen. Siehe Schritt 2: Richten Sie entsprechende Lake Formation Formation-Berechtigungen ein.

Schritt 2: Richten Sie entsprechende Lake Formation Formation-Berechtigungen ein

Erteilen Sie anhand der gesammelten Informationen AWS Lake Formation BerechtigungenSchritt 1: Listet die vorhandenen Berechtigungen der Benutzer und Rollen auf, die den AWS Glue Berechtigungen. Verwenden Sie eine der folgenden Methoden, um die Zuschüsse zu gewähren:

Weitere Informationen finden Sie unter Überblick über die Genehmigungen für Lake Formation .

Nachdem Sie die Lake Formation Formation-Berechtigungen eingerichtet haben, fahren Sie mit fortSchritt 3: Erteilen Sie Benutzern die IAM Erlaubnis, Lake Formation zu verwenden.

Schritt 3: Erteilen Sie Benutzern die IAM Erlaubnis, Lake Formation zu verwenden

Um das AWS Lake Formation Berechtigungsmodell verwenden zu können, müssen Principals über AWS Identity and Access Management (IAM) -Berechtigungen für die Lake Formation APIs verfügen.

Erstellen Sie die folgende Richtlinie IAM und fügen Sie sie jedem Benutzer hinzu, der Zugriff auf Ihren Data Lake benötigt. Speichern Sie die Richtlinie unter dem Namen LakeFormationDataAccess.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": "*" } ] }

Als Nächstes führen Sie ein Upgrade auf Lake Formation Formation-Berechtigungen für jeweils einen Datenstandort durch. Siehe Schritt 4: Stellen Sie Ihre Datenspeicher auf das Lake Formation Formation-Berechtigungsmodell um.

Schritt 4: Stellen Sie Ihre Datenspeicher auf das Lake Formation Formation-Berechtigungsmodell um

Ein Upgrade auf Lake Formation ermöglicht jeweils einen Datenstandort. Wiederholen Sie dazu den gesamten Abschnitt, bis Sie alle Amazon Simple Storage Service (Amazon S3) -Pfade registriert haben, auf die in Ihrem Datenkatalog verwiesen wird.

Überprüfen Sie die Berechtigungen von Lake Formation

Führen Sie vor der Registrierung eines Standorts einen Bestätigungsschritt durch, um sicherzustellen, dass die richtigen Principals über die erforderlichen Lake Formation Formation-Berechtigungen verfügen und dass Principals, die diese nicht haben sollten, keine Lake Formation Formation-Berechtigungen erteilt werden. Identifizieren Sie mithilfe des GetEffectivePermissionsForPath API Vorgangs Lake Formation die Data Catalog-Ressourcen, die auf den Amazon S3 S3-Standort verweisen, zusammen mit den Principals, die über Berechtigungen für diese Ressourcen verfügen.

Das folgende AWS CLI Beispiel gibt die Data Catalog-Datenbanken und -Tabellen zurück, die auf den Amazon S3 S3-Bucket verweisenproducts.

aws lakeformation get-effective-permissions-for-path --resource-arn arn:aws:s3:::products --profile datalake_admin

Beachten Sie die profile Option. Es wird empfohlen, den Befehl als Data Lake-Administrator auszuführen.

Im Folgenden finden Sie einen Auszug aus den zurückgegebenen Ergebnissen.

{ "PermissionsWithGrantOption": [ "SELECT" ], "Resource": { "TableWithColumns": { "Name": "inventory_product", "ColumnWildcard": {}, "DatabaseName": "inventory" } }, "Permissions": [ "SELECT" ], "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1", "DataLakePrincipalType": "IAM_USER" } },...
Wichtig

Wenn Ihre AWS Glue Der Datenkatalog ist verschlüsselt und GetEffectivePermissionsForPath gibt nur Datenbanken und Tabellen zurück, die nach der allgemeinen Verfügbarkeit von Lake Formation erstellt oder geändert wurden.

Sichern Sie vorhandene Datenkatalog-Ressourcen

Widerrufen Sie als Nächstes die Super Berechtigung für jede Tabelle und Datenbank, die Sie für den Standort identifiziert haben. IAMAllowedPrincipals

Warnung

Wenn Sie über eine Automatisierung verfügen, die Datenbanken und Tabellen im Datenkatalog erstellt, können die folgenden Schritte dazu führen, dass die Automatisierungs- und Downstream-Jobs zum Extrahieren, Transformieren und Laden (ETL) fehlschlagen. Fahren Sie erst fort, nachdem Sie entweder Ihre vorhandenen Prozesse geändert oder den erforderlichen Prinzipalen explizite Lake Formation Formation-Berechtigungen erteilt haben. Informationen zu den Berechtigungen für Lake Formation finden Sie unterReferenz zu den Genehmigungen von Lake Formation.

Um von einer Tabelle Super aus IAMAllowedPrincipals zu widerrufen
  1. Öffnen Sie die AWS Lake Formation Konsole unter https://console.aws.amazon.com/lakeformation/. Melden Sie sich als Data Lake-Administrator an.

  2. Wählen Sie im Navigationsbereich Tables (Tabellen) aus.

  3. Wählen Sie auf der Seite Tabellen das Optionsfeld neben der gewünschten Tabelle aus.

  4. Wählen Sie im Menü Aktionen die Option Widerrufen aus.

  5. Scrollen Sie im Dialogfeld „Berechtigungen widerrufen“ in der Liste „IAMBenutzer und Rollen“ nach unten zur Überschrift Gruppe und wählen Sie IAMAllowedPrincipals.

  6. Vergewissern Sie sich, dass unter Tabellenberechtigungen die Option Super ausgewählt ist, und wählen Sie dann Widerrufen aus.

Um von einer Datenbank Super aus IAMAllowedPrincipals zu widerrufen
  1. Öffnen Sie die AWS Lake Formation Konsole unter https://console.aws.amazon.com/lakeformation/. Melden Sie sich als Data Lake-Administrator an.

  2. Wählen Sie im Navigationsbereich Datenbanken aus.

  3. Wählen Sie auf der Seite Datenbanken das Optionsfeld neben der gewünschten Datenbank aus.

  4. Wählen Sie im Menü Actions die Option Edit.

  5. Deaktivieren Sie auf der Seite Datenbank bearbeiten die Option Nur IAM Zugriffskontrolle für neue Tabellen in dieser Datenbank verwenden, und wählen Sie dann Speichern aus.

  6. Vergewissern Sie sich, dass die Datenbank weiterhin ausgewählt ist, und wählen Sie dann im Menü Aktionen die Option Widerrufen aus.

  7. Scrollen Sie im Dialogfeld „Berechtigungen widerrufen“ in der Liste „IAMBenutzer und Rollen“ nach unten zur Überschrift „Gruppe“ und wählen Sie aus IAMAllowedPrincipals.

  8. Stellen Sie sicher, dass unter Datenbankberechtigungen Super ausgewählt ist, und wählen Sie dann Revoke aus.

Aktivieren Sie die Lake Formation Formation-Berechtigungen für Ihren Amazon S3 S3-Standort

Als Nächstes registrieren Sie den Amazon S3 S3-Standort bei Lake Formation. Dazu können Sie den unter beschriebenen Prozess verwendenHinzufügen eines Amazon S3 S3-Standorts zu Ihrem Data Lake. Oder verwenden Sie den RegisterResource API Vorgang wie unter beschriebenAPIs für den Verkauf von Anmeldeinformationen.

Anmerkung

Wenn ein übergeordneter Standort registriert ist, müssen Sie keine untergeordneten Standorte registrieren.

Nachdem Sie diese Schritte abgeschlossen und getestet haben, ob Ihre Benutzer auf ihre Daten zugreifen können, haben Sie erfolgreich auf Lake Formation Formation-Berechtigungen aktualisiert. Fahren Sie mit dem nächsten Schritt fort,Schritt 5: Sichern Sie sich neue Datenkatalog-Ressourcen.

Schritt 5: Sichern Sie sich neue Datenkatalog-Ressourcen

Sichern Sie als Nächstes alle neuen Datenkatalogressourcen, indem Sie die Standardeinstellungen für den Datenkatalog ändern. Deaktivieren Sie die Optionen, um die Zugriffskontrolle nur AWS Identity and Access Management (IAM) für neue Datenbanken und Tabellen zu verwenden.

Warnung

Wenn Sie über eine Automatisierung verfügen, die Datenbanken und Tabellen im Datenkatalog erstellt, können die folgenden Schritte dazu führen, dass die Automatisierungs- und Downstream-Jobs zum Extrahieren, Transformieren und Laden (ETL) fehlschlagen. Fahren Sie erst fort, nachdem Sie entweder Ihre vorhandenen Prozesse geändert oder den erforderlichen Prinzipalen explizite Lake Formation Formation-Berechtigungen erteilt haben. Informationen zu den Berechtigungen für Lake Formation finden Sie unterReferenz zu den Genehmigungen von Lake Formation.

So ändern Sie die Standardeinstellungen für den Datenkatalog
  1. Öffnen Sie die AWS Lake Formation Konsole unter https://console.aws.amazon.com/lakeformation/. Melden Sie sich als IAM Administratorbenutzer an (der Benutzer Administrator oder ein anderer Benutzer mit der AdministratorAccess AWS verwalteten Richtlinie).

  2. Wählen Sie im Navigationsbereich Settings (Einstellungen).

  3. Deaktivieren Sie auf der Seite mit den Datenkatalogeinstellungen beide Kontrollkästchen und wählen Sie dann Speichern aus.

Der nächste Schritt besteht darin, Benutzern in future Zugriff auf weitere Datenbanken oder Tabellen zu gewähren. Siehe Schritt 6: Geben Sie Benutzern eine neue IAM Richtlinie für den future Zugriff auf Data Lake.

Schritt 6: Geben Sie Benutzern eine neue IAM Richtlinie für den future Zugriff auf Data Lake

Um Ihren Benutzern in future Zugriff auf weitere Datenkatalogdatenbanken oder -Tabellen zu gewähren, müssen Sie ihnen die folgende grobkörnige AWS Identity and Access Management (IAM) Inline-Richtlinie geben. Speichern Sie die Richtlinie unter dem Namen GlueFullReadAccess.

Wichtig

Wenn Sie diese Richtlinie an einen Benutzer anhängen, bevor Sie sie Super für jede Datenbank und Tabelle in Ihrem Datenkatalog sperren, kann dieser Benutzer alle Metadaten für jede Ressource einsehen, für die gewährt wurde. IAMAllowedPrincipals Super IAMAllowedPrincipals

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GlueFullReadAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions" ], "Resource": "*" } ] }
Anmerkung

Die in diesem und den vorherigen Schritten festgelegten Inline-Richtlinien enthalten minimale IAM Berechtigungen. Richtlinienvorschläge für Data Lake-Administratoren, Datenanalysten und andere Personen finden Sie unterReferenz zu Personas und IAM Genehmigungen von Lake Formation.

Fahren Sie als Nächstes fort mit. Schritt 7: Bereinigen vorhandener IAM Richtlinien

Schritt 7: Bereinigen vorhandener IAM Richtlinien

Nachdem Sie die AWS Lake Formation Berechtigungen eingerichtet und die groben Richtlinien für die Zugriffskontrolle AWS Identity and Access Management (IAM) erstellt und angehängt haben, führen Sie den folgenden letzten Schritt aus:

Auf diese Weise stellen Sie sicher, dass diese Principals keinen direkten Zugriff mehr auf die Daten in Amazon Simple Storage Service (Amazon S3) haben. Anschließend können Sie den Data Lake-Zugriff für diese Principals vollständig über Lake Formation verwalten.