

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.

# IAM-Rolle für Amazon-ECS-Container-Instance
<a name="instance_IAM_role"></a>

Amazon-ECS-Container-Instances, einschließlich Amazon EC2 und externer Instances, führen den Amazon-ECS-Container-Agent aus und benötigen daher eine IAM-Rolle, damit der Service weiß, dass der Agent zu Ihnen gehört. Bevor Sie Container-Instances starten und sie in einem Cluster registrieren, müssen Sie eine IAM-Rolle erstellen, die ihre Container-Instances verwenden können. Die Rolle wird in dem Konto erstellt, mit dem Sie sich bei der Konsole anmelden oder die AWS CLI Befehle ausführen.

**Wichtig**  
Wenn Sie externe Instances in Ihrem Cluster registrieren, erfordert die von Ihnen verwendete IAM-Rolle ebenfalls die Systems Manager Berechtigungen. Weitere Informationen finden Sie unter [IAM-Rolle für Amazon ECS Anywhere](iam-role-ecsanywhere.md).

Amazon ECS stellt die von `AmazonEC2ContainerServiceforEC2Role` verwaltete IAM-Richtlinie, die die Berechtigungen enthält, die für die Verwendung des vollständigen Amazon-ECS-Featuresatzes erforderlich sind, bereit. Diese verwaltete Richtlinie kann einer IAM-Rolle zugeordnet und Ihren Container-Instances zugeordnet werden. Alternativ können Sie die verwaltete Richtlinie als Leitfaden verwenden, wenn Sie eine benutzerdefinierte Richtlinie verwenden möchten. Die Container-Instance-Rolle stellt die erforderlichen Berechtigungen bereit, damit der Amazon ECS-Container-Agent und der Docker-Daemon in Ihrem Namen aufrufen AWS APIs können. Für weitere Informationen über die verwaltete Richtlinie siehe [EC2ContainerServiceforEC2Rolle bei Amazon](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonEC2ContainerServiceforEC2Role).

## Container-Instance-Rolle erstellen
<a name="instance-iam-role-create"></a>

**Wichtig**  
Wenn Sie externe Instances in Ihrem Cluster registrieren, finden Sie weitere Informationen unter [IAM-Rolle für Amazon ECS Anywhere](iam-role-ecsanywhere.md).

Sie können jedoch die verwaltete IAM-Richtlinie für Container-Instances manuell erstellen und anfügen, damit Amazon ECS die Berechtigungen für zukünftige Features und Erweiterungen bei deren Einführung hinzufügen kann. Gehen Sie wie folgt vor, um bi Bedarf die verwaltete IAM-Richtlinie anzuhängen.

------
#### [ AWS-Managementkonsole ]

**So erstellen Sie eine Servicerolle für Elastic Container Service (IAM-Konsole)**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Klicken Sie im Navigationsbereich der IAM-Konsole auf **Rollen**, und wählen Sie dann **Rolle erstellen**.

1. Wählen Sie für **Vertrauenswürdige Entität** die Option **AWS-Service** aus.

1. Wählen Sie für **Service oder Anwendungsfall** die Option **Elastic Container Service** und dann den Anwendungsfall **EC2-Rolle für Elastic Container Service** aus.

1. Wählen Sie **Weiter** aus.

1. Vergewissern Sie sich, dass im Abschnitt **Berechtigungsrichtlinien** die **EC2ContainerServiceforEC2Amazon-Rollenrichtlinie** ausgewählt ist.
**Wichtig**  
Die von **Amazon EC2 ContainerServicefor EC2 Role** verwaltete Richtlinie sollte der IAM-Rolle der Container-Instance angehängt werden, andernfalls erhalten Sie eine Fehlermeldung bei der Verwendung von AWS-Managementkonsole to create clusters.

1. Wählen Sie **Weiter** aus.

1.  Geben Sie **als Rollenname Folgendes** ein **ecsInstanceRole**

1. Prüfen Sie die Rolle und klicken Sie dann auf **Create Role (Rolle erstellen)**.

------
#### [ AWS CLI ]

Ersetzen Sie *user input* durch alle Ihre eigenen Werte.

1. Erstellen Sie eine Datei mit dem Namen `instance-role-trust-policy.json` und den folgenden Inhalten.  
****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": { "Service": "ec2.amazonaws.com"},
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

1. Verwenden Sie den folgenden Befehl, um die Instance-IAM-Richtlinie mit dem Vertrauensrichtliniendokument zu erstellen.

   ```
   aws iam create-role \
       --role-name ecsInstanceRole \
       --assume-role-policy-document file://instance-role-trust-policy.json
   ```

1. Erstellen Sie ein Instanzprofil `ecsInstanceRole-profile` mit dem Namen des [create-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/create-instance-profile.html)Befehls. 

   ```
   aws iam create-instance-profile --instance-profile-name ecsInstanceRole-profile
   ```

   Beispielantwort

   ```
   {
       "InstanceProfile": {
           "InstanceProfileId": "AIPAJTLBPJLEGREXAMPLE",
           "Roles": [],
           "CreateDate": "2022-04-12T23:53:34.093Z",
           "InstanceProfileName": "ecsInstanceRole-profile",
           "Path": "/",
           "Arn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceRole-profile"
       }
   }
   ```

