

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.

# Zu einer IAM-Rolle wechseln (AWS CLI)
<a name="id_roles_use_switch-role-cli"></a>

Eine *Rolle* legt eine Gruppe von Berechtigungen fest, die Sie für den Zugriff auf AWS -Ressourcen, die Sie benötigen, verwenden können. In dieser Hinsicht ist sie mit einem [IAM-Benutzer AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) vergleichbar. Wenn Sie sich als Benutzer anmelden, erhalten Sie einen bestimmten Satz von Berechtigungen. Sie melden sich jedoch nicht bei einer Rolle an. Wenn Sie sich aber als Benutzer angemeldet haben, können Sie zu einer Rolle wechseln. Dadurch werden Ihre ursprünglichen Benutzerberechtigungen vorübergehend zurückgestellt und Sie erhalten stattdessen die der Rolle zugewiesenen Berechtigungen. Die Rolle kann sich in Ihrem eigenen Konto oder jedem anderen AWS-Konto befinden. Weitere Informationen zu Rollen, ihren Vorteilen sowie zu ihrer Erstellung und Konfiguration finden Sie unter [IAM-Rollen](id_roles.md)und [Erstellung einer IAM-Rolle](id_roles_create.md). Weitere Informationen zu den unterschiedlichen Methoden, die Sie zum Übernehmen einer Rolle verwenden können, finden Sie unter [Methoden, um eine Rolle zu übernehmen](id_roles_manage-assume.md).

**Wichtig**  
Die Berechtigungen Ihres IAM-Benutzers und alle Rollen, die Sie annehmen, können nicht kumuliert werden. Es ist nur jeweils ein Satz von Berechtigungen aktiv. Wenn Sie eine Rolle annehmen, geben Sie Ihre vorherigen Benutzer- oder Rollenberechtigungen temporär auf und arbeiten mit den Berechtigungen, die der Rolle zugeordnet sind. Wenn Sie die Rolle verlassen, werden Ihre Benutzerberechtigungen automatisch wiederhergestellt.

Sie können eine Rolle verwenden, um einen AWS CLI Befehl auszuführen, wenn Sie als IAM-Benutzer angemeldet sind. Sie können eine Rolle auch verwenden, um einen AWS CLI Befehl auszuführen, wenn Sie als [extern authentifizierter Benutzer](id_roles_providers.md) ([SAML](id_roles_providers_saml.md) oder [OIDC](id_roles_providers_oidc.md)) angemeldet sind, der bereits eine Rolle verwendet. Darüber hinaus können Sie eine Rolle für die Ausführung eines AWS CLI -Befehls aus einer Amazon EC2-Instance verwenden, die einer Rolle über ihr Instance-Profil zugeordnet ist. Sie können keine Rolle anwenden, wenn Sie sich als Root-Benutzer des AWS-Kontos anmelden.

