Verwaltung des Zugriffs auf eine Tabelle oder Datenbank mit Lake Formation - Amazon Simple Storage Service

Verwaltung des Zugriffs auf eine Tabelle oder Datenbank mit Lake Formation

Nachdem Ihre Tabellen-Buckets in die AWS Analytik-Services integriert sind, verwaltet Lake Formation den Zugriff auf Ihre Tabellen und erfordert, dass jeder IAM-Prinzipal (Benutzer oder Rolle) autorisiert ist, Aktionen in ihnen durchzuführen. Lake Formation verwendet ein eigenes Berechtigungsmodell (Lake -Formation-Berechtigungen), das eine detaillierte Zugriffskontrolle für Datenkatalogressourcen ermöglicht.

Weitere Informationen finden Sie unter Übersicht über Lake-Formation-Berechtigungen im AWS Lake Formation-Entwicklerhandbuch.

Es gibt zwei Haupttypen von Berechtigungen in AWS Lake Formation:

  1. Zugriffsberechtigungen für Metadaten steuern die Fähigkeit, Metadatendatenbanken und Tabellen im Datenkatalog zu erstellen, zu lesen, zu aktualisieren und zu löschen.

  2. Die zugrunde liegenden Datenzugriffsberechtigungen steuern die Fähigkeit, Daten zu den zugrunde liegenden Amazon-S3-Speicherorten zu lesen und zu schreiben, auf die die Datenkatalogressourcen verweisen.

Lake Formation verwendet eine Kombination aus seinem eigenen Berechtigungsmodell und dem IAM-Berechtigungsmodell, um den Zugriff auf Data Catalog und zugrunde liegende Daten zu steuern.

  • Damit eine Anfrage für den Zugriff auf Datenkatalogressourcen oder zugrunde liegende Daten erfolgreich ist, muss die Anforderung die Berechtigungsprüfungen sowohl von IAM als auch von Lake Formation bestehen.

  • IAM-Berechtigungen kontrollieren den Zugriff auf Lake-Formation-Ressourcen sowie AWS Glue-APIs und Ressourcen, wohingegen Lake-Formation-Berechtigungen den Zugriff auf Ressourcen von Data Catalog, Amazon-S3-Standorte und die zugrunde liegenden Daten kontrollieren.

Lake-Formation-Berechtigungen gelten nur in der Region, in der sie erteilt wurden, und ein Prinzipal muss von einem Data Lake-Administrator oder einem anderen Prinzipal mit den erforderlichen Berechtigungen autorisiert werden, um Lake Formation-Berechtigungen zu erhalten.

Anmerkung

Wenn Sie der Benutzer sind, der die Tabellen-Bucket-Integration durchgeführt hat, verfügen Sie bereits über Lake Formation-Berechtigungen für Ihre Tabellen. Wenn Sie der einzige Prinzipal sind, der auf Ihre Tabellen zugreift, können Sie diesen Schritt überspringen. Sie müssen Lake Formation Berechtigungen für Ihre Tabellen nur anderen IAM-Prinzipal erteilen. Dadurch können andere Prinzipale beim Ausführen von Abfragen auf die Tabelle zugreifen. Weitere Informationen finden Sie unter Erteilen der Lake Formation-Berechtigung für eine Tabelle oder Datenbank.

Erteilen der Lake Formation-Berechtigung für eine Tabelle oder Datenbank

Sie können einem Lake Formation-Prinzipal Berechtigungen für eine Tabelle oder Datenbank in einem Tabellen-Bucket erteilen, entweder über die Lake Formation-Konsole oder über die AWS CLI.

Anmerkung

Wenn Sie Lake Formation-Berechtigungen für eine Datenkatalogressource einem externen Konto oder direkt einem IAM-Prinzipal in einem anderen Konto gewähren, verwendet Lake Formation den Dienst AWS Resource Access Manager (AWS RAM), um die Ressource gemeinsam zu nutzen. Befindet sich das Konto des Empfängers in derselben Organisation wie das Konto des Zuweisungsempfängers, steht die gemeinsam genutzte Ressource dem Empfänger sofort zur Verfügung. Wenn sich das Konto des Zuschussempfängers nicht in derselben Organisation befindet, sendet AWS RAM eine Einladung an das Konto des Empfängers, den Ressourcenzuschuss anzunehmen oder abzulehnen. Um die gemeinsam genutzte Ressource verfügbar zu machen, muss der Data Lake-Administrator des Empfängerkontos dann die AWS RAM-Konsole verwenden oder die AWS CLI-Einladung annehmen. Weitere Informationen zur kontenübergreifenden Datenfreigabe finden Sie unter Kontenübergreifender Datenaustausch in Lake Formation im AWS Lake Formation-Entwicklerhandbuch.

