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 Access Grants mit AWS Glue
Mit Glue Version 5.0 bieten Amazon S3 Access Grants eine skalierbare Zugriffskontrolllösung, mit der Sie den Zugriff auf Ihre Amazon S3 S3-Daten erweitern können. AWS Glue Wenn Sie über eine komplexe oder umfangreiche Berechtigungskonfiguration für Ihre S3-Daten verfügen, können Sie S3 Access Grants verwenden, um S3-Datenberechtigungen für Benutzer und Rollen zu skalieren.
Verwenden Sie S3 Access Grants, um den Zugriff auf Amazon S3 S3-Daten über die Berechtigungen hinaus zu erweitern, die durch die Runtime-Rolle oder die IAM-Rollen gewährt werden, die den Identitäten mit Zugriff auf Ihren Job zugewiesen sind. AWS Glue Weitere Informationen finden Sie unter Verwalten des Zugriffs mit S3 Access Grants im Benutzerhandbuch zu Amazon S3.
Wie AWS Glue funktioniert mit S3 Access Grants
AWS Glue Versionen 5.0 und höher bieten eine native Integration mit S3 Access Grants. Sie können S3 Access Grants aktivieren AWS Glue und Spark-Jobs ausführen. Wenn ein Spark-Auftrag eine Anfrage für S3-Daten stellt, stellt Amazon S3 temporäre Anmeldeinformationen bereit, die auf den jeweiligen Bucket, das Präfix oder das Objekt beschränkt sind.
Im Folgenden finden Sie einen allgemeinen Überblick darüber, wie Sie AWS Glue auf Daten zugreifen können, auf die S3 Access Grants den Zugriff verwaltet.

Ein Benutzer reicht einen AWS Glue Spark-Job ein, der in Amazon S3 gespeicherte Daten verwendet.
AWS Glue stellt eine Anfrage für S3 Access Grants, um temporäre Anmeldeinformationen für den Benutzer zu verkaufen, die Zugriff auf den Bucket, das Präfix oder das Objekt gewähren.
AWS Glue gibt temporäre Anmeldeinformationen in Form eines STS-Tokens ( AWS Security Token Service) für den Benutzer zurück. Das Token ist für den Zugriff auf den S3-Bucket, das S3-Präfix oder das S3-Objekt vorgesehen.
AWS Glue verwendet das STS-Token, um Daten aus S3 abzurufen.
AWS Glue empfängt die Daten von S3 und gibt die Ergebnisse an den Benutzer zurück.
Überlegungen zu S3 Access Grants mit AWS Glue
Beachten Sie die folgenden Verhaltensweisen und Einschränkungen, wenn Sie S3 Access Grants mit verwenden AWS Glue.
Unterstützung von Funktionen
S3 Access Grants wird mit AWS Glue Versionen 5.0 und höher unterstützt.
Spark ist der einzige unterstützte Jobtyp, wenn Sie S3 Access Grants mit verwenden AWS Glue.
Delta Lake und Hudi sind die einzigen unterstützten Open-Table-Formate, wenn Sie S3 Access Grants mit verwenden. AWS Glue
Die folgenden Funktionen werden für die Verwendung mit S3 Access Grants nicht unterstützt:
Apache-Iceberg-Tabellen
AWS CLI-Anfragen an Amazon S3, die IAM-Rollen verwenden
S3-Zugriff über das Open-Source-S3A-Protokoll
Überlegungen zum Verhalten
AWS Glue stellt einen Cache für Anmeldeinformationen bereit, um sicherzustellen, dass ein Benutzer innerhalb eines Spark-Jobs nicht wiederholt dieselben Anmeldeinformationen anfordern muss. Fordert daher AWS Glue immer das Standardrecht an, wenn es Anmeldeinformationen anfordert. Weitere Informationen finden Sie unter Zugriff auf S3-Daten anfordern im Benutzerhandbuch zu Amazon S3.
Richten Sie S3 Access Grants ein mit AWS Glue
Voraussetzungen
Der Anrufer oder Administrator hat eine S3 Access Grants-Instanz erstellt.
Richten Sie AWS Glue Richtlinien und Auftragskonfigurationen ein
Um S3 Access Grants mit einzurichten, müssen AWS Glue Sie Vertrauens- und IAM-Richtlinien konfigurieren und die Konfiguration über die Jobparameter übergeben.
Konfigurieren Sie die folgenden minimalen Vertrauens- und IAM-Richtlinien für die Rolle, die für Grants verwendet wird (die AWS Glue Rolle, die Sitzungen oder Jobs ausführt).
Vertrauensrichtlinie:
{ "Sid": "Stmt1234567891011", "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity", "sts:SetContext" ], "Effect": "Allow", "Principal": { "Service": "access-grants.s3.amazonaws.com" }, "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "aws:SourceArn": "arn:aws:s3:
<region>
:123456789012:access-grants/default" } } }IAM-Richtlinie:
{ "Sid": "S3Grants", "Effect": "Allow", "Action": [ "s3:GetDataAccess", "s3:GetAccessGrantsInstanceForPrefix" ], "Resource": "arn:aws:s3:
<region>
:123456789012:access-grants/default" }, { "Sid": "BucketLevelReadPermissions", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": [ "arn:aws:s3:<region>
:123456789012:access-grants/default" ] } } }, { "Sid": "ObjectLevelReadPermissions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectVersionAcl", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": [ "arn:aws:s3:<region>
:123456789012:access-grants/default" ] } } }Übergeben Sie in Ihrem AWS Glue Job die folgende Spark-Konfiguration entweder über die AWS Glue Job-Parameter oder
SparkConf
.--conf spark.hadoop.fs.s3.s3AccessGrants.enabled=true \ --conf spark.hadoop.fs.s3.s3AccessGrants.fallbackToIAM=false