1. Fügen Sie dem Instance-Profil `ecsInstanceRole` die IAM-Rolle `ecsInstanceRole-profile` hinzu.

   ```
   aws iam add-role-to-instance-profile \
       --instance-profile-name ecsInstanceRole-profile \
       --role-name ecsInstanceRole
   ```

1. Hängen Sie die `AmazonEC2ContainerServiceForEC2Role`-verwaltete Richtlinie mit dem folgenden Befehl an die Rolle an.

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role \
       --role-name ecsInstanceRole
   ```

------

Nachdem Sie die Rolle erstellt haben, fügen Sie der Rolle zusätzliche Berechtigungen für die folgenden Features hinzu.


|  Feature  |  Zusätzliche Berechtigungen  | 
| --- | --- | 
|  Amazon ECR hat das Container-Image  |  [Amazon-ECR-Berechtigungen](#container-instance-role-ecr)  | 
| Lassen Sie Container-Instances von CloudWatch Logs überwachen | [Überwachung von Container-Instance-Berechtigungen](#cwl_iam_policy) | 
| Host-Konfigurationsdateien in einem Amazon-S3-Bucket | [Amazon S3: schreibgeschützter Zugriff](#container-instance-role-s3) | 

## Amazon-ECR-Berechtigungen
<a name="container-instance-role-ecr"></a>

Die Container-Instance-Rolle von Amazon ECS, die Sie für Container-Instances verwenden, muss über die folgenden IAM-Richtlinienberechtigungen für Amazon ECR verfügen.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Wenn Sie die verwaltete Richtlinie `AmazonEC2ContainerServiceforEC2Role` für die Container-Instances nutzen, weist die Rolle die erforderlichen Berechtigungen auf.

## Erforderliche Berechtigungen zum ändern der Einstellungen des awsvpcTrunking-Kontos
<a name="container-instance-role-awsvpcTrunking-setting"></a>

Amazon ECS unterstützt das Starten von Container-Instances mit erhöhter ENI-Dichte mit unterstützten Amazon-EC2-Instance-Typen. Wenn Sie dieses Feature verwenden, empfehlen wir Ihnen, zwei Container-Instance-Rollen zu erstellen. Aktivieren Sie die `awsvpcTrunking`-Kontoeinstellung für eine Rolle und verwenden Sie diese Rolle für Aufgaben, die ENI-Trunking erfordern. Informationen über die `awsvpcTrunking`-Kontoeinstellung finden Sie unter [Zugriff auf Amazon-ECS-Features über die Kontoeinstellungen](ecs-account-settings.md).

Die Container-Instance-Rolle, die Sie für Container-Instances verwenden, muss über die folgenden IAM-Richtlinienberechtigungen zum ändern der Kontoeinstellungen verfügen. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecs:ListAccountSettings", 
                "ecs:ListAttributes", 
                "ecs:PutAccountSetting" 
            ],
            "Resource": "*"
        }
    ]
}
```

------

Um die Container-Instance-Rolle zu verwenden, fügen Sie den Instance-Benutzerdaten Folgendes hinzu:

```
#!/bin/bash
aws ecs put-account-setting --name awsvpcTrunking --value enabled --region region
ECS_CLUSTER=MyCluster>> /etc/ecs/ecs.config
EOF
```

Weitere Informationen zum Hinzufügen von Benutzerdaten zu Ihren EC2-Instances finden Sie unter [Ausführen von Befehlen auf Linux-Instances beim Start](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) im *Amazon-EC2-Benutzerhandbuch*.

## Amazon S3: schreibgeschützter Zugriff
<a name="container-instance-role-s3"></a>

Das Speichern von Konfigurationsinformationen in einem privaten Amazon S3-Bucket und das Erteilen der schreibgeschützten Zugriffsberechtigung Ihrer IAM-Rolle der Container-Instance ist eine sichere und bequeme Art, die Konfiguration der Container-Instance zur Startzeit zu ermöglichen. Sie können eine Kopie Ihrer `ecs.config` Datei in einem privaten Bucket speichern, Amazon EC2 EC2-Benutzerdaten zur Installation verwenden AWS CLI und dann Ihre Konfigurationsinformationen zum `/etc/ecs/ecs.config` Start der Instance kopieren.

Weitere Informationen dazu, wie Sie eine Datei `ecs.config` erstellen, sie in Amazon S3 speichern und Instances mit dieser Konfiguration starten, finden Sie unter [Speichern der Konfiguration von Amazon-ECS-Container-Instances in Amazon S3](ecs-config-s3.md).