Console
  1. Öffnen Sie die AWS Lake Formation-Konsole unter https://console.aws.amazon.com/lakeformation/ und melden Sie sich als Data-Lake-Administrator an. Weitere Informationen zum Erstellen eines Data Lake-Administrators finden Sie unter Erstellen eines Data Lake-Administrators im AWS Lake Formation-Entwicklerhandbuch.

  2. Wählen Sie im Navigationsbereich Datenberechtigungen und dann Erteilen aus.

  3. Führen Sie auf der Seite Grant Permissions unter Prinzipale einen der folgenden Schritte aus:

    • Wählen Sie für Amazon Athena oder Amazon Redshift IAM-Benutzer und -Rollen und anschließend den IAM-Prinzipal aus, den Sie für Abfragen verwenden.

    • Wählen Sie für Amazon Data Firehose IAM-Benutzer und -Rollen und anschließend die Servicerolle aus, die Sie für das Streamen in Tabellen erstellt haben.

    • Wählen Sie für Quick Suite SAML-Benutzer und -Gruppen und geben Sie den Amazon-Ressourcennamen (ARN) Ihres Quick Suite-Administratorbenutzers ein.

    • Für den AWS Glue Iceberg REST Endpunktzugriff wählen Sie IAM-Benutzer und -Rollen aus und wählen Sie anschließend die IAM-Rolle, die Sie für Ihren Kunden erstellt haben. Weitere Informationen finden Sie unter . Erstellen Sie eine IAM-Rolle für Ihren Client.

  4. Wählen Sie unter LF-Tags or catalog resources (LF-Tags oder Katalogressourcen) die Option Named Data Catalog resources (Benannte Datenkatalogressourcen).

  5. Wählen Sie für Kataloge den Unterkatalog aus, den Sie bei der Integration Ihres Tabellen-Buckets erstellt haben, z. B. account-id:s3tablescatalog/amzn-s3-demo-bucket.

  6. Wählen Sie für Databases (Datenbanken) den Namespace des S3-Tabellen-Buckets aus, den Sie erstellt haben.

  7. (Optional) Wählen Sie für Tabellen die S3-Tabelle aus, die Sie in Ihrem Tabellen-Bucket erstellt haben.

    Anmerkung

    Wenn Sie im Athena-Abfrage-Editor eine neue Tabelle erstellen, wählen Sie keine Tabelle aus.

  8. Führen Sie eine der folgenden Aktionen aus:

    • Wenn Sie im vorherigen Schritt eine Tabelle angegeben haben, wählen Sie für Tabellenberechtigungen die Option Super.

    • Wenn Sie im vorherigen Schritt keine Tabelle angegeben haben, wechseln Sie zu Datenbankberechtigungen. Für die kontoübergreifende gemeinsame Nutzung von Daten können Sie Super nicht wählen, um dem anderen Prinzipal alle Berechtigungen für Ihre Datenbank zu gewähren. Wählen Sie stattdessen detailliertere Berechtigungen wie Beschreiben.

  9. Wählen Sie Grant (Erteilen).

CLI
  1. Bitte stellen Sie sicher, dass Sie die folgenden AWS CLI-Befehle als Data Lake-Administrator ausführen. Weitere Informationen finden Sie unter Erstellen eines Data Lake-Administrators im AWS Lake Formation-Entwicklerhandbuch.

  2. Führen Sie den folgenden Befehl aus, um einem IAM-Prinzipal Lake-Formation-Berechtigungen in der Tabelle im S3-Table-Bucket für den Zugriff auf die Tabelle zu erteilen. Wenn Sie dieses Beispiel verwenden möchten, ersetzen Sie die user input placeholders (Platzhalter für Benutzereingaben) durch Ihre Informationen.

    aws lakeformation grant-permissions \ --region us-east-1 \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier": "user or role ARN, for example, arn:aws:iam::account-id:role/example-role" }, "Resource": { "Table": { "CatalogId": "account-id:s3tablescatalog/amzn-s3-demo-bucket", "DatabaseName": "S3 table bucket namespace, for example, test_namespace", "Name": "S3 table bucket table name, for example test_table" } }, "Permissions": [ "ALL" ] }'