Erforderliche IAM-Berechtigungen für ETL-Aufträge überprüfen
Wenn Sie einen Auftrag mithilfe von AWS Glue Studio erstellen, übernimmt der Auftrag die Berechtigungen der IAM-Rolle, die Sie bei der Erstellung angeben. Diese IAM-Rolle muss über die Berechtigung zum Extrahieren von Daten aus der Datenquelle, zum Schreiben in das Ziel und für Zugriff auf die AWS Glue-Ressourcen verfügen.
Der Name der Rolle, die Sie für den Auftrag erstellen, muss mit der Zeichenfolge AWSGlueServiceRole beginnen, damit sie korrekt von AWS Glue Studio genutzt werden kann. Sie können beispielsweise Ihre Rolle AWSGlueServiceRole-FlightDataJob nennen.
Datenquellen- und Datenzielberechtigungen
Ein AWS Glue Studio-Auftrag muss Zugriff auf Amazon S3 haben – für alle Quellen, Ziele, Skripts und temporären Verzeichnisse, die Sie im Auftrag verwenden. Sie können eine Richtlinie erstellen, die einen differenzierten Zugriff auf bestimmte Amazon-S3-Ressourcen ermöglicht.
-
Datenquellen erfordern die Berechtigungen
s3:ListBucketunds3:GetObject. -
Für Datenziele sind die Berechtigungen
s3:ListBucket,s3:PutObjectunds3:DeleteObjecterforderlich.
Anmerkung
Ihre IAM-Richtlinie muss s3:GetObject für die spezifischen Buckets zulassen, die für das Hosting von AWS Glue-Transformationen verwendet werden.
Die folgenden Buckets gehören dem AWS-Service-Konto und sind weltweit lesbar. Diese Buckets dienen als Speicherort für den Quellcode, der für eine Teilmenge von Transformationen relevant ist, auf die über den visuellen Editor in AWS Glue Studio zugegriffen werden kann. Die Berechtigungen für den Bucket sind so eingerichtet, dass alle anderen API-Aktionen für den Bucket abgelehnt werden. Jeder kann die Skripte lesen, die wir für die Transformationen bereitstellen, aber niemand außerhalb unseres Serviceteams kann etwas in sie „einfügen“. Wenn Ihr AWS Glue-Auftrag ausgeführt wird, wird diese Datei als lokaler Import abgerufen, sodass die Datei in den lokalen Container heruntergeladen wird. Danach findet keine weitere Kommunikation mit diesem Konto statt.
Region: Name des Bucket
-
af-south-1: aws-glue-studio-transforms-762339736633-prod-af-south-1
-
ap-east-1: aws-glue-studio-transforms-125979764932-prod-ap-east-1
-
ap-northeast-2: aws-glue-studio-transforms-673535381443-prod-ap-northeast-2
-
ap-northeast-3: aws-glue-studio-transforms-149976050262-prod-ap-northeast-3
-
ap-south-1: aws-glue-studio-transforms-584702181950-prod-ap-south-1
-
ap-south-2: aws-glue-studio-transforms-380279651983-prod-ap-south-2
-
ap-southeast-1: aws-glue-studio-transforms-737106620487-prod-ap-southeast-1
-
ap-southeast-2: aws-glue-studio-transforms-234881715811-prod-ap-southeast-2
-
ap-southeast-3: aws-glue-studio-transforms-151265630221-prod-ap-southeast-3
-
ap-southeast-4: aws-glue-studio-transforms-052235663858-prod-ap-southeast-4
-
ca-central-1: aws-glue-studio-transforms-622716468547-prod-ca-central-1
-
ca-west-1: aws-glue-studio-transforms-915795495192-prod-ca-west-1
-
eu-central-1: aws-glue-studio-transforms-560373232017-prod-eu-central-1
-
eu-central-2: aws-glue-studio-transforms-907358657121-prod-eu-central-2
-
eu-north-1: aws-glue-studio-transforms-312557305497-prod-eu-north-1
-
eu-south-1: aws-glue-studio-transforms-939684186351-prod-eu-south-1
-
eu-south-2: aws-glue-studio-transforms-239737454084-prod-eu-south-2
-
eu-west-1: aws-glue-studio-transforms-244479516193-prod-eu-west-1
-
eu-west-2: aws-glue-studio-transforms-804222392271-prod-eu-west-2
-
eu-west-3: aws-glue-studio-transforms-371299348807-prod-eu-west-3
-
il-central-1: aws-glue-studio-transforms-806964611811-prod-il-central-1
-
me-central-1: aws-glue-studio-transforms-733304270342-prod-me-central-1
-
me-south-1: aws-glue-studio-transforms-112120182341-prod-me-south-1
-
sa-east-1: aws-glue-studio-transforms-881619130292-prod-sa-east-1
-
us-east-1: aws-glue-studio-transforms-510798373988-prod-us-east-1
-
us-east-2: aws-glue-studio-transforms-251189692203-prod-us-east-2
-
us-west-1: aws-glue-studio-transforms-593230150239-prod-us-west-1
-
us-west-2: aws-glue-studio-transforms-818035625594-prod-us-west-2
-
ap-northeast-1: aws-glue-studio-transforms-200493242866-prod-ap-northeast-1
-
cn-north-1: aws-glue-studio-transforms-071033555442-prod-cn-north-1
-
cn-northwest-1: aws-glue-studio-transforms-070947029561-prod-cn-northwest-1
-
us-gov-west-1: aws-glue-studio-transforms-227493901923-prod-us-gov-west-1-2604
Wenn Sie sich für Amazon Redshift als Datenquelle entscheiden, können Sie eine Rolle für Clusterberechtigungen bereitstellen. Aufträge, die Sie für ein Amazon Redshift-Cluster ausführen, geben Befehle aus, die für temporäre Speicherung mithilfe temporärer Anmeldeinformationen auf Amazon S3 zugreifen können. Wenn Ihr Auftrag länger als eine Stunde ausgeführt wird, laufen diese Anmeldeinformationen ab, wodurch der Auftrag fehlschlägt. Um dieses Problem zu vermeiden, können Sie dem Amazon Redshift-Cluster selbst eine Rolle zuweisen, die ihm die erforderlichen Berechtigungen für Aufträge mit temporären Anmeldeinformationen erteilt. Weitere Informationen finden Sie unter Verschieben von Daten von und nach Amazon Redshift im AWS Glue-Entwicklerhandbuch.
Wenn der Auftrag andere Datenquellen oder Ziele als Amazon S3 verwendet, müssen Sie der IAM-Rolle, die der Auftrag verwendet, die erforderlichen Berechtigungen erteilen, damit sie auf diese Datenquellen und Ziele zuzugreifen kann. Weitere Informationen finden Sie unter Einrichten der Umgebung, um auf Datenspeicher zuzugreifen im AWS Glue-Entwicklerhandbuch.
Wenn Sie Konnektoren und Verbindungen für Ihren Datenspeicher verwenden, benötigen Sie zusätzliche Berechtigungen, wie unter Erforderliche Berechtigungen zur Verwendung von Konnektoren beschrieben.
Erforderliche Berechtigungen zum Löschen von Aufträgen
In AWS Glue Studio können Sie mehrere Aufträge zum Löschen in der Konsole auswählen. Um diese Aktion ausführen zu können, müssen Sie über die Berechtigung glue:BatchDeleteJob verfügen. Das ist nicht dieselbe wie von der AWS Glue-Konsole, für die die Berechtigung glue:DeleteJob zum Löschen von Aufträgen nötig ist.
AWS Key Management Service-Berechtigungen
Wenn Sie auf Amazon-S3-Quellen und -Ziele zugreifen möchten, die die serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) nutzen, dann geben Sie der AWS Glue Studio-Rolle, die der Auftrag verwendet, eine Richtlinie, die es dem Auftrag erlaubt, Daten zu entschlüsseln. Die Auftragsrolle benötigt die Berechtigungen kms:ReEncrypt, kms:GenerateDataKey und kms:DescribeKey. Darüber hinaus benötigt die Auftragsrolle die Berechtigung kms:Decrypt zum Hoch- oder Herunterladen eines Amazon-S3-Objekts, das mit einem AWS KMS-Kundenmasterschlüssel (CMK) verschlüsselt ist.
Für die Verwendung von AWS KMS-CMKs fallen zusätzliche Kosten an. Weitere Informationen finden Sie unter AWS Key Management Service-Konzepte – Kunden-Masterschlüssel (CMKs) und AWS Key Management Service – Preise
Erforderliche Berechtigungen zur Verwendung von Konnektoren
Wenn Sie einen benutzerdefinierten AWS Glue-Konnektor und eine Verbindung für den Zugriff auf einen Datenspeicher nutzen, benötigt die Rolle, mit der der AWS Glue-ETL-Auftrag ausgeführt wird, zusätzliche Berechtigungen:
-
Die verwaltete AWS-Richtlinie
AmazonEC2ContainerRegistryReadOnlyfür den Zugriff auf Konnektoren, die von AWS Marketplace erworben wurden. -
Die Berechtigungen
glue:GetJobundglue:GetJobs. -
AWS Secrets Manager-Berechtigungen für den Zugriff auf Secrets, die mit Verbindungen verwendet werden. Informationen zu IAM-Richtlinien erhalten Sie unter Beispiel: Berechtigung zum Abrufen von Secret-Werten.
Wenn Ihr AWS Glue-ETL-Auftrag in einer VPC mit Amazon VPC ausgeführt wird, muss die VPC wie unter Konfigurieren Sie eine VPC für Ihren ETL-Auftrag beschrieben konfiguriert werden.