Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Zugreifen auf Amazon S3 S3-Tabellen mit dem AWS Glue Iceberg REST Endpunkt

Fokusmodus
Zugreifen auf Amazon S3 S3-Tabellen mit dem AWS Glue Iceberg REST Endpunkt - Amazon Simple Storage Service

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.

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.

Sobald Ihre S3-Tabellen-Buckets in die integriert sind, können AWS Glue Data Catalog Sie die verwenden AWS Glue Iceberg REST Endpunkt, von dem aus Sie eine Verbindung zu Ihren S3-Tabellen herstellen Apache Iceberg-kompatible Clients, wie PyIceberg or Spark. Das AWS Glue Iceberg REST Endpunkt implementiert die Iceberg REST Catalog Open API-Spezifikation, die eine standardisierte Schnittstelle für die Interaktion mit bietet Iceberg Tabellen. Um über den Endpunkt auf S3-Tabellen zuzugreifen, müssen Sie Berechtigungen über eine Kombination aus IAM-Richtlinien und AWS Lake Formation Zuschüssen konfigurieren. In den folgenden Abschnitten wird erklärt, wie der Zugriff eingerichtet wird, einschließlich der Erstellung der erforderlichen IAM-Rolle, der Definition der erforderlichen Richtlinien und der Einrichtung von Lake Formation Formation-Berechtigungen für den Zugriff auf Datenbank- und Tabellenebene.

Für eine Komplettlösung verwenden Sie PyIceberg, siehe Zugreifen auf Daten in Amazon S3 S3-Tabellen mit PyIceberg durch die AWS Glue Iceberg REST Endpunkt.

Erstellen Sie eine IAM-Rolle für Ihren Kunden

