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.
Gewährung von kontenübergreifendem Zugriff
Indem Sie kontenübergreifend Zugriff auf Data-Catalog-Ressourcen gewähren, können Ihre ETL-Aufträge zum Extrahieren, Transformieren und Laden Daten aus verschiedenen Konten abfragen und verknüpfen.
Themen
- Methoden zur Gewährung von kontenübergreifendem Zugriff in AWS Glue
- Hinzufügen oder Aktualisieren der Data-Catalog-Ressourcenrichtlinie
- Ausführen eines kontenübergreifenden API-Aufrufs
- Ausführen eines kontenübergreifenden ETL-Aufrufs
- Kontoübergreifende CloudTrail Protokollierung
- Kontoübergreifende Ressourcen-Eigentümerschaft und Buchhaltung
- Kontoübergreifende Zugriffsbeschränkungen
Methoden zur Gewährung von kontenübergreifendem Zugriff in AWS Glue
Sie können externen AWS Konten Zugriff auf Ihre Daten gewähren, indem Sie AWS Glue Methoden oder AWS Lake Formation kontoübergreifende Erteilungen verwenden. Die AWS Glue Methoden verwenden AWS Identity and Access Management (IAM)-Richtlinien, um eine differenzierte Zugriffskontrolle zu erreichen. Lake Formation verwendet ein einfacheres GRANT/REVOKE
-Berechtigungsmodell ähnlich den GRANT/REVOKE
-Befehlen in einem relationalen Datenbanksystem.
In diesem Abschnitt wird die Verwendung der AWS Glue-Methoden beschrieben. Weitere Informationen zur kontoübergreifenden Verwendung von Lake Formation finden Sie unter Erteilen von Lake-Formation-Berechtigungen im AWS Lake Formation -Entwicklerhandbuch.
Es gibt zwei AWS Glue-Methoden zum Erteilen von kontenübergreifendem Zugriff auf eine Ressource:
-
Verwenden einer Data-Catalog-Ressourcenrichtlinie
-
Verwenden einer IAM-Rolle
Eine Ressourcenrichtlinie verwenden, um kontenübergreifenden Zugriff zu gewähren
Im Folgenden werden die allgemeinen Schritte zum Erteilen des kontenübergreifenden Zugriffs mithilfe einer Data-Catalog-Ressourcenrichtlinie beschrieben:
-
Ein Administrator (oder eine andere autorisierte Identität) in Konto A fügt eine Ressourcenrichtlinie an den Data Catalog in Konto A an. Diese Richtlinie gewährt Konto B spezifische kontenübergreifende Berechtigungen, um Operationen mit einer Ressource im Katalog von Konto A durchzuführen.
-
Ein Administrator in Konto B fügt eine IAM-Richtlinie für eine IAM-Identität in Konto B an, die die von Konto A erhaltenen Berechtigungen delegiert.
Die Identität in Konto B hat nun Zugriff auf die angegebene Ressource in Konto A.
Die Identität benötigt die Berechtigung sowohl vom Ressourcenbesitzer (Konto A) als auch von ihrem übergeordneten Konto (Konto B), um auf die Ressource zugreifen zu können.
Gewährung von kontenübergreifendem Zugriff mithilfe einer IAM-Rolle
Im Folgenden werden die allgemeinen Schritte zum Erteilen des kontenübergreifenden Zugriffs mithilfe einer IAM-Rolle beschrieben:
-
Ein Administrator (oder eine andere autorisierte Identität) in dem Konto, das die Ressource besitzt (Konto A), erstellt eine IAM-Rolle.
-
Der Administrator in Konto A fügt eine Richtlinie an die Rolle an, die kontenübergreifende Berechtigungen für den Zugriff auf die betreffende Ressource gewährt.
-
Der Administrator in Konto A fügt eine Vertrauensrichtlinie an die Rolle an, die eine IAM-Identität in einem anderen Konto (Konto B) als Prinzipal angibt, der die Rolle übernehmen kann.
Der Prinzipal in der Vertrauensrichtlinie kann auch ein - AWS Service-Prinzipal sein, wenn Sie einem - AWS Service die Berechtigung zur Übernahme der Rolle erteilen möchten.
-
Ein Administrator in Konto B delegiert nun Berechtigungen an eine oder mehrere IAM-Identitäten in Konto B, damit sie diese Rolle übernehmen können. Auf diese Weise erhalten diese Identitäten in Konto B Zugriff auf die Ressource in Konto A.
Weitere Informationen zum Delegieren von Berechtigungen mithilfe von IAM finden Sie unter Zugriffsverwaltung im IAM-Benutzerhandbuch. Weitere Informationen zu Benutzern, Gruppen, Rollen und Berechtigungen finden Sie unter Identitäten (Benutzer, Gruppen und Rollen) im IAM-Benutzerhandbuch.
Einen Vergleich dieser beiden Ansätze finden Sie unter Wie sich IAM-Rollen und ressourcenbasierten Richtlinien unterscheiden im IAM-Benutzerhandbuch. AWS Glue unterstützt beide Optionen, mit der Einschränkung, dass eine Ressourcenrichtlinie nur Zugriff auf Data-Catalog-Ressourcen gewähren kann.
Um zum Beispiel der Dev
-Rolle in Konto B Zugriff auf die Datenbank db1
in Konto A zu geben, fügen Sie die folgende Ressourcenrichtlinie an den Katalog in Konto A an.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetDatabase" ], "Principal": {"AWS": [ "arn:aws:iam::
account-B-id
:role/Dev" ]}, "Resource": [ "arn:aws:glue:us-east-1:account-A-id
:catalog", "arn:aws:glue:us-east-1:account-A-id
:database/db1" ] } ] }
Darüber hinaus müsste Konto B folgende IAM-Richtlinie zur Dev
-Rolle anfügen, bevor sie tatsächlich Zugriff auf db1
in Konto A erhält.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetDatabase" ], "Resource": [ "arn:aws:glue:us-east-1:
account-A-id
:catalog", "arn:aws:glue:us-east-1:account-A-id
:database/db1" ] } ] }
Hinzufügen oder Aktualisieren der Data-Catalog-Ressourcenrichtlinie
Sie können die AWS Glue Data-Catalog-Ressourcenrichtlinie mithilfe der Konsole, API oder AWS Command Line Interface () hinzufügen oder aktualisieren AWS CLI.
Wichtig
Wenn Sie bereits kontoübergreifende Berechtigungen von Ihrem Konto mit AWS Lake Formation erstellt haben, erfordert das Hinzufügen oder Aktualisieren der Data-Catalog-Ressourcenrichtlinie einen zusätzlichen Schritt. Weitere Informationen finden Sie unter Verwalten von kontenübergreifenden Berechtigungen mithilfe von AWS Glue und Lake Formation im AWS Lake Formation -Entwicklerhandbuch.
Um festzustellen, ob kontenübergreifende Berechtigungen für Lake Formation vorhanden sind, verwenden Sie den glue:GetResourcePolicies
-API-Vorgang oder die AWS CLI. Wenn glue:GetResourcePolicies
andere Richtlinien als eine bereits vorhandene Data-Catalog-Richtlinie zurückgibt, sind Lake-Formation-Berechtigungen vorhanden. Weitere Informationen finden Sie unter Anzeigen aller kontoübergreifenden Erteilungen mithilfe der - GetResourcePolicies API-Operation im AWS Lake Formation -Entwicklerhandbuch.
Data-Catalog-Ressourcenrichtlinie hinzufügen oder aktualisieren (Konsole)
-
Öffnen Sie die AWS Glue-Konsole unter https://console.aws.amazon.com/glue/
. Melden Sie sich als AWS Identity and Access Management (IAM)-Administratorbenutzer an, der über die -
glue:PutResourcePolicy
Berechtigung verfügt. -
Wählen Sie im Navigationsbereich Settings (Einstellungen).
-
Fügen Sie auf der Seite Data catalog settings (Data-Catalog-Einstellungen) unter Permissions (Berechtigungen) eine Ressourcenrichtlinie in den Textbereich ein. Wählen Sie dann Speichern.
Wenn die Konsole eine Warnmeldung anzeigt, dass die Berechtigungen in der Richtlinie zusätzlich zu den mit Lake Formation erteilten Berechtigungen sind, wählen Sie Fortfahren.
Data-Catalog-Ressourcenrichtlinie hinzufügen oder aktualisieren (AWS CLI)
-
Senden Sie einen
aws glue put-resource-policy
-Befehl. Wenn bereits Berechtigungen für Lake Formation vorhanden sind, stellen Sie sicher, dass Sie die Option--enable-hybrid
mit dem Wert'TRUE'
auswählen.Beispiele für die Verwendung dieses Befehls finden Sie unter Ressourcenbasierte Richtlinie für AWS Glue.
Ausführen eines kontenübergreifenden API-Aufrufs
Alle AWS Glue Data Catalog-Operationen haben ein Feld CatalogId
. Wenn die erforderlichen Berechtigungen zugewiesen wurden, um den kontenübergreifenden Zugriff zu ermöglichen, kann ein Aufrufer Data-Catalog-API-Aufrufe über mehrere Konten hinweg ausführen. Hierfügt übergibt er die ID des AWS
-Zielkontos in CatalogId
, um auf die Ressource in diesem Zielkonto zuzugreifen.
Wenn kein CatalogId
-Wert angegeben wird, verwendet AWS Glue standardmäßig die eigene Konto-ID des Aufrufers, und der Aufruf ist nicht kontoübergreifend.
Ausführen eines kontenübergreifenden ETL-Aufrufs
Einige AWS Glue PySpark und Scala-APIs haben ein Katalog-ID-Feld. Wenn alle erforderlichen Berechtigungen erteilt wurden, um den kontoübergreifenden Zugriff zu ermöglichen, kann ein ETL-Auftrag - PySpark und -Scala-Aufrufe an -API-Operationen kontenübergreifend tätigen, indem die AWS Zielkonto-ID im Katalog-ID-Feld übergeben wird, um auf Data-Catalog-Ressourcen in einem Zielkonto zuzugreifen.
Wenn kein Katalog-ID-Wert angegeben ist, verwendet AWS Glue standardmäßig die eigene Konto-ID des Aufrufers, und der Aufruf ist nicht kontoübergreifend.
Weitere Informationen zu PySpark APIs, die unterstützencatalog_id
, finden Sie unter GlueContext Klasse. Scala-APIs, die catalogId
unterstützen, finden Sie unter AWS GlueScala-APIs GlueContext .
Das folgende Beispiel zeigt die Berechtigungen, die der Berechtigungsempfänger benötigt, um einen ETL-Auftrag auszuführen. In diesem Beispiel grantee-account-id
ist der catalog-id
des Clients, der den Auftrag ausführt, und grantor-account-id
der Eigentümer der Ressource. In diesem Beispiel wird die Berechtigung für alle Katalogressourcen im Konto des Eigentümers gewährt. Um den Umfang der gewährten Ressourcen einzuschränken, können Sie spezifische ARN für Katalog, Datenbank, Tabelle und Verbindung angeben.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetConnection", "glue:GetDatabase", "glue:GetTable", "glue:GetPartition" ], "Principal": {"AWS": ["arn:aws:iam::
grantee-account-id
:root"]}, "Resource": [ "arn:aws:glue:us-east-1:grantor-account-id
:*" ] } ] }
Anmerkung
Wenn eine Tabelle im Konto des Eigentümers auf einen Amazon-S3-Speicherort verweist, der sich auch im Konto des Eigentümers befindet, muss die IAM-Rolle, mit der ein ETL-Auftrag im Konto des Berechtigungsempfängers ausgeführt wird, die Berechtigung haben, Objekte aufzulisten und aus dem Konto des Eigentümers abzurufen.
Da der Client in Konto A bereits die Berechtigung zum Erstellen und Ausführen von ETL-Aufträgen hat, sind die grundlegenden Schritte zum Einrichten eines ETL-Auftrags für den kontoübergreifenden Zugriff die folgenden:
-
Kontoübergreifenden Datenzugriff erlauben (überspringen Sie diesen Schritt, wenn der kontoübergreifende Zugriff in Amazon S3 bereits eingerichtet ist).
-
Aktualisieren Sie die Amazon-S3-Bucket-Richtlinie in Konto B, um den kontoübergreifenden Zugriff von Konto A aus zu ermöglichen.
-
Aktualisieren Sie die IAM-Richtlinie in Konto A, um den Zugriff auf den Bucket in Konto B zu ermöglichen.
-
-
Kontoübergreifenden Zugriff auf den Data Catalog gewähren
-
Erstellen oder aktualisieren Sie die Ressourcenrichtlinie, die an den Data Catalog in Konto B angefügt ist, um den Zugriff von Konto A aus zu ermöglichen.
-
Aktualisieren Sie die IAM-Richtlinie in Konto A, um den Zugriff auf den Data Catalog in Konto B zu ermöglichen.
-
Kontoübergreifende CloudTrail Protokollierung
Wenn ein ETL-Auftrag (AWS GlueExtract, Transform, Load) auf die zugrunde liegenden Daten einer Data-Catalog-Tabelle zugreift, die über AWS Lake Formation kontoübergreifende Erteilungen freigegeben wurde, gibt es zusätzliche AWS CloudTrail Protokollierungsverhalten.
Für diese Diskussion ist das AWS Konto, das die Tabelle freigegeben hat, das Besitzerkonto, und das Konto, für das die Tabelle freigegeben wurde, das Empfängerkonto. Wenn ein ETL-Auftrag im Empfängerkonto auf Daten in der Tabelle im Eigentümerkonto zugreift, wird das CloudTrail Datenzugriffsereignis, das den Protokollen für das Empfängerkonto hinzugefügt wird, in die CloudTrail Protokolle des Eigentümerkontos kopiert. Auf diese Weise können Besitzerkonten Datenzugriffe durch verschiedene Empfängerkonten verfolgen. Standardmäßig enthalten die CloudTrail Ereignisse keine für Menschen lesbare Prinzipal-ID (Prinzipal-ARN). Ein Administrator des Empfängerkontos kann sich dafür entscheiden, den Principal ARN in die Protokolle aufzunehmen.
Weitere Informationen finden Sie unter CloudTrailKontoübergreifende Protokollierung im -AWS Lake Formation Entwicklerhandbuch.
Weitere Informationen finden Sie unter:
Kontoübergreifende Ressourcen-Eigentümerschaft und Buchhaltung
Wenn ein Benutzer in einem AWS Konto (Konto A) eine neue Ressource erstellt, z. B. eine Datenbank in einem anderen Konto (Konto B), gehört diese Ressource dann Konto B, dem Konto, in dem sie erstellt wurde. Ein Administrator in Konto B erhält automatisch volle Berechtigungen für den Zugriff auf die neue Ressource, einschließlich Lesen, Schreiben und Erteilen von Zugriffsrechten für ein drittes Konto. Der Benutzer in Konto A kann nur dann auf die Ressource zugreifen, die er gerade erstellt hat, wenn er die entsprechenden Berechtigungen hat, die von Konto B gewährt werden.
Speicherkosten und andere Kosten, die direkt mit der neuen Ressource verbunden sind, werden dem Konto B, dem Ressourcenbesitzer, in Rechnung gestellt. Die Kosten für Anfragen des Benutzers, der die Ressource angelegt hat, werden dem Konto des Antragstellers, Konto A, in Rechnung gestellt.
Weitere Informationen zu AWS Glue Fakturierung und Preisen finden Sie unter Funktionsweise von - AWS Preisen
Kontoübergreifende Zugriffsbeschränkungen
Kontoübergreifender AWS Glue-Zugriff hat folgende Einschränkungen:
-
Der kontoübergreifende Zugriff auf AWS Glue ist nicht zulässig, wenn Sie Datenbanken und Tabellen mit Amazon Athena oder Amazon Redshift Spectrum erstellt haben, bevor eine Region AWS Glue unterstützt hat, und das Konto des Ressourceneigentümers den Amazon Athena-Data Catalog nicht nach AWS Glue migriert hat. Den aktuellen Migrationsstatus erfahren Sie über GetCatalogImportStatus (get_catalog_import_status). Weitere Informationen zum Migrieren eines Athena-Katalogs zu AWS Gluefinden Sie unter Upgrade auf im AWS Glue Data Catalog step-by-step Amazon Athena-Benutzerhandbuch.
-
Der kontoübergreifende Zugriff wird nur für Data-Catalog-Ressourcen unterstützt, einschließlich Datenbanken, Tabellen, benutzerdefinierten Funktionen und Verbindungen.
-
Der kontoübergreifende Zugriff auf den Data Catalog von Athena erfordert, dass Sie den Katalog als eine Athena
DataCatalog
-Ressource registrieren. Detaillierte Anweisungen finden Sie unter Registrierung eines AWS Glue Data Catalog von einem anderen Konto im Amazon Athena-Benutzerhandbuch.