

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.

# Auftragausführungsrollen mit Amazon EMR in EKS verwenden
<a name="iam-execution-role"></a>

Um den `StartJobRun` Befehl zum Senden eines auf einem EKS-Cluster ausgeführten Auftrags zu verwenden, müssen Sie zunächst eine Auftragausführungsrolle integrieren, die mit einem virtuellen Cluster verwendet werden soll. Weitere Informationen finden Sie unter [Erstellen einer Aufgabenausführungsrolle](creating-job-execution-role.md) in [Einrichten von Amazon EMR in EKS](setting-up.md). Sie können auch den Anweisungen im Abschnitt [IAM-Rolle für die Auftragsausführung erstellen](https://www.eksworkshop.com/advanced/430_emr_on_eks/prereqs/#create-iam-role-for-job-execution) des Amazon EMR in EKS-Workshops folgen.

Die folgenden Berechtigungen müssen in der Vertrauensrichtlinie für die Rolle „Auftragsausführung“ enthalten sein.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRoleWithWebIdentity"
      ],
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "aws:userid": "system:serviceaccount:NAMESPACE:emr-containers-sa-*-*-AWS_ACCOUNT_ID-BASE36_ENCODED_ROLE_NAME"
        }
      },
      "Sid": "AllowSTSAssumerolewithwebidentity"
    }
  ]
}
```

------

Die Vertrauensrichtlinie im vorherigen Beispiel gewährt Berechtigungen nur für ein von Amazon EMR verwaltetes Kubernetes-Servicekonto mit einem Namen, der dem Muster `emr-containers-sa-*-*-AWS_ACCOUNT_ID-BASE36_ENCODED_ROLE_NAME` entspricht. Servicekonten mit diesem Muster werden bei der Auftragsübermittlung automatisch erstellt und auf den Namespace beschränkt, in dem Sie den Auftrag einreichen. Diese Vertrauensrichtlinie ermöglicht es diesen Servicekonten, die Ausführungsrolle zu übernehmen und die temporären Anmeldeinformationen der Ausführungsrolle abzurufen. Servicekonten aus einem anderen Amazon-EKS-Cluster oder aus einem anderen Namespace innerhalb desselben EKS-Clusters dürfen die Ausführungsrolle nicht übernehmen.

Sie können den folgenden Befehl ausführen, um die Vertrauensrichtlinie im oben angegebenen Format automatisch zu aktualisieren. 

```
aws emr-containers update-role-trust-policy \
       --cluster-name cluster \
       --namespace namespace \
       --role-name iam_role_name_for_job_execution
```

**Steuern des Zugriffs auf die Ausführungsrolle**

Ein Administrator für Ihren Amazon-EKS-Cluster kann einen virtuellen Amazon-EMR-in-EKS-Cluster mit mehreren Mandanten erstellen, dem ein IAM-Administrator mehrere Ausführungsrollen hinzufügen kann. Da nicht vertrauenswürdige Mandanten diese Ausführungsrollen verwenden können, um Aufträge einzureichen, die beliebigen Code ausführen, sollten Sie diese Mandanten möglicherweise einschränken, sodass sie keinen Code ausführen können, der die Berechtigungen erhält, die einer oder mehreren dieser Ausführungsrollen zugewiesen wurden. Um die mit einer IAM-Identität verknüpfte IAM-Richtlinie einzuschränken, kann der IAM-Administrator den optionalen Bedingungsschlüssel `emr-containers:ExecutionRoleArn` des Amazon-Ressourcennamen (ARN) verwenden. Diese Bedingung akzeptiert eine Liste von Ausführungsrollen ARNs , die über Berechtigungen für den virtuellen Cluster verfügen, wie die folgende Berechtigungsrichtlinie zeigt.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "emr-containers:StartJobRun"
      ],
      "Resource": [
        "arn:aws:emr-containers:*:*:/virtualclusters/VIRTUAL_CLUSTER_ID"
      ],
      "Condition": {
        "ArnEquals": {
          "emr-containers:ExecutionRoleArn": [
            "arn:aws:iam::*:role/execution_role_name_1",
            "arn:aws:iam::*:role/execution_role_name_2"
          ]
        }
      },
      "Sid": "AllowEMRCONTAINERSStartjobrun"
    }
  ]
}
```

------

Wenn Sie alle Ausführungsrollen zulassen möchten, die mit einem bestimmten Präfix beginnen, z. B. `MyRole`, können Sie den Bedingungsoperator `ArnEquals` durch den `ArnLike`-Operator ersetzen, und Sie können den `execution_role_arn`-Wert in der Bedingung durch ein Platzhalterzeichen `*` ersetzen. Beispiel, `arn:aws:iam::AWS_ACCOUNT_ID:role/MyRole*`. Alle anderen [ARN-Bedingungsschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN) werden ebenfalls unterstützt.

**Anmerkung**  
Mit Amazon EMR in EKS können Sie Ausführungsrollen keine Berechtigungen auf der Grundlage von Tags oder Attributen gewähren. Amazon EMR in EKS unterstützt keine tagbasierte Zugriffskontrolle (TBAC) oder attributbasierte Zugriffskontrolle (ABAC) für Ausführungsrollen.