Um über AWS Glue Endpoints auf Tabellen zuzugreifen, müssen Sie eine IAM-Rolle mit Berechtigungen für AWS Glue und Lake Formation Formation-Aktionen erstellen. In diesem Verfahren wird erklärt, wie Sie diese Rolle erstellen und ihre Berechtigungen konfigurieren.

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

  2. Wählen Sie im linken Navigationsbereich Richtlinien aus.

  3. Wählen Sie im Richtlinien-Editor Richtlinie erstellen und JSON aus.

  4. Fügen Sie die folgende Inline-Richtlinie hinzu, die Zugriffsberechtigungen AWS Glue und Lake Formation Formation-Aktionen gewährt:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow" "Action": [ "glue:GetCatalog", "glue:GetDatabase", "glue:GetDatabases", "glue:GetTable", "glue:GetTables", "glue:CreateTable", "glue:UpdateTable" ], "Resource": [ "arn:aws:glue:<region>:<account-id>:catalog", "arn:aws:glue:<region>:<account-id>:catalog/s3tablescatalog", "arn:aws:glue:<region>:<account-id>:catalog/s3tablescatalog/<s3_table_bucket_name>", "arn:aws:glue:<region>:<account-id>:table/s3tablescatalog/<s3_table_bucket_name>/<namespace>/*", "arn:aws:glue:<region>:<account-id>:database/s3tablescatalog/<s3_table_bucket_name>/<namespace>" ] } ] }, { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": "*" } ] }

Definieren Sie den Zugriff in Lake Formation

Lake Formation bietet eine detaillierte Zugriffskontrolle für Ihre Data-Lake-Tabellen. Als Sie Ihren S3-Bucket in den integriert haben AWS Glue Data Catalog, wurden Ihre Tabellen automatisch als Ressourcen in Lake Formation registriert. Um auf diese Tabellen zugreifen zu können, müssen Sie Ihrer IAM-Identität zusätzlich zu den IAM-Richtlinienberechtigungen bestimmte Lake Formation Formation-Berechtigungen gewähren.

In den folgenden Schritten wird erklärt, wie Sie die Zugriffskontrollen für Lake Formation anwenden, um Ihre Iceberg Client, um eine Verbindung zu Ihren Tabellen herzustellen. Sie müssen sich als Data Lake-Administrator anmelden, um diese Berechtigungen anwenden zu können.

Erlauben Sie externen Engines den Zugriff auf Tabellendaten

In Lake Formation müssen Sie den vollständigen Tabellenzugriff für externe Engines aktivieren, um auf Daten zugreifen zu können. Dadurch können Drittanbieteranwendungen temporäre Anmeldeinformationen von Lake Formation abrufen, wenn sie eine IAM-Rolle verwenden, die über volle Berechtigungen für die angeforderte Tabelle verfügt.

Öffnen Sie die Lake Formation Formation-Konsole unter https://console.aws.amazon.com/lakeformation/.

  1. Öffnen Sie die Lake Formation Formation-Konsole unter https://console.aws.amazon.com/lakeformation/und melden Sie sich als Data Lake-Administrator an.

  2. Wählen Sie im Navigationsbereich unter Administration die Option Anwendungsintegrationseinstellungen aus.

  3. Wählen Sie Erlauben Sie externen Engines den Zugriff auf Daten an Amazon S3 S3-Standorten mit vollständigem Tabellenzugriff. Wählen Sie dann Speichern.

Lake Formation Berechtigungen für Ihre Tabellenressourcen erteilen

Als Nächstes gewähren Sie Lake Formation Formation-Berechtigungen für die IAM-Rolle, die Sie für Ihren IceBerg-kompatiblen Client erstellt haben. Diese Berechtigungen ermöglichen es der Rolle, Tabellen in Ihrem Namespace zu erstellen und zu verwalten. Sie müssen sowohl Berechtigungen auf Datenbank- als auch auf Tabellenebene bereitstellen:

Um Datenbankberechtigungen zu gewähren

  1. Öffnen Sie die AWS Lake Formation Konsole unter https://console.aws.amazon.com/lakeformation/und melden Sie sich als Data Lake-Administrator an.

  2. Wählen Sie im Navigationsbereich Data permissions (Datenberechtigungen) und dann Grant (Erteilen) aus.

  3. Wählen Sie auf der Seite Grant Permissions unter Principals die Option IAM-Benutzer und -Rollen und anschließend die IAM-Rolle aus, die Sie für Iceberg erstellt haben AWS Glue  REST endpoint Zugriff.

  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 AWS Glue Datenkatalog aus, der für Ihren Tabellen-Bucket erstellt wurde. Beispiel, <accoundID>:s3tablescatalog/<table-bucket-name>.

  6. Wählen Sie mynamespace für Datenbanken.

  7. Wählen Sie für Tabellenberechtigungen die Optionen Tabelle erstellen und Beschreiben aus.

  8. Wählen Sie Grant (Erteilen).

Um Tabellenberechtigungen zu gewähren

  1. Öffnen Sie die AWS Lake Formation Konsole unter https://console.aws.amazon.com/lakeformation/ und melden Sie sich als Data Lake-Administrator an.

  2. Wählen Sie im Navigationsbereich Data permissions (Datenberechtigungen) und dann Grant (Erteilen) aus.

  3. Wählen Sie auf der Seite Grant Permissions unter Principals die Option IAM-Benutzer und -Rollen und anschließend die IAM-Rolle aus, die Sie für Iceberg erstellt haben AWS Glue REST endpoint Zugriff.

  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 AWS Glue Datenkatalog aus, der für Ihren Tabellen-Bucket erstellt wurde. Beispiel, <accoundID>:s3tablescatalog/<table-bucket-name>.

  6. Wählen Sie für Databases (Datenbanken) den Bucket-Namespace von S3 Table, den Sie erstellt haben.

  7. Wählen Sie für Tabellen ALL_TABLES aus.

  8. Wählen Sie für Table permissions (Tabellenberechtigungen) die Option Super.

  9. Wählen Sie Grant (Erteilen).

Richten Sie Ihre Umgebung für die Verwendung des Endpunkts ein

Nachdem Sie die IAM-Rolle mit den für den Tabellenzugriff erforderlichen Berechtigungen eingerichtet haben, können Sie sie zum Ausführen verwenden Iceberg Clients von Ihrem lokalen Computer aus, indem Sie die AWS CLI mit Ihrer Rolle konfigurieren. Verwenden Sie dazu den folgenden Befehl:

aws sts assume-role --role-arn "arn:aws:iam::<accountid>:role/<glue-irc-role>" --role-session-name <glue-irc-role>

Um auf Tabellen zuzugreifen über AWS Glue REST Endpunkt, Sie müssen einen Katalog in Ihrem initialisieren Iceberg-kompatibler Client. Für diese Initialisierung müssen benutzerdefinierte Eigenschaften angegeben werden, darunter Sigv4-Eigenschaften, der Endpunkt-URI und der Warehouse-Standort. Geben Sie diese Eigenschaften wie folgt an:

  • Sigv4-Eigenschaften — Sigv4 muss aktiviert sein, der Signaturname lautet glue

  • Lagerort — Dies ist Ihr Tabellen-Bucket, angegeben in diesem Format: <accountid>:s3tablescatalog/<table-bucket-name>

  • Endpunkt-URI — Informationen zum AWS Glue regionsspezifischen Endpunkt finden Sie im Referenzhandbuch für Service-Endpunkte

Das folgende Beispiel zeigt, wie ein initialisiert wird pyIceberg katalog.

rest_catalog = load_catalog( s3tablescatalog, **{ "type": "rest", "warehouse": "<accountid>:s3tablescatalog/<table-bucket-name>", "uri": "https://glue.<region>.amazonaws.com/iceberg", "rest.sigv4-enabled": "true", "rest.signing-name": "glue", "rest.signing-region": region } )

Für weitere Informationen über die AWS Glue Iceberg REST Endpunktimplementierung finden Sie unter Herstellen einer Verbindung zum Datenkatalog mit AWS Glue Iceberg REST Endpunkt im AWS Glue Benutzerhandbuch.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.