Verwenden von Amazon S3 S3-Tabellen mit AWS Analysediensten - 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.

Verwenden von Amazon S3 S3-Tabellen mit AWS Analysediensten

Um die Tabellen in Ihrem Konto für AWS Analysedienste zugänglich zu machen, integrieren Sie Ihre Amazon S3 S3-Tabellen-Buckets in Amazon SageMaker Lakehouse. Diese Integration ermöglicht es AWS Analysediensten, Ihre Tabellendaten automatisch zu erkennen und darauf zuzugreifen. Sie können diese Integration verwenden, um mit Ihren Tabellen in diesen Diensten zu arbeiten:

Anmerkung

Diese Integration verwendet die AWS Lake Formation Dienste AWS Glue und kann AWS Glue Anforderungs- und Speicherkosten nach sich ziehen. Weitere Informationen finden Sie unter AWS Glue  – Preise.

Für die Ausführung von Abfragen in Ihren S3 Tables fallen zusätzliche Preise an. Weitere Informationen finden Sie in den Preisinformationen für die von Ihnen verwendete Abfrage-Engine.

Funktionsweise der Integration

Wenn Sie in der Konsole einen Tabellen-Bucket erstellen, initiiert Amazon S3 die folgenden Aktionen, um Tabellen-Buckets in der Region, die Sie ausgewählt haben, mit AWS Analysediensten zu integrieren:

  1. Erstellt eine neue AWS Identity and Access Management (IAM) -Servicerolle, die Lake Formation Zugriff auf all Ihre Tabellen-Buckets gewährt.

  2. Mithilfe der Servicerolle registriert Lake Formation Tabellen-Buckets in der aktuellen Region. Auf diese Weise kann Lake Formation den Zugriff, die Berechtigungen und die Steuerung für alle aktuellen und zukünftigen Tabellen-Buckets in dieser Region verwalten.

  3. Fügt den s3tablescatalog Katalog der AWS Glue Data Catalog in der aktuellen Region hinzu. Durch das Hinzufügen des s3tablescatalog Katalogs können all Ihre Tabellen-Buckets, Namespaces und Tabellen im Datenkatalog aufgefüllt werden.

Anmerkung

Diese Aktionen werden über die Amazon S3 S3-Konsole automatisiert. Wenn Sie diese Integration programmgesteuert durchführen, müssen Sie all diese Aktionen manuell ausführen.

Sie integrieren Ihre Tabellen-Buckets einmal pro Region. AWS Nach Abschluss der Integration werden alle aktuellen und future Tabellen-Buckets, Namespaces und Tabellen zu den AWS Glue Data Catalog in dieser Region hinzugefügt.

Die folgende Abbildung zeigt, wie der s3tablescatalog Katalog Tabellen-Buckets, Namespaces und Tabellen in der aktuellen Region automatisch als entsprechende Objekte im Datenkatalog auffüllt. Tabellen-Buckets werden als Unterkataloge gefüllt. Namespaces innerhalb eines Tabellen-Buckets werden als Datenbanken in ihren jeweiligen Unterkatalogen aufgefüllt. Tabellen werden als Tabellen in ihren jeweiligen Datenbanken übertragen.

Die Art und Weise, wie Tabellenressourcen dargestellt werden. AWS Glue Data Catalog
Wie funktionieren Berechtigungen

Wir empfehlen, Ihre Tabellen-Buckets mit AWS Analysediensten zu integrieren, sodass Sie mit Ihren Tabellendaten in allen Diensten arbeiten können, die AWS Glue Data Catalog sie als Metadatenspeicher verwenden. Die Integration ermöglicht eine differenzierte Zugriffskontrolle durch. AWS Lake Formation Dieser Sicherheitsansatz bedeutet, dass Sie Ihrem IAM-Prinzipal zusätzlich zu den AWS Identity and Access Management (IAM-) Berechtigungen Lake Formation Formation-Berechtigungen für Ihre Tabellen gewähren müssen, bevor Sie mit ihnen arbeiten können.

Es gibt zwei Haupttypen von Berechtigungen in: AWS Lake Formation

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

  • Die zugrunde liegenden Datenzugriffsberechtigungen steuern die Fähigkeit, Daten zu den zugrunde liegenden Amazon S3 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 Datenkatalogressourcen und die zugrunde liegenden Daten zu kontrollieren:

  • 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 steuern den Zugriff auf die Lake Formation AWS Glue APIs und die Ressourcen, wohingegen Lake Formation Formation-Berechtigungen den Zugriff auf die Datenkatalogressourcen, Amazon S3 S3-Standorte und die zugrunde liegenden Daten steuern.

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

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

Stellen Sie sicher, dass Sie die Schritte unter befolgen Voraussetzungen für die Integration und Integrieren von Tabellen-Buckets mit Analysediensten AWS dass Sie über die entsprechenden Berechtigungen für den Zugriff auf die AWS Glue Data Catalog und Ihre Tabellenressourcen sowie für die Arbeit mit AWS Analytics-Services verfügen.

Wichtig

Wenn Sie nicht der Benutzer sind, der die Tabellen-Buckets-Integration mit AWS Analysediensten für Ihr Konto durchgeführt hat, müssen Ihnen die erforderlichen Lake Formation Formation-Berechtigungen für die Tabelle erteilt werden. Weitere Informationen finden Sie unter Erteilen von Berechtigungen für eine Tabelle oder Datenbank.

Voraussetzungen für die Integration

Die folgenden Voraussetzungen sind erforderlich, um Table-Buckets in AWS Analytics-Services zu integrieren:

Wichtig

Achten Sie beim Erstellen von Tabellen darauf, dass Sie in Ihren Tabellennamen und Tabellendefinitionen ausschließlich Kleinbuchstaben verwenden. Stellen Sie beispielsweise sicher, dass Ihre Spaltennamen ausschließlich in Kleinbuchstaben geschrieben sind. Wenn Ihr Tabellenname oder Ihre Tabellendefinition Großbuchstaben enthält, wird die Tabelle von AWS Lake Formation oder der AWS Glue Data Catalog nicht unterstützt. In diesem Fall ist Ihre Tabelle für AWS Analysedienste wie Amazon Athena nicht sichtbar, auch wenn Ihre Tabellen-Buckets in AWS Analysedienste integriert sind.

Wenn Ihre Tabellendefinition Großbuchstaben enthält, erhalten Sie beim Ausführen einer SELECT Abfrage in Athena die folgende Fehlermeldung: „GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model. ValidationException: Nicht unterstützte Verbundressource — Ungültige Tabellen- oder Spaltennamen.“

Integrieren von Tabellen-Buckets mit Analysediensten AWS

Diese Integration muss einmal pro AWS Region durchgeführt werden.

Wichtig

Die AWS Analytics-Services-Integration verwendet jetzt die WithPrivilegedAccess Option im registerResource Lake Formation Formation-API-Vorgang, um S3-Tabellen-Buckets zu registrieren. Die Integration erstellt jetzt auch den s3tablescatalog Katalog in der, AWS Glue Data Catalog indem die AllowFullTableExternalDataAccess Option im CreateCatalog AWS Glue API-Vorgang verwendet wird.

Wenn Sie die Integration mit der Vorschauversion einrichten, können Sie Ihre aktuelle Integration weiterhin verwenden. Der aktualisierte Integrationsprozess bietet jedoch Leistungsverbesserungen, weshalb wir eine Migration empfehlen. Informationen zur Migration zur aktualisierten Integration finden Sie unterMigration zum aktualisierten Integrationsprozess.

  1. Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im linken Navigationsbereich Tabellen-Buckets aus.

  3. Wählen Sie Tabellen-Bucket erstellen aus.

    Anschließend wird die Seite Tabellen-Bucket erstellen geöffnet.

  4. Geben Sie einen Tabellen-Bucket-Namen ein und stellen Sie sicher, dass das Kontrollkästchen Integration aktivieren aktiviert ist.

  5. Wählen Sie Tabellen-Bucket erstellen aus. Amazon S3 versucht daraufhin, Ihre Tabellen-Buckets automatisch in diese Region zu integrieren.

Wenn Sie Tabellen-Buckets zum ersten Mal in einer beliebigen Region integrieren, erstellt Amazon S3 in Ihrem Namen eine neue IAM-Servicerolle. Diese Rolle ermöglicht Lake Formation den Zugriff auf alle Tabellen-Buckets in Ihrem Konto und Verbundzugriff auf Ihre Tabellen in AWS Glue Data Catalog.

Um Tabellen-Buckets mit dem zu integrieren AWS CLI

Die folgenden Schritte zeigen, wie Sie mit dem AWS CLI Tabellen-Buckets integrieren können. Um diese Schritte zu verwenden, ersetzen Sie sie user input placeholders durch Ihre eigenen Informationen.

  1. Erstellen Sie einen Tabellen-Bucket.

    aws s3tables create-table-bucket \ --region us-east-1 \ --name amzn-s3-demo-table-bucket
  2. Erstellen Sie eine IAM-Servicerolle, die Lake Formation Zugriff auf Ihre Tabellenressourcen erteilt.

    1. Erstellen Sie eine Datei mit dem NamenRole-Trust-Policy.json, die die folgende Vertrauensrichtlinie enthält:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccessPolicy", "Effect": "Allow", "Principal": { "Service": "lakeformation.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext", "sts:SetSourceIdentity" ], "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] }

      Erstellen Sie die IAM-Dienstrolle mithilfe des folgenden Befehls:

      aws iam create-role \ --role-name S3TablesRoleForLakeFormation \ --assume-role-policy-document file://Role-Trust-Policy.json
    2. Erstellen Sie eine Datei mit dem NamenLF-GluePolicy.json, die die folgende Richtlinie enthält:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationPermissionsForS3ListTableBucket", "Effect": "Allow", "Action": [ "s3tables:ListTableBuckets" ], "Resource": [ "*" ] }, { "Sid": "LakeFormationDataAccessPermissionsForS3TableBucket", "Effect": "Allow", "Action": [ "s3tables:CreateTableBucket", "s3tables:GetTableBucket", "s3tables:CreateNamespace", "s3tables:GetNamespace", "s3tables:ListNamespaces", "s3tables:DeleteNamespace", "s3tables:DeleteTableBucket", "s3tables:CreateTable", "s3tables:DeleteTable", "s3tables:GetTable", "s3tables:ListTables", "s3tables:RenameTable", "s3tables:UpdateTableMetadataLocation", "s3tables:GetTableMetadataLocation", "s3tables:GetTableData", "s3tables:PutTableData" ], "Resource": [ "arn:aws:s3tables:us-east-1:111122223333:bucket/*" ] } ] }

      Hängen Sie die Richtlinie mit dem folgenden Befehl an die Rolle an:

      aws iam put-role-policy \ --role-name S3TablesRoleForLakeFormation \ --policy-name LakeFormationDataAccessPermissionsForS3TableBucket \ --policy-document file://LF-GluePolicy.json
  3. Erstellen Sie eine Datei mit dem Nameninput.json, die Folgendes enthält:

    { "ResourceArn": "arn:aws:s3tables:us-east-1:111122223333:bucket/*", "WithFederation": true, "RoleArn": "arn:aws:iam::111122223333:role/S3TablesRoleForLakeFormation" }

    Registrieren Sie Tabellen-Buckets mit dem folgenden Befehl bei Lake Formation:

    aws lakeformation register-resource \ --region us-east-1 \ --with-privileged-access \ --cli-input-json file://input.json
  4. Erstellen Sie eine Datei mit dem Namencatalog.json, die den folgenden Katalog enthält:

    { "Name": "s3tablescatalog", "CatalogInput": { "FederatedCatalog": { "Identifier": "arn:aws:s3tables:us-east-1:111122223333:bucket/*", "ConnectionName": "aws:s3tables" }, "CreateDatabaseDefaultPermissions":[], "CreateTableDefaultPermissions":[], "AllowFullTableExternalDataAccess": "True" } }

    Erstellen Sie den s3tablescatalog Katalog mit dem folgenden Befehl. Beim Erstellen dieses Katalogs werden Objekte angezeigt, die AWS Glue Data Catalog Tabellen-Buckets, Namespaces und Tabellen entsprechen.

    aws glue create-catalog \ --region us-east-1 \ --cli-input-json file://catalog.json
  5. Vergewissern Sie sich, dass der s3tablescatalog Katalog hinzugefügt wurde, AWS Glue indem Sie den folgenden Befehl verwenden:

    aws glue get-catalog --catalog-id s3tablescatalog

Der Integrationsprozess für AWS Analytics-Services wurde aktualisiert. Wenn Sie die Integration mit der Vorschauversion eingerichtet haben, können Sie Ihre aktuelle Integration weiterhin verwenden. Der aktualisierte Integrationsprozess bietet jedoch Leistungsverbesserungen. Wir empfehlen daher, die Migration mithilfe der folgenden Schritte durchzuführen. Weitere Informationen zum Migrations- oder Integrationsprozess finden Sie unter Erstellen eines Amazon S3 S3-Tables-Katalogs AWS Glue Data Catalog im AWS Lake Formation Developer Guide.

  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. Löschen Sie Ihren s3tablescatalog Katalog, indem Sie wie folgt vorgehen:

    • Wählen Sie im linken Navigationsbereich Kataloge aus.

    • Wählen Sie in der Liste „Kataloge“ das Optionsfeld neben dem s3tablescatalog Katalog aus. Wählen Sie im Menü Actions die Option Delete.

  3. Gehen Sie wie folgt vor, um die Registrierung des Datenspeicherorts für den s3tablescatalog Katalog aufzuheben:

    • Gehen Sie im linken Navigationsbereich zum Abschnitt Administration und wählen Sie Data Lake-Standorte aus.

    • Wählen Sie das Optionsfeld neben dem s3tablescatalog Data Lake-Speicherort aus, s3://tables:region:account-id:bucket/* z. B.

    • Wählen Sie im Menü Aktionen die Option Entfernen aus.

    • Wählen Sie im daraufhin angezeigten Bestätigungsdialogfeld die Option Entfernen aus.

  4. Nachdem Sie Ihren s3tablescatalog Katalog und den Data Lake-Speicherort gelöscht haben, können Sie die Schritte zur Integration Ihrer Table-Buckets in AWS Analytics-Services mithilfe des aktualisierten Integrationsprozesses ausführen.

Anmerkung

Wenn Sie mit SSE-KMS-verschlüsselten Tabellen in integrierten AWS Analysediensten arbeiten möchten, benötigt die Rolle, die Sie verwenden, die Berechtigung, Ihren AWS KMS Schlüssel für Verschlüsselungsvorgänge zu verwenden. Weitere Informationen finden Sie unter Erteilen von Berechtigungen für IAM-Prinzipale, mit verschlüsselten Tabellen in integrierten AWS Analysediensten zu arbeiten.

Um auf Ihre Tabellen zugreifen zu können, benötigt Amazon Data Firehose einen Ressourcenlink, der auf den Namespace Ihrer Tabelle abzielt. Ein Ressourcenlink ist ein Datenkatalogobjekt, das als Alias für oder Zeiger auf eine andere Datenkatalogressource, z. B. eine Datenbank oder Tabelle, fungiert. Der Link wird im Datenkatalog des Kontos oder der Region gespeichert, in dem er erstellt wurde. Weitere Informationen finden Sie unter So funktionieren Ressourcenlinks im AWS Lake Formation Entwicklerhandbuch.

Nachdem Sie Ihre Tabellen-Buckets in die AWS Analytics-Services integriert haben, können Sie Ressourcenlinks erstellen, um mit Ihren Tabellen in Amazon Data Firehose zu arbeiten. Weitere Informationen zum Erstellen dieser Links finden Sie unter. Streamen von Daten an Tabellen mit Amazon Data Firehose

Erteilen Lake Formation Formation-Berechtigungen für Ihre Tabellenressourcen

Nachdem Ihre Tabellen-Buckets in die AWS Analysedienste integriert wurden, verwaltet Lake Formation den Zugriff auf Ihre Tabellenressourcen. Lake Formation verwendet ein eigenes Berechtigungsmodell (Lake Formation Formation-Berechtigungen), das eine detaillierte Zugriffskontrolle für Datenkatalogressourcen ermöglicht. Lake Formation erfordert, dass jeder IAM-Prinzipal (Benutzer oder Rolle) autorisiert ist, Aktionen auf von Lake Formation verwalteten Ressourcen durchzuführen. Weitere Informationen finden Sie unter Übersicht über Lake-Formation-Berechtigungen im AWS Lake Formation -Entwicklerhandbuch. Informationen zur kontenübergreifenden Datenfreigabe finden Sie unter Kontenübergreifender Datenaustausch in Lake Formation im AWS Lake Formation Entwicklerhandbuch.

Bevor IAM-Prinzipale auf Tabellen in AWS Analytics-Services zugreifen können, müssen Sie ihnen Lake Formation Formation-Berechtigungen für diese Ressourcen gewähren.

Anmerkung

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

Sie müssen anderen IAM-Prinzipalen Lake Formation Formation-Berechtigungen für Ihre Tabellenressourcen gewähren, um mit ihnen in den folgenden Diensten arbeiten zu können:

  • Amazon Redshift

  • Amazon Data Firehose

  • Amazon QuickSight

  • Amazon Athena

Erteilen von Berechtigungen für eine Tabelle oder Datenbank

Sie können einem Prinzipal Lake Formation Formation-Berechtigungen für eine Tabelle oder Datenbank in einem Tabellen-Bucket gewähren, entweder über die Lake Formation Formation-Konsole oder über 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 Zuschussempfä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, AWS RAM sendet es 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 anschließend Grant aus.

  3. Führen Sie auf der Seite Grant Permissions unter Principals eine der folgenden Aktionen 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 QuickSight SAML-Benutzer und -Gruppen aus und geben Sie den Amazon-Ressourcennamen (ARN) Ihres QuickSight Admin-Benutzers ein.

  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 Bucket-Namespace von S3 Table, 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 Describe.

  9. Wählen Sie Grant (Erteilen).

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

  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" ] }'