Sie können den folgenden AWS CLI Befehl verwenden, um Amazon S3 nur Lesezugriff für Ihre Container-Instance-Rolle zu gewähren. *ecsInstanceRole*Ersetzen Sie es durch den Namen der Rolle, die Sie erstellt haben.

```
aws iam attach-role-policy \
      --role-name ecsInstanceRole \
      --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
```

Sie können auch die IAM-Konsole verwenden, um Ihrer Rolle den schreibgeschützten Amazon-S3-Zugriff (`AmazonS3ReadOnlyAccess`) hinzuzufügen. Weitere Informationen finden Sie unter [Berechtigungen für eine Rolle aktualisieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html) im *Benutzerhandbuch für AWS Identity and Access Management *.

## Überwachung von Container-Instance-Berechtigungen
<a name="cwl_iam_policy"></a>

Bevor Ihre Container-Instances Protokolldaten an CloudWatch Logs senden können, müssen Sie eine IAM-Richtlinie erstellen, die es dem Amazon ECS-Agenten ermöglicht, die Anwendungsprotokolle des Kunden zu schreiben CloudWatch (normalerweise über den `awslogs` Treiber abgewickelt). Nachdem Sie die Richtlinie erstellt haben, hängen Sie die Richtlinie der `ecsInstanceRole` an.

------
#### [ AWS-Managementkonsole ]

**So verwenden Sie den JSON-Richtlinieneditor zum Erstellen einer Richtlinie**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie im Navigationsbereich auf der linken Seite **Policies (Richtlinien)**. 

   Wenn Sie zum ersten Mal **Policies (Richtlinien)** auswählen, erscheint die Seite **Welcome to Managed Policies (Willkommen bei verwalteten Richtlinien)**. Wählen Sie **Get Started**.

1. Wählen Sie oben auf der Seite **Create policy (Richtlinie erstellen)** aus.

1. Wählen Sie im Bereich **Policy editor** (Richtlinien-Editor) die Option **JSON** aus.

1. Geben Sie folgendes JSON-Richtliniendokument ein:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogGroup",
                   "logs:CreateLogStream",
                   "logs:PutLogEvents",
                   "logs:DescribeLogStreams"
               ],
               "Resource": ["arn:aws:logs:*:*:*"]
           }
       ]
   }
   ```

1. Wählen Sie **Weiter** aus.
**Anmerkung**  
Sie können jederzeit zwischen den Editoroptionen **Visual** und **JSON** wechseln. Wenn Sie jedoch Änderungen vornehmen oder im **Visual**-Editor **Weiter** wählen, strukturiert IAM Ihre Richtlinie möglicherweise um, um sie für den visuellen Editor zu optimieren. Weitere Informationen finden Sie unter [Richtlinienrestrukturierung](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure) im *IAM-Benutzerhandbuch*.

1. Geben Sie auf der Seite **Prüfen und erstellen** unter **Richtlinienname** einen Namen und unter **Beschreibung** (optional) eine Beschreibung für die Richtlinie ein, die Sie erstellen. Überprüfen Sie **Permissions defined in this policy** (In dieser Richtlinie definierte Berechtigungen), um die Berechtigungen einzusehen, die von Ihrer Richtlinie gewährt werden.

1. Wählen Sie **Create policy** (Richtlinie erstellen) aus, um Ihre neue Richtlinie zu speichern.

Nachdem Sie die Richtlinie erstellt haben, hängen Sie die Richtlinie der Container-Instance-Rolle an. Informationen zum Anhängen der Richtlinie an die Rolle finden Sie unter [Aktualisieren der Berechtigungen für eine Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html) im *Benutzerhandbuch für AWS Identity and Access Management *.

------
#### [ AWS CLI ]

1. Erstellen Sie eine Datei mit dem Namen `instance-cw-logs.json` und folgendem Inhalt.  
****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogGroup",
                   "logs:CreateLogStream",
                   "logs:PutLogEvents",
                   "logs:DescribeLogStreams"
               ],
               "Resource": ["arn:aws:logs:*:*:*"]
           }
       ]
   }
   ```

1. Verwenden Sie den folgenden -Befehl, um die IAM-Richtlinie mit der JSON-Richtliniendokumentdatei zu erstellen.

   ```
   aws iam create-policy \
         --policy-name cwlogspolicy \
         --policy-document file://instance-cw-logs.json
   ```

1. Rufen Sie mit dem folgenden Befehl den ARN der IAM-Richtlinie ab, die Sie erstellt haben. *cwlogspolicy*Ersetzen Sie es durch den Namen der Richtlinie, die Sie erstellt haben.

   ```
   aws iam list-policies --scope Local --query 'Policies[?PolicyName==`cwlogspolicy`].Arn'
   ```

1. Verwenden Sie den folgenden Befehl, um die Richtlinie mithilfe des Richtlinien-ARN der IAM-Rolle der Container-Instance anzufügen.

   ```
   aws iam attach-role-policy \
         --role-name ecsInstanceRole \
         --policy-arn arn:aws:iam:111122223333:aws:policy/cwlogspolicy
   ```

------