[**Verketten von Rollen**](id_roles.md#iam-term-role-chaining) – Sie können auch das Verketten von Rollen verwenden, was bedeutet, Berechtigungen einer Rolle für den Zugriff auf eine zweite Rolle zu verwenden.

Standardmäßig ist Ihre Rollensitzung eine Stunde gültig. Wenn Sie diese Rolle mithilfe der `assume-role*`-CLI-Operationen annehmen, können Sie einen Wert für den `duration-seconds`-Parameter angeben. Dieser Wert kann zwischen 900 Sekunden (15 Minuten) und der maximalen Sitzungsdauer für die Rolle liegen. Wenn Sie in der Konsole die Rollen wechseln, ist Ihre Sitzungsdauer auf maximal eine Stunde begrenzt. Weitere Informationen dazu, wie Sie den maximalen Wert für Ihre Rolle anzeigen, finden Sie unter [Aktualisieren der maximalen Sitzungsdauer für eine Rolle](id_roles_update-role-settings.md#id_roles_update-session-duration). 

Wenn Sie die Verkettung von Rollen verwenden, ist Ihre Sitzungsdauer auf die maximale Dauer von einer Stunde begrenzt. Wenn Sie den `duration-seconds`-Parameter verwenden, um einen Wert größer als eine Stunde anzugeben, schlägt die Operation fehl.

## Beispielszenario: Wechseln zu einer Produktionsrolle
<a name="switch-role-cli-scenario-prod-env"></a>

Stellen Sie sich vor, Sie sind ein IAM-Benutzer und arbeiten in der der Entwicklungsumgebung. In diesem Szenario müssen Sie gelegentlich mit der Produktionsumgebung an der Befehlszeile mit der [AWS CLI](https://aws.amazon.com/cli/) arbeiten. Sie haben bereits einen Zugriffsschlüsselsatz, die Ihnen zur Verfügung steht. Dies kann das Zugriffsschlüsselpaar sein, das dem IAM-Standardbenutzer zugewiesen ist. Wenn Sie dagegen als SAML- oder OICD-Verbundprinzipal angemeldet sind, kann es sich um das Zugriffsschlüsselpaar für die Rolle handeln, die Ihnen ursprünglich zugewiesen wurde. Wenn Ihre aktuellen Berechtigungen Ihnen die Möglichkeit geben, eine bestimmte IAM-Rolle anzunehmen, können Sie diese Rolle in einem „Profil“ in den Konfigurationsdateien identifizieren. AWS CLI Dieser Befehl wird dann mit den Berechtigungen der angegebenen IAM-Rolle, nicht mit der ursprünglichen Identität ausgeführt. Beachten Sie, dass Sie die neue Rolle verwenden, wenn Sie dieses Profil in einem AWS CLI Befehl angeben. In dieser Situation können Sie nicht gleichzeitig die ursprünglichen Berechtigungen im Entwicklungskonto nutzen. Der Grund besteht darin, dass zu einem bestimmten Zeitpunkt nur jeweils ein Satz Berechtigungen wirksam sein kann.

**Anmerkung**  
Aus Sicherheitsgründen können Administratoren anhand von [AWS CloudTrail Protokollen herausfinden](cloudtrail-integration.md#cloudtrail-integration_signin-tempcreds), wer eine Aktion in ausgeführt hat AWS. Ihr Administrator erfordert möglicherweise, dass Sie einen bestimmten Wert für den Sitzungsnamen angeben, wenn Sie die Rolle übernehmen. Weitere Informationen erhalten Sie unter [`sts:SourceIdentity`](reference_policies_iam-condition-keys.md#ck_sourceidentity) und [`sts:RoleSessionName`](reference_policies_iam-condition-keys.md#ck_rolesessionname).

**So wechseln Sie zu einer Produktionsrolle (AWS CLI)**

1. <a name="step-configure-default"></a>Wenn Sie das noch nie verwendet haben AWS CLI, müssen Sie zuerst Ihr Standard-CLI-Profil konfigurieren. Öffnen Sie eine Befehlszeile und richten Sie Ihre AWS CLI Installation so ein, dass sie den Zugriffsschlüssel Ihres IAM-Benutzers oder Ihrer Verbundrolle verwendet. Weitere Informationen finden Sie unter [Konfigurieren der AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-quick-configuration) im *AWS Command Line Interface -Leitfaden*.

   Konfigurieren Sie die [ mit dem Befehl ](https://docs.aws.amazon.com/cli/latest/reference/configure/) wie folgt:

   ```
   aws configure
   ```

   Wenn Sie dazu aufgefordert werden, geben Sie die folgenden Informationen an:

   ```
   AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
   AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   Default region name [None]: us-east-2
   Default output format [None]: json
   ```

1. Erstellen Sie ein neues Profil für die Rolle in der Datei `.aws/config` in Unix oder Linux oder in der Datei `C:\Users\USERNAME\.aws\config` in Windows. Im folgenden Beispiel wird ein Profil mit dem Namen `prodaccess` erstellt, das zur Rolle `ProductionAccessRole` im `123456789012`-Konto wechselt. Der ARN der Rolle wird Ihnen vom Kontoadministrator, der die Rolle erstellt hat, mitgeteilt. Wenn dieses Profil aufgerufen wird, AWS CLI verwendet es die Anmeldeinformationen von, um Anmeldeinformationen für die `source_profile` Rolle anzufordern. Daher muss die Identität, die als `source_profile` referenziert ist, über `sts:AssumeRole`-Berechtigungen für die Rolle verfügen, die in `role_arn` angegeben ist.

   ```
   [profile prodaccess]
       role_arn = arn:aws:iam::123456789012:role/ProductionAccessRole
       source_profile = default
   ```

1. Nachdem Sie das neue Profil erstellt haben, wird jeder AWS CLI Befehl, der den Parameter angibt, unter den Berechtigungen `--profile prodaccess` ausgeführt, die der IAM-Rolle zugewiesen sind, und nicht unter den Berechtigungen `ProductionAccessRole` des Standardbenutzers.

   ```
   aws iam list-users --profile prodaccess
   ```

   Dieser Befehl funktioniert, wenn die Berechtigungen, die `ProductionAccessRole` zugeordnet sind, das Auflisten der Benutzer im aktuellen AWS -Konto ermöglichen.

1. Um zu den Berechtigungen zurückzukehren, die von Ihren ursprünglichen Anmeldeinformationen erteilt wurden, führen Sie Befehle ohne den `--profile`-Parameter. Das AWS CLI verwendet wieder die Anmeldeinformationen in Ihrem Standardprofil, in dem Sie es konfiguriert haben. [Step 1](#step-configure-default)

Weitere Informationen hierzu finden Sie unter [Assuming a Role](https://docs.aws.amazon.com/cli/latest/userguide/cli-roles.html) im *AWS Command Line Interface Leitfaden*.

## Beispielszenario: Einer Instance-Profilrolle erlauben, zu einer Rolle in einem anderen Konto zu wechseln
<a name="switch-role-cli-scenario-ec2-instance"></a>

Stellen Sie sich vor AWS-Konten, Sie verwenden zwei und möchten einer Anwendung, die auf einer Amazon EC2 EC2-Instance ausgeführt wird, erlauben, [AWS CLI](https://aws.amazon.com/cli/)Befehle in beiden Konten auszuführen. Gehen Sie davon aus, dass die EC2-Instance im Konto `111111111111` vorhanden ist. Diese Instance enthält die `abcd`-Instance-Profilrolle, die der Anwendung erlaubt, schreibgeschützte Amazon S3-Aufgaben für den `amzn-s3-demo-bucket1`-Bucket innerhalb desselben `111111111111` Kontos auszuführen. Die Anwendung muss aber auch berechtigt sein, die kontoübergreifende `efgh`-Rolle zu übernehmen, um Aufgaben im Konto `222222222222` auszuführen. Dazu muss der EC2-Instance-Profilrolle `abcd` die folgende Berechtigungsrichtlinie zugeordnet sein.

***Konto 111111111111 `abcd` Rollen-Berechtigungsrichtlinie***

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAccountLevelS3Actions",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetAccountPublicAccessBlock",
                "s3:ListAccessPoints",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Sid": "AllowListAndReadS3ActionOnMyBucket",
            "Effect": "Allow",
            "Action": [
                "s3:Get*",
                "s3:List*"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1/*",
                "arn:aws:s3:::amzn-s3-demo-bucket1"
            ]
        },
        {
            "Sid": "AllowIPToAssumeCrossAccountRole",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::222222222222:role/efgh"
        }
    ]
}
```

------

Gehen Sie davon aus, dass die kontoübergreifende `efgh`-Rolle die Ausführung schreibgeschützter Amazon S3-Aufgaben für den `amzn-s3-demo-bucket2`-Bucket im selben `222222222222`-Konto zulässt. Dazu muss der kontoübergreifenden `efgh`-Rolle die folgende Berechtigungsrichtlinie zugeordnet sein:

***Konto 222222222222 `efgh` Rollen-Berechtigungsrichtlinie***

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAccountLevelS3Actions",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetAccountPublicAccessBlock",
                "s3:ListAccessPoints",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Sid": "AllowListAndReadS3ActionOnMyBucket",
            "Effect": "Allow",
            "Action": [
                "s3:Get*",
                "s3:List*"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket2/*",
                "arn:aws:s3:::amzn-s3-demo-bucket2"
            ]
        }
    ]
}
```

------

Die `efgh`-Rolle muss der `abcd`-Instance-Profilrolle die Übernahme erlauben. Dazu benötigt die `efgh`-Rolle die folgende Vertrauensrichtlinie:

***Konto 222222222222 `efgh` Rollen-Berechtigungsrichtlinie***

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "efghTrustPolicy",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Principal": {"AWS": "arn:aws:iam::111111111111:role/abcd"}
        }
    ]
}
```

------

Um dann AWS CLI Befehle im Konto auszuführen`222222222222`, müssen Sie die CLI-Konfigurationsdatei aktualisieren. Identifizieren Sie die `efgh`-Rolle als "Profil" und die `abcd`-EC2-Instance-Profilrolle als "Quelle der Anmeldeinformationen“ in der AWS CLI -Konfigurationsdatei. Dann werden Ihre CLI-Befehle mit den Berechtigungen der `efgh`-Rolle und nicht mit denen der ursprünglichen `abcd`-Rolle ausgeführt.

**Anmerkung**  
Aus Sicherheitsgründen können Sie AWS CloudTrail damit die Verwendung von Rollen im Konto überprüfen. Um in CloudTrail Protokollen zwischen Rollensitzungen zu unterscheiden, wenn eine Rolle von verschiedenen Prinzipalen verwendet wird, können Sie den Namen der Rollensitzung verwenden. Wenn der eine Rolle im Namen eines Benutzers AWS CLI übernimmt, wie in diesem Thema beschrieben, wird automatisch ein Rollensitzungsname als `AWS-CLI-session-nnnnnnnn` erstellt. Hier *nnnnnnnn* ist eine Ganzzahl, die die Zeit in [Unix-Epochenzeit](http://wikipedia.org/wiki/Unix_time) darstellt (die Anzahl der Sekunden seit Mitternacht UTC am 1. Januar 1970). Weitere Informationen finden Sie unter [CloudTrail Event Reference](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/eventreference.html) im *AWS CloudTrail Benutzerhandbuch*.

**So lassen Sie zu, dass eine EC2-Instance-Profilrolle zu einer kontoübergreifenden Rolle wechselt (AWS CLI)**

1. Sie müssen kein Standard-CLI-Profil konfigurieren. Stattdessen können Sie Anmeldeinformationen aus den Metadaten des EC2-Instance-Profils laden. Erstellen Sie ein neues Profil für die Rolle in der `.aws/config`-Datei. Das folgende Beispiel erstellt ein `instancecrossaccount`-Profil, das zur `efgh`-Rolle im `222222222222`-Konto wechselt. Wenn dieses Profil aufgerufen wird, verwendet die AWS CLI die Anmeldeinformationen aus den Metadaten des EC2-Instance-Profils, um Anmeldeinformationen für die Rolle anzufordern. Deshalb muss das EC2-Instance-Profil über die `sts:AssumeRole`-Berechtigungen für die Rolle verfügen, die in `role_arn` angegeben ist.

   ```
   [profile instancecrossaccount]
   role_arn = arn:aws:iam::222222222222:role/efgh
   credential_source = Ec2InstanceMetadata
   ```

1. Nachdem Sie das neue Profil erstellt haben, wird jeder AWS CLI Befehl, der den Parameter angibt, unter den Berechtigungen `--profile instancecrossaccount` ausgeführt, die der `efgh` Rolle im Konto zugewiesen sind`222222222222`.

   ```
   aws s3 ls amzn-s3-demo-bucket2 --profile instancecrossaccount
   ```

   Dieser Befehl funktioniert, wenn die Berechtigungen, die zur `efgh`-Rolle zugewiesen sind, die Auflistung der Benutzer im aktuellen AWS-Konto zulässt.

1. Zum Zurückkehren zu den ursprünglichen EC2-Instance-Profilberechtigungen im Konto `111111111111` führen Sie die CLI-Befehle ohne den Parameter `--profile`.

Weitere Informationen hierzu finden Sie unter [Assuming a Role](https://docs.aws.amazon.com/cli/latest/userguide/cli-roles.html) im *AWS Command Line Interface Leitfaden*.