Gemeinsame Nutzung eines Data Lakes mithilfe der feinkörnigen Zugriffskontrolle 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.

Gemeinsame Nutzung eines Data Lakes mithilfe der feinkörnigen Zugriffskontrolle von Lake Formation

Dieses Tutorial enthält step-by-step Anweisungen, wie Sie mithilfe von Lake Formation schnell und einfach Datensätze gemeinsam nutzen können, wenn Sie mehrere AWS-Konten mit AWS Organizations verwalten. Sie definieren detaillierte Berechtigungen, um den Zugriff auf vertrauliche Daten zu kontrollieren.

Die folgenden Verfahren zeigen auch, wie ein Data Lake-Administrator von Konto A differenzierten Zugriff für Konto B bereitstellen kann und wie ein Benutzer in Konto B, der als Data Steward fungiert, anderen Benutzern in seinem Konto differenzierten Zugriff auf die gemeinsam genutzte Tabelle gewähren kann. Data Stewards in jedem Konto können den Zugriff unabhängig voneinander an ihre eigenen Benutzer delegieren, wodurch jedes Team oder jeder Geschäftsbereich () Autonomie erhält. LOB

Der Anwendungsfall geht davon aus, dass Sie Ihre verwenden AWS Organizations , um Ihre zu verwalten. AWS-Konten Der Benutzer von Konto A in einer Organisationseinheit (OU1) gewährt Benutzern von Konto B in ZugriffOU2. Sie können denselben Ansatz verwenden, wenn Sie Organizations nicht verwenden, z. B. wenn Sie nur wenige Konten haben. Das folgende Diagramm veranschaulicht die detaillierte Zugriffskontrolle von Datensätzen in einem Data Lake. Der Data Lake ist in Konto A verfügbar. Der Data Lake-Administrator von Konto A bietet detaillierten Zugriff auf Konto B. Das Diagramm zeigt auch, dass ein Benutzer von Konto B einem anderen Benutzer in Konto B Zugriff auf die Data-Lake-Tabelle von Konto A auf Spaltenebene gewährt.

AWS Organization structure with two OUs, showing data lake access and user permissions across accounts.

Zielgruppe

Dieses Tutorial richtet sich an Datenverwalter, Dateningenieure und Datenanalysten. In der folgenden Tabelle sind die Rollen aufgeführt, die in diesem Tutorial verwendet werden:

Rolle Beschreibung
IAMAdministrator Benutzer, der über die AWS verwaltete Richtlinie verfügt:AdministratorAccess.
Data Lake-Administrator

Benutzer, dem die Rolle „ AWS Verwaltete Richtlinie:“ AWSLakeFormationDataAdmin zugewiesen ist.

Datenanalyst Benutzer, dem die AWS verwaltete Richtlinie: AmazonAthenaFullAccess angehängt ist.

Voraussetzungen

Bevor Sie mit diesem Tutorial beginnen, benötigen Sie eine AWS-Konto , mit der Sie sich als Administratorbenutzer mit den richtigen Berechtigungen anmelden können. Weitere Informationen finden Sie unter Erledigen Sie die Aufgaben zur AWS Erstkonfiguration.

In der Anleitung wird davon ausgegangen, dass Sie mit vertraut sindIAM. Informationen zu IAM finden Sie im IAMBenutzerhandbuch.

Für dieses Tutorial benötigen Sie die folgenden Ressourcen:
  • Zwei Organisationseinheiten:

    • OU1— Enthält Konto A

    • OU2— Enthält Konto B

  • Ein Amazon S3 S3-Data-Lake-Standort (Bucket) in Konto A.

  • Ein Data Lake-Administratorbenutzer in Konto A. Sie können einen Data Lake-Administrator mithilfe der Lake Formation-Konsole (https://console.aws.amazon.com/lakeformation/) oder des PutDataLakeSettings Betriebs von Lake Formation erstellenAPI.

  • Lake Formation ist in Konto A konfiguriert, und der Amazon S3 S3-Data-Lake-Standort, der bei Lake Formation in Konto A registriert ist.

  • Zwei Benutzer in Konto B mit den folgenden IAM verwalteten Richtlinien:

    • testuser1 — hat die AWS verwalteten Richtlinien AWSLakeFormationDataAdmin angehängt.

    • testuser2 — Die verwaltete Richtlinie ist AWS angehängt. AmazonAthenaFullAccess

  • Eine Datenbank-Testdb in der Lake Formation Formation-Datenbank für Account B.

Schritt 1: Stellen Sie einen detaillierten Zugriff auf ein anderes Konto bereit

Erfahren Sie, wie ein Data Lake-Administrator von Konto A differenzierten Zugriff für Konto B bereitstellt.

Gewähren Sie einem anderen Konto differenzierten Zugriff
  1. Melden Sie sich AWS Management Console https://console.aws.amazon.com/connect/bei Konto A als Data Lake-Administrator an.

  2. Öffnen Sie die Lake Formation Formation-Konsole (https://console.aws.amazon.com/lakeformation/) und wählen Sie Get started.

  3. wählen Sie im Navigationsbereich Datenbanken aus.

  4. Wählen Sie Create database (Datenbank erstellen) aus.

  5. Wählen Sie im Abschnitt Datenbankdetails die Option Datenbank aus.

  6. Geben Sie unter Name einen Namen ein (für dieses Tutorial verwenden wirsampledb01).

  7. Stellen Sie sicher, dass die Option Nur IAM Zugriffskontrolle für neue Tabellen in dieser Datenbank verwenden nicht ausgewählt ist. Wenn diese Option nicht ausgewählt ist, können wir den Zugriff von Lake Formation aus kontrollieren.

  8. Wählen Sie Datenbank erstellen aus.

  9. Wählen Sie auf der Seite Datenbanken Ihre Datenbank sampledb01 aus.

  10. Wählen Sie im Menü Aktionen die Option Grant aus.

  11. Wählen Sie im Abschnitt Berechtigungen gewähren die Option Externes Konto aus.

  12. Geben Sie für AWS-Konto ID oder AWS Organisations-ID die Konto-ID für Konto B unter einOU2.

  13. Wählen Sie für Tabelle die Tabelle aus, auf die Konto B Zugriff haben soll (für diesen Beitrag verwenden wir Tabelleacc_a_area). Optional können Sie Zugriff auf Spalten in der Tabelle gewähren, was wir in diesem Beitrag tun.

  14. Wählen Sie unter Spalten einbeziehen die Spalten aus, auf die Konto B Zugriff haben soll (für diesen Beitrag gewähren wir Berechtigungen für Typ, Namen und Identifikatoren).

  15. Wählen Sie für Spalten die Option Spalten einbeziehen aus.

  16. Wählen Sie für Tabellenberechtigungen die Option Auswählen aus.

  17. Wählen Sie für Erteilbare Berechtigungen die Option Auswählen aus. Erteilbare Berechtigungen sind erforderlich, damit Administratorbenutzer in Konto B anderen Benutzern in Konto B Berechtigungen gewähren können.

  18. Wählen Sie Gewähren.

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

  20. Im Abschnitt AWS-Konten und AWS Organisationen mit Zugriff wurde möglicherweise eine aktive Verbindung angezeigt.

Erstellen Sie einen Ressourcenlink

Integrierte Dienste wie Amazon Athena können nicht direkt kontenübergreifend auf Datenbanken oder Tabellen zugreifen. Daher müssen Sie einen Ressourcenlink erstellen, damit Athena auf Ressourcenlinks in Ihrem Konto zu Datenbanken und Tabellen in anderen Konten zugreifen kann. Erstellen Sie einen Ressourcenlink zur Tabelle (acc_a_area), damit Benutzer von Account B ihre Daten mit Athena abfragen können.

  1. Melden Sie sich in der AWS Konsole unter https://console.aws.amazon.com/connect/in Konto B an alstestuser1.

  2. Wählen Sie in der Lake Formation Formation-Konsole (https://console.aws.amazon.com/lakeformation/) im Navigationsbereich die Option Tabellen aus. Sie sollten die Tabellen sehen, auf die Konto A Zugriff gewährt hat.

  3. Wählen Sie die acc_a_area Tabelle aus.

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

  5. Geben Sie unter Name des Ressourcenlinks einen Namen ein (für dieses Tutorialacc_a_area_rl).

  6. Wählen Sie für Datenbank Ihre Datenbank (testdb) aus.

  7. Wählen Sie Create (Erstellen) aus.

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

  9. Wählen Sie die acc_b_area_rl Tabelle aus.

  10. Wählen Sie im Menü Aktionen die Option Daten anzeigen aus.

    Sie werden zur Athena-Konsole weitergeleitet, wo Sie die Datenbank und die Tabelle sehen sollten.

    Sie können jetzt eine Abfrage in der Tabelle ausführen, um den Spaltenwert zu ermitteln, auf den testuser1 von Konto B aus Zugriff gewährt wurde.

Schritt 2: Bieten Sie einem Benutzer im selben Konto differenzierten Zugriff

In diesem Abschnitt wird gezeigt, wie ein Benutzer in Konto B (testuser1), der als Datenverwalter fungiert, einem anderen Benutzer desselben Kontos (testuser2) differenzierten Zugriff auf den Spaltennamen in der gemeinsam genutzten Tabelle gewährt. aac_b_area_rl

Gewähren Sie einem Benutzer im selben Konto differenzierten Zugriff
  1. Melden Sie sich bei der AWS Konsole unter Konto B https://console.aws.amazon.com/connect/an als. testuser1

  2. Wählen Sie in der Lake Formation Formation-Konsole im Navigationsbereich die Option Tabellen aus.

    Sie können über den zugehörigen Ressourcenlink Berechtigungen für eine Tabelle gewähren. Wählen Sie dazu auf der Seite Tabellen den Ressourcenlink acc_b_area_rl und dann im Menü Aktionen die Option Auf Ziel gewähren aus.

  3. Wählen Sie im Abschnitt Berechtigungen gewähren die Option Mein Konto aus.

  4. Wählen Sie für IAMBenutzer und Rollen den Benutzer austestuser2.

  5. Wählen Sie für Spalte den Spaltennamen aus.

  6. Wählen Sie für Tabellenberechtigungen die Option Auswählen aus.

  7. Wählen Sie Gewähren.

    Wenn Sie einen Ressourcenlink erstellen, können nur Sie ihn anzeigen und darauf zugreifen. Um anderen Benutzern in Ihrem Konto den Zugriff auf den Ressourcenlink zu ermöglichen, müssen Sie Berechtigungen für den Ressourcenlink selbst erteilen. Sie müssen DESCRIBEOr DROPBerechtigungen erteilen. Wählen Sie auf der Seite Tabellen erneut Ihre Tabelle aus und wählen Sie im Menü Aktionen die Option Gewähren aus.

  8. Wählen Sie im Abschnitt Berechtigungen gewähren die Option Mein Konto aus.

  9. Wählen Sie für IAMBenutzer und Rollen den Benutzer austestuser2.

  10. Wählen Sie für Resource Link Permissions die Option Describe aus.

  11. Wählen Sie Gewähren.

  12. Melden Sie sich in der AWS Konsole mit Konto B als antestuser2.

    Auf der Athena-Konsole (https://console.aws.amazon.com/athena/) sollten Sie die Datenbank und die Tabelle acc_b_area_rl sehen. Sie können jetzt eine Abfrage in der Tabelle ausführen, um den Spaltenwert zu sehen, auf den Sie Zugriff testuser2 haben.