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.
Konfigurieren Sie den kontoübergreifenden Zugriff auf einen gemeinsamen AWS Glue-Datenkatalog mit Amazon Athena
Erstellt von Denis Avdonin () AWS
Umwelt: Produktion | Technologien: DataLakes; Analytik; Große Datenmengen | Arbeitslast: Alle anderen Workloads |
AWSDienstleistungen: Amazon Athena; Glue AWS |
Übersicht
Dieses Muster enthält step-by-step Anweisungen, einschließlich Richtlinienbeispielen für AWS Identity and Access Management (IAM), um die kontenübergreifende gemeinsame Nutzung eines in einem Amazon Simple Storage Service (Amazon S3) -Bucket gespeicherten Datensatzes mithilfe des AWS Glue-Datenkatalogs zu konfigurieren. Sie können den Datensatz in einem S3-Bucket speichern. Die Metadaten werden von einem AWS Glue-Crawler gesammelt und in den AWS Glue-Datenkatalog aufgenommen. Der S3-Bucket und der AWS Glue-Datenkatalog befinden sich in einem AWS Konto, das als Datenkonto bezeichnet wird. Sie können den Zugriff auf IAM Principals in einem anderen AWS Konto gewähren, das als Verbraucherkonto bezeichnet wird. Benutzer können die Daten im Verbraucherkonto mithilfe der serverlosen Amazon Athena Athena-Abfrage-Engine abfragen.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein S3-Bucket in einem der AWS Konten
AWSBefehlszeilenschnittstelle (AWSCLI), installiert und konfiguriert (oder AWS CloudShell
zum Ausführen von AWS CLI Befehlen)
Versionen der Produkte
Dieses Muster funktioniert nur mit Athena-Engine-Version 2 und Athena-Engine-Version 3. Wir empfehlen Ihnen, auf Athena-Engine-Version 3 zu aktualisieren. Wenn Sie kein Upgrade von Athena-Engine-Version 1 auf Athena-Engine-Version 3 durchführen können, folgen Sie dem Ansatz für den kontoübergreifenden Zugriff auf den AWS Glue-Datenkatalog mit Amazon Athena
Architektur
Zieltechnologie-Stack
Amazon Athena
Amazon-Simple-Storage-Service (Amazon-S3)
AWS Glue
AWSIdentity and Access Management (IAM)
AWSSchlüsselverwaltungsdienst (AWSKMS)
Das folgende Diagramm zeigt eine Architektur, die IAM Berechtigungen verwendet, um Daten in einem S3-Bucket in einem AWS Konto (Datenkonto) mit einem anderen AWS Konto (Verbraucherkonto) über den AWS Glue-Datenkatalog zu teilen.
Das Diagramm zeigt den folgenden Workflow:
Die S3-Bucket-Richtlinie im Datenkonto gewährt Berechtigungen für eine IAM Rolle im Verbraucherkonto und für die AWS Glue-Crawler-Servicerolle im Datenkonto.
Die AWS KMS Schlüsselrichtlinie im Datenkonto gewährt Berechtigungen für die IAM Rolle im Verbraucherkonto und für die AWS Glue-Crawler-Servicerolle im Datenkonto.
Der AWS Glue-Crawler im Datenkonto erkennt das Schema der Daten, die im S3-Bucket gespeichert sind.
Die Ressourcenrichtlinie des AWS Glue-Datenkatalogs im Datenkonto gewährt Zugriff auf die IAM Rolle im Verbraucherkonto.
Ein Benutzer erstellt mithilfe eines AWS CLI Befehls eine benannte Katalogreferenz im Kundenkonto.
Eine IAM Richtlinie gewährt einer IAM Rolle im Verbraucherkonto Zugriff auf Ressourcen im Datenkonto. Die Vertrauensrichtlinie der IAM Rolle ermöglicht es Benutzern im Verbraucherkonto, die IAM Rolle zu übernehmen.
Ein Benutzer im Verbraucherkonto übernimmt die IAM Rolle und greift mithilfe von SQL Abfragen auf Objekte im Datenkatalog zu.
Die serverlose Athena Engine führt die Abfragen ausSQL.
Hinweis: IAMBewährte Methoden empfehlen, einer IAM Rolle Berechtigungen zu erteilen und einen Identitätsverbund
Tools
Amazon Athena ist ein interaktiver Abfrageservice, mit dem Sie Daten mithilfe von Standards SQL direkt in Amazon S3 analysieren können.
Amazon Simple Storage Service (Amazon S3) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
AWSGlue ist ein vollständig verwalteter Dienst zum Extrahieren, Transformieren und Laden (ETL). Er hilft Ihnen dabei, Daten zuverlässig zu kategorisieren, zu bereinigen, anzureichern und zwischen Datenspeichern und Datenströmen zu verschieben.
AWSMit Identity and Access Management (IAM) können Sie den Zugriff auf Ihre AWS Ressourcen sicher verwalten, indem Sie kontrollieren, wer authentifiziert und autorisiert ist, diese zu verwenden.
AWSDer Key Management Service (AWSKMS) unterstützt Sie bei der Erstellung und Kontrolle kryptografischer Schlüssel zum Schutz Ihrer Daten.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Gewähren Sie Zugriff auf Daten im S3-Bucket. | Erstellen Sie eine S3-Bucket-Richtlinie auf der Grundlage der folgenden Vorlage und weisen Sie die Richtlinie dem Bucket zu, in dem die Daten gespeichert sind.
Die Bucket-Richtlinie gewährt Berechtigungen für die IAM Rolle im Verbraucherkonto und für die AWS Glue-Crawler-Servicerolle im Datenkonto. | Cloud-Administrator |
(Falls erforderlich) Gewähren Sie Zugriff auf den Datenverschlüsselungsschlüssel. | Wenn der S3-Bucket mit einem AWS KMS Schlüssel verschlüsselt ist, Aktualisieren Sie die Schlüsselrichtlinie mit der folgenden Aussage:
| Cloud-Administrator |
Gewähren Sie dem Crawler Zugriff auf die Daten. | Hängen Sie die folgende IAM Richtlinie an die Servicerolle des Crawlers an:
| Cloud-Administrator |
(Falls erforderlich) Gewähren Sie dem Crawler Zugriff auf den Datenverschlüsselungsschlüssel. | Wenn der S3-Bucket mit einem AWS KMS Schlüssel verschlüsselt ist, erteilen Sie der Servicerolle des Crawlers die
| Cloud-Administrator |
Gewähren Sie der IAM Rolle im Verbraucherkonto und dem Crawler Zugriff auf den Datenkatalog. |
Diese Richtlinie erlaubt alle AWS Glue-Aktionen für alle Datenbanken und Tabellen im Datenkonto. Sie können die Richtlinie so anpassen, dass den Benutzerprinzipalen nur die erforderlichen Berechtigungen gewährt werden. Sie können beispielsweise schreibgeschützten Zugriff auf bestimmte Tabellen oder Ansichten in einer Datenbank gewähren. | Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie eine benannte Referenz für den Datenkatalog. | Um eine benannte Datenkatalogreferenz zu erstellen, verwenden Sie CloudShelloder eine lokal installierte AWS CLI Datei, um den folgenden Befehl auszuführen:
| Cloud-Administrator |
Gewähren Sie der IAM Rolle im Verbraucherkonto Zugriff auf die Daten. | Fügen Sie der IAM Rolle im Verbraucherkonto die folgende Richtlinie hinzu, um der Rolle kontoübergreifenden Zugriff auf die Daten zu gewähren:
Verwenden Sie als Nächstes die folgende Vorlage, um anzugeben, welche Benutzer die IAM Rolle in ihrer Vertrauensrichtlinie akzeptieren können:
Erteilen Sie den Benutzern abschließend Berechtigungen zur Übernahme der IAM Rolle, indem Sie der Benutzergruppe, zu der sie gehören, dieselbe Richtlinie zuordnen. | Cloud-Administrator |
(Falls erforderlich) Gewähren Sie der IAM Rolle im Verbraucherkonto Zugriff auf den Datenverschlüsselungsschlüssel. | Wenn der S3-Bucket mit einem AWS KMS Schlüssel verschlüsselt ist, erteilen Sie der IAM Rolle im Verbraucherkonto die
| Cloud-Administrator |
Wechseln Sie zur IAM Rolle im Verbraucherkonto, um auf Daten zuzugreifen. | Wechseln Sie als Datenverbraucher zu der IAM Rolle, um auf Daten im Datenkonto zuzugreifen. | Datenkonsument |
Greifen Sie auf die Daten zu. | Fragen Sie Daten mit Athena ab. Öffnen Sie beispielsweise den Athena-Abfrage-Editor und führen Sie die folgende Abfrage aus:
Anstatt eine benannte Katalogreferenz zu verwenden, können Sie auch anhand seines Amazon-Ressourcennamens (ARN) auf den Katalog verweisen. Hinweis: Wenn Sie eine dynamische Katalogreferenz in einer Abfrage oder Ansicht verwenden, setzen Sie den Verweis in doppelte Anführungszeichen (\“). Beispielsweise:
Weitere Informationen finden Sie unter Kontoübergreifender Zugriff auf AWS Glue-Datenkataloge im Amazon Athena Athena-Benutzerhandbuch. | Datenverbraucher |
Zugehörige Ressourcen
Zusätzliche Informationen
Verwendung von Lake Formation als Alternative für kontenübergreifendes Teilen
Sie können AWS Lake Formation auch verwenden, um den Zugriff auf AWS Glue-Katalogobjekte für mehrere Konten gemeinsam zu nutzen. Lake Formation bietet eine detaillierte Zugriffskontrolle auf Spalten- und Zeilenebene, Tag-basierte Zugriffskontrolle, gesteuerte Tabellen für ACID Transaktionen und andere Funktionen. Lake Formation ist zwar gut in Athena integriert, erfordert jedoch eine zusätzliche Konfiguration im Vergleich zum reinen Ansatz dieses MustersIAM. Wir empfehlen Ihnen, die Entscheidung, Lake Formation oder IAM -only Access Controls zu verwenden, im breiteren Kontext Ihrer Gesamtlösungsarchitektur zu berücksichtigen. Zu den Überlegungen gehören auch, um welche anderen Dienste es sich handelt und wie sie sich in beide Ansätze integrieren lassen.