Job-Runtime-Rollen für Amazon EMR Serverless - Amazon EMR

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.

Job-Runtime-Rollen für Amazon EMR Serverless

Sie können IAM Rollenberechtigungen angeben, die ein EMR serverloser Job annehmen kann, wenn er in Ihrem Namen andere Dienste aufruft. Dies beinhaltet den Zugriff auf Amazon S3 für beliebige Datenquellen, Ziele und andere AWS Ressourcen wie Amazon Redshift Redshift-Cluster und DynamoDB-Tabellen. Weitere Informationen zum Erstellen einer Rolle finden Sie unter. Erstellen Sie eine Job-Runtime-Rolle

Beispiele für Laufzeitrichtlinien

Sie können einer Job-Runtime-Rolle eine Laufzeitrichtlinie wie die folgende hinzufügen. Die folgende Job-Runtime-Richtlinie ermöglicht:

  • Lesezugriff auf Amazon S3 S3-Buckets mit EMR Beispielen.

  • Voller Zugriff auf S3-Buckets.

  • Erstellen und lesen Sie den Zugriff auf den AWS Glue Data Catalog.

Um Zugriff auf andere AWS Ressourcen wie DynamoDB hinzuzufügen, müssen Sie beim Erstellen der Runtime-Rolle die entsprechenden Berechtigungen in die Richtlinie aufnehmen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadAccessForEMRSamples", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::*.elasticmapreduce", "arn:aws:s3:::*.elasticmapreduce/*" ] }, { "Sid": "FullAccessToS3Bucket", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Sid": "GlueCreateAndReadDataCatalog", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:CreateDatabase", "glue:GetDataBases", "glue:CreateTable", "glue:GetTable", "glue:UpdateTable", "glue:DeleteTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:CreatePartition", "glue:BatchCreatePartition", "glue:GetUserDefinedFunctions" ], "Resource": ["*"] } ] }

Übergeben Sie Rollenberechtigungen

Sie können der Rolle eines Benutzers IAM Berechtigungsrichtlinien zuordnen, sodass der Benutzer nur genehmigte Rollen weitergeben kann. Auf diese Weise können Administratoren steuern, welche Benutzer bestimmte Job-Runtime-Rollen an EMR serverlose Jobs übergeben können. Weitere Informationen zum Festlegen von Berechtigungen finden Sie unter Einem Benutzer Berechtigungen zur Übergabe einer Rolle an einen AWS Dienst gewähren.

Im Folgenden finden Sie ein Beispiel für eine Richtlinie, die es ermöglicht, eine Job-Runtime-Rolle an den EMR Serverless-Dienstprinzipal zu übergeben.

{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::1234567890:role/JobRuntimeRoleForEMRServerless", "Condition": { "StringLike": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } }

Verwaltete Berechtigungsrichtlinien, die Runtime-Rollen zugeordnet sind

Wenn Sie Auftragsausführungen über die EMR Studio-Konsole an EMR Serverless senden, müssen Sie in einem Schritt eine Runtime-Rolle auswählen, die Ihrer Anwendung zugeordnet werden soll. Jeder Auswahl in der Konsole sind zugrunde liegende verwaltete Richtlinien zugeordnet, die Sie unbedingt beachten sollten. Die drei Auswahlmöglichkeiten lauten wie folgt:

  1. Alle Buckets — Wenn Sie diese Option wählen, wird die von AmazonS3 FullAccess AWS verwaltete Richtlinie angegeben, die vollen Zugriff auf alle Buckets gewährt.

  2. Spezifische Buckets — Dies gibt den Amazon-Ressourcennamen (ARN) für jeden von Ihnen ausgewählten Bucket an. Es ist keine zugrunde liegende verwaltete Richtlinie enthalten.

  3. Keine — Es sind keine Berechtigungen für verwaltete Richtlinien enthalten.

Wir empfehlen, bestimmte Buckets hinzuzufügen. Wenn Sie „Alle Buckets“ auswählen, denken Sie daran, dass dadurch der volle Zugriff für alle Buckets festgelegt wird.