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
Sie können externen AWS Konten Zugriff auf Ihre Daten gewähren, indem Sie AWS Glue Methoden oder AWS Lake Formation kontenübergreifende Zuschüsse 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 Principal in der Vertrauensrichtlinie kann auch ein AWS Dienstprinzipal sein, wenn Sie eine AWS Serviceberechtigung 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.
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.
Hinzufügen oder Aktualisieren der Data-Catalog-Ressourcenrichtlinie
Sie können die AWS Glue Datenkatalog-Ressourcenrichtlinie mithilfe der Konsole, der API oder AWS Command Line Interface (AWS CLI) hinzufügen oder aktualisieren.
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 im AWS Lake Formation Entwicklerhandbuch unter Alle kontoübergreifenden Zuschüsse mithilfe des GetResourcePolicies API-Vorgangs anzeigen.
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
entsprechende 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 Beispiele für ressourcenbasierte Richtlinien für Glue AWS.
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 kontenübergreifenden Zugriff zu ermöglichen, kann ein ETL-Job API-Operationen für alle Konten ausführen PySpark und Scala aufrufen, indem die AWS Zielkonto-ID im Feld „Katalog-ID“ übergeben wird, um auf Datenkatalogressourcen 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.
Informationen zu PySpark APIs dieser Unterstützung catalog_id
finden Sie unter. GlueContext Klasse Informationen zu APIs dieser Unterstützung durch Scala finden Sie catalogId
unterAWS Glue Scala GlueContext APIs.
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 Client, catalog-id
der den Job ausführt, und er grantor-account-id
ist der Besitzer 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 Ressourcen ARNs für den Katalog, die Datenbank, die Tabelle und die Verbindung angeben.
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 Protokollierung CloudTrail
Wenn ein ETL-Job (AWS GlueExtrahieren, Transformieren und Laden) auf die zugrunde liegenden Daten einer Datenkatalogtabelle zugreift, die über AWS Lake Formation kontenübergreifende Zuschüsse gemeinsam genutzt wird, kommt es zu einem zusätzlichen AWS CloudTrail Protokollierungsverhalten.
Für die Zwecke dieser Erläuterung ist das AWS Konto, das die Tabelle gemeinsam genutzt hat, das Besitzerkonto und das Konto, mit dem die Tabelle geteilt wurde, das Empfängerkonto. Wenn ein ETL-Auftrag im Empfängerkonto auf Daten in der Tabelle im Besitzerkonto zugreift, wird das CloudTrail Datenzugriffsereignis, das den Protokollen für das Empfängerkonto hinzugefügt wird, in die Protokolle des Besitzerkontos CloudTrail kopiert. Auf diese Weise können Besitzerkonten Datenzugriffe durch verschiedene Empfängerkonten verfolgen. Standardmäßig enthalten die CloudTrail Ereignisse keinen für Menschen lesbaren Principal Identifier (Principal-ARN). Ein Administrator des Empfängerkontos kann sich dafür entscheiden, den Principal ARN in die Protokolle aufzunehmen.
Weitere Informationen finden Sie unter Kontoübergreifende CloudTrail Protokollierung im Entwicklerhandbuch.AWS Lake Formation
Weitere Informationen finden Sie unter:
Kontoübergreifende Ressourcen-Eigentümerschaft und Buchhaltung
Wenn ein Benutzer in einem AWS Konto (Konto A) eine neue Ressource wie eine Datenbank in einem anderen Konto (Konto B) erstellt, 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 zur AWS Glue Abrechnung und Preisgestaltung finden Sie unter So funktioniert die AWS Preisgestaltung
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 zur Migration eines Athena-Katalogs zu AWS Glue finden Sie unter Upgrade auf den AWS Glue Data Catalog step-by-step im Amazon Athena 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.