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:
-
Erstellt eine neue AWS Identity and Access Management (IAM) -Servicerolle, die Lake Formation Zugriff auf all Ihre Tabellen-Buckets gewährt.
-
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.
-
Fügt den
s3tablescatalog
Katalog der AWS Glue Data Catalog in der aktuellen Region hinzu. Durch das Hinzufügen dess3tablescatalog
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.

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:
Fügen Sie die AWSLakeFormationDataAdmin AWS verwaltete Richtlinie Ihrem AWS Identity and Access Management (IAM-) Principal hinzu, um diesen Benutzer zum Data Lake-Administrator zu machen. Weitere Informationen zum Erstellen eines Data Lake-Administrators finden Sie unter Erstellen eines Data Lake-Administrators im AWS Lake Formation Entwicklerhandbuch.
-
Sie fügen Ihrem IAM-Prinzipal Berechtigungen für die Operation
glue:PassConnection
hinzu. -
Fügen Sie Ihrem IAM-Prinzipal Berechtigungen für die
lakeformation:RegisterResourceWithPrivilegedAccess
Operationenlakeformation:RegisterResource
und hinzu. Aktualisieren Sie auf die neueste Version von AWS Command Line Interface (AWS CLI).
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.
Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/
. Wählen Sie im linken Navigationsbereich Tabellen-Buckets aus.
Wählen Sie Tabellen-Bucket erstellen aus.
Anschließend wird die Seite Tabellen-Bucket erstellen geöffnet.
Geben Sie einen Tabellen-Bucket-Namen ein und stellen Sie sicher, dass das Kontrollkästchen Integration aktivieren aktiviert ist.
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
durch Ihre eigenen Informationen.user input placeholders
Erstellen Sie einen Tabellen-Bucket.
aws s3tables create-table-bucket \ --region
us-east-1
\ --nameamzn-s3-demo-table-bucket
-
Erstellen Sie eine IAM-Servicerolle, die Lake Formation Zugriff auf Ihre Tabellenressourcen erteilt.
-
Erstellen Sie eine Datei mit dem Namen
Role-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
-
Erstellen Sie eine Datei mit dem Namen
LF-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
-
-
Erstellen Sie eine Datei mit dem Namen
input.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
-
Erstellen Sie eine Datei mit dem Namen
catalog.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
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.
-
Ö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. -
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.
-
-
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:
z. B.region
:account-id
:bucket/* -
Wählen Sie im Menü Aktionen die Option Entfernen aus.
-
Wählen Sie im daraufhin angezeigten Bestätigungsdialogfeld die Option Entfernen aus.
-
-
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.
Nächste Schritte
Einen Ressourcenlink zu den Namespaces Ihrer Tabelle erstellen (Amazon Data Firehose)
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.