

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-Identitäten
<a name="id"></a>

Eine IAM-Identität kann mit einer oder mehreren Richtlinien verknüpft werden, die festlegen, welche Aktionen eine Identität für welche AWS Ressourcen und unter welchen Bedingungen ausführen darf. Zu den IAM-Identitäten zählen IAM-Benutzer, IAM-Gruppen und IAM-Rollen. Eine IAM-Entität ist eine Art von Identität, die einen menschlichen Benutzer oder eine programmgesteuerte Workload darstellt, die authentifiziert und dann zur Ausführung von Aktionen in AWS-Konten autorisiert werden kann. Zu IAM-Entitäten zählen IAM-Benutzer und IAM-Rollen. Definitionen für häufig verwendete Begriffe finden Sie unter [Bedingungen](introduction_identity-management.md#intro-structure-terms).

Sie können vorhandene Identitäten von einem externen Identitätsanbieter zusammenführen. Diese Identitäten übernehmen IAM-Rollen für den Zugriff auf Ressourcen. AWS Weitere Informationen finden Sie unter [Identitätsanbieter und Verbund zu AWS](id_roles_providers.md).

Sie können sie auch verwenden AWS IAM Identity Center , um Identitäten und den Zugriff auf Ressourcen zu erstellen und zu verwalten. AWS Berechtigungssätze von IAM Identity Center erstellen automatisch die IAM-Rollen, die für den Zugriff auf Ressourcen erforderlich sind. Weitere Informationen unter [Was ist IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)

Das Root-Benutzer des AWS-Kontos ist ein AWS-Konto Prinzipal, das erstellt wird, wenn Ihr eingerichtet AWS-Konto wird. Der Root-Benutzer hat Zugriff auf alle AWS Dienste und Ressourcen im Konto. Weitere Informationen finden Sie unter [IAM-Root-Benutzer](#id_root). 

**Anmerkung**  
Befolgen Sie bei der Arbeit mit IAM-Identitäten die [Bewährten Sicherheitsmethoden in IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/best-practices-use-cases.html). 
Befolgen Sie bei der [Arbeit mit dem Root-Benutzer die bewährten Methoden für Ihr AWS-Konto](root-user-best-practices.md).
Wenn bei der Anmeldung Probleme auftreten, lesen Sie den Abschnitt [Anmelden bei der Konsole AWS-Managementkonsole](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html). 

## IAM-Root-Benutzer
<a name="id_root"></a>

Wenn Sie zum ersten Mal eine erstellen AWS-Konto, beginnen Sie mit einer Anmeldeidentität, die vollständigen Zugriff auf alle AWS-Services Ressourcen im Konto hat. Diese Identität wird als AWS-Konto *Root-Benutzer* bezeichnet. Weitere Informationen finden Sie unter [AWS -Root-Benutzer-Konto](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html).

## IAM-Benutzer
<a name="id_iam-users"></a>

Ein *IAM-Benutzer* ist eine Identität innerhalb von Ihnen AWS-Konto , die über spezifische Berechtigungen für eine einzelne Person oder Anwendung verfügt. Weitere Informationen finden Sie unter [IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html). 

## IAM-Benutzergruppen
<a name="id_iam-groups"></a>

Eine *IAM-Benutzergruppe* ist eine Identität, die eine Sammlung von IAM-Benutzern angibt. Weitere Informationen finden Sie unter [Benutzergruppen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html).

## IAM-Rollen
<a name="id_iam-roles"></a>

Eine *IAM-Rolle* ist eine Identität innerhalb Ihres Unternehmens AWS-Konto , die über bestimmte Berechtigungen verfügt. Es ähnelt einem IAM-Benutzer, ist jedoch keiner bestimmten Person zugeordnet. Weitere Informationen finden Sie unter [IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html).

# Root-Benutzer des AWS-Kontos
<a name="id_root-user"></a>

Wenn Sie zum ersten Mal ein Amazon Web Services (AWS) -Konto erstellen, beginnen Sie mit einer einzigen Anmeldeidentität, die vollständigen Zugriff auf alle AWS Dienste und Ressourcen im Konto hat. Diese Identität wird als *Root-Benutzer* des AWS Kontos bezeichnet. Die E-Mail-Adresse und das Passwort, mit denen Sie Ihr Konto erstellt haben, AWS-Konto sind die Anmeldeinformationen, mit denen Sie sich als Root-Benutzer anmelden.
+ Verwenden Sie den Root-Benutzer nur zum Ausführen von Aufgaben, die Berechtigungen auf Root-Ebene erfordern. Eine vollständige Liste der Aufgaben, für die Sie sich als Root-Benutzer anmelden müssen, finden Sie unter [Aufgaben, die Stammbenutzer-Anmeldeinformationen erfordern](#root-user-tasks). 
+ Befolgen Sie die [bewährten Methoden für den Root-Benutzer für Ihr AWS-Konto](root-user-best-practices.md).
+ Wenn bei der Anmeldung Probleme auftreten, lesen Sie den Abschnitt [Anmelden bei der Konsole AWS-Managementkonsole](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html).

**Wichtig**  
Wir raten ausdrücklich davon ab, den Root-Benutzer für Alltagsaufgaben zu verwenden und empfehlen, dass Sie die [bewährten Methoden für Root-Benutzer für Ihr AWS-Konto befolgen](root-user-best-practices.md). Schützen Sie Ihre Root-Benutzer-Anmeldeinformationen. Verwenden Sie diese nur, um die Aufgaben auszuführen, die nur der Root-Benutzer ausführen kann. Eine vollständige Liste der Aufgaben, für die Sie sich als Root-Benutzer anmelden müssen, finden Sie unter [Aufgaben, die Stammbenutzer-Anmeldeinformationen erfordern](#root-user-tasks). 

Während MFA für Root-Benutzer standardmäßig aktiviert ist, müssen Kunden MFA bei der erstmaligen Kontoerstellung oder bei Aufforderung während der Anmeldung manuell hinzufügen. Weitere Informationen zur Verwendung von MFA zum Schutz des Root-Benutzers finden Sie unter [Multi-Faktor-Authentifizierung für Root-Benutzer des AWS-Kontos](enable-mfa-for-root.md).

## Root-Zugriff für Mitgliedskonten zentral verwalten
<a name="id_root-user-access-management"></a>

Um Sie bei der umfassenden Verwaltung von Anmeldeinformationen zu unterstützen, können Sie den Zugriff auf Root-Benutzer-Anmeldeinformationen für Mitgliedskonten in AWS Organizations zentral sichern. Wenn Sie die Aktivierung aktivieren AWS Organizations, fassen Sie alle Ihre AWS Konten zu einer Organisation für die zentrale Verwaltung zusammen. Durch die Zentralisierung des Root-Zugriffs können Sie die Root-Benutzer-Anmeldeinformationen entfernen und die folgenden privilegierten Aufgaben für Mitgliedskonten ausführen.

**Root-Benutzer-Anmeldeinformationen für Mitgliedskonten entfernen**  
Nachdem Sie den [Root-Zugriff für Mitgliedskonten zentralisieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-enable-root-access.html), können Sie die Root-Benutzer-Anmeldeinformationen von Mitgliedskonten in Ihren Organizations löschen. Sie können das Root-Benutzer-Passwort, Zugriffsschlüssel und Signaturzertifikate entfernen sowie die Multi-Faktor-Authentifizierung (MFA) deaktivieren. Neue Konten, die Sie in Organizations erstellen, verfügen standardmäßig über keine Root-Benutzer-Anmeldeinformationen. Mitgliedskonten können sich nicht bei ihrem Root-Benutzer anmelden oder eine Passwortwiederherstellung für ihren Root-Benutzer durchführen, es sei denn, die Kontowiederherstellung ist aktiviert.

**Privilegierte Aufgaben ausführen, die Anmeldeinformationen eines Root-Benutzers erfordern**  
Einige Aufgaben können nur ausgeführt werden, wenn Sie sich als Root-Benutzer eines Kontos anmelden. Einige dieser [Aufgaben, die Stammbenutzer-Anmeldeinformationen erfordern](#root-user-tasks) können vom Verwaltungskonto oder einem delegierten Administrator für IAM ausgeführt werden. Weitere Informationen über privilegierte Aktionen für Mitgliedskonten finden Sie unter [Ausführen einer privilegierten Aufgabe](id_root-user-privileged-task.md).

**Kontowiederherstellung des Root-Benutzers aktivieren**  
Wenn Sie die Root-Benutzer-Anmeldeinformationen für ein Mitgliedskonto wiederherstellen müssen, kann das Organisationsverwaltungskonto oder der delegierte Administrator die privilegierte Aufgabe **Passwortwiederherstellung zulassen** ausführen. Die Person mit Zugriff auf den E-Mail-Posteingang des Root-Benutzers für das Mitgliedskonto kann das [Root-Benutzer-Passwort zurücksetzen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reset-root-password.html), um die Root-Benutzer-Anmeldeinformationen wiederherzustellen. Wir empfehlen, die Anmeldeinformationen des Root-Benutzers zu löschen, sobald Sie die Aufgabe abgeschlossen haben, für die der Zugriff auf den Root-Benutzer erforderlich ist.

# Root-Zugriff für Mitgliedskonten zentralisieren
<a name="id_root-enable-root-access"></a>

Root-Benutzeranmeldedaten sind die anfänglichen Anmeldeinformationen AWS-Konto , die jedem Benutzer zugewiesen werden, der vollständigen Zugriff auf alle AWS Dienste und Ressourcen im Konto hat. Wenn Sie die Aktivierung aktivieren AWS Organizations, fassen Sie alle Ihre AWS Konten zu einer Organisation für die zentrale Verwaltung zusammen. Jedes Mitgliedskonto hat seinen eigenen Root-Benutzer mit Standardberechtigungen zum Ausführen aller Aktionen im Mitgliedskonto. Wir empfehlen Ihnen, die Root-Benutzeranmeldedaten von AWS-Konten Managed Using zentral zu sichern AWS Organizations , um zu verhindern, dass Root-Benutzeranmeldedaten wiederhergestellt und in großem Umfang darauf zugegriffen werden kann.

Nachdem Sie den Root-Zugriff zentralisiert haben, können Sie die Root-Benutzer-Anmeldeinformationen aus den Mitgliedskonten in Ihrer Organisation löschen. Sie können das Root-Benutzer-Passwort, Zugriffsschlüssel und Signaturzertifikate entfernen sowie die Multi-Faktor-Authentifizierung (MFA) deaktivieren. Neue Konten, die Sie in AWS Organizations erstellen, verfügen standardmäßig über keine Root-Benutzer-Anmeldeinformationen. Mitgliedskonten können sich nicht bei ihrem Root-Benutzer anmelden oder eine Passwortwiederherstellung für ihren Root-Benutzer durchführen.

**Anmerkung**  
Während einige [Aufgaben, die Stammbenutzer-Anmeldeinformationen erfordern](id_root-user.md#root-user-tasks) vom Verwaltungskonto oder delegierten Administrator für IAM ausgeführt werden können, lassen sich andere Aufgaben nur ausführen, wenn Sie sich als Root-Benutzer eines Kontos anmelden.  
Wenn Sie die Anmeldeinformationen des Root-Benutzers für ein Mitgliedskonto wiederherstellen müssen, um eine dieser Aufgaben auszuführen, befolgen Sie die Schritte unter [Ausführen einer privilegierten Aufgabe](id_root-user-privileged-task.md) und wählen Sie **Passwortwiederherstellung zulassen**. Die Person mit Zugriff auf den E-Mail-Posteingang des Root-Benutzers kann für das Mitgliedskonto das [Root-Benutzer-Passwort zurücksetzen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reset-root-password.html) und sich beim Root-Benutzer des Mitgliedskontos anmelden.  
 Wir empfehlen, die Anmeldeinformationen des Root-Benutzers zu löschen, sobald Sie die Aufgabe abgeschlossen haben, für die der Zugriff auf den Root-Benutzer erforderlich ist.

## Voraussetzungen
<a name="enable-root-access-management_prerequisite"></a>

Bevor Sie den Root-Zugriff zentralisieren, muss ein Konto mit den folgenden Einstellungen konfiguriert sein:
+ Sie benötigen die folgenden IAM-Berechtigungen:
  + `iam:GetAccessKeyLastUsed`
  + `iam:GetAccountSummary`
  + `iam:GetLoginProfile`
  + `iam:GetUser`
  + `iam:ListAccessKeys`
  + `iam:ListMFADevices`
  + `iam:ListSigningCertificates`
  + `sts:AssumeRoot`
**Anmerkung**  
Um den Status der Root-Benutzeranmeldeinformationen eines Mitgliedskontos zu überprüfen, können Sie die [IAMAuditRootUserCredentials](security-iam-awsmanpol.md#security-iam-awsmanpol-IAMAuditRootUserCredentials) AWS verwaltete Richtlinie verwenden, um die Berechtigungen einzuschränken, wenn Sie eine privilegierte Aufgabe für ein AWS Organizations Mitgliedskonto ausführen, oder Sie können eine beliebige Richtlinie mit Zugriff auf verwenden. `iam:GetAccountSummary`  
Zum Erstellen des Berichts mit den Anmeldeinformationen des Root-Benutzers benötigen andere Richtlinien lediglich die `iam:GetAccountSummary`-Aktion, um das gleiche Ergebnis zu erzielen. Sie können auch einzelne Informationen zu den Anmeldeinformationen von Root-Benutzern auflisten oder abrufen, darunter:  
Ob ein Root-Benutzer-Kennwort vorhanden ist
Ob ein Root-Benutzer-Zugriffsschlüssel vorhanden ist und wann er zuletzt verwendet wurde
Ob dem Root-Benutzer Signaturzertifikate zugeordnet sind
Mit Root-Benutzern verknüpfte MFA-Geräte
Liste des konsolidierten Status der Root-Benutzer-Anmeldeinformationen
+ Sie müssen Ihre Eingaben AWS-Konten verwalten. [AWS Organizations](https://docs.aws.amazon.com//organizations/latest/userguide/orgs_introduction.html)
+ Sie müssen über die folgenden Berechtigungen verfügen, um dieses Feature in Ihrer Organisation zu aktivieren:
  + `iam:EnableOrganizationsRootCredentialsManagement`
  + `iam:EnableOrganizationsRootSessions`
  + `iam:ListOrganizationsFeatures`
  + `organizations:EnableAwsServiceAccess`
  + `organizations:ListAccountsForParent`
  + `organizations:RegisterDelegatedAdministrator` 
+ Um eine optimale Konsolenfunktionalität zu gewährleisten, empfehlen wir, die folgenden zusätzlichen Berechtigungen zu aktivieren:
  + `organizations:DescribeAccount`
  + `organizations:DescribeOrganization`
  + `organizations:ListAWSServiceAccessForOrganization`
  + `organizations:ListDelegatedAdministrators`
  + `organizations:ListOrganizationalUnitsForParent`
  + `organizations:ListParents`
  + `organizations:ListTagsForResource`

## Zentralisierten Root-Zugriff aktivieren (Konsole)
<a name="enable-root-access-console"></a>

**Um diese Funktion für Mitgliedskonten in der zu aktivieren AWS-Managementkonsole**

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 der Konsole **Root-Zugriffsverwaltung** und dann **Aktivieren** aus.
**Anmerkung**  
Wenn Sie sehen, dass die **Root-Zugriffsverwaltung deaktiviert ist**, aktivieren Sie den vertrauenswürdigen Zugriff für AWS Identity and Access Management in AWS Organizations. Einzelheiten finden Sie unter [AWS -IAM und AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-iam.html) im *AWS Organizations -Benutzerhandbuch*.

1. Wählen Sie im Abschnitt „Zu aktivierende Funktionen“ aus, welche Features aktiviert werden sollen.
   + Wählen Sie **Verwaltung der Root-Anmeldeinformationen** aus, um dem Verwaltungskonto und dem delegierten Administrator für IAM zu erlauben, Root-Benutzer-Anmeldeinformationen für Mitgliedskonten zu löschen. Sie müssen privilegierte Root-Aktionen in Mitgliedskonten aktivieren, um Mitgliedskonten die Wiederherstellung ihrer Root-Benutzer-Anmeldeinformationen nach deren Löschung zu ermöglichen.
   + Wählen Sie **Privilegierte Root-Aktionen in Mitgliedskonten** aus, um dem Verwaltungskonto und dem delegierten Administrator für IAM die Ausführung bestimmter Aufgaben zu ermöglichen, für die Root-Benutzer-Anmeldeinformationen erforderlich sind.

1. (Optional) Geben Sie die Konto-ID des **delegierten Administrators** ein, der berechtigt ist, den Root-Benutzerzugriff zu verwalten und privilegierte Aktionen für Mitgliedskonten auszuführen. Wir empfehlen ein Konto, das für Sicherheits- oder Verwaltungszwecke vorgesehen ist.

1. Wählen Sie **Enable (Aktivieren)** aus.

## Zentralisierten Root-Zugriff aktivieren (AWS CLI)
<a name="enable-root-access-cli"></a>

**Um den zentralisierten Root-Zugriff über AWS Command Line Interface (AWS CLI) zu aktivieren**

1. Wenn Sie den vertrauenswürdigen Zugriff für AWS Identity and Access Management in noch nicht aktiviert haben AWS Organizations, verwenden Sie den folgenden Befehl: [aws organizations enable-aws-service-access](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/organizations/enable-aws-service-access.html).

1. Verwenden Sie den folgenden Befehl, damit das Verwaltungskonto und der delegierte Administrator die Root-Benutzeranmeldeinformationen für Mitgliedskonten löschen können: [aws iam enable-organizations-root-credentials -management](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/enable-organizations-root-credentials-management.html).

1. [Verwenden Sie den folgenden Befehl, damit das Verwaltungskonto und der delegierte Administrator bestimmte Aufgaben ausführen können, für die Root-Benutzeranmeldedaten erforderlich sind: aws iam. enable-organizations-root-sessions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/enable-organizations-root-sessions.html)

1. [(Optional) Verwenden Sie den folgenden Befehl, um einen delegierten Administrator zu registrieren: aws organizations. register-delegated-administrator](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/organizations/register-delegated-administrator.html)

   Im folgenden Beispiel wird das Konto 111111111111 als delegierter Administrator für den IAM-Service zugewiesen.

   ```
   aws organizations register-delegated-administrator 
   --service-principal iam.amazonaws.com
   --account-id 111111111111
   ```

## Aktivierung des zentralen Root-Zugriffs (AWS API)
<a name="enable-root-access-api"></a>

**Um den zentralisierten Root-Zugriff über die AWS API zu aktivieren**

1. Wenn Sie den vertrauenswürdigen Zugriff für AWS Identity and Access Management in noch nicht aktiviert haben AWS Organizations, verwenden Sie den folgenden Befehl: [AWSServiceZugriff aktivieren](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html).

1. Verwenden Sie den folgenden Befehl, damit das Verwaltungskonto und der delegierte Administrator die Root-Benutzeranmeldeinformationen für Mitgliedskonten löschen können: [EnableOrganizationsRootCredentialsManagement](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableOrganizationsRootCredentialsManagement.html).

1. Verwenden Sie den folgenden Befehl, damit das Verwaltungskonto und der delegierte Administrator bestimmte Aufgaben ausführen können, für die Root-Benutzeranmeldeinformationen erforderlich sind:. [EnableOrganizationsRootSessions](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableOrganizationsRootSessions.html)

1. (Optional) Verwenden Sie den folgenden Befehl, um einen delegierten Administrator zu registrieren:. [RegisterDelegatedAdministrator](https://docs.aws.amazon.com/organizations/latest/APIReference/API_RegisterDelegatedAdministrator.html)

## Nächste Schritte
<a name="enable-root-access_next-steps"></a>

Nachdem Sie die privilegierten Anmeldeinformationen für die Mitgliedskonten in Ihrer Organisation zentral gesichert haben, finden Sie unter [Ausführen einer privilegierten Aufgabe](id_root-user-privileged-task.md) Informationen zum Ausführen privilegierter Aktionen für ein Mitgliedskonto.

# Führen Sie eine privilegierte Aufgabe auf einem AWS Organizations Mitgliedskonto aus
<a name="id_root-user-privileged-task"></a>

Das AWS Organizations Verwaltungskonto oder ein delegiertes Administratorkonto für IAM kann einige privilegierte Aufgaben für Mitgliedskonten ausführen, für die andernfalls Root-Benutzeranmeldedaten erforderlich wären. Bei zentralisiertem Root-Zugriff werden diese Aufgaben in kurzzeitigen privilegierten Sitzungen ausgeführt. Diese Sitzungen stellen temporäre Anmeldeinformationen bereit, die auf bestimmte privilegierte Aktionen beschränkt sind, ohne dass eine Anmeldung des Root-Benutzers für das Mitgliedskonto erforderlich ist.

Sobald Sie eine privilegierte Sitzung gestartet haben, können Sie eine falsch konfigurierte Amazon-S3-Bucket-Richtlinie löschen, eine falsch konfigurierte Amazon-SQS-Warteschlangenrichtlinie löschen, die Root-Benutzer-Anmeldeinformationen für ein Mitgliedskonto löschen und die Root-Benutzer-Anmeldeinformationen für ein Mitgliedskonto erneut aktivieren.

**Anmerkung**  
Um den zentralen Root-Zugriff nutzen zu können, müssen Sie sich über ein Verwaltungskonto oder ein delegiertes Administratorkonto als IAM-Benutzer oder eine IAM-Rolle mit der ausdrücklich erteilten Berechtigung anmelden. `sts:AssumeRoot` Sie können keine Root-Benutzeranmeldedaten für Anrufe verwenden. `sts:AssumeRoot`

## Voraussetzungen
<a name="root-user-privileged-task_prerequisite"></a>

Bevor Sie eine privilegierte Sitzung starten können, müssen Sie über die folgenden Einstellungen verfügen:
+ Sie haben den zentralisierten Root-Zugriff in Ihrer Organisation aktiviert. Informationen zum Aktivieren dieses Features finden Sie unter [Root-Zugriff für Mitgliedskonten zentralisieren](id_root-enable-root-access.md).
+ Ihr Verwaltungskonto oder delegiertes Administratorkonto verfügt über die folgenden Berechtigungen: `sts:AssumeRoot`

## Privilegierte Aktion in einem Mitgliedskonto ausführen (Konsole)
<a name="root-user-privileged-task_action-console"></a>

**Um eine Sitzung für privilegierte Aktionen in einem Mitgliedskonto zu starten AWS-Managementkonsole**

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 der Konsole **Root-Zugriffsverwaltung** aus.

1. Wählen Sie einen Namen aus der Liste der Mitgliedskonten aus und wählen Sie **Privilegierte Aktion ausführen** aus.

1. Wählen Sie die privilegierte Aktion aus, die Sie im Mitgliedskonto ausführen möchten.
   + Wählen Sie **Amazon-S3-Bucket-Richtlinie löschen** aus, um eine falsch konfigurierte Bucket-Richtlinie zu entfernen, die allen Prinzipalen den Zugriff auf den Amazon-S3-Bucket verweigert.

     1. Wählen Sie **S3 durchsuchen**, um einen Namen aus den Buckets auszuwählen, die dem Mitgliedskonto gehören, und wählen Sie **Auswählen**.

     1. Wählen Sie **Bucket-Richtlinie löschen** aus.

     1. Verwenden Sie die Amazon-S3-Konsole, um die Bucket-Richtlinie zu korrigieren, nachdem Sie die falsch konfigurierte Richtlinie gelöscht haben. Weitere Informationen finden Sie unter [Hinzufügen einer Bucket-Richtlinie mithilfe der Amazon-S3-Konsole](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html) im *Amazon-S3-Benutzerhandbuch*.
   + Wählen Sie **Amazon-SQS-Richtlinie löschen**, um eine ressourcenbasierte Richtlinie für Amazon Simple Queue Service zu löschen, die allen Prinzipalen den Zugriff auf eine Amazon-SQS-Warteschlange verweigert.

     1. Geben Sie den Warteschlangennamen in das Feld **SQS-Warteschlangenname** ein und wählen Sie **SQS-Richtlinie löschen** aus.

     1. Verwenden Sie die Amazon-SQS-Konsole, um die Warteschlangenrichtlinie nach dem Löschen der falsch konfigurierten Richtlinie zu korrigieren. Weitere Informationen finden Sie unter [Konfigurieren einer Zugriffsrichtlinie in Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-add-permissions.html) im *Amazon-SQS-Entwicklerhandbuch*.
   + Wählen Sie **Root-Anmeldeinformationen löschen**, um den Root-Zugriff von einem Mitgliedskonto zu entfernen. Durch das Löschen der Root-Benutzer-Anmeldeinformationen werden das Root-Benutzerpasswort, die Zugriffsschlüssel sowie die Signaturzertifikate entfernt und die Multi-Faktor-Authentifizierung (MFA) für das Mitgliedskonto wird deaktiviert.

     1. Wählen Sie **Root-Anmeldeinformationen löschen** aus.
   + Wählen Sie **Passwortwiederherstellung zulassen**, um die Root-Benutzer-Anmeldeinformationen für ein Mitgliedskonto wiederherzustellen.

     Diese Option ist nur verfügbar, wenn das Mitgliedskonto über keine Root-Benutzer-Anmeldeinformationen verfügt.

     1. Wählen Sie **Passwortwiederherstellung zulassen** aus.

     1. Nach dem Ausführen dieser privilegierten Aktion kann die Person mit Zugriff auf den E-Mail-Posteingang des Root-Benutzers für das Mitgliedskonto das [Root-Benutzer-Passwort zurücksetzen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reset-root-password.html) und sich beim Root-Benutzer des Mitgliedskontos anmelden.

## Durchführung einer privilegierten Aktion in einem Mitgliedskonto (AWS CLI)
<a name="root-user-privileged-task_action-cli"></a>

**Um eine Sitzung für privilegierte Aktionen in einem Mitgliedskonto zu starten AWS Command Line Interface**

1. Verwenden Sie den folgenden Befehl, um eine Root-Benutzer-Sitzung anzunehmen: [aws sts assume-root](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/assume-root.html).
**Anmerkung**  
Der globale Endpunkt wird für `sts:AssumeRoot` nicht unterstützt. Sie müssen diese Anfrage an einen regionalen AWS STS Endpunkt senden. Weitere Informationen finden Sie unter [Verwalte AWS STS in einem AWS-Region](id_credentials_temp_enable-regions.md).

   Wenn Sie eine Sitzung für einen privilegierten Root-Benutzer für ein Mitgliedskonto starten, müssen Sie `task-policy-arn` definieren, um den Umfang der Sitzung auf die privilegierte Aktion festzulegen, die während der Sitzung ausgeführt werden soll. Sie können eine der folgenden von AWS verwalteten Richtlinien verwenden, um privilegierte Sitzungsaktionen einzuschränken.
   + [IAMAuditRootUserCredentials](security-iam-awsmanpol.md#security-iam-awsmanpol-IAMAuditRootUserCredentials)
   + [IAMCreateRootUserPassword](security-iam-awsmanpol.md#security-iam-awsmanpol-IAMCreateRootUserPassword)
   + [IAMDeleteRootUserCredentials](security-iam-awsmanpol.md#security-iam-awsmanpol-IAMDeleteRootUserCredentials)
   + [S3 UnlockBucketPolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-S3UnlockBucketPolicy)
   + [SQSUnlockQueuePolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-SQSUnlockQueuePolicy)

   Um die Aktionen einzuschränken, die ein Verwaltungskonto oder ein delegierter Administrator während einer privilegierten Root-Benutzersitzung ausführen kann, können Sie den AWS STS Bedingungsschlüssel [sts: TaskPolicyArn](reference_policies_iam-condition-keys.md#ck_taskpolicyarn) verwenden.

    Im folgenden Beispiel geht der delegierte Administrator davon aus, dass root die Root-Benutzeranmeldeinformationen für die Mitgliedskonto-ID löscht. *111122223333* 

   ```
   aws sts assume-root \
     --target-principal 111122223333 \
     --task-policy-arn arn=arn:aws:iam::aws:policy/root-task/IAMDeleteRootUserCredentials \
     --duration-seconds 900
   ```

1. Verwenden Sie `AccessKeyId`, `SessionToken` und `SecretAccessKey` aus der Antwort, um privilegierte Aktionen im Mitgliedskonto auszuführen. Sie können den Benutzernamen und das Passwort in der Anfrage weglassen, um standardmäßig das Mitgliedskonto zu verwenden.
   + **Überprüfen Sie den Status der Root-Benutzer-Anmeldeinformationen.**. Verwenden Sie die folgenden Befehle, um den Status der Root-Benutzer-Anmeldeinformationen für ein Mitgliedskonto zu überprüfen.
     + [get-user](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/get-user.html)
     + [get-login-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/get-login-profile.html)
     + [list-access-keys](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-access-keys.html)
     + [list-signing-certificates](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-signing-certificates.html)
     + [list-mfa-devices](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-mfa-devices.html)
     + [get-access-key-last-verwendet](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/get-access-key-last-used.html)
   + **Löschen Sie die Anmeldeinformationen des Root-Benutzers**. Verwenden Sie die folgenden Befehle, um den Root-Zugriff zu löschen. Sie können das Root-Benutzerpasswort, Zugriffsschlüssel und Signaturzertifikate entfernen und die Multi-Faktor-Authentifizierung (MFA) deaktivieren, um jeglichen Zugriff auf und die Wiederherstellung des Root-Benutzers zu entfernen.
     + [delete-login-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/delete-login-profile.html)
     + [delete-access-key](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/delete-access-key.html)
     + [delete-signing-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/delete-signing-certificate.html)
     + [deactivate-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/deactivate-mfa-device.html)
   + **Löschen Sie die Amazon-S3-Bucket-Richtlinie**. Verwenden Sie die folgenden Befehle, um eine falsch konfigurierte Bucket-Richtlinie zu lesen, zu bearbeiten und zu löschen, die allen Prinzipalen den Zugriff auf den Amazon-S3-Bucket verweigert.
     + [list-buckets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-buckets.html)
     + [get-bucket-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-policy.html)
     + [put-bucket-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-policy.html)
     + [delete-bucket-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-policy.html)
   + **Löschen Sie die Amazon-SQS-Richtlinie**. Verwenden Sie die folgenden Befehle, um eine ressourcenbasierte Richtlinie für Amazon Simple Queue Service anzuzeigen und zu löschen, die allen Prinzipalen den Zugriff auf eine Amazon-SQS-Warteschlange verweigert.
     + [list-queues](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/list-queues.html)
     + [get-queue-url](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/get-queue-url.html)
     + [get-queue-attributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/get-queue-attributes.html)
     + [set-queue-attributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/set-queue-attributes.html)
   + **Lassen Sie die Passwortwiederherstellung zu**. Verwenden Sie die folgenden Befehle, um den Benutzernamen anzuzeigen und die Root-Benutzer-Anmeldeinformationen für ein Mitgliedskonto wiederherzustellen.
     + [get-login-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/get-login-profile.html)
     + [create-login-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-login-profile.html)

## Ergreifen einer privilegierten Aktion auf einem Mitgliedskonto (AWS API)
<a name="root-user-privileged-task_action-api"></a>

**Um eine Sitzung für privilegierte Aktionen in einem Mitgliedskonto über die AWS API zu starten**

1. Verwenden Sie den folgenden Befehl, um von einer Root-Benutzersitzung auszugehen: [AssumeRoot](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html).
**Anmerkung**  
Der globale Endpunkt wird nicht unterstützt für AssumeRoot. Sie müssen diese Anfrage an einen regionalen AWS STS Endpunkt senden. Weitere Informationen finden Sie unter [Verwalte AWS STS in einem AWS-Region](id_credentials_temp_enable-regions.md).

   Wenn Sie eine Sitzung für einen privilegierten Root-Benutzer für ein Mitgliedskonto starten, müssen Sie `TaskPolicyArn` definieren, um den Umfang der Sitzung auf die privilegierte Aktion festzulegen, die während der Sitzung ausgeführt werden soll. Sie können eine der folgenden AWS verwalteten Richtlinien verwenden, um den Umfang von Aktionen für privilegierte Sitzungen festzulegen.
   + [IAMAuditRootUserCredentials](security-iam-awsmanpol.md#security-iam-awsmanpol-IAMAuditRootUserCredentials)
   + [IAMCreateRootUserPassword](security-iam-awsmanpol.md#security-iam-awsmanpol-IAMCreateRootUserPassword)
   + [IAMDeleteRootUserCredentials](security-iam-awsmanpol.md#security-iam-awsmanpol-IAMDeleteRootUserCredentials)
   + [S3 UnlockBucketPolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-S3UnlockBucketPolicy)
   + [SQSUnlockQueuePolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-SQSUnlockQueuePolicy)

   Um die Aktionen einzuschränken, die ein Verwaltungskonto oder ein delegierter Administrator während einer privilegierten Root-Benutzersitzung ausführen kann, können Sie den AWS STS Bedingungsschlüssel [sts: TaskPolicyArn](reference_policies_iam-condition-keys.md#ck_taskpolicyarn) verwenden.

   Im folgenden Beispiel geht der delegierte Administrator davon aus, dass root eine falsch konfigurierte ressourcenbasierte Richtlinie für einen Amazon S3 S3-Bucket für die Mitgliedskonto-ID liest, bearbeitet und löscht. *111122223333*

   ```
   https://sts.us-east-2.amazonaws.com/
     ?Version=2011-06-15
     &Action=AssumeRoot
     &TargetPrincipal=111122223333
     &PolicyArns.arn=arn:aws:iam::aws:policy/root-task/S3UnlockBucketPolicy 
     &DurationSeconds 900
   ```

1. Verwenden Sie `AccessKeyId`, `SessionToken` und `SecretAccessKey` aus der Antwort, um privilegierte Aktionen im Mitgliedskonto auszuführen. Sie können den Benutzernamen und das Passwort in der Anfrage weglassen, um standardmäßig das Mitgliedskonto zu verwenden.
   + **Überprüfen Sie den Status der Root-Benutzer-Anmeldeinformationen.**. Verwenden Sie die folgenden Befehle, um den Status der Root-Benutzer-Anmeldeinformationen für ein Mitgliedskonto zu überprüfen.
     + [GetUser](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html)
     + [GetLoginProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetLoginProfile.html)
     + [ListAccessKeys](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html)
     + [ListSigningCertificates](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListSigningCertificates.html)
     + [ListeMFADevices](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListMFADevices.html)
     + [GetAccessKeyLastUsed](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccessKeyLastUsed.html)
   + **Löschen Sie die Anmeldeinformationen des Root-Benutzers**. Verwenden Sie die folgenden Befehle, um den Root-Zugriff zu löschen. Sie können das Root-Benutzerpasswort, Zugriffsschlüssel und Signaturzertifikate entfernen und die Multi-Faktor-Authentifizierung (MFA) deaktivieren, um jeglichen Zugriff auf und die Wiederherstellung des Root-Benutzers zu entfernen.
     + [DeleteLoginProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteLoginProfile.html)
     + [DeleteAccessKey](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccessKey.html)
     + [DeleteSigningCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteSigningCertificate.html)
     + [DeactivateMfaDevice](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html)
   + **Löschen Sie die Amazon-S3-Bucket-Richtlinie**. Verwenden Sie die folgenden Befehle, um eine falsch konfigurierte Bucket-Richtlinie zu lesen, zu bearbeiten und zu löschen, die allen Prinzipalen den Zugriff auf den Amazon-S3-Bucket verweigert.
     + [ListBuckets](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)
     + [GetBucketPolicy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html)
     + [PutBucketPolicy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html)
     + [DeleteBucketPolicy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html)
   + **Löschen Sie die Amazon-SQS-Richtlinie**. Verwenden Sie die folgenden Befehle, um eine ressourcenbasierte Richtlinie für Amazon Simple Queue Service anzuzeigen und zu löschen, die allen Prinzipalen den Zugriff auf eine Amazon-SQS-Warteschlange verweigert.
     + [ListQueues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html)
     + [GetQueueUrl](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueUrl.html)
     + [GetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueAttributes.html)
     + [SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)
   + **Lassen Sie die Passwortwiederherstellung zu**. Verwenden Sie die folgenden Befehle, um den Benutzernamen anzuzeigen und die Root-Benutzer-Anmeldeinformationen für ein Mitgliedskonto wiederherzustellen.
     + [GetLoginProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetLoginProfile.html)
     + [CreateLoginProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateLoginProfile.html)

# Multi-Faktor-Authentifizierung für Root-Benutzer des AWS-Kontos
<a name="enable-mfa-for-root"></a>

**Wichtig**  
AWS empfiehlt, dass Sie, wo immer möglich, einen Hauptschlüssel oder Sicherheitsschlüssel für MFA verwenden AWS, da diese resistenter gegen Angriffe wie Phishing sind. Weitere Informationen finden Sie unter [Passkeys und Sicherheitsschlüssel](#passkeys-security-keys-for-root).

Die Multi-Faktor-Authentifizierung (MFA) ist ein einfacher und effektiver Mechanismus zur Verbesserung Ihrer Sicherheit. Der erste Faktor – Ihr Passwort – ist ein Geheimnis, das Sie sich merken, auch Wissensfaktor genannt. Andere Faktoren können Besitzfaktoren (etwas, das Sie besitzen, wie etwa ein Sicherheitsschlüssel) oder Inhärenzfaktoren (etwas, das Sie sind, wie etwa ein biometrischer Scan) sein. Um die Sicherheit zu erhöhen, empfehlen wir dringend, die Multi-Faktor-Authentifizierung (MFA) zu konfigurieren, um Ihre AWS Ressourcen zu schützen.

**Anmerkung**  
Für alle AWS-Konto Typen (eigenständige Konten, Verwaltungs- und Mitgliedskonten) muss MFA für ihren Root-Benutzer konfiguriert sein. Benutzer müssen MFA innerhalb von 35 Tagen nach ihrem ersten Anmeldeversuch registrieren, um auf die zuzugreifen, AWS-Managementkonsole sofern MFA nicht bereits aktiviert ist.

Sie können MFA für die Root-Benutzer des AWS-Kontos und IAM-Benutzer aktivieren. Wenn Sie MFA für den Root-Benutzer aktivieren, wirkt sich dies nur auf die Anmeldeinformationen des Root-Benutzers aus. Weitere Informationen zum Aktivieren von MFA für Ihre IAM-Benutzer finden Sie unter [AWS Multi-Faktor-Authentifizierung in IAM](id_credentials_mfa.md).

**Anmerkung**  
AWS-Konten Managed Using bietet AWS Organizations möglicherweise die Option, den [Root-Zugriff für Mitgliedskonten zentral zu verwalten](id_root-user.md#id_root-user-access-management), um die Wiederherstellung von Anmeldeinformationen und den Zugriff in großem Umfang zu verhindern. Wenn diese Option aktiviert ist, können Sie die Anmeldeinformationen des Root-Benutzers aus den Mitgliedskonten löschen, einschließlich Passwörtern und MFA, wodurch die Anmeldung als Root-Benutzer, die Passwortwiederherstellung oder die Einrichtung von MFA effektiv verhindert wird. Wenn Sie lieber passwortbasierte Anmeldemethoden beibehalten möchten, können Sie Ihr Konto zusätzlich sichern, indem Sie MFA registrieren, um den Schutz Ihres Kontos zu verbessern.

Bevor Sie MFA für Ihren Root-Benutzer aktivieren, überprüfen und [aktualisieren Sie Ihre Kontoeinstellungen und Kontaktinformationen](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-root-user.html), um sicherzustellen, dass Sie Zugriff auf die E-Mail-Adresse und Telefonnummer haben. Wenn Ihr MFA-Gerät verloren geht, gestohlen wird oder nicht funktioniert, können Sie sich immer noch als Stammbenutzer anmelden, indem Sie Ihre Identität mit dieser E-Mail und Telefonnummer verifizieren. Weitere Informationen zum Anmelden mit alternativen Authentifizierungsmethoden finden Sie unter [Wiederherstellung einer MFA-geschützten Identität in IAM](id_credentials_mfa_lost-or-broken.md). Wenn Sie dieses Feature deaktivieren möchten, wenden Sie sich an [AWS Support](https://console.aws.amazon.com/support/home#/). 

AWS unterstützt die folgenden MFA-Typen für Ihren Root-Benutzer:
+ [Passkeys und Sicherheitsschlüssel](#passkeys-security-keys-for-root)
+ [Anwendungen für virtuelle Authentifikatoren](#virtual-auth-apps-for-root)
+ [Hardware-TOTP-Token](#hardware-totp-token-for-root)

## Passkeys und Sicherheitsschlüssel
<a name="passkeys-security-keys-for-root"></a>

AWS Identity and Access Management unterstützt Hauptschlüssel und Sicherheitsschlüssel für MFA. Basierend auf den FIDO-Standards verwenden Hauptschlüssel Kryptografie mit öffentlichen Schlüsseln, um eine starke, gegen Phishing resistente Authentifizierung zu gewährleisten, die sicherer ist als Passwörter. AWS unterstützt zwei Arten von Hauptschlüsseln: gerätegebundene Hauptschlüssel (Sicherheitsschlüssel) und synchronisierte Hauptschlüssel.
+ **Sicherheitsschlüssel**: Dabei handelt es sich um physische Geräte, wie z. B. a YubiKey, die als zweiter Faktor für die Authentifizierung verwendet werden. Ein einzelner Sicherheitsschlüssel kann mehrere Root-Benutzerkonten und IAM-Benutzer unterstützen. 
+ **Synchronisierte Passkeys**: Diese nutzen Anmeldeinformationen von Anbietern wie Google, Apple, Microsoft-Konten und Drittanbieter-Services wie 1Password, Dashlane und Bitwarden als zweiten Faktor.

Du kannst integrierte biometrische Authentifikatoren wie Touch ID auf Apple MacBooks verwenden, um deinen Anmeldeinformationsmanager zu entsperren und dich dort anzumelden. AWS Passkeys werden bei Ihrem ausgewählten Anbieter anhand Ihres Fingerabdrucks, Gesichts oder der Geräte-PIN erstellt. Sie können auch einen Passkey für die geräteübergreifende Authentifizierung (CDA) auf einem Gerät, z. B. einem Mobilgerät oder einem Hardware-Sicherheitsschlüssel, verwenden, um sich auf einem anderen Gerät, z. B. einem Laptop, anzumelden. Weitere Informationen finden Sie unter [Geräteübergreifende Authentifizierung](https://passkeys.dev/docs/reference/terms/#cross-device-authentication-cda) (CDA).

Du kannst Passkeys auf all deinen Geräten synchronisieren, um die Anmeldung zu erleichtern und so die Benutzerfreundlichkeit und Wiederherstellbarkeit zu verbessern. AWS Weitere Informationen zum Aktivieren von Passkeys und Sicherheitsschlüsseln finden Sie unter [Aktivieren eines Passkey oder Sicherheitsschlüssels für den Root-Benutzer (Konsole)](enable-fido-mfa-for-root.md).

Die FIDO Alliance führt eine Liste aller [FIDO-zertifizierten Produkte](https://fidoalliance.org/certification/fido-certified-products/), die mit den FIDO-Spezifikationen kompatibel sind.

## Anwendungen für virtuelle Authentifikatoren
<a name="virtual-auth-apps-for-root"></a>

Eine Anwendung zur virtuellen Authentifizierung wird auf einem Telefon oder einem anderen Gerät ausgeführt und emuliert ein physisches Gerät. Virtuelle Authentifizierungs-Apps implementieren den Algorithmus für ein [zeitgesteuertes Einmalpasswort (TOTP)](https://datatracker.ietf.org/doc/html/rfc6238) und unterstützen mehrere Token auf einem einzigen Gerät. Der Benutzer muss bei der Anmeldung einen gültigen Code vom Gerät eingeben, wenn er dazu aufgefordert wird. Jeder Token, der einem Benutzer zugeordnet wird, muss eindeutig sein. Ein Benutzer kann zur Authentifizierung keinen Code vom Token eines anderen Benutzers eingeben.

Wir empfehlen die Verwendung eines virtuellen MFA-Geräts beim Warten auf die Genehmigung für den Hardware-Kauf oder während Sie warten, bis Ihre Hardware eintrifft. Eine Liste einiger unterstützter Anwendungen, die Sie als virtuelle MFA-Geräte verwenden können, finden Sie unter [Multi-Faktor-Authentifizierung (MFA)](https://aws.amazon.com/iam/features/mfa/?audit=2019q1). Anweisungen zum Einrichten eines virtuellen MFA-Geräts mit finden Sie AWS unter[Virtuelles MFA-Geräts für Ihren Root-Benutzer aktivieren (Konsole)](enable-virt-mfa-for-root.md).

## Hardware-TOTP-Token
<a name="hardware-totp-token-for-root"></a>

Ein Hardwaregerät generiert einen sechsstelligen numerischen Code basierend auf dem [zeitgesteuerten Einmalpasswort (TOTP)-Algorithmus](https://datatracker.ietf.org/doc/html/rfc6238). Der Benutzer muss während der Anmeldung auf einer zweiten Webseite einen gültigen Code von dem Gerät eingeben. Jedes MFA-Gerät, das einem Benutzer zugeordnet ist, muss eindeutig sein. Ein Benutzer kann keinen Code von einem MFA-Gerät eines anderen Benutzers eingeben, um sich zu authentifizieren. Weitere Informationen zu unterstützten Hardware-MFA-Geräten finden Sie unter [Multi-Faktor-Authentifizierung (MFA)](https://aws.amazon.com/iam/features/mfa/?audit=2019q1). Anweisungen zum Einrichten eines Hardware-TOTP-Tokens mit AWS finden Sie unter [Aktivieren eines physischen TOTP-Tokens für den Root-Benutzer eines s (Konsole)](enable-hw-mfa-for-root.md).

Wenn Sie ein physisches MFA-Gerät verwenden möchten, empfehlen wir Ihnen, FIDO-Sicherheitsschlüssel als Alternative zu Hardware-TOTP-Geräten zu verwenden. FIDO-Sicherheitsschlüssel bieten die Vorteile, dass sie keine Batterie benötigen, Phishing-resistent sind und zur Verbesserung der Sicherheit mehrere Root- und IAM-Benutzer auf einem einzigen Gerät unterstützen.

**Topics**
+ [

## Passkeys und Sicherheitsschlüssel
](#passkeys-security-keys-for-root)
+ [

## Anwendungen für virtuelle Authentifikatoren
](#virtual-auth-apps-for-root)
+ [

## Hardware-TOTP-Token
](#hardware-totp-token-for-root)
+ [

# Aktivieren eines Passkey oder Sicherheitsschlüssels für den Root-Benutzer (Konsole)
](enable-fido-mfa-for-root.md)
+ [

# Virtuelles MFA-Geräts für Ihren Root-Benutzer aktivieren (Konsole)
](enable-virt-mfa-for-root.md)
+ [

# Aktivieren eines physischen TOTP-Tokens für den Root-Benutzer eines s (Konsole)
](enable-hw-mfa-for-root.md)

# Aktivieren eines Passkey oder Sicherheitsschlüssels für den Root-Benutzer (Konsole)
<a name="enable-fido-mfa-for-root"></a>

Sie können einen Hauptschlüssel für Ihren Root-Benutzer AWS-Managementkonsole nur über die AWS API konfigurieren und aktivieren, nicht über die AWS CLI oder. <a name="enable_fido_root"></a>

**So aktivieren Sie einen Passkey oder Sicherheitsschlüssel für Ihren Root-Benutzer (Konsole)**

1. Öffnen Sie die [AWS -Managementkonsole](https://console.aws.amazon.com/) und melden Sie sich mit Ihren Anmeldeinformationen als Root-Benutzer an.

   Anweisungen finden Sie [im *Benutzerhandbuch* unter AWS-Managementkonsole Als Root-Benutzer anmelden](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-root-user-sign-in-tutorial.html).AWS-Anmeldung 

1. Wählen Sie rechts in der Navigationsleiste Ihren Kontonamen und wählen Sie dann **Security Credentials (Sicherheitsanmeldeinformationen)**.  
![\[Sicherheitsanmeldeinformationen im Navigationsmenü\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/security-credentials-root.shared.console.png)

1. Wählen Sie auf der Seite **Meine Sicherheitsanmeldeinformationen** Ihres Root-Benutzers unter **Multi-Faktor-Authentifizierung (MFA)** die Option **MFA-Gerät zuweisen** aus.

1. Geben Sie auf der Seite **MFA-Gerätename** einen **Gerätenamen** ein, wählen Sie **Passkey oder Sicherheitsschlüssel** und klicken Sie dann auf **Weiter**.

1. Richten Sie unter **Gerät einrichten** Ihren Passkey ein. Erstellen Sie einen Passkey mit biometrischen Daten wie Ihrem Gesicht oder Fingerabdruck, mit einer Geräte-PIN oder indem Sie den FIDO-Sicherheitsschlüssel an den USB-Anschluss Ihres Computers anschließen und ihn antippen.

1. Befolgen Sie die Anweisungen in Ihrem Browser, um einen Passkey-Anbieter auszuwählen oder den Ort anzugeben, an dem Sie Ihren Passkey für die Verwendung auf allen Ihren Geräten speichern möchten. 

1. Klicken Sie auf **Weiter**.

Sie haben jetzt Ihren Hauptschlüssel für die Verwendung mit AWS registriert. Wenn Sie sich das nächste Mal mit Ihren Root-Benutzer-Anmeldeinformationen anmelden, müssen Sie sich mit Ihrem Passkey authentifizieren, um den Anmeldevorgang abzuschließen.

Hilfe zur Fehlerbehebung von Problemen mit Ihrem FIDO-Sicherheitsschlüssel finden Sie unter [Fehlerbehebung bei Passkeys und FIDO-Sicherheitsschlüsseln](troubleshoot_mfa-fido.md).

# Virtuelles MFA-Geräts für Ihren Root-Benutzer aktivieren (Konsole)
<a name="enable-virt-mfa-for-root"></a>

Sie können das verwenden AWS-Managementkonsole , um ein virtuelles MFA-Gerät für Ihren Root-Benutzer zu konfigurieren und zu aktivieren. Um MFA-Geräte für zu aktivieren AWS-Konto, müssen Sie AWS mit Ihren Root-Benutzeranmeldedaten angemeldet sein. 

**So konfigurieren und aktivieren Sie ein virtuelles MFA-Gerät zur Verwendung mit dem (Konsole)**

1. Öffnen Sie die [AWS -Managementkonsole](https://console.aws.amazon.com/) und melden Sie sich mit Ihren Anmeldeinformationen als Root-Benutzer an.

   Anweisungen finden Sie [im *Benutzerhandbuch unter Melden Sie sich AWS-Managementkonsole als AWS-Anmeldung Root-Benutzer*](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-root-user-sign-in-tutorial.html) an.

1. Klicken Sie rechts auf der Navigationsleiste auf Ihren Kontonamen und wählen Sie **Security Credentials (Sicherheits-Anmeldeinformationen)** aus.  
![\[Sicherheitsanmeldeinformationen im Navigationsmenü\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/security-credentials-root.shared.console.png)

1. Wählen Sie im Abschnitt **Multi-Factor Authentication (MFA) (Multi-Faktor-Authentifizierung (MFA))** die Option **Assign MFA device (MFA-Gerät zuweisen)**.

1. Geben Sie im Assistenten einen **Device name (Gerätenamen)** ein, wählen Sie **Authenticator app (Authenticator-App)** und dann **Next (Weiter)**.

   IAM generiert Konfigurationsinformationen für das virtuelle MFA-Gerät und zeigt diese einschließlich eines QR-Codes an. Dieser Code ist eine grafische Darstellung des geheimen Konfigurationsschlüssels, der für die manuelle Eingabe auf Geräte zur Verfügung steht, die keine QR-Codes unterstützen.

1. Öffnen Sie die virtuelle MFA-App auf dem Gerät. 

   Wenn die virtuelle MFA-App mehrere virtuelle MFA-Geräte oder -Konten unterstützt, wählen Sie die Option zum Erstellen eines neuen virtuellen MFA-Geräts oder -Kontos.

1. Die einfachste Methode zum Konfigurieren der App ist die Verwendung der App zum Scannen des QR-Codes. Wenn es nicht möglich ist, den Code zu scannen, können Sie die Konfiguration manuell eingeben. Der von IAM generierte QR-Code und der geheime Konfigurationsschlüssel sind an Ihr Konto gebunden AWS-Konto und können nicht mit einem anderen Konto verwendet werden. Sie können jedoch zum Konfigurieren eines neuen MFA-Geräts für Ihr Konto wiederverwendet werden, falls Sie den Zugriff auf das ursprüngliche MFA-Gerät verlieren.
   + Um den QR-Code zur Konfiguration des virtuellen MFA-Geräts zu verwenden, wählen Sie im Assistenten **Show QR code (QR-Code anzeigen)**. Folgen Sie dann den Anweisungen der App zum Scannen des Codes. Sie müssen beispielsweise das Kamerasymbol oder einen Tippbefehl wie z. B. **Scan account barcode (Barcode des Kontos scannen)** auswählen und dann mit der Kamera des Geräts den QR-Code scannen.
   + Wählen Sie im Assistenten **zum Einrichten des Geräts** die Option **Show secret key (Geheimen Schlüssel anzeigen)** aus und geben Sie dann den geheimen Schlüssel in Ihre MFA-App ein.
**Wichtig**  
Erstellen Sie eine sichere Kopie des QR-Codes oder geheimen Zugriffsschlüssels oder stellen Sie sicher, dass Sie mehrere MFA-Geräte für Ihr Konto aktivieren. Sie können bis zu **acht** MFA-Geräte mit einer beliebigen Kombination der [derzeit unterstützten MFA-Typen](https://aws.amazon.com/iam/features/mfa/) bei Ihren Root-Benutzer des AWS-Kontos und IAM-Benutzern registrieren. Ein virtuelles MFA-Gerät ist möglicherweise nicht mehr verfügbar, wenn Sie beispielsweise das Smartphone verlieren, auf dem das virtuelle MFA-Gerät gehostet wird. Wenn dies geschieht und Sie sich ohne zusätzliche MFA-Geräte, die an den Benutzer angeschlossen sind, oder sogar über [Wiederherstellen eines Stammbenutzer-MFA-Geräts](id_credentials_mfa_lost-or-broken.md#root-mfa-lost-or-broken) nicht bei Ihrem Konto anmelden können, können Sie sich nicht bei Ihrem Konto anmelden und müssen den [Kundendienst kontaktieren](https://support.aws.amazon.com/#/contacts/aws-mfa-support), um den MFA-Schutz für das Konto zu entfernen. 

   Das Gerät beginnt, sechsstellige Zahlen zu generieren.

1. Geben Sie im Assistenten im Feld **MFA Code 1** das aktuell am virtuellen MFA-Gerät angezeigte Einmalpasswort ein. Warten Sie bis zu 30 Sekunden, bis das Gerät ein neues einmaliges Passwort generiert. Geben Sie dann das zweite Einmalpasswort in das Feld **MFA Code 2** ein. Wählen Sie **Add MFA (MFA hinzufügen)**. 
**Wichtig**  
Senden Sie die Anforderung direkt nach der Erzeugung der Codes. Wenn Sie die Codes generieren und zu lange mit der Anforderung warten, wird das MFA-Gerät erfolgreich mit dem Benutzer verknüpft, aber das Gerät ist nicht synchronisiert. Dies liegt daran, weil die zeitgesteuerten Einmalpasswörter (TOTP) nach einer kurzen Zeit ungültig werden. In diesem Fall können Sie das [Gerät neu synchronisieren](id_credentials_mfa_sync.md).

Das Gerät ist einsatzbereit für. AWS Weitere Informationen zur Verwendung von MFA mit der AWS-Managementkonsole finden Sie unter [Anmeldung mit MFA](console_sign-in-mfa.md).

# Aktivieren eines physischen TOTP-Tokens für den Root-Benutzer eines s (Konsole)
<a name="enable-hw-mfa-for-root"></a>

Sie können ein physisches MFA-Gerät für Ihren Root-Benutzer AWS-Managementkonsole nur über die AWS API konfigurieren und aktivieren, nicht über die AWS CLI oder.

**Anmerkung**  
Möglicherweise wird Ihnen unterschiedlicher Text angezeigt, z. B. **Sign in using MFA (Melden Sie sich mit MFA an)** und **Troubleshoot your authentication device (Fehlerbehebung bei Ihrem Authentifizierungsgerät)**. Es stehen jedoch die gleichen Features zur Verfügung. Wenn Sie die E-Mail-Adresse und Telefonnummer Ihres Kontos in beiden Fällen nicht mithilfe alternativer Authentifizierungsfaktoren verifizieren können, wenden Sie sich an [AWS Support](https://aws.amazon.com/forms/aws-mfa-support), um Ihre MFA-Einstellung löschen zu lassen.<a name="enable_physical_root"></a>

**So aktivieren Sie ein Hardware-TOTP-Token für Ihren Root-Benutzer (Konsole)**

1. Öffnen Sie die [AWS -Managementkonsole](https://console.aws.amazon.com/) und melden Sie sich mit Ihren Anmeldeinformationen als Root-Benutzer an.

   Anweisungen finden Sie [im *Benutzerhandbuch unter Melden Sie sich AWS-Managementkonsole als AWS-Anmeldung Root-Benutzer*](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-root-user-sign-in-tutorial.html) an.

1. Wählen Sie rechts in der Navigationsleiste Ihren Kontonamen und wählen Sie dann **Security Credentials (Sicherheitsanmeldeinformationen)**.  
![\[Sicherheitsanmeldeinformationen im Navigationsmenü\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/security-credentials-root.shared.console.png)

1. Erweitern Sie den Bereich **Multi-Factor Authentication (MFA)**.

1. Wählen Sie **Assign MFA device (MFA-Gerät zuweisen)**.

1. Geben Sie im Assistenten einen **Device name (Gerätenamen)** ein, wählen Sie **Hardware TOTP token (Physisches TOTP-Token)** und dann **Next (Weiter)**.

1. Geben Sie im Feld **Serial number (Seriennummer)** die auf der Rückseite des MFA-Geräts aufgeführte Seriennummer ein.

1. Geben Sie im Feld **MFA code 1 (MFA-Code 1)** die am MFA-Gerät angezeigte sechsstellige Nummer ein. Sie müssen eventuell die Taste auf der Vorderseite des Geräts drücken, um die Zahl anzuzeigen.  
![\[IAM-Dashboard, MFA-Gerät\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/MFADevice.png)

1. Warten Sie 30 Sekunden, während das Gerät den Code aktualisiert, und geben Sie dann die nächste sechsstellige Nummer in das Feld **MFA code 2 (MFA-Code 2)** ein. Sie müssen eventuell die Taste auf der Vorderseite des Geräts drücken, um die zweite Zahl anzuzeigen.

1. Wählen Sie **Add MFA (MFA hinzufügen)**. Das MFA-Gerät ist jetzt mit dem AWS-Konto verknüpft.
**Wichtig**  
Senden Sie die Anforderung direkt nach der Erzeugung der Authentifizierungscodes. Wenn Sie die Codes erzeugen und zu lange mit der Anforderung warten, wird das MFA-Gerät erfolgreich mit dem Benutzer verknüpft, aber das Gerät ist nicht synchronisiert. Dies liegt daran, weil die zeitgesteuerten Einmalpasswörter (TOTP) nach einer kurzen Zeit ungültig werden. In diesem Fall können Sie das [Gerät neu synchronisieren](id_credentials_mfa_sync.md).

   Wenn Sie sich das nächste Mal mit Ihren Stammbenutzer-Anmeldeinformationen anmelden, müssen Sie einen am MFA-Gerät angezeigten Code eingeben.

# Ändern Sie das Passwort für Root-Benutzer des AWS-Kontos
<a name="root-user-password"></a>

Sie können die E-Mail-Adresse und das Passwort auf der Seite [Sicherheitsanmeldeinformationen](https://console.aws.amazon.com/iam/home?#security_credential) oder auf der Seite **Konto** ändern. Sie können auch **Passwort vergessen?** wählen auf der AWS Anmeldeseite, um Ihr Passwort zurückzusetzen.

Um das Passwort des Root-Benutzers zu ändern, müssen Sie sich als Root-Benutzer des AWS-Kontos und nicht als IAM-Benutzer anmelden. Wie Sie ein *vergessenes* Stammbenutzerpasswort zurücksetzen können, erfahren Sie unter [Verlorenes oder vergessenes Root-Benutzer-Passwort zurücksetzen](reset-root-password.md). 

Um Ihr Passwort so gut wie möglich zu schützen, folgen Sie diesen bewährten Methoden:
+ Ändern Sie Ihr Passwort regelmäßig. 
+ Halten Sie Ihr Passwort geheim, da jeder, der Ihr Passwort kennt, auf Ihr Konto zugreifen kann.
+ Verwenden Sie für ein anderes Passwort AWS als für andere Websites. 
+ Vermeiden Sie Passwörter, die einfach zu erraten sind. Dazu gehören Passwörter wie `secret``password`, `amazon` oder `123456`. Vermeiden Sie außerdem Dinge wie Wörter aus dem Wörterbuch, Ihren Namen, Ihre E-Mail-Adresse oder andere persönliche Informationen, die jemand leicht erhalten kann.

**Wichtig**  
AWS-Konten Bei verwalteter Nutzung ist AWS Organizations möglicherweise der [zentrale Root-Zugriff](id_root-user.md#id_root-user-access-management) für Mitgliedskonten aktiviert. Diese Mitgliedskonten verfügen nicht über die Anmeldeinformationen als Root-Benutzer, können sich nicht als Root-Benutzer anmelden und können das Root-Benutzer-Passwort nicht wiederherstellen. Wenden Sie sich an Ihren Administrator, wenn Sie eine Aufgabe ausführen müssen, für die Anmeldeinformationen eines Root-Benutzers erforderlich sind.

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

**So ändern Sie das Passwort für den Stammbenutzer**
**Mindestberechtigungen**  
Für die folgenden Schritte sind mindestens folgende IAM-Berechtigungen erforderlich:  
Sie müssen sich als AWS-Konto Root-Benutzer anmelden, wofür keine zusätzlichen AWS Identity and Access Management (IAM-) Berechtigungen erforderlich sind. Sie können diese Schritte nicht als IAM-Benutzer oder -Rolle ausführen.

1. Öffnen Sie die [AWS -Managementkonsole](https://console.aws.amazon.com/) und melden Sie sich mit Ihren Anmeldeinformationen als Root-Benutzer an.

   Anweisungen finden Sie [im *Benutzerhandbuch* unter AWS-Managementkonsole Als Root-Benutzer anmelden](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-root-user-sign-in-tutorial.html).AWS-Anmeldung 

1. Wählen Sie oben rechts in der Konsole Ihren Kontonamen oder Ihre Kontonummer und dann **Sicherheitsanmeldeinformationen** aus.

1. Wählen Sie auf der Seite **Konto**, neben den **Kontoeinstellungen**, **Bearbeiten** aus. Aus Sicherheitsgründen werden Sie aufgefordert, sich erneut zu authentifizieren.
**Anmerkung**  
Wenn die Option **Bearbeiten** nicht angezeigt wird, sind Sie wahrscheinlich nicht als Root-Benutzer für Ihr Konto angemeldet. Sie können die Kontoeinstellungen nicht ändern, wenn Sie als IAM-Benutzer oder als IAM-Rolle angemeldet sind.

1. Wählen Sie auf der Seite **Kontoeinstellungen aktualisieren** unter **Passwort** die Option **Bearbeiten** aus.

1. Füllen Sie auf der Seite **Passwort aktualisieren** die Felder für **Aktuelles Passwort**, **Neues Passwort** und **Neues Passwort bestätigen** aus.
**Wichtig**  
Achten Sie darauf, ein sicheres Passwort zu wählen. Obwohl Sie eine Kontokennwortrichtlinie für IAM-Benutzer festlegen können, gilt diese Richtlinie nicht für den Root-Benutzer.

   AWS setzt voraus, dass Ihr Passwort die folgenden Bedingungen erfüllt:
   + Es muss mindestens 8 Zeichen und maximal 128 Zeichen lang sein.
   + Es muss mindestens drei der folgenden Zeichentypen enthalten: Großbuchstaben, Kleinbuchstaben, Zahlen und \$1 @ \$1 \$1 % ^ & \$1 () <> [] \$1\$1 \$1 \$1\$1-= Symbole.
   + Es darf nicht mit Ihrem AWS-Konto Namen oder Ihrer E-Mail-Adresse identisch sein.

1. Wählen Sie **Änderungen speichern ** aus.

------
#### [ AWS CLI or AWS SDK ]

Diese Aufgabe wird in der AWS CLI oder von einer API-Operation von einer der nicht unterstützt AWS SDKs. Sie können diese Aufgabe nur mit dem ausführen AWS-Managementkonsole.

------

# Verlorenes oder vergessenes Root-Benutzer-Passwort zurücksetzen
<a name="reset-root-password"></a>

Als Sie Ihre zum ersten Mal erstellt haben AWS-Konto, haben Sie eine E-Mail-Adresse und ein Passwort angegeben. Dies sind Ihre Root-Benutzer des AWS-Kontos Anmeldeinformationen. Wenn Sie Ihr Stammbenutzer-Passwort vergessen, können Sie dieses über die AWS-Managementkonsole zurücksetzen.

AWS-Konten Bei Managed Using ist AWS Organizations möglicherweise der [zentrale Root-Zugriff](id_root-user.md#id_root-user-access-management) für Mitgliedskonten aktiviert. Diese Mitgliedskonten verfügen nicht über die Anmeldeinformationen als Root-Benutzer, können sich nicht als Root-Benutzer anmelden und können das Root-Benutzer-Passwort nicht wiederherstellen. Wenden Sie sich an Ihren Administrator, wenn Sie eine Aufgabe ausführen müssen, für die Anmeldeinformationen eines Root-Benutzers erforderlich sind.

**Wichtig**  
**Haben Sie Probleme bei der Anmeldung AWS?** Stellen Sie sicher, dass Sie sich auf der richtigen [AWS -Anmeldeseite](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html) für Ihren Benutzertyp befinden. Wenn Sie der Root-Benutzer des AWS-Kontos (Kontoinhaber) sind, können Sie sich AWS mit den Anmeldeinformationen anmelden, die Sie bei der Erstellung des eingerichtet haben AWS-Konto. Wenn Sie ein IAM-Benutzer sind, kann Ihr Kontoadministrator Ihnen die Anmeldeinformationen bereitstellen, mit denen Sie sich bei AWS anmelden können. Wenn Sie Support anfordern müssen, verwenden Sie nicht den Feedback-Link auf dieser Seite, da das Formular beim AWS Dokumentationsteam eingegangen ist, nicht Support. Wählen Sie stattdessen auf der Seite „[Kontaktieren Sie uns](https://aws.amazon.com/contact-us/)“ die Option **Immer noch nicht in Ihr AWS Konto einloggen** und wählen Sie dann eine der verfügbaren Support-Optionen aus.

**So setzen Sie ihr Root-Passwort zurück**

1. Öffnen Sie die [AWS -Managementkonsole](https://console.aws.amazon.com/) und melden Sie sich mit Ihren Anmeldeinformationen als Root-Benutzer an.

   Anweisungen finden Sie [im *Benutzerhandbuch unter AWS-Managementkonsole Als AWS-Anmeldung Root-Benutzer* anmelden](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-root-user-sign-in-tutorial.html).
**Anmerkung**  
 Wenn Sie bei der [AWS-Managementkonsole](https://console.aws.amazon.com/) mit Ihren *IAM-Benutzer*-Anmeldedaten angemeldet sind, müssen Sie sich abmelden, bevor Sie das Stammbenutzer-Passwort zurücksetzen können. Wenn Sie sich auf der Anmeldeseite von IAM befinden, wählen Sie neben der Schaltfläche unten auf der Seite **Mit Anmeldeinformationen des Stammkontos anmelden**. Geben Sie ggf. Ihre Konto-E-Mail-Adresse an und wählen Sie **Next (Weiter)**, um auf die Seite **Root user sign in (Stammbenutzeranmeldung)** zuzugreifen.

1. Wählen Sie **Forgot your password? (Passwort vergessen?)**.
**Anmerkung**  
Wenn Sie ein IAM-Benutzer sind, steht diese Option nicht zur Verfügung. Die Option **Passwort vergessen?** steht nur für das Root-Benutzerkonto zur Verfügung. IAM-Benutzer müssen ihren Administrator bitten, ein vergessenes Passwort zurückzusetzen. Weitere Informationen finden Sie unter [Ich habe mein IAM-Benutzerkennwort für mein AWS Konto vergessen](https://docs.aws.amazon.com/signin/latest/userguide/troubleshooting-sign-in-issues.html#troubleshoot-forgot-iam-password). Wenn Sie sich über das AWS Zugangsportal anmelden, finden Sie weitere Informationen unter [Ihr IAM Identity Center-Benutzerkennwort zurücksetzen](https://docs.aws.amazon.com/singlesignon/latest/userguide/resetpassword-accessportal.html).

1. Geben Sie die E-Mail-Adresse an, die dem Konto zugeordnet ist. Anschließend geben Sie den CAPTCHA-Text ein und klicken Sie auf **Continue (Weiter)**.

1. Suchen Sie in der E-Mail, die mit Ihrer verknüpft ist, AWS-Konto nach einer Nachricht von Amazon Web Services. Die E-Mail stammt von einer Adresse, die auf `@verify.signin.aws` endet. Befolgen Sie die Anweisungen in der E-Mail-Nachricht. Wenn Sie die E-Mail nicht in Ihrem Posteingang finden, überprüfen Sie Ihren Spam-Ordner. Wenn Sie keinen Zugriff mehr auf die E-Mail haben, finden Sie im *AWS-Anmeldung Benutzerhandbuch* weitere Informationen unter [Ich habe keinen Zugriff auf die E-Mail-Adresse für mein AWS Konto](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-troubleshooting.html#credentials-not-working-console).

# Erstellen von Zugriffsschlüsseln für den Root-Benutzer
<a name="id_root-user_manage_add-key"></a>

**Warnung**  
Wir empfehlen nachdrücklich, **keine** Zugriffsschlüsselpaare für Ihren Root-Benutzer zu erstellen. Da [nur für wenige Aufgaben der Root-Benutzer erforderlich](id_root-user.md#root-user-tasks) ist und Sie diese Aufgaben normalerweise selten ausführen, empfehlen wir, sich bei dem anzumelden, AWS-Managementkonsole um die Root-Benutzeraufgaben ausführen zu können. Bevor Sie Zugriffsschlüssel erstellen, prüfen Sie die [Alternativen zu Langzeit-Zugriffsschlüsseln](security-creds-programmatic-access.md#security-creds-alternatives-to-long-term-access-keys).

Dies wird zwar nicht empfohlen, Sie können jedoch Zugriffsschlüssel für Ihren Root-Benutzer erstellen, sodass Sie Befehle in AWS Command Line Interface (AWS CLI) ausführen oder API-Operationen von einem der AWS SDKs Root-Benutzeranmeldedaten aus ausführen können. Bei der Erstellung eines Zugriffsschlüssels erstellen Sie die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel als Set. Während der Erstellung des Zugriffsschlüssels haben Sie die AWS Möglichkeit, den Teil des Zugriffsschlüssels mit dem geheimen Zugriffsschlüssel anzusehen und herunterzuladen. Wenn Sie ihn nicht herunterladen oder ihn verlieren, können Sie den Zugriffsschlüssel löschen und einen neuen erstellen. Sie können Root-Benutzerzugriffsschlüssel mit der Konsole oder der AWS API erstellen. AWS CLI

Ein neu erstellter Zugriffsschlüssel hat den Status *aktiv*, das heißt, Sie können den Zugriffsschlüssel für die CLI und API-Aufrufe verwenden. Sie können dem Root-Benutzer bis zu zwei Zugriffsschlüssel zuweisen.

Zugriffsschlüssel, die nicht verwendet werden, sollten deaktiviert werden. Sobald ein Zugriffsschlüssel inaktiv ist, können Sie ihn nicht für API-Aufrufe verwenden. Inaktive Schlüssel werden immer noch auf Ihr Limit angerechnet. Sie können einen Zugriffsschlüssel jederzeit erstellen oder löschen. Wenn Sie jedoch einen Zugriffsschlüssel löschen, wird er endgültig entfernt und kann nicht mehr abgerufen werden.

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

**Um einen Zugriffsschlüssel für das zu erstellen Root-Benutzer des AWS-Kontos**
**Mindestberechtigungen**  
Für die folgenden Schritte sind mindestens folgende IAM-Berechtigungen erforderlich:  
Sie müssen sich als AWS-Konto Root-Benutzer anmelden, wofür keine zusätzlichen AWS Identity and Access Management (IAM-) Berechtigungen erforderlich sind. Sie können diese Schritte nicht als IAM-Benutzer oder -Rolle ausführen.

1. Öffnen Sie die [AWS -Managementkonsole](https://console.aws.amazon.com/) und melden Sie sich mit Ihren Anmeldeinformationen als Root-Benutzer an.

   Anweisungen finden Sie [im *Benutzerhandbuch unter Melden Sie sich AWS-Managementkonsole als AWS-Anmeldung Root-Benutzer*](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-root-user-sign-in-tutorial.html) an.

1. Wählen Sie oben rechts in der Konsole Ihren Kontonamen oder Ihre Kontonummer und dann **Sicherheitsanmeldeinformationen**. 

1. Wählen Sie im Abschnitt **Zugriffsschlüssel** die Option **Zugriffsschlüssel erstellen** aus. Wenn diese Option nicht verfügbar ist, verfügen Sie bereits über die maximale Anzahl an Zugriffsschlüsseln. Sie müssen einen der vorhandenen Zugriffsschlüssel löschen, bevor Sie einen neuen Schlüssel erstellen können. Weitere Informationen finden Sie unter [IAM-Objekt-Kontingente](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entities). 

1. Lesen Sie auf der Seite **Alternativen zu Root-Benutzer-Zugriffsschlüsseln** die Sicherheitsempfehlungen. Um fortzufahren, aktivieren Sie das Kontrollkästchen und wählen Sie dann **Zugriffsschlüssel erstellen** aus. 

1. Auf der Seite **Zugriffsschlüssel abrufen** wird Ihre **Zugriffsschlüssel-ID** angezeigt. 

1. Wählen Sie unter **Geheimer Zugriffsschlüssel** die Option **Anzeigen** aus, kopieren Sie dann die Zugriffsschlüssel-ID und den geheimen Schlüssel aus Ihrem Browserfenster und fügen Sie sie an einem sicheren Ort ein. Alternativ können Sie **CSV-Datei herunterladen** wählen, um eine Datei mit dem Namen `rootkey.csv` herunterzuladen, die die Zugriffsschlüssel-ID und den geheimen Schlüssel enthält. Speichern Sie die Datei an einem sicheren Ort.

1. Wählen Sie **Fertig** aus. Wenn Sie den Zugriffsschlüssel nicht mehr benötigen, [empfehlen wir Ihnen, ihn zu löschen](id_root-user_manage_delete-key.md) oder ihn zumindest zu deaktivieren, damit ihn niemand missbrauchen kann.

------
#### [ AWS CLI & SDKs ]

**So erstellen Sie einen Zugriffsschlüssel für den Root-Benutzer**
**Anmerkung**  
Um den folgenden Befehl oder die folgende API-Operation als Root-Benutzer auszuführen, müssen Sie bereits über ein aktives Zugriffsschlüsselpaar verfügen. Wenn Sie über keine Zugriffsschlüssel verfügen, erstellen Sie den ersten Zugriffsschlüssel mithilfe der AWS-Managementkonsole. Anschließend können Sie die Anmeldeinformationen dieses ersten Zugriffsschlüssels zusammen mit dem verwenden, AWS CLI um den zweiten Zugriffsschlüssel zu erstellen oder einen Zugriffsschlüssel zu löschen.
+ AWS CLI: [Was ich bin create-access-key](https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html)  
**Example**  

  ```
  $ aws iam create-access-key
  {
      "AccessKey": {
          "UserName": "MyUserName",
          "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
          "Status": "Active",
          "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
          "CreateDate": "2021-04-08T19:30:16+00:00"
      }
  }
  ```
+ AWS API: [CreateAccessKey](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html)in der *IAM-API-Referenz*. 

------

# Löschung der Zugriffsschlüssel für den Root-Benutzer
<a name="id_root-user_manage_delete-key"></a>

Sie können die AWS-Managementkonsole, die AWS CLI oder die AWS API verwenden, um die Root-Benutzerzugriffsschlüssel zu löschen.

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

**So löschen Sie einen Zugriffsschlüssel für den Root-Benutzer**
**Mindestberechtigungen**  
Für die folgenden Schritte sind mindestens folgende IAM-Berechtigungen erforderlich:  
Sie müssen sich als AWS-Konto Root-Benutzer anmelden, wofür keine zusätzlichen AWS Identity and Access Management (IAM-) Berechtigungen erforderlich sind. Sie können diese Schritte nicht als IAM-Benutzer oder -Rolle ausführen.

1. Öffnen Sie die [AWS -Managementkonsole](https://console.aws.amazon.com/) und melden Sie sich mit Ihren Anmeldeinformationen als Root-Benutzer an.

   Anweisungen finden Sie [im *Benutzerhandbuch unter Melden Sie sich AWS-Managementkonsole als AWS-Anmeldung Root-Benutzer*](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-root-user-sign-in-tutorial.html) an.

1. Wählen Sie oben rechts in der Konsole Ihren Kontonamen oder Ihre Kontonummer und dann **Sicherheitsanmeldeinformationen**. 

1. Wählen Sie im Abschnitt **Zugriffsschlüssel** den Zugriffsschlüssel aus, den Sie löschen möchten, und wählen Sie dann unter **Aktionen** die Option **Löschen** aus.
**Anmerkung**  
Alternativ können Sie einen Zugriffsschlüssel **deaktivieren**, anstatt ihn dauerhaft zu löschen. Auf diese Weise können Sie ihn in Zukunft wieder verwenden, ohne die Schlüssel-ID oder den geheimen Schlüssel ändern zu müssen. Solange der Schlüssel inaktiv ist, schlagen alle Versuche, ihn in Anfragen an die AWS API zu verwenden, fehl und es wird die Fehlermeldung „Zugriff verweigert“ angezeigt.

1. Wählen Sie im Dialogfeld **<acess key ID> löschen** die Option **Deaktivieren** aus, geben Sie die Zugriffsschlüssel-ID ein, um zu bestätigen, dass Sie sie löschen möchten, und wählen Sie dann **Löschen**. 

------
#### [ AWS CLI & SDKs ]

**So löschen Sie einen Zugriffsschlüssel für den Root-Benutzer**
**Mindestberechtigungen**  
Für die folgenden Schritte sind mindestens folgende IAM-Berechtigungen erforderlich:  
Sie müssen sich als AWS-Konto Root-Benutzer anmelden, wofür keine zusätzlichen AWS Identity and Access Management (IAM-) Berechtigungen erforderlich sind. Sie können diese Schritte nicht als IAM-Benutzer oder -Rolle ausführen.
+ AWS CLI: [war ich delete-access-key](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-access-key.html)  
**Example**  

  ```
  $ aws iam delete-access-key \
      --access-key-id AKIAIOSFODNN7EXAMPLE
  ```

  Dieser Befehl erzeugt keine Ausgabe, wenn er erfolgreich ist.
+ AWS API: [DeleteAccessKey](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccessKey.html) 

------

## Aufgaben, die Stammbenutzer-Anmeldeinformationen erfordern
<a name="root-user-tasks"></a>

Wir empfehlen Ihnen, [einen Administratorbenutzer für die Ausführung täglicher Aufgaben und AWS IAM Identity Center den Zugriff auf AWS Ressourcen zu konfigurieren](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html). Sie können die unten aufgeführten Aufgaben aber nur ausführen, wenn Sie als Stammbenutzer eines Kontos angemeldet sind.

Um die Verwaltung privilegierter Root-Benutzeranmeldeinformationen für alle Mitgliedskonten in zu vereinfachen AWS Organizations, können Sie den zentralen Root-Zugriff aktivieren, um den hochprivilegierten Zugriff auf Ihre Daten zentral zu sichern AWS-Konten. [Root-Zugriff für Mitgliedskonten zentral verwalten](#id_root-user-access-management)ermöglicht es Ihnen, die langfristige Wiederherstellung von Root-Benutzeranmeldeinformationen zentral zu entfernen und zu verhindern und so die Kontosicherheit in Ihrem Unternehmen zu verbessern. Nachdem Sie dieses Feature aktiviert haben, können Sie die folgenden privilegierten Aufgaben für Mitgliedskonten ausführen.
+ Entfernen Sie die Root-Benutzer-Anmeldeinformationen des Mitgliedskontos, um eine Wiederherstellung des Kontos des Root-Benutzers zu verhindern. Sie können auch die Passwortwiederherstellung zulassen, um die Root-Benutzer-Anmeldeinformationen für ein Mitgliedskonto wiederherzustellen.
+ Entfernen Sie eine falsch konfigurierte Richtlinie für einen Bucket, die allen Prinzipalen den Zugriff auf einen Amazon-S3-Bucket verweigert.
+ Löschen Sie eine ressourcenbasierte Richtlinie von Amazon Simple Queue Service, die allen Prinzipalen den Zugriff auf eine Amazon-SQS-Warteschlange verweigert.

**Aufgaben zur Kontoverwaltung**
+ [Ändern Sie Ihre AWS-Konto -Einstellungen.](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-root-user.html) Eigenständige AWS-Konten Geräte, die nicht Teil von sind, AWS Organizations erfordern Root-Anmeldeinformationen, um die E-Mail-Adresse, das Root-Benutzerkennwort und die Root-Benutzerzugriffsschlüssel zu aktualisieren. Für andere Kontoeinstellungen, wie Kontoname, Kontaktinformationen, alternative Kontakte, bevorzugte Zahlungswährung usw., sind keine Root-Benutzeranmeldedaten erforderlich. AWS-Regionen
**Anmerkung**  
AWS Organizations kann mit allen aktivierten Funktionen verwendet werden, um die Einstellungen der Mitgliedskonten zentral über das Verwaltungskonto und delegierte Administratorkonten zu verwalten. Autorisierte IAM-Benutzer oder IAM-Rollen sowohl im Verwaltungskonto als auch im delegierten Administratorkonto können Mitgliedskonten schließen und die Root-E-Mail-Adressen, Kontonamen, Kontaktinformationen, alternative Kontakte und AWS-Regionen Mitgliedskonten aktualisieren. 
+ [Schließe deine. AWS-Konto](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/close-account.html) Für eigenständige AWS-Konten Geräte, die nicht Teil von sind, sind Root-Anmeldeinformationen AWS Organizations erforderlich, um das Konto zu schließen. Mit AWS Organizations können Sie die Mitgliedskonten zentral über das Verwaltungskonto und die delegierten Administratorkonten schließen.
+ [Stellen Sie IAM-Benutzerberechtigungen wieder her.](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) Wenn der einzige IAM-Administrator versehentlich die eigenen Berechtigungen widerruft, können Sie sich als Stammbenutzer anmelden, um Richtlinien zu bearbeiten und diese Berechtigungen wiederherzustellen.

**Aufgaben zur Fakturierung**
+ [Aktivieren Sie IAM-Zugriff auf die Konsole für Fakturierung und Kostenmanagement](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/control-access-billing.html#ControllingAccessWebsite-Activate).
+ Einige Aufgabe im Bereich Fakturierung sind auf den Root-Benutzer beschränkt. Weitere Informationen finden Sie AWS-Konto im AWS Billing Benutzerhandbuch unter [Verwaltung eines](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-account-payment.html).
+ Anzeigen bestimmter Steuerrechnungen. Ein IAM-Benutzer mit der ViewBilling Berechtigung [aws-portal:](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-permissions-ref.html#user-permissions) kann Mehrwertsteuerrechnungen aus AWS Europa einsehen und herunterladen, nicht jedoch Rechnungen von AWS Inc. oder Amazon Internet Services Private Limited (AISPL).

**AWS GovCloud (US) Aufgaben**
+ [Registrieren Sie sich für AWS GovCloud (US).](https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/getting-started-sign-up.html)
+ Fordern Sie die Zugangsschlüssel für den Root-Benutzer für das AWS GovCloud (US) Konto an von AWS Support.

**Amazon-EC2-Aufgabe**
+ Sie haben sich im Reserved Instance Marketplace [als Verkäufer registriert](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html).

**AWS KMS Aufgabe**
+ Falls ein AWS Key Management Service Schlüssel nicht mehr verwaltet werden kann, kann er von einem Administrator wiederhergestellt werden, indem er sich an die primäre Telefonnummer Ihres Root-Benutzers Support wendet, um die Autorisierung einzuholen, indem er das Einmalpasswort des Tickets bestätigt. Support

**Aufgabe von Amazon Mechanical Turk**
+  [Verknüpfen Sie Ihr Konto mit Ihrem AWS-Konto MTurk Anfragerkonto](https://docs.aws.amazon.com/AWSMechTurk/latest/AWSMechanicalTurkGettingStartedGuide/SetUp.html#accountlinking).

**Aufgaben von Amazon Simple Storage Service**
+ [Konfigurieren Sie einen Amazon-S3-Bucket, um MFA (Multi-Faktor-Authentifizierung) zu aktivieren](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html).
+ [Bearbeiten oder löschen Sie eine Amazon-S3-Bucket-Richtlinie, die alle Prinzipale ablehnt.](https://aws.amazon.com/premiumsupport/knowledge-center/change-vpc-endpoint-s3-bucket-policy/).

  Sie können privilegierte Aktionen verwenden, um einen Amazon-S3-Bucket mit einer falsch konfigurierten Bucket-Richtlinie zu entsperren. Details hierzu finden Sie unter [Führen Sie eine privilegierte Aufgabe auf einem AWS Organizations Mitgliedskonto aus](id_root-user-privileged-task.md).

**Aufgabe von Amazon Simple Queue Service**
+ [Bearbeiten oder löschen Sie eine ressourcenbasierte Amazon-SQS-Richtlinie, die alle Prinzipale ablehnt](https://aws.amazon.com/premiumsupport/knowledge-center/sqs-queue-access-issues-deny-policy).

  Sie können privilegierte Aktionen verwenden, um eine Amazon-SQS-Warteschlange mit einer falsch konfigurierten ressourcenbasierten Richtlinie zu entsperren. Details hierzu finden Sie unter [Führen Sie eine privilegierte Aufgabe auf einem AWS Organizations Mitgliedskonto aus](id_root-user-privileged-task.md).

## Weitere Ressourcen
<a name="id_root-user-resources"></a>

Weitere Informationen zum AWS Root-Benutzer finden Sie in den folgenden Ressourcen:
+ Hilfe bei Problemen mit Root-Benutzern finden Sie unter [Behebung von Problemen mit dem Root-Benutzer](troubleshooting_root-user.md).
+ Informationen zur zentralen Verwaltung der E-Mail-Adressen von Root-Benutzern finden Sie unter [Aktualisieren der Root-Benutzer-E-Mail-Adresse für ein Mitgliedskonto](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_update_primary_email.html) im *AWS Organizations Benutzerhandbuch*. AWS Organizations

Die folgenden Artikel enthalten zusätzliche Informationen zum Arbeiten mit dem Root-Benutzer.
+ [Was sind einige bewährte Methoden für den Schutz meiner Ressourcen AWS-Konto und der Ressourcen?](https://repost.aws/knowledge-center/security-best-practices)
+ [Wie kann ich eine EventBridge Ereignisregel erstellen, die mich darüber informiert, dass mein Root-Benutzer verwendet wurde?](https://repost.aws/knowledge-center/root-user-account-eventbridge-rule) 
+ [Überwachen Sie Root-Benutzer des AWS-Kontos Aktivitäten und benachrichtigen Sie sie](https://aws.amazon.com/blogs/mt/monitor-and-notify-on-aws-account-root-user-activity/) 
+ [IAM-Root-Benutzeraktivitäten überwachen](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/monitor-iam-root-user-activity.html) 

# IAM-Benutzer
<a name="id_users"></a>

**Wichtig**  
 [Bewährte Methoden](best-practices.md) für IAM empfehlen, dass menschliche Benutzer den Verbund mit einem Identitätsanbieter verwenden müssen, um mit temporären Anmeldeinformationen zuzugreifen AWS , anstatt IAM-Benutzer mit langfristigen Anmeldeinformationen zu verwenden. Wir empfehlen, IAM-Benutzer nur für [bestimmte Anwendungsfälle](gs-identities-iam-users.md) zu verwenden, die nicht von Verbundbenutzern unterstützt werden.

Ein *IAM-Benutzer* ist eine Entität, die Sie in Ihrem AWS-Konto erstellen. Der IAM-Benutzer stellt den menschlichen Benutzer oder die Workload dar, der den IAM-Benutzer zur Interaktion mit AWS -Ressourcen verwendet. Ein IAM-Benutzer besteht aus einem Namen und Anmeldeinformationen.

Ein IAM-Benutzer mit Administratorberechtigungen ist nicht dasselbe wie der Root-Benutzer des AWS-Kontos. Weitere Informationen zum Stammbenutzer finden Sie unter [Root-Benutzer des AWS-Kontos](id_root-user.md).

## Wie AWS identifiziert man einen IAM-Benutzer
<a name="id_users_create_aws-identifiers"></a>

Bei der Erstellung eines IAM-Benutzers erstellt IAM die folgenden Elemente zum Identifizieren dieses Benutzers:
+ Einen „Anzeigename“ für den IAM-Benutzer. Dies ist der Name, den Sie beim Erstellen des IAM-Benutzers angegeben haben, z. B. `Richard` oder `Anaya`. Diese Namen werden in der AWS-Managementkonsole angezeigt. Da IAM-Benutzernamen in Amazon Resource Names (ARNs) vorkommen, empfehlen wir nicht, personenbezogene Daten in den IAM-Namen aufzunehmen. Die Anforderungen und Einschränkungen für IAM-Namen finden Sie unter [Anforderungen für den IAM-Namen](reference_iam-quotas.md#reference_iam-quotas-names).
+ Ein Amazon-Ressourcenname (ARN) für den IAM-Benutzer. Sie verwenden den ARN, wenn Sie den IAM-Benutzer in allen Bereichen eindeutig identifizieren müssen. AWS Sie können z. B. einen ARN verwenden, um den IAM-Benutzer als `Principal` in einer IAM-Richtlinie für einen Amazon-S3-Bucket festzulegen. Ein ARN für einen IAM-Benutzer könnte folgendes Format aufweisen: 

  `arn:aws:iam::account-ID-without-hyphens:user/Richard`
+ Eine eindeutige ID für den IAM-Benutzer. Diese ID wird nur zurückgegeben, wenn Sie die API oder Tools für Windows PowerShell verwenden oder AWS CLI um den IAM-Benutzer zu erstellen. Sie sehen diese ID nicht in der Konsole.

Weitere Informationen zu diesen IDs finden Sie unter [IAM-IDs](reference_identifiers.md).

## IAM-Benutzer und Anmeldeinformationen
<a name="id_users_creds"></a>

Sie können je nach AWS den IAM-Benutzeranmeldedaten auf unterschiedliche Weise darauf zugreifen:
+ [**Konsolenpasswort**](id_credentials_passwords.md): Ein Passwort, das der IAM-Benutzer eingeben kann, um sich bei interaktiven Sitzungen wie der AWS-Managementkonsole anzumelden. Wenn Sie das Passwort (Konsolenzugriff) für einen IAM-Benutzer deaktivieren, kann er sich nicht AWS-Managementkonsole mit seinen Anmeldeinformationen anmelden. Es ändert weder ihre Berechtigungen noch verhindert, dass sie mit einer angenommenen Rolle auf die Konsole zugreifen. IAM-Benutzer mit aktiviertem Konsolenzugriff können dieselben Anmeldeinformationen auch für die Authentifizierung AWS CLI und den SDK-Zugriff mithilfe des Befehls verwenden. `aws login` AWS CLI Diese Benutzer benötigen Berechtigungen [SignInLocalDevelopmentAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/SignInLocalDevelopmentAccess.html). Weitere Informationen finden Sie [AWS CLI im *AWS Command Line Interface Benutzerhandbuch* unter Authentifizierungs- und Zugangsdaten](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-authentication.html) für. 
+ [**Zugriffsschlüssel**](id_credentials_access-keys.md): Werden verwendet, um programmatische Aufrufe an AWS zu tätigen. Es gibt jedoch sicherere Alternativen, die Sie in Betracht ziehen sollten, bevor Sie Zugriffsschlüssel für IAM-Benutzer erstellen. Weitere Informationen finden Sie unter [Überlegungen und Alternativen für Schlüssel für den langfristigen Zugriff](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#alternatives-to-long-term-access-keys) in der *Allgemeine AWS-Referenz*. Wenn der IAM-Benutzer über aktive Zugriffsschlüssel verfügt, funktionieren diese weiterhin und ermöglichen den Zugriff über die AWS CLI Tools für Windows PowerShell, die AWS API oder die AWS Console Mobile Application.
+ [**SSH-Schlüssel für die Verwendung mit CodeCommit**](id_credentials_ssh-keys.md): Ein öffentlicher SSH-Schlüssel im OpenSSH-Format, der für die Authentifizierung mit CodeCommit verwendet werden kann.
+ [**Serverzertifikate**](id_credentials_server-certs.md): SSL/TLS Zertifikate, mit denen Sie sich bei einigen AWS Diensten authentifizieren können. Wir empfehlen, dass Sie AWS Certificate Manager (ACM) für die Bereitstellung, Verwaltung und Bereitstellung Ihrer Serverzertifikate verwenden. Verwenden Sie IAM nur für die Unterstützung von HTTPS-Verbindungen in einer Region, die nicht von ACM unterstützt wird. Informationen darüber, welche Regionen ACM unterstützen, finden Sie unter [AWS Certificate Manager -Endpunkte und -Kontingente](https://docs.aws.amazon.com/general/latest/gr/acm.html) in der *Allgemeine AWS-Referenz*.

Sie können die richtigen Anmeldeinformationen für Ihren IAM-Benutzer wählen. Wenn Sie die AWS-Managementkonsole verwenden, um einen IAM-Benutzer zu erstellen, müssen Sie mindestens ein Konsolenpasswort oder Zugriffsschlüssel eingeben. Standardmäßig hat ein brandneuer IAM-Benutzer, der mit der AWS CLI oder AWS API erstellt wurde, keinerlei Anmeldeinformationen. Sie müssen die Art der Anmeldeinformationen für einen IAM-Benutzer je nach dem Anwendungsfall erstellen. 

Sie haben die folgenden Optionen zum Verwalten von Passwörtern, Zugriffsschlüsseln und Multi-Faktor-Authentifizierung (MFA)-Geräten:
+ **[Verwalten von Passwörtern für Ihre IAM-Benutzer](id_credentials_passwords.md).** Erstellen und ändern Sie die Passwörter, die Zugriff auf die AWS-Managementkonsole ermöglichen. Legen Sie eine Passwortrichtlinie fest, um eine Mindest-Passwortkomplexität zu erzwingen. Erlauben Sie IAM-Benutzern, ihre eigenen Passwörter zu ändern. 
+ **[Verwalten der Zugriffsschlüssel für Ihre IAM-Benutzer](id_credentials_access-keys.md).** Erstellen und aktualisieren Sie Zugriffsschlüssel für den programmgesteuerten Zugriff auf die Ressourcen in Ihrem Konto. 
+ **[Aktivieren Sie die Multi-Faktor-Authentifizierung (MFA) für den IAM-Benutzer](id_credentials_mfa.md).** Als [bewährte Methode ](best-practices.md)empfehlen wir, dass Sie Multi-Faktor-Authentifizierung (MFA) für alle IAM-Benutzer in Ihrem Konto benötigen. Bei MFA müssen IAM-Benutzer zwei Arten der Identifizierung bereitstellen: Erstens müssen sie die Anmeldeinformationen bereitstellen, die Teil ihrer Benutzeridentität sind (ein Passwort oder einen Zugriffsschlüssel). Darüber hinaus bieten sie einen temporären Zahlencode, der auf einem Hardwaregerät oder durch eine Anwendung auf einem Smartphone oder Tablet generiert wird.
+ **[Suchen von ungenutzten Passwörtern und Zugriffsschlüsseln](id_credentials_finding-unused.md).** Jeder, der ein Passwort oder Zugangsschlüssel für Ihr Konto oder einen IAM-Benutzer in Ihrem Konto hat, hat Zugriff auf Ihre AWS Ressourcen. Die [bewährte Methode](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html) für die Sicherheit besteht darin, Passwörter und Zugriffsschlüssel zu entfernen, wenn IAM-Benutzer sie nicht mehr benötigen.
+ **[Herunterladen eines Berichts zu Anmeldeinformationen für Ihr Konto](id_credentials_getting-report.md).** Sie können einen Bericht zu Anmeldeinformationen erstellen und herunterladen. In diesem Bericht sind alle IAM-Benutzer unter Ihrem Konto mit dem Status ihrer verschiedenen Anmeldeinformationen aufgeführt (z. B. Passwörter, Zugriffsschlüssel und MFA-Geräte). Für Passwörter und Zugriffsschlüssel zeigt der Bericht an, wann das Passwort oder der Zugriffsschlüssel zuletzt verwendet wurde.

## IAM-Benutzer und Berechtigungen
<a name="id_users_perms"></a>

Standardmäßig besitzt ein neuer IAM-Benutzer überhaupt keine [Berechtigungen](access.md). Sie sind nicht berechtigt, AWS Operationen durchzuführen oder auf AWS Ressourcen zuzugreifen. Ein Vorteil, über einzelne IAM-Benutzer zu verfügen, besteht darin, dass Sie jedem Benutzer individuell Berechtigungen zuweisen können. Möglicherweise weisen Sie einigen Benutzern Administratorberechtigungen zu, die dann Ihre AWS Ressourcen verwalten und sogar andere IAM-Benutzer erstellen und verwalten können. In den meisten Fällen möchten Sie die Berechtigungen eines Benutzers jedoch auf die Aufgaben (AWS Aktionen oder Operationen) und Ressourcen beschränken, die für den Job benötigt werden. 

Angenommen, wir haben einen Benutzer namens Diego. Wenn Sie den IAM-Benutzer erstellen`Diego`, erstellen Sie ein Passwort für ihn und fügen ihm Berechtigungen hinzu, mit denen er eine bestimmte EC2 Amazon-Instance starten und Informationen aus einer Tabelle in einer Amazon RDS-Datenbank lesen (`GET`) kann. Verfahren zum Erstellen von IAM-Benutzern und zum Gewähren anfänglicher Anmeldeinformationen und Berechtigungen finden Sie unter [Erstellen Sie einen IAM-Benutzer in Ihrem AWS-Konto](id_users_create.md). Anweisungen zum Ändern der Berechtigungen für vorhandene Benutzer finden Sie unter [Ändern von Berechtigungen für einen IAM-Benutzer](id_users_change-permissions.md). Anweisungen zum Ändern des Passworts oder der Zugriffsschlüssel des Benutzers finden Sie unter [Benutzerpasswörter in AWS](id_credentials_passwords.md) und [Verwalten von Zugriffsschlüsseln für IAM-Benutzer](id_credentials_access-keys.md).

Sie können Ihren IAM-Benutzern auch eine Berechtigungsgrenze hinzufügen. Eine Berechtigungsgrenze ist eine erweiterte Funktion, mit der Sie mithilfe AWS verwalteter Richtlinien die maximalen Berechtigungen einschränken können, die eine identitätsbasierte Richtlinie einem IAM-Benutzer oder einer IAM-Rolle gewähren kann. Weitere Informationen zu diesen Richtlinienarten und ihrer Verwendung finden Sie unter [Richtlinien und Berechtigungen in AWS Identity and Access Management](access_policies.md).

## IAM-Benutzer und Konten
<a name="id_users_accounts"></a>

Jeder IAM-Benutzer kann nur einem einzigen AWS-Konto zugeordnet sein. Da IAM-Benutzer in Ihrem System definiert sind AWS-Konto, müssen Sie für sie keine Zahlungsmethode hinterlegt haben. AWS Jede AWS Aktivität, die von IAM-Benutzern in Ihrem Konto ausgeführt wird, wird Ihrem Konto in Rechnung gestellt.

Die Anzahl und Größe der IAM-Ressourcen in einem AWS Konto sind begrenzt. Weitere Informationen finden Sie unter [IAM und Kontingente AWS STS](reference_iam-quotas.md).

## IAM-Benutzer als Servicekonten
<a name="id_users_service_accounts"></a>

Ein IAM-Benutzer ist eine Ressource in IAM, der Anmeldeinformationen und Berechtigungen zugeordnet sind. Ein IAM-Benutzer kann eine Person oder eine Anwendung darstellen, die ihre Anmeldeinformationen für AWS -Anforderungen verwendet. Dies wird in der Regel als *Servicekonto* bezeichnet. Falls Sie die langfristigen Anmeldeinformationen eines IAM-Benutzers in Ihrer Anwendung verwenden möchten, **betten Sie keine Zugriffsschlüssel direkt in den Anwendungscode ein.** Die AWS SDKs und die AWS Command Line Interface ermöglichen es Ihnen, Zugriffsschlüssel an bekannten Orten zu platzieren, sodass Sie sie nicht im Code speichern müssen. Weitere Informationen finden Sie unter [Manage IAM User Access Keys Properly](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html#iam-user-access-keys) (Ordnungsgemäßes Verwalten von IAM-Benutzerzugriffsschlüsseln) in der *Allgemeine AWS-Referenz*. Alternativ und als bewährte Methode können Sie [temporäre Sicherheitsanmeldeinformationen (IAM-Rollen) anstelle langfristiger Zugriffsschlüssel verwenden](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html#use-roles).

# So melden sich IAM-Benutzer an AWS
<a name="id_users_sign-in"></a>

Um sich AWS-Managementkonsole als IAM-Benutzer anzumelden, müssen Sie zusätzlich zu Ihrem Benutzernamen und Passwort Ihre Konto-ID oder Ihren Kontoalias angeben. Wenn Ihr Administrator Ihren IAM-Benutzer in der Konsole erstellt, sollten sie Ihnen Ihre Anmeldeinformationen gesendet haben, einschließlich Ihres Benutzernamens und der URL zu Ihrer Kontoanmeldeseite, die Ihre Konto-ID oder Ihren Kontoalias enthält. 

```
https://My_AWS_Account_ID.signin.aws.amazon.com/console/
```

**Tipp**  
Um ein Lesezeichen für die Anmeldeseite Ihres Kontos in Ihrem Webbrowser zu erstellen, sollten Sie die Anmelde-URL für Ihr Konto manuell im Lesezeicheneintrag eingeben. Verwenden Sie keinen Webbrowser zum Anlegen von Lesezeichen, weil Weiterleitungen die Anmelde-URL verschleiern können. 

Sie können sich auch auf dem folgenden Endpunkt für die allgemeine Anmeldung anmelden und Ihre Konto-ID oder den Kontopalias manuell eingeben:

```
[https://console.aws.amazon.com/](https://console.aws.amazon.com/)
```

Der Einfachheit halber verwendet die AWS Anmeldeseite ein Browser-Cookie, um sich den IAM-Benutzernamen und die Kontoinformationen zu merken. Wenn der Benutzer das nächste Mal eine Seite in der aufruft AWS-Managementkonsole, verwendet die Konsole das Cookie, um den Benutzer auf die Anmeldeseite für das Konto weiterzuleiten.

Sie haben nur Zugriff auf die AWS Ressourcen, die Ihr Administrator in der Richtlinie festlegt, die mit Ihrer IAM-Benutzeridentität verknüpft ist. Um in der Konsole arbeiten zu können, müssen Sie über die Berechtigungen verfügen, um die von der Konsole ausgeführten Aktionen auszuführen, z. B. AWS Ressourcen aufzulisten und zu erstellen. Weitere Informationen erhalten Sie unter [Zugriffsmanagement für AWS Ressourcen](access.md) und [Beispiele für identitätsbasierte Richtlinien in IAM](access_policies_examples.md).

**Anmerkung**  
Wenn Ihr Unternehmen über ein Identitätssystem verfügt, können Sie auch eine Single Sign-On (SSO)-Option erstellen. SSO ermöglicht Benutzern den AWS-Managementkonsole Zugriff auf Ihr Konto, ohne dass sie über eine IAM-Benutzeridentität verfügen müssen. SSO macht es außerdem überflüssig, dass sich Benutzer auf der Website Ihrer Organisation anmelden und sich AWS separat anmelden müssen. Weitere Informationen finden Sie unter [Benutzerdefinierten Identity Broker-Zugriff auf die AWS Konsole aktivieren](id_roles_providers_enable-console-custom-url.md). 

**Loggen der Anmeldedaten ein CloudTrail**  
Wenn Sie CloudTrail die Protokollierung von Anmeldeereignissen in Ihren Protokollen aktivieren, müssen Sie sich darüber im Klaren sein, wer CloudTrail auswählt, wo die Ereignisse protokolliert werden.
+ Wenn sich Ihre Benutzer direkt bei einer Konsole anmelden, werden sie entweder zu einem globalen oder regionalen Anmeldeendpunkt umgeleitet, je nachdem, ob die ausgewählte Servicekonsole Regionen unterstützt. Die Startseite der Hauptkonsole beispielsweise unterstützt Regionen. Wenn Sie sich also bei der nachfolgenden URL anmelden,

  ```
  https://alias.signin.aws.amazon.com/console
  ```

  Sie werden zu einem regionalen Anmeldeendpunkt weitergeleitet`https://us-east-2.signin.aws.amazon.com`, z. B. was zu einem regionalen CloudTrail Protokolleintrag im Protokoll der Benutzerregion führt:

  Andererseits unterstützt die Amazon S3-Konsole keine Regionen. Wenn Sie sich also bei der folgenden URL anmelden,

  ```
  https://alias.signin.aws.amazon.com/console/s3
  ```

  AWS leitet Sie zum globalen Anmeldeendpunkt unter weiter`https://signin.aws.amazon.com`, was zu einem globalen CloudTrail Protokolleintrag führt.
+ Sie können manuell einen bestimmten regionalen Anmeldeendpunkt anfordern, indem Sie sich über eine URL-Syntax wie die folgende bei der Hauptkonsolen-Startseite mit Regionen anmelden:

  ```
  https://alias.signin.aws.amazon.com/console?region=ap-southeast-1
  ```

  AWS leitet Sie zum `ap-southeast-1` regionalen Anmeldeendpunkt weiter und führt zu einem regionalen CloudTrail Protokollereignis.

Weitere Informationen zu CloudTrail und IAM finden Sie unter [Protokollieren von IAM-Ereignissen](https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html) mit. CloudTrail

Wenn Benutzer programmgesteuerten Zugriff benötigen, um mit Ihrem Konto zu arbeiten, können Sie für jeden ein Zugriffsschlüsselpaar (eine Zugriffsschlüssel-ID und einen geheimen Zugriffsschlüssel) erstellen. Es gibt jedoch sicherere Alternativen, die Sie in Betracht ziehen sollten, bevor Sie Zugriffsschlüssel für Benutzer erstellen. Weitere Informationen finden Sie unter [Überlegungen und Alternativen für Schlüssel für den langfristigen Zugriff](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#alternatives-to-long-term-access-keys) in der *Allgemeine AWS-Referenz*.

## Weitere Ressourcen
<a name="id_users_sign-in-additional-resources"></a>

Die folgenden Ressourcen können Ihnen helfen, mehr über AWS die Anmeldung zu erfahren.
+ Das [Handbuch zur AWS -Anmeldung](https://docs.aws.amazon.com/signin/latest/userguide/what-is-sign-in.html) hilft Ihnen dabei, die verschiedenen Möglichkeiten der Anmeldung bei Amazon Web Services (AWS) zu verstehen, je nachdem, um welche Art von Benutzer es sich handelt.
+ Sie können sich mit bis zu fünf verschiedenen Identitäten gleichzeitig in einem einzigen Webbrowser in der AWS-Managementkonsole anmelden. Details finden Sie im *Handbuch zu den ersten Schritten mit der AWS-Managementkonsole * unter [Anmeldung bei mehreren Konten](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/multisession.html).

# Anmeldung mit MFA
<a name="console_sign-in-mfa"></a>

IAM-Benutzer, die für die [Multi-Faktor-Authentifizierung (MFA)-Geräte](id_credentials_mfa.md) konfiguriert worden sind, müssen ihre MFA-Geräte zum Anmelden bei der AWS-Managementkonsole verwenden. Nachdem der Benutzer seine Anmeldeinformationen eingegeben hat, AWS überprüft er das Konto des Benutzers, um festzustellen, ob MFA für diesen Benutzer erforderlich ist. 

**Wichtig**  
Wenn Sie Zugangsschlüssel und geheime Schlüsselanmeldedaten für den direkten AWS-Managementkonsole Zugriff mit dem AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)API-Aufruf verwenden, ist MFA NICHT erforderlich. Weitere Informationen finden Sie unter [Verwenden von Zugriffsschlüsseln und geheimen Schlüsselanmeldeinformationen für den Konsolenzugriff](securing_access-keys.md#console-access-security-keys).

Die folgenden Themen enthalten Informationen dazu, wie Benutzer die Anmeldung abschließen, wenn MFA erforderlich ist. 

**Topics**
+ [

## Mehrere MFA-Geräte aktiviert
](#console_sign-in-multiple-mfa)
+ [

## FIDO-Sicherheitsschlüssel
](#console_sign-in-mfa-fido)
+ [

## Virtuelles MFA-Gerät
](#console_sign-in-mfa-virtual)
+ [

## Hardware-TOTP-Token
](#console_sign-in-mfa-hardware)

## Mehrere MFA-Geräte aktiviert
<a name="console_sign-in-multiple-mfa"></a>

Wenn sich ein Benutzer AWS-Managementkonsole als AWS-Konto Root-Benutzer oder IAM-Benutzer anmeldet und mehrere MFA-Geräte für dieses Konto aktiviert sind, muss er sich nur mit einem MFA-Gerät anmelden. Nachdem sich der Benutzer mit dem Passwort des Benutzers authentifiziert hat, wählt er aus, welchen MFA-Gerätetyp er verwenden möchte, um die Authentifizierung abzuschließen. Anschließend wird der Benutzer aufgefordert, sich mit dem ausgewählten Gerätetyp zu authentifizieren. 

## FIDO-Sicherheitsschlüssel
<a name="console_sign-in-mfa-fido"></a>

Wenn MFA für den Benutzer verlangt ist, wird eine zweite Anmeldeseite angezeigt. Der Benutzer muss auf den FIDO-Sicherheitsschlüssel tippen.

**Anmerkung**  
Google-Chrome-Nutzer sollten keine der verfügbaren Optionen im Popup auswählen, in dem Sie zu Folgendem aufgefordert werden: **Verifiy your identity with amazon.com** (Verifizieren Sie Ihre Identität mit amazon.com). Sie müssen nur auf den Sicherheitsschlüssel tippen.

Im Gegensatz zu anderen MFA-Geräten können FIDO-Sicherheitsschlüssel ihre Synchronisation nicht verlieren. Administratoren können einen FIDO-Sicherheitsschlüssel deaktivieren, wenn er verloren geht oder beschädigt ist. Weitere Informationen finden Sie unter [Deaktivieren von MFA-Geräten (Konsole)](id_credentials_mfa_disable.md#deactive-mfa-console).

Informationen zu Browsern, die dies unterstützen, WebAuthn und zu FIDO-kompatiblen Geräten, die dies unterstützen, finden Sie unter. AWS [Unterstützte Konfigurationen für die Verwendung von Passkeys und Sicherheitsschlüsseln](id_credentials_mfa_fido_supported_configurations.md)

## Virtuelles MFA-Gerät
<a name="console_sign-in-mfa-virtual"></a>

Wenn MFA für den Benutzer verlangt ist, wird eine zweite Anmeldeseite angezeigt. Im Feld **MFA code (MFA-Code)** muss der Benutzer den von der MFA-Anwendung bereitgestellten Zahlencode eingeben.

Wenn der MFA-Code richtig ist, hat der Benutzer Zugriff auf die AWS-Managementkonsole. Wenn der Code falsch ist, kann der Benutzer es mit einem anderen Code erneut versuchen. 

Ein virtuelles MFA-Gerät kann die Synchronisierung verlieren. Wenn sich ein Benutzer AWS-Managementkonsole nach mehreren Versuchen nicht bei der anmelden kann, wird er aufgefordert, das virtuelle MFA-Gerät zu synchronisieren. Die Benutzer können die Anweisungen auf dem Bildschirm befolgen, um das virtuelle MFA-Gerät zu synchronisieren. Informationen darüber, wie Sie ein Gerät im Namen eines Benutzers in Ihrem synchronisieren können AWS-Konto, finden Sie unter[Resynchronisierung von virtuellen und Hardware-MFA-Geräten](id_credentials_mfa_sync.md). 

## Hardware-TOTP-Token
<a name="console_sign-in-mfa-hardware"></a>

Wenn MFA für den Benutzer verlangt ist, wird eine zweite Anmeldeseite angezeigt. Im Feld **MFA code (MFA-Code)** muss der Benutzer den vom Hardware-TOTP-Token bereitgestellten Zahlencode eingeben. 

Wenn der MFA-Code richtig ist, hat der Benutzer Zugriff auf die AWS-Managementkonsole. Wenn der Code falsch ist, kann der Benutzer es mit einem anderen Code erneut versuchen. 

Hardware-TOTP-Token können ihre Synchronisation verlieren. Wenn sich ein Benutzer AWS-Managementkonsole nach mehreren Versuchen nicht bei der anmelden kann, wird er aufgefordert, das MFA-Token-Gerät zu synchronisieren. Die Benutzer können die Anweisungen auf dem Bildschirm befolgen, um das MFA-Token-Gerät zu synchronisieren. Informationen darüber, wie Sie ein Gerät im Namen eines Benutzers in Ihrem synchronisieren können AWS-Konto, finden Sie unter[Resynchronisierung von virtuellen und Hardware-MFA-Geräten](id_credentials_mfa_sync.md). 

# Erstellen Sie einen IAM-Benutzer in Ihrem AWS-Konto
<a name="id_users_create"></a>

**Wichtig**  
 [Bewährte IAM-Methoden](best-practices.md) empfehlen, dass menschliche Benutzer für den Zugriff AWS mithilfe temporärer Anmeldeinformationen einen Verbund mit einem Identitätsanbieter verwenden müssen, anstatt IAM-Benutzer mit langfristigen Anmeldeinformationen zu verwenden. Wir empfehlen, IAM-Benutzer nur für [bestimmte Anwendungsfälle](gs-identities-iam-users.md) zu verwenden, die nicht von Verbundbenutzern unterstützt werden.

Der Prozess zum Erstellen eines IAM-Benutzers und zum Aktivieren dieses Benutzers zum Ausführen von Aufgaben umfasst die folgenden Schritte:

1. Erstellen Sie den [Benutzer in den AWS-ManagementkonsoleAWS CLI](getting-started-workloads.md) Tools für Windows PowerShell oder mithilfe einer AWS API-Operation. Wenn Sie den Benutzer in der erstellen AWS-Managementkonsole, werden die Schritte 1—4 automatisch ausgeführt, je nachdem, was Sie ausgewählt haben. Wenn Sie die IAM-Benutzer programmgesteuert erstellen, müssen Sie jeden dieser Schritte einzeln ausführen.

1. Erstellen Sie Anmeldeinformationen für den Benutzer, je nach Art des für den Benutzer erforderlichen Zugriffs:
   + **Konsolenzugriff aktivieren — *optional***: Wenn der Benutzer auf die zugreifen muss AWS-Managementkonsole, [erstellen Sie ein Passwort für den Benutzer](id_credentials_passwords_admin-change-user.md). Die Deaktivierung des Konsolenzugriffs für einen Benutzer verhindert, dass er sich mit seinem Benutzernamen und Passwort bei der AWS-Managementkonsole anmeldet. Es ändert weder ihre Berechtigungen noch verhindert, dass sie mit einer angenommenen Rolle auf die Konsole zugreifen.
**Tipp**  
Erstellen Sie nur die Anmeldeinformationen, die der Benutzer braucht. Erstellen Sie beispielsweise für einen Benutzer, der Zugriff nur über die benötigt AWS-Managementkonsole, keine Zugriffsschlüssel.

1. Gewähren Sie dem Benutzer Berechtigungen zum Ausführen der erforderlichen Aufgaben. Wir empfehlen Ihnen, Ihre IAM-Benutzer in Gruppen einzuteilen und Berechtigungen über Richtlinien zu verwalten, die diesen Gruppen zugeordnet sind. Sie können Berechtigungen jedoch auch gewähren, indem Sie Berechtigungsrichtlinien direkt an den Benutzer anfügen. Wenn Sie die Konsole zum Hinzufügen des Benutzers verwenden, können Sie die Berechtigungen eines vorhandenen Benutzers auf den neuen Benutzer kopieren.

   Sie können auch eine [Berechtigungsgrenze](access_policies_boundaries.md) hinzufügen, um die Berechtigungen des Benutzers einzuschränken, indem Sie eine Richtlinie angeben, die die maximalen Berechtigungen definiert, die der Benutzer haben kann. Durch Berechtigungsgrenzen werden keine Berechtigungen gewährt.

   Anweisungen zum Erstellen einer benutzerdefinierten Berechtigungsrichtlinie, mit der Sie entweder Berechtigungen gewähren oder eine Berechtigungsgrenze festlegen können, finden Sie unter [Benutzerdefinierte IAM-Berechtigungen mit vom Kunden verwalteten Richtlinien definieren](access_policies_create.md).

1. (Optional) Fügen Sie dem Benutzer Metadaten durch Anfügen von Tags hinzu. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter [Tags für AWS Identity and Access Management Ressourcen](id_tags.md).

1. Teilen Sie dem Benutzer die erforderlichen Anmeldeinformationen mit. Dies umfasst das Passwort und die Konsolen-URL für die Anmelde-Website des Kontos, auf der der Benutzer diese Anmeldeinformationen eingeben muss. Weitere Informationen finden Sie unter [So melden sich IAM-Benutzer an AWS](id_users_sign-in.md).

1. (Optional) Konfigurieren Sie die [Multifaktor-Authentifizierung (MFA)](id_credentials_mfa.md) für den Benutzer. Bei MFA muss der Benutzer bei jeder Anmeldung einen one-time-use Code angeben. AWS-Managementkonsole

1. (Optional) Gewähren Sie IAM-Benutzern die Berechtigung, ihre eigenen Sicherheits-Anmeldeinformationen zu verwalten. (IAM-Benutzer sind standardmäßig nicht berechtigt, ihre eigenen Anmeldeinformationen zu verwalten.) Weitere Informationen finden Sie unter [IAM-Benutzern erlauben, ihre eigenen Passwörter zu ändern](id_credentials_passwords_enable-user-change.md).
**Anmerkung**  
Wenn Sie die Konsole zum Erstellen des Benutzers verwenden und die Option **Benutzer muss bei der nächsten Anmeldung ein neues Passwort erstellen (empfohlen)** auswählen, verfügt der Benutzer über die erforderlichen Berechtigungen.

Weitere Informationen zu den Berechtigungen, die Sie zum Erstellen eines Benutzers benötigen, finden Sie unter [Erforderliche Berechtigungen für den Zugriff auf IAM-Ressourcen](access_permissions-required.md).

Anweisungen zum Erstellen von IAM-Benutzern für bestimmte Anwendungsfälle finden Sie in den folgenden Themen:
+ [IAM-Benutzer für den Notfallzugriff erstellen](getting-started-emergency-iam-user.md)
+ [IAM-Benutzer für Workloads erstellen, die keine IAM-Rollen verwenden können](getting-started-workloads.md)

# Anzeigen von IAM-Benutzern
<a name="id_users_list"></a>

Sie können die IAM-Benutzer in Ihrer AWS-Konto oder in einer bestimmten IAM-Gruppe sowie alle IAM-Gruppen auflisten, denen ein Benutzer angehört. Weitere Informationen zu den Berechtigungen, die Sie zum Auflisten von Benutzern benötigen, finden Sie unter [Erforderliche Berechtigungen für den Zugriff auf IAM-Ressourcen](access_permissions-required.md). 

## So listen Sie alle IAM-Benutzer in Ihrem Konto auf
<a name="id_users_manage_list-users"></a>

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**. 

In der Konsole werden die IAM-Benutzer in Ihrem angezeigt. AWS-Konto

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

Führen Sie den folgenden Befehl aus:
+ `[aws iam list-users](https://docs.aws.amazon.com/cli/latest/reference/iam/list-users.html)`

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ `[ListUsers](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html)` 

------

## So listen Sie die IAM-Benutzer in einer IAM-Gruppe auf
<a name="id_users_manage_list-users-group"></a>

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Groups oder Users**.

1. Wählen Sie den Namen der Benutzergruppe aus. 

Die IAM-Benutzer, die Mitglieder der Gruppe sind, werden auf der Registerkarte **Benutzer** aufgelistet.

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

Führen Sie den folgenden Befehl aus:
+ `[aws iam get-group](https://docs.aws.amazon.com/cli/latest/reference/iam/get-group.html)`

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ `[GetGroup](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetGroup.html)` 

------

## So listen Sie alle IAM-Gruppen auf, denen ein Benutzer angehört
<a name="id_users_manage_list-groups-users"></a>

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**.

1. Wählen Sie in der **Users list** (Liste der Benutzer) den Namen des IAM-Benutzer aus. 

1. Wählen Sie die Registerkarte **Gruppen** aus, um die Liste der Gruppen anzuzeigen, zu denen der aktuelle Benutzer gehört.

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

Führen Sie den folgenden Befehl aus:
+ `[aws iam list-groups-for-user](https://docs.aws.amazon.com/cli/latest/reference/iam/list-groups-for-user.html)`

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ `[ListGroupsForUser](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListGroupsForUser.html)` 

------

## Nächste Schritte
<a name="id_users_list-next-steps"></a>

Sobald Sie über eine Liste Ihrer IAM-Benutzer verfügen, können Sie mit den folgenden Verfahren einen IAM-Benutzer umbenennen, löschen oder deaktivieren.
+ [Umbenennen eines IAM-Benutzers](id_users_rename.md)
+ [Entfernen oder Deaktivieren eines IAM-Benutzers](id_users_remove.md)

# Umbenennen eines IAM-Benutzers
<a name="id_users_rename"></a>

**Anmerkung**  
Als [bewährte Methode](best-practices.md) empfehlen wir, dass menschliche Benutzer für den Zugriff mit temporären Anmeldeinformationen einen Verbund mit einem Identitätsanbieter AWS verwenden müssen. Wenn Sie die bewährten Methoden befolgen, verwalten Sie keine IAM-Benutzer und -Gruppen. Stattdessen werden Ihre Benutzer und Gruppen außerhalb von AWS Ressourcen verwaltet AWS und können als *föderierte Identität* darauf zugreifen. Eine föderierte Identität ist ein Benutzer aus Ihrem Unternehmensbenutzerverzeichnis, einem Web-Identitätsanbieter, dem AWS Directory Service, dem Identity Center-Verzeichnis oder einem beliebigen Benutzer, der mithilfe von Anmeldeinformationen, die über eine Identitätsquelle bereitgestellt wurden, auf AWS Dienste zugreift. Verbundidentitäten verwenden die von ihrem Identitätsanbieter definierten Gruppen. Wenn Sie dies verwenden AWS IAM Identity Center, finden Sie unter [Identitäten in IAM Identity Center verwalten](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-sso.html) im *AWS IAM Identity Center Benutzerhandbuch* Informationen zum Erstellen von Benutzern und Gruppen in IAM Identity Center.

Amazon Web Services bietet mehrere Tools zum Verwalten von IAM-Benutzern in Ihrem AWS-Konto. Sie können die IAM-Benutzer in Ihrem Konto oder in einer Benutzergruppe auflisten oder alle IAM-Gruppen auflisten, deren Mitglied ein Benutzer ist. Sie können den Pfad eines IAM-Benutzers umbenennen oder ändern. Wenn Sie dazu übergehen, Verbundidentitäten anstelle von IAM-Benutzern zu verwenden, können Sie einen IAM-Benutzer aus Ihrem AWS -Konto löschen oder den Benutzer deaktivieren.

Weitere Informationen zum Hinzufügen, Ändern oder Entfernen von verwalteten Richtlinien für einen IAM-Benutzer finden Sie unter [Ändern von Berechtigungen für einen IAM-Benutzer](id_users_change-permissions.md). Weitere Informationen zum Verwalten von Inline-Richtlinien für IAM-Benutzer finden Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](access_policies_manage-attach-detach.md), [IAM-Richtlinien bearbeiten](access_policies_manage-edit.md) und [IAM-Richtlinien löschen](access_policies_manage-delete.md). Es hat sich bewährt, verwaltete Richtlinien anstelle von eingebundenen Richtlinien zu verwenden. Die *AWS -verwalteten Richtlinien* stellen Berechtigungen für viele häufige Anwendungsfälle bereit. Beachten Sie, dass AWS verwaltete Richtlinien für Ihre speziellen Anwendungsfälle möglicherweise keine Berechtigungen mit den geringsten Rechten gewähren, da sie für alle Kunden verfügbar sind. AWS Daher empfehlen wir Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie [vom Kunden verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) definieren, die spezifisch auf Ihre Anwendungsfälle zugeschnitten sind. Weitere Informationen finden Sie unter [AWS verwaltete Richtlinien](access_policies_managed-vs-inline.md#aws-managed-policies). Weitere Informationen zu AWS verwalteten Richtlinien, die für bestimmte Aufgabenbereiche konzipiert sind, finden Sie unter. [AWS verwaltete Richtlinien für Jobfunktionen](access_policies_job-functions.md)

Weitere Informationen zum Validieren von IAM-Richtlinien finden Sie unter [IAM-Richtlinien-Validierung](access_policies_policy-validator.md).

**Tipp**  
[IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) kann die Services und Aktionen analysieren, die Ihre IAM-Rollen verwenden, und generiert dann eine fein abgestimmte Richtlinie, die Sie verwenden können. Nachdem Sie jede generierte Richtlinie getestet haben, können Sie die Richtlinie in Ihrer Produktionsumgebung bereitstellen. Dadurch wird sichergestellt, dass Sie nur die erforderlichen Berechtigungen für Ihre Workloads gewähren. Weitere Informationen zur Richtlinienerstellung finden Sie unter [IAM Access Analyzer Richtlinienerstellung](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html).

Informationen zum Verwalten von IAM-Benutzerpasswörtern finden Sie unter [Verwalten von Passwörtern für IAM-Benutzer](id_credentials_passwords_admin-change-user.md).

## Umbenennen eines IAM-Benutzers
<a name="id_users_renaming"></a>

Um den Namen oder Pfad eines Benutzers zu ändern, müssen Sie die AWS CLI Tools für Windows PowerShell oder die AWS API verwenden. In der Konsole gibt es keine Möglichkeit zum Umbenennen eines Benutzers. Weitere Informationen zu den Berechtigungen, die Sie zum Umbenennen eines Benutzers benötigen, finden Sie unter [Erforderliche Berechtigungen für den Zugriff auf IAM-Ressourcen](access_permissions-required.md). 

Wenn Sie den Namen oder den Pfad eines Benutzers ändern, geschieht Folgendes: 
+ Alle Richtlinien, die dem Benutzer zugewiesen sind, verbleiben bei ihm unter dem neuen Namen.
+ Der Benutzer verbleibt unter dem neuen Namen in denselben IAM-Gruppen.
+ Die eindeutige ID des Benutzers bleibt unverändert. Weitere Informationen zu Unique IDs finden Sie unter[Eindeutige Bezeichner](reference_identifiers.md#identifiers-unique-ids).
+ Die Ressourcen- oder Rollenrichtlinien, die auf den Benutzer *als Auftraggeber* verweisen (dem Benutzer wird Zugriff gewährt), werden automatisch mit dem neuen Namen oder Pfad aktualisiert. Beispiel: Die warteschlangenbasierten Richtlinien in Amazon SQS oder die ressourcenbasierten Richtlinien in Amazon S3 werden automatisch mit dem neuen Namen und Pfad aktualisiert. 

In IAM werden die Richtlinien, die auf den Benutzer *als Ressource* verweisen, nicht automatisch mit dem neuen Namen oder Pfad aktualisiert. Dies müssen Sie manuell vornehmen. Beispiel: Dem Benutzer `Richard` ist eine Richtlinie zugewiesen, mit der er seine Sicherheitsanmeldeinformationen verwalten kann. Wenn ein Administrator `Richard` in `Rich` umbenennt, muss er auch die Richtlinie aktualisieren, um die Ressource von dieser Zeichenfolge:

```
arn:aws:iam::111122223333:user/division_abc/subdivision_xyz/Richard
```

in diese zu ändern:

```
arn:aws:iam::111122223333:user/division_abc/subdivision_xyz/Rich
```

Dies gilt auch, wenn ein Administrator den Pfad ändert. Der Administrator muss die Richtlinie aktualisieren, damit der neue Pfad für den Benutzer wiedergegeben wird. 

### So benennen Sie einen Benutzer um
<a name="id_users_manage_list-users-rename"></a>
+ AWS CLI: [aws iam update-user](https://docs.aws.amazon.com/cli/latest/reference/iam/update-user.html)
+ AWS API: [UpdateUser](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateUser.html) 

# Entfernen oder Deaktivieren eines IAM-Benutzers
<a name="id_users_remove"></a>

[Bewährte Methoden](best-practices.md#remove-credentials) empfehlen, dass Sie ungenutzte IAM-Benutzer aus Ihrem AWS-Konto entfernen. Wenn Sie die Anmeldeinformationen des IAM-Benutzers für die zukünftige Verwendung behalten möchten, können Sie den Benutzerzugriff deaktivieren, anstatt diese aus dem Konto zu löschen. Weitere Informationen finden Sie unter [Deaktivieren eines IAM-Benutzers](#id_users_deactivating).

**Warnung**  
Sobald ein IAM-Benutzer und seine Zugriffsschlüssel gelöscht wurden, können sie nicht wiederhergestellt oder wiederbeschafft werden.

## Voraussetzung – Anzeigen des IAM-Benutzerzugriffs
<a name="users-manage_prerequisites"></a>

Bevor Sie einen Benutzer entfernen, überprüfen Sie seine letzte Service-Level-Aktivität. Dadurch wird verhindert, dass einem Prinzipal (Person oder Anwendung), der den Zugriff verwendet, der Zugriff entzogen wird. Weitere Informationen zum Anzeigen der Informationen zum letzten Zugriff finden Sie unter [Verfeinern Sie die Berechtigungen für AWS die Verwendung der zuletzt abgerufenen Informationen](access_policies_last-accessed.md).

## Entfernen eines IAM-Benutzers (Konsole)
<a name="id_users_deleting_console"></a>

Wenn Sie den verwenden AWS-Managementkonsole , um einen IAM-Benutzer zu entfernen, löscht IAM automatisch die folgenden zugehörigen Informationen: 
+ Die IAM-Benutzerkennung
+ Alle Gruppenmitgliedschaften, d. h. der IAM-Benutzer wird aus allen Gruppen entfernt, in denen der IAM-Benutzer Mitglied war
+ Jedes mit dem IAM-Benutzer verknüpfte Passwort 
+ Alle im IAM-Benutzer eingebundenen Inline-Richtlinien (Richtlinien, die mithilfe von Berechtigungen für Gruppen von Benutzern auf den IAM-Benutzer angewendet wurden, sind nicht betroffen) 
**Anmerkung**  
Wenn Sie den Benutzer löschen, entfernt IAM alle verwalteten Richtlinien, die dem IAM-Benutzer zugeordnet sind, löscht jedoch keine verwalteten Richtlinien. 
+ Alle zugehörigen MFA-Geräte

### So entfernen Sie einen IAM-Benutzer (Konsole)
<a name="id_users_remove-section-1"></a>

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Wählen Sie im Navigationsbereich die Option **Benutzer** aus und aktivieren Sie dann das Kontrollkästchen neben dem IAM-Benutzernamen, den Sie löschen möchten. 

1. Wählen Sie oben auf der Seite **Delete** (Löschen) aus.
**Anmerkung**  
Wenn einer der Benutzer über aktive Zugriffsschlüssel verfügt, müssen Sie diese vor dem Löschen der Benutzer deaktivieren. Weitere Informationen finden Sie unter [So deaktivieren Sie einen Zugriffsschlüssel für einen IAM-Benutzer](access-keys-admin-managed.md#admin-deactivate-access-key).

1. Geben Sie im Bestätigungsdialogfeld den Benutzernamen in das Texteingabefeld ein, um das Löschen des Benutzers zu bestätigen. Wählen Sie **Löschen** aus. 

Die Konsole zeigt eine Statusbenachrichtigung an, dass der IAM-Benutzer gelöscht wurde.

------

## Löschen eines IAM-Benutzers (AWS CLI)
<a name="id_users_deleting_cli"></a>

Im AWS-Managementkonsole Gegensatz zu müssen Sie beim Löschen eines IAM-Benutzers mit dem die dem AWS CLI IAM-Benutzer zugewiesenen Elemente manuell löschen. Dieser Vorgang veranschaulicht den Prozess. 

**Um einen IAM-Benutzer aus Ihrem () zu löschen AWS-Konto AWS CLI**

1. Löschen Sie das Passwort des Benutzers, sofern vorhanden.

   `[aws iam delete-login-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-login-profile.html)`

1. Löschen Sie die Zugriffsschlüssel des Benutzers, wenn der Benutzer über solche verfügt.

   `[aws iam list-access-keys](https://docs.aws.amazon.com/cli/latest/reference/iam/list-access-keys.html)` (zum Auflisten der Zugriffsschlüssel des Benutzers) und `[aws iam delete-access-key](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-access-key.html)`

1. Löschen Sie das Signaturzertifikat des Benutzers. Beachten Sie, dass einmal gelöschte Sicherheitsanmeldeinformationen nicht wiederhergestellt werden können. Dieser Vorgang ist endgültig.

   `[aws iam list-signing-certificates](https://docs.aws.amazon.com/cli/latest/reference/iam/list-signing-certificates.html)` (zum Auflisten der Signaturzertifikate des Benutzers) und `[aws iam delete-signing-certificate](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-signing-certificate.html)`

1. Löschen Sie den öffentlichen SSH-Schlüssel des Benutzers, wenn der Benutzer über diesen verfügt.

   `[aws iam list-ssh-public-keys](https://docs.aws.amazon.com/cli/latest/reference/iam/list-ssh-public-keys.html)` (zum Auflisten der öffentlichen SSH-Schlüssel des Benutzers) und `[aws iam delete-ssh-public-key](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-ssh-public-key.html)`

1. Löschen Sie die Git-Anmeldeinformationen des Benutzers.

   `[aws iam list-service-specific-credentials](https://docs.aws.amazon.com/cli/latest/reference/iam/list-service-specific-credentials.html)` (zum Auflisten der Git-Anmeldeinformationen des Benutzers) und `[aws iam delete-service-specific-credential](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-service-specific-credential.html)`

1. Deaktivieren Sie die Multi-Factor Authentication (MFA), wenn für den Benutzer eine solche verwendet wird.

   `[aws iam list-mfa-devices](https://docs.aws.amazon.com/cli/latest/reference/iam/list-mfa-devices.html)` (zum Auflisten der MFA-Geräte des Benutzers `[aws iam deactivate-mfa-device](https://docs.aws.amazon.com/cli/latest/reference/iam/deactivate-mfa-device.html)` (zum Deaktivieren des Geräts) und `[aws iam delete-virtual-mfa-device](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html)` (zum dauerhaften Löschen eines virtuellen MFA-Geräts) 

1. Löschen Sie die eingebundenen Richtlinien des Benutzers. 

   `[aws iam list-user-policies](https://docs.aws.amazon.com/cli/latest/reference/iam/list-user-policies.html)` (zum Auflisten der eingebundenen Richtlinien des Benutzers) und [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-user-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-user-policy.html) (zum Löschen der Richtlinie) 

1. Heben Sie die Verknüpfung aller verwalteten Richtlinien mit dem Benutzer auf. 

   `[aws iam list-attached-user-policies](https://docs.aws.amazon.com/cli/latest/reference/iam/list-attached-user-policies.html)` (zum Auflisten der verwalteten Richtlinien, die dem Benutzer zugeordnet sind) und [https://docs.aws.amazon.com/cli/latest/reference/iam/detach-user-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/detach-user-policy.html) (zum Aufheben der Verknüpfung der Richtlinien) 

1. Entfernen Sie den Benutzer aus allen IAM-Gruppen. 

   `[aws iam list-groups-for-user](https://docs.aws.amazon.com/cli/latest/reference/iam/list-groups-for-user.html)` (zum Auflisten der IAM-Gruppen, denen der Benutzer angehört) und `[aws iam remove-user-from-group](https://docs.aws.amazon.com/cli/latest/reference/iam/remove-user-from-group.html)` 

1. Löschen Sie den Benutzer.

   `[aws iam delete-user](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-user.html)` 

## Deaktivieren eines IAM-Benutzers
<a name="id_users_deactivating"></a>

Möglicherweise müssen Sie IAM-Benutzer deaktivieren, während sie sich vorübergehend nicht in Ihrem Unternehmen befinden. Sie können ihre IAM-Benutzeranmeldeinformationen beibehalten und trotzdem ihre AWS -Zugriffe sperren.

Um einen Benutzer zu deaktivieren, erstellen Sie eine Richtlinie und fügen Sie sie hinzu, um dem Benutzer den Zugriff auf AWS zu verweigern. Sie können den Zugriff des Benutzers später wiederherstellen.

Im Folgenden finden Sie zwei Beispiele für Verweigerungsrichtlinien, die Sie einem Benutzer zuordnen können, um ihm den Zugriff zu verweigern.

Die folgende Richtlinie beinhaltet keine zeitliche Begrenzung. Sie müssen die Richtlinie entfernen, um den Zugriff des Benutzers wiederherzustellen.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [ 
      {
        "Effect": "Deny",
        "Action": "*",
        "Resource": "*"
      } 
   ]
}
```

------

Die folgende Richtlinie beinhaltet eine Bedingung, die die Richtlinie am 24. Dezember 2024 um 23:59 Uhr (UTC) startet und am 28. Februar 2025 um 23:59 Uhr (UTC) beendet.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {
        "Effect": "Deny",
        "Action": "*",
        "Resource": "*",
        "Condition": {
          "DateGreaterThan": {"aws:CurrentTime": "2024-12-24T23:59:59Z"},
          "DateLessThan": {"aws:CurrentTime": "2025-02-28T23:59:59Z"}
          }
       }
   ]
}
```

------

# Steuern Sie den IAM-Benutzerzugriff auf die AWS-Managementkonsole
<a name="console_controlling-access"></a>

IAM-Benutzer mit entsprechender Genehmigung, die sich AWS-Konto über bei Ihnen anmelden, AWS-Managementkonsole können auf Ihre AWS Ressourcen zugreifen. Die folgende Liste zeigt, wie Sie IAM-Benutzern über die Zugriff auf Ihre AWS-Konto Ressourcen gewähren können. AWS-Managementkonsole Außerdem wird gezeigt, wie IAM-Benutzer über die Website auf andere AWS Kontofunktionen zugreifen können. AWS 

**Anmerkung**  
Die Nutzung von IAM ist kostenlos.

**Das AWS-Managementkonsole**  
Sie erstellen für jeden IAM-Benutzer, der Zugriff auf die AWS-Managementkonsole benötigt, ein Passwort. Benutzer greifen über Ihre IAM-fähige AWS-Konto Anmeldeseite auf die Konsole zu. Weitere Informationen zum Zugriff auf die Anmeldeseite finden Sie unter [Anmelden bei AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS-Anmeldung -Benutzerhandbuch*. Weitere Informationen zum Erstellen von Passwörtern finden Sie unter [Benutzerpasswörter in AWS](id_credentials_passwords.md).  
Sie können verhindern, dass ein IAM-Benutzer auf die zugreift, AWS-Managementkonsole indem Sie sein Passwort entfernen. Dadurch wird verhindert, dass sie sich AWS-Managementkonsole mit ihren Anmeldeinformationen bei der anmelden. Es ändert weder ihre Berechtigungen noch verhindert, dass sie mit einer angenommenen Rolle auf die Konsole zugreifen. Wenn der Benutzer über aktive Zugriffsschlüssel verfügt, funktionieren diese weiterhin und ermöglichen den Zugriff über die AWS CLI Tools für Windows PowerShell, die AWS API oder die AWS Console Mobile Application.

**Ihre AWS Ressourcen, wie Amazon EC2 EC2-Instances, Amazon S3 S3-Buckets usw.**  
Selbst wenn Ihre IAM-Benutzer Passwörter haben, benötigen Sie dennoch die Berechtigung für den Zugriff auf Ihre AWS -Ressourcen. Ein neu erstellter IAM-Benutzer hat standardmäßig zunächst keine Berechtigungen. Um einem IAM-Benutzer die benötigten Berechtigungen zu gewähren, weisen Sie ihm Richtlinien zu. Wenn Sie viele IAM-Benutzer haben, die dieselben Aufgaben mit denselben Ressourcen ausführen, können Sie diese IAM-Benutzer einer Gruppe zuweisen. Weisen Sie dieser Gruppe dann die Berechtigungen zu. Weitere Informationen zum Erstellen von IAM-Benutzer und Gruppen finden Sie unter [IAM-Identitäten](id.md). Weitere Informationen zum Verwenden von Richtlinien, um Berechtigungen festzulegen, finden Sie unter [Zugriffsmanagement für AWS Ressourcen](access.md).

**AWS Diskussionsforen**  
Die Beiträge in den [AWS -Diskussionsforen](https://forums.aws.amazon.com/) können von jedem gelesen werden. Benutzer, die Fragen oder Kommentare im AWS Diskussionsforum posten möchten, können dies mit ihrem Benutzernamen tun. Wenn ein Benutzer zum ersten Mal Beiträge im AWS Diskussionsforum veröffentlicht, wird er aufgefordert, einen Spitznamen und eine E-Mail-Adresse einzugeben. Nur dieser Benutzer kann diesen Spitznamen in den AWS Diskussionsforen verwenden. 

**Ihre AWS-Konto Rechnungs- und Nutzungsinformationen**  
Sie können Benutzern Zugriff auf Ihre AWS-Konto Rechnungs- und Nutzungsinformationen gewähren. Weitere Informationen finden Sie im *AWS Billing -Benutzerhandbuch* unter [Zugriff auf Ihre Rechnungsdaten](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/control-access-billing.html) kontrollieren. 

**Ihre AWS-Konto Profilinformationen**  
Benutzer können nicht auf Ihre AWS-Konto Profilinformationen zugreifen.

**Ihre AWS-Konto Sicherheitsanmeldedaten**  
Benutzer können nicht auf Ihre AWS-Konto Sicherheitsanmeldedaten zugreifen.

**Anmerkung**  
IAM-Richtlinien steuern den Zugriff unabhängig von der Schnittstelle. Beispielsweise können Sie einem Benutzer ein Passwort für den Zugriff auf bereitstellen AWS-Managementkonsole. Die Richtlinien für diesen Benutzer (oder alle Gruppen, zu denen der Benutzer gehört) würden steuern, welche Aktionen der Benutzer in der AWS-Managementkonsole ausführen kann. Oder Sie könnten dem Benutzer AWS Zugriffsschlüssel für API-Aufrufe zur Verfügung stellen AWS. Die Richtlinien würden steuern, welche Aktionen der Benutzer über eine Bibliothek oder einen Client aufrufen kann, die bzw. der diese Zugriffsschlüssel für die Authentifizierung verwendet.

# Ändern von Berechtigungen für einen IAM-Benutzer
<a name="id_users_change-permissions"></a>

[Sie können die Berechtigungen für einen IAM-Benutzer in Ihrem ändern, AWS-Konto indem Sie dessen Gruppenmitgliedschaften ändern, die Berechtigungen eines vorhandenen Benutzers kopieren, Richtlinien direkt an einen Benutzer anhängen oder indem Sie eine Berechtigungsgrenze festlegen.](access_policies_boundaries.md) Eine Berechtigungsgrenze bestimmt die maximalen Berechtigungen, die ein Benutzer haben kann. Bei Berechtigungsgrenzen handelt es sich um eine erweiterte Funktion. AWS 

Weitere Informationen über die erforderlichen Berechtigungen, um die Berechtigungen eines Benutzers zu bearbeiten, finden Sie unter [Erforderliche Berechtigungen für den Zugriff auf IAM-Ressourcen](access_permissions-required.md).

**Topics**
+ [

## Anzeigen des Benutzerzugriffs
](#users-modify_prerequisites)
+ [

## Generieren einer Richtlinie basierend auf der Zugriffsaktivität eines Benutzers
](#users_change_permissions-gen-policy)
+ [

## Hinzufügen von Berechtigungen für einem Benutzer (Konsole)
](#users_change_permissions-add-console)
+ [

## Ändern von Berechtigungen für einen Benutzer (Konsole)
](#users_change_permissions-change-console)
+ [

## So entfernen Sie eine Berechtigungsrichtlinie von einem Benutzer (Konsole)
](#users_change_permissions-remove-policy-console)
+ [

## So entfernen Sie die Berechtigungsgrenze eines Benutzers (Konsole)
](#users_change_permissions-remove-boundary-console)
+ [

## Berechtigungen (AWS CLI oder AWS API) eines Benutzers hinzufügen und entfernen
](#users_change_permissions-add-programmatic)

## Anzeigen des Benutzerzugriffs
<a name="users-modify_prerequisites"></a>

Bevor Sie die Berechtigungen für einen Benutzer ändern, sollten Sie seine kürzliche Service-Level-Aktivität überprüfen. Das ist wichtig, da Sie keinem Auftraggeber (Person oder Anwendung) einen noch verwendeten Zugriff entziehen möchten. Weitere Informationen zum Anzeigen der Informationen zum letzten Zugriff finden Sie unter [Verfeinern Sie die Berechtigungen für AWS die Verwendung der zuletzt abgerufenen Informationen](access_policies_last-accessed.md).

## Generieren einer Richtlinie basierend auf der Zugriffsaktivität eines Benutzers
<a name="users_change_permissions-gen-policy"></a>

Manchmal können Sie einer IAM-Entität (Benutzer oder Rolle) Berechtigungen erteilen, die über das hinausgehen, was diese benötigen. Um Ihnen beim Verfeinern der Berechtigungen zu helfen, können Sie eine IAM-Richtlinie generieren, die auf der Zugriffsaktivität für eine Entity basiert. IAM Access Analyzer überprüft Ihre AWS CloudTrail Protokolle und generiert eine Richtlinienvorlage, die die Berechtigungen enthält, die von der Entität in dem von Ihnen angegebenen Zeitraum verwendet wurden. Sie können die Vorlage verwenden, um eine verwaltete Richtlinie mit definierten Berechtigungen zu erstellen und sie dann an die IAM-Rolle anzuhängen. Auf diese Weise gewähren Sie nur die Berechtigungen, die der Benutzer oder die Rolle benötigt, um mit AWS Ressourcen für Ihren speziellen Anwendungsfall zu interagieren. Weitere Informationen finden Sie unter [Richtliniengenerierung für IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html).

## Hinzufügen von Berechtigungen für einem Benutzer (Konsole)
<a name="users_change_permissions-add-console"></a>

IAM bietet drei Möglichkeiten zum Hinzufügen von Berechtigungsrichtlinien zu einem Benutzer:
+ **Hinzufügen des IAM-Benutzers zu einer IAM-Gruppe** – Machen Sie den Benutzer zum Mitglied einer Gruppe. Die Richtlinien der Gruppe werden dem Benutzer zugeordnet.
+ **Kopieren von Berechtigungen von vorhandenen IAM-Benutzern** – Kopieren Sie alle Gruppenmitgliedschaften, angefügte verwaltete Richtlinien, eingebundene Richtlinien sowie vorhandene Berechtigungsgrenzen des Quellbenutzers.
+ **Anfügen von Richtlinien direkt zu IAM-Benutzern** – Fügen Sie eine verwaltete Richtlinie direkt an den Benutzer an. Um die Verwaltung von Berechtigungen zu vereinfachen, ordnen Sie Ihre Richtlinien einer Gruppe zu und machen die IAM-Benutzer zu Mitgliedern der entsprechenden Gruppen.

**Wichtig**  
Wenn der Benutzer über eine Berechtigungsgrenze verfügt, können Sie dem Benutzer nicht mehr Berechtigungen zuweisen, als durch die Berechtigungsgrenze zugelassen sind.

### So fügen Sie Berechtigungen durch Hinzufügen des IAM-Benutzers zu einer Gruppe hinzu
<a name="users_change_permissions-add-group-console"></a>

Wenn Sie einen IAM-Benutzer zu einer IAM-Gruppe hinzufügen, werden die Berechtigungen des Benutzers sofort mit den für die Gruppe definierten Berechtigungen aktualisiert.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**.

1. Wählen Sie in der **Users list** (Liste der Benutzer) den Namen des IAM-Benutzer aus. 

1. Wählen Sie die Registerkarte **Gruppen** aus, um die Liste der Gruppen anzuzeigen, zu denen der aktuelle Benutzer gehört.

1. Wählen Sie **Benutzer zu Gruppen hinzufügen** aus. 

1. Aktivieren Sie das Kontrollkästchen für jede Gruppe, der der Benutzer beitreten soll. Die Liste enthält die Gruppennamen und Richtlinien, die dem Benutzer zugewiesen werden, wenn er Mitglied der Gruppe wird.

1. (Optional) Sie können **Gruppe erstellen** auswählen, um eine neue Gruppe zu definieren. Dies ist nützlich, wenn Sie den Benutzer zu einer Gruppe hinzufügen möchten, der andere Richtlinien als den vorhandenen Gruppen zugeordnet sind:

   1. Geben Sie auf der neuen Registerkarte für **User group Name (Benutzergruppenname)** den Namen für Ihre neue Gruppe ein.
**Anmerkung**  
Die Anzahl und Größe der IAM-Ressourcen in einem AWS Konto sind begrenzt. Weitere Informationen finden Sie unter [IAM und Kontingente AWS STS](reference_iam-quotas.md). Gruppennamen können eine Kombination aus bis zu 128 Buchstaben, Ziffern und die folgenden Zeichen enthalten: (\$1), Gleichheitszeichen (=), Komma (,), Punkt (.), at-Zeichen (@) und Bindestrich (-). Namen müssen innerhalb eines Kontos eindeutig sein. Sie werden nicht nach Groß- und Kleinschreibung unterschieden. Sie können beispielsweise nicht zwei Gruppen mit dem Namen *TESTGRUPPE* und *testgruppe* erstellen.

   1. Aktivieren Sie ein oder mehrere Kontrollkästchen für die verwalteten Richtlinien, die Sie der Gruppe anfügen möchten. Sie können auch anhand von **Create policy (Richtlinie erstellen)** eine neue verwaltete Richtlinie erstellen. Wenn Sie auf diese Weise vorgehen möchten, kehren Sie zu dieser Browser-Registerkarte oder zu diesem Fenster zurück. Wenn die neue Richtlinie erstellt wurde, wählen Sie erst **Refresh (Aktualisieren)** und dann die neue Richtlinie aus, die Sie Ihrer Gruppe anfügen möchten. Weitere Informationen finden Sie unter [Benutzerdefinierte IAM-Berechtigungen mit vom Kunden verwalteten Richtlinien definieren](access_policies_create.md).

   1. Wählen Sie **Create user group (Benutzergruppe erstellen)**.

   1. Kehren Sie zur ursprünglichen Registerkarte zurück und aktualisieren Sie die Liste der Gruppen. Aktivieren Sie dann das Kontrollkästchen für Ihre neue Gruppe.

1. Wählen Sie **Benutzer zu Gruppe(n) hinzufügen** aus.

Die Konsole zeigt eine Statusmeldung an, die Sie darüber informiert, dass der Benutzer zu den von Ihnen angegebenen Gruppen hinzugefügt wurde.

------

### So fügen Sie Berechtigungen durch Kopieren von einem anderen IAM-Benutzer hinzu
<a name="users_change_permissions-add-copy-console"></a>

Wenn Sie einem IAM-Benutzer Berechtigungen durch Kopieren von Berechtigungen hinzufügen, kopiert IAM alle Gruppenmitgliedschaften, angefügten verwalteten Richtlinien, Inline-Richtlinien und alle vorhandenen Berechtigungsgrenzen des angegebenen Benutzers und wendet sie sofort auf den aktuell ausgewählten Benutzer an.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**.

1. Wählen Sie in der **Users list** (Liste der Benutzer) den Namen des IAM-Benutzer aus. 

1. Wählen Sie auf der Registerkarte **Berechtigungen** die Option **Berechtigungen hinzufügen** aus.

1. Wählen Sie auf der Seite **Berechtigungen hinzufügen** die Option **Berechtigungen kopieren** aus. In der Liste werden verfügbare IAM-Benutzer zusammen mit ihren Gruppenmitgliedschaften und den angefügten Richtlinien angezeigt. 

1. Aktivieren Sie das Ankreuzfeld neben dem Benutzer, dessen Berechtigungen Sie kopieren möchten. 

1. Wählen Sie **Next (Weiter)** aus, um eine Liste der Änderungen für den Benutzer anzuzeigen. Wählen Sie dann **Add permissions (Berechtigungen hinzufügen)**.

Die Konsole zeigt eine Statusmeldung an, die Sie darüber informiert, dass die Berechtigungen vom von Ihnen angegebenen IAM-Benutzer kopiert wurden.

------

### So fügen Sie Berechtigungen hinzu, indem Sie Richtlinien direkt an den IAM-Benutzer anfügen
<a name="users_change_permissions-add-directly-console"></a>

Sie können eine verwaltete Richtlinie direkt an einen IAM-Benutzer anfügen. Die aktualisierten Berechtigungen werden sofort übernommen.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**.

1. Wählen Sie in der **Users list** (Liste der Benutzer) den Namen des IAM-Benutzer aus. 

1. Wählen Sie auf der Registerkarte **Berechtigungen** die Option **Berechtigungen hinzufügen** aus.

1. Wählen Sie auf der Seite **Berechtigungen hinzufügen** die Option **Richtlinien direkt anfügen** aus. In der Liste **Berechtigungsrichtlinien** werden die verfügbaren Richtlinien zusammen mit ihren Richtlinientypen und den angefügten Entitäten angezeigt. 

1. Wählen Sie das Optionsfeld neben dem **Richtliniennamen** aus, den Sie anfügen möchten. 

1. Wählen Sie **Next (Weiter)** aus, um eine Liste der Änderungen für den Benutzer anzuzeigen. Wählen Sie dann **Add permissions (Berechtigungen hinzufügen)**.

Die Konsole zeigt eine Statusmeldung an, die Sie darüber informiert, dass die Richtlinie dem von Ihnen angegebenen IAM-Benutzer hinzugefügt wurde.

------

### So legen Sie die Berechtigungsgrenze für einen IAM-Benutzer fest
<a name="users_change_permissions-set-boundary-console"></a>

Eine Berechtigungsgrenze ist eine erweiterte Funktion zur Verwaltung von Berechtigungen AWS , mit der die maximalen Berechtigungen festgelegt werden, die ein IAM-Benutzer haben kann. Durch das Festlegen einer Berechtigungsgrenze werden die Berechtigungen des IAM-Benutzers sofort auf diese Grenze beschränkt, unabhängig von den anderen gewährten Berechtigungen.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**.

1. Wählen Sie in der Liste **Benutzer** den Namen des IAM-Benutzers aus, dessen Berechtigungsgrenzen Sie ändern möchten. 

1. Wählen Sie die Registerkarte **Berechtigungen**. Falls erforderlich, öffnen Sie den Abschnitt **Permissions boundary (Berechtigungsgrenze)** und wählen Sie **Set permissions boundary (Berechtigungsgrenze festlegen)**.

1. Wählen Sie auf der Seite **Berechtigungsgrenze festlegen** unter **Berechtigungsrichtlinien** die Richtlinie aus, die Sie für die Berechtigungsgrenze verwenden möchten.

1. Wählen Sie **Set boundary (Grenze festlegen)**.

Die Konsole zeigt eine Statusmeldung an, die Sie darüber informiert, dass die Berechtigungsgrenze hinzugefügt wurde.

------

## Ändern von Berechtigungen für einen Benutzer (Konsole)
<a name="users_change_permissions-change-console"></a>

IAM ermöglicht Ihnen, die Berechtigungen, die einem Benutzer zugeordnet sind, auf folgende Weise zu ändern:
+ **Bearbeiten einer Berechtigungsrichtlinie** – Bearbeiten einer Inline-Richtlinie des Benutzers, der eingebundenen Richtlinie der Gruppe des Benutzers, oder bearbeiten einer verwalteten Richtlinie, die dem Benutzer direkt oder aus einer Gruppe angefügt wird. Wenn der Benutzer eine Berechtigungsgrenze hat, können Sie nicht mehr Berechtigungen bereitstellen, als von der Richtlinie, die als Berechtigungsgrenze des Benutzers verwendet wurde, erlaubt ist.
+ **Ändern der Berechtigungsgrenze** – Ändern Sie die Richtlinie, die als Berechtigungsgrenze für den Benutzer verwendet wird. Dadurch können die maximalen Berechtigungen, die ein Benutzer haben kann, erweitert oder eingeschränkt werden. 

### Bearbeiten einer Berechtigungsrichtlinie, die einem Benutzer hinzugefügt wurde
<a name="users_change_permissions-edit-policy-console"></a>

Durch das Ändern der Berechtigungen wird der Zugriff des Benutzers sofort aktualisiert.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**.

1. Wählen Sie in der Liste **Benutzer** den Namen des IAM-Benutzers aus, dessen Berechtigungsgrenzen Sie ändern möchten. 

1. Wählen Sie die Registerkarte **Berechtigungen**. Öffnen Sie bei Bedarf den Abschnitt **Berechtigungsgrenze**.

1. Wählen Sie den Namen der Richtlinie, die Sie bearbeiten möchten, um Details zur Richtlinie anzuzeigen. Wählen Sie die Registerkarte **Angefügte Entitäten** aus, um andere Entitäten (IAM-Benutzer, -Gruppen und -Rollen) anzuzeigen, die möglicherweise betroffen sind, wenn Sie die Richtlinie bearbeiten. 

1. Wählen Sie die Registerkarte **Permissions (Berechtigungen)** und überprüfen Sie die Berechtigungen, die durch die Richtlinie erteilt werden. Um Änderungen an den Berechtigungen vorzunehmen, wählen Sie **Bearbeiten** aus. 

1. Bearbeiten Sie die Richtlinie und lösen Sie alle Empfehlungen zur [policy validation (Richtlinienvalidierung)](access_policies_policy-validator.md). Weitere Informationen finden Sie unter [IAM-Richtlinien bearbeiten](access_policies_manage-edit.md).

1. Wählen Sie **Weiter**, überprüfen Sie die Richtlinienzusammenfassung und wählen Sie dann **Änderungen speichern** aus.

Die Konsole zeigt eine Statusmeldung an, die Sie darüber informiert, dass die Richtlinie aktualisiert wurde.

------

### So ändern Sie die Berechtigungsgrenze für einen Benutzer
<a name="users_change_permissions-change-boundary-console"></a>

Durch das Ändern einer Berechtigungsgrenze wird der Zugriff des Benutzers sofort aktualisiert.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**.

1. Wählen Sie in der Liste **Benutzer** den Namen des IAM-Benutzers aus, dessen Berechtigungsgrenzen Sie ändern möchten. 

1. Wählen Sie die Registerkarte **Berechtigungen**. Falls erforderlich, öffnen Sie den Abschnitt **Permissions boundary (Berechtigungsgrenze)** und wählen **Change boundary (Grenze ändern)**.

1. Wählen Sie die Richtlinie aus, die Sie für die Berechtigungsgrenze verwenden möchten.

1. Wählen Sie **Set boundary (Grenze festlegen)**.

Die Konsole zeigt eine Statusmeldung an, die Sie darüber informiert, dass die Berechtigungsgrenze geändert wurde.

------

## So entfernen Sie eine Berechtigungsrichtlinie von einem Benutzer (Konsole)
<a name="users_change_permissions-remove-policy-console"></a>

Durch das Entfernen einer Berechtigungsrichtlinie wird der Zugriff des Benutzers sofort aktualisiert.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**.

1. Wählen Sie den Namen des Benutzers, dessen Berechtigungsrichtlinien Sie entfernen möchten. 

1. Wählen Sie die Registerkarte **Berechtigungen**. 

1. Wenn Sie Berechtigungen entfernen möchten, indem Sie eine vorhandene Richtlinie entfernen, sehen Sie sich die Spalte **Angefügt über** an, um zu verstehen, wie der Benutzer diese Richtlinie erhält, bevor Sie **Entfernen** auswählen, um die Richtlinie zu entfernen:
   + Erfolgt die Anwendung der Richtlinie wegen einer Gruppenmitgliedschaft, wird mit **Remove (Entfernen)** der Benutzer aus der Gruppe entfernt. Denken Sie daran, dass einer Gruppe möglicherweise mehrere Richtlinien angefügt wurden. Wenn Sie einen Benutzer aus einer Gruppe entfernen, verliert er den Zugriff auf *alle* Richtlinien, die ihm über die Gruppenmitgliedschaft zugewiesen wurden.
   + Wenn die Richtlinie eine direkt zum Benutzer angefügte verwaltete Richtlinie ist, wird durch die Auswahl von **Remove (Entfernen)** die Richtlinie vom Benutzer getrennt. Dies hat keine Auswirkungen auf die Richtlinie selbst oder eine andere Entität, zu der die Richtlinie angefügt ist.
   + Wenn es sich bei der Richtlinie um eine eingebettete Inline-Richtlinie handelt, wird die Richtlinie durch die Auswahl von **Entfernen** aus IAM entfernt. Inlinerichtlinien, die direkt einem Benutzer angefügt werden, sind nur für diesen Benutzer vorhanden.

Wenn die Richtlinie dem Benutzer über eine Gruppenmitgliedschaft gewährt wurde, zeigt die Konsole eine Statusmeldung an, die Sie darüber informiert, dass der IAM-Benutzer aus der IAM-Gruppe entfernt wurde. Wenn die Richtlinie direkt angefügt oder eingebunden ist, informiert Sie die Statusmeldung darüber, dass die Richtlinie entfernt wurde.

------

## So entfernen Sie die Berechtigungsgrenze eines Benutzers (Konsole)
<a name="users_change_permissions-remove-boundary-console"></a>

Durch das Entfernen der Berechtigungsgrenze wird der Zugriff des Benutzers sofort aktualisiert.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**.

1. Wählen Sie in der Liste **Benutzer** den Namen des IAM-Benutzers aus, dessen Berechtigungsgrenze Sie entfernen möchten. 

1. Wählen Sie die Registerkarte **Berechtigungen**. Öffnen Sie bei Bedarf den Abschnitt **Berechtigungsgrenze**.

1.  Wählen Sie **Change boundary (Grenze ändern)**. Um zu bestätigen, dass Sie die Berechtigungsgrenze entfernen möchten, wählen Sie im Bestätigungsdialogfeld **Grenze entfernen** aus.

Die Konsole zeigt eine Statusmeldung an, die Sie darüber informiert, dass die Berechtigungsgrenze entfernt wurde.

------

## Berechtigungen (AWS CLI oder AWS API) eines Benutzers hinzufügen und entfernen
<a name="users_change_permissions-add-programmatic"></a>

Um Berechtigungen programmgesteuert hinzuzufügen oder zu entfernen, müssen Sie die Gruppenmitgliedschaften hinzufügen oder entfernen, die verwaltete Richtlinien zuordnen bzw. diese Zuordnung aufheben oder die Inlinerichtlinien hinzufügen oder löschen. Weitere Informationen finden Sie unter den folgenden Themen:
+ [Bearbeiten von Benutzern in IAM-Gruppen](id_groups_manage_add-remove-users.md)
+ [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](access_policies_manage-attach-detach.md)

# Benutzerpasswörter in AWS
<a name="id_credentials_passwords"></a>

Sie können Passwörter für IAM-Benutzer in Ihrem Konto verwalten. IAM-Benutzer benötigen Passwörter, um auf die AWS-Managementkonsole zugreifen zu können. Benutzer benötigen keine Passwörter, um programmgesteuert mit den Tools für Windows PowerShell oder AWS CLI oder auf AWS Ressourcen zuzugreifen. AWS SDKs APIs Für diese Umgebungen haben Sie die Möglichkeit, IAM-Benutzern [Zugriffsschlüssel](id_credentials_access-keys.md) zuzuweisen. Es gibt jedoch andere sicherere Alternativen als Zugangsschlüssel, die Sie zunächst in Betracht ziehen sollten. Weitere Informationen finden Sie unter [AWS Sicherheitsnachweise](security-creds.md).

**Anmerkung**  
Wenn einer Ihrer IAM-Benutzer sein Passwort verliert oder vergisst, können Sie es *nicht* von IAM abrufen. Abhängig von Ihren Einstellungen muss entweder der Benutzer oder der Administrator ein neues Passwort erstellen.

**Topics**
+ [

# Konto-Passwortrichtlinie für IAM-Benutzer festlegen
](id_credentials_passwords_account-policy.md)
+ [

# Verwalten von Passwörtern für IAM-Benutzer
](id_credentials_passwords_admin-change-user.md)
+ [

# IAM-Benutzern erlauben, ihre eigenen Passwörter zu ändern
](id_credentials_passwords_enable-user-change.md)
+ [

# Wie ein IAM-Benutzer sein eigenes Passwort ändert
](id_credentials_passwords_user-change-own.md)

# Konto-Passwortrichtlinie für IAM-Benutzer festlegen
<a name="id_credentials_passwords_account-policy"></a>

Sie können eine benutzerdefinierte Passwortrichtlinie für Sie einrichten AWS-Konto , um Komplexitätsanforderungen und obligatorische Rotationsperioden für die Passwörter Ihrer IAM-Benutzer festzulegen. Wenn Sie keine benutzerdefinierte Kennwortrichtlinie festlegen, müssen IAM-Benutzerkennwörter der AWS Standard-Passwortrichtlinie entsprechen. Weitere Informationen finden Sie unter [Benutzerdefinierte Optionen für Passwortrichtlinien](#password-policy-details).

**Topics**
+ [

## Einrichten einer Passwortrichtlinie
](#password-policy-rules)
+ [

## Zum Festlegen einer Passwortrichtlinie erforderliche Berechtigungen
](#default-policy-permissions-required)
+ [

## Standard-Passwortrichtlinie
](#default-policy-details)
+ [

## Benutzerdefinierte Optionen für Passwortrichtlinien
](#password-policy-details)
+ [

## So legen Sie eine Passwortrichtlinie fest (Konsole)
](#IAMPasswordPolicy)
+ [

## So ändern Sie eine Passwortrichtlinie (Konsole)
](#id_credentials_passwords_account-policy-section-1)
+ [

## So löschen Sie eine benutzerdefinierte Passwortrichtlinie (Konsole)
](#id_credentials_passwords_account-policy-section-2)
+ [

## Einrichten einer Passwortrichtlinie (AWS CLI)
](#PasswordPolicy_CLI)
+ [

## Einrichtung einer Passwortrichtlinie (AWS API)
](#PasswordPolicy_API)

## Einrichten einer Passwortrichtlinie
<a name="password-policy-rules"></a>

Die IAM-Passwortrichtlinie gilt nicht für das Root-Benutzer des AWS-Kontos Passwort oder die IAM-Benutzerzugriffsschlüssel. Wenn ein Passwort abläuft, kann sich der IAM-Benutzer nicht bei dem anmelden, AWS-Managementkonsole sondern seine Zugangsschlüssel weiterhin verwenden.

Wenn Sie eine Passwortrichtlinie erstellen oder ändern, werden die meisten Einstellungen darin wirksam, sobald die Benutzer ihre Passwörter ändern. Einige Einstellungen werden jedoch sofort wirksam. Zum Beispiel: 
+ Wenn sich die Anforderungen für die Mindestlänge oder Zeichenanforderungen ändern, werden diese Einstellungen bei der nächsten Änderung eines Passworts umgesetzt. Benutzer müssen ihre vorhandenen Passwörter nicht ändern, auch wenn diese nicht den Anforderungen der aktualisierten Passwortrichtlinie entsprechen.
+ Wenn Sie einen Ablaufzeitraum für Passwörter festlegen, wird dieser sofort umgesetzt. Beispiel: Sie legen einen Passwort-Ablaufzeitraum von 90 Tagen fest. In diesem Fall läuft das Passwort für alle IAM-Benutzer ab, deren bestehendes Passwort älter als 90 Tage ist. Diese Benutzer müssen ihr Passwort bei der nächsten Anmeldung ändern.

Sie können keine „Lockout-Richtlinie“ erstellen, um einen Benutzer nach einer bestimmten Anzahl von fehlgeschlagenen Anmeldeversuchen aus dem Konto zu sperren. Zur Erhöhung der Sicherheit empfehlen wir Ihnen, eine starke Passwortrichtlinie mit Multi-Factor-Authentication (MFA) zu kombinieren. Weitere Informationen zu MFA finden Sie unter [AWS Multi-Faktor-Authentifizierung in IAM](id_credentials_mfa.md).

## Zum Festlegen einer Passwortrichtlinie erforderliche Berechtigungen
<a name="default-policy-permissions-required"></a>

Sie müssen Berechtigungen konfigurieren, damit eine IAM-Entität (Benutzer oder Rolle) ihre KontoPasswortrichtlinie anzeigen oder bearbeiten kann. Sie können die folgenden Passwortrichtlinienaktionen in eine IAM-Richtlinie aufnehmen: 
+ `iam:GetAccountPasswordPolicy` – Ermöglicht der Entität das Anzeigen der Passwortrichtlinie für ihr Konto
+ `iam:DeleteAccountPasswordPolicy` – Ermöglicht der Entität, die benutzerdefinierte Passwortrichtlinie für ihr Konto zu löschen und zur StandardPasswortrichtlinie zurückzukehren
+ `iam:UpdateAccountPasswordPolicy` – Ermöglicht der Entität das Erstellen oder Ändern der benutzerdefinierten Passwortrichtlinie für ihr Konto

Die folgende Richtlinie ermöglicht den vollständigen Zugriff zum Anzeigen und Bearbeiten der KontoPasswortrichtlinie. Informationen zum Erstellen einer IAM-Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "FullAccessPasswordPolicy",
            "Effect": "Allow",
            "Action": [
                "iam:GetAccountPasswordPolicy",
                "iam:DeleteAccountPasswordPolicy",
                "iam:UpdateAccountPasswordPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Informationen zu den Berechtigungen, die ein IAM-Benutzer zum Ändern seines eigenen Passworts benötigt, finden Sie unter [IAM-Benutzern erlauben, ihre eigenen Passwörter zu ändern](id_credentials_passwords_enable-user-change.md).

## Standard-Passwortrichtlinie
<a name="default-policy-details"></a>

Wenn ein Administrator keine benutzerdefinierte Kennwortrichtlinie festlegt, müssen die IAM-Benutzerkennwörter der AWS Standard-Passwortrichtlinie entsprechen.

Die StandardPasswortrichtlinie setzt die folgenden Bedingungen durch:
+ Mindestpasswortlänge von 8 Zeichen und eine Maximallänge von 128 Zeichen
+ Mindestens drei der folgenden Zeichenarten: Großbuchstaben, Kleinbuchstaben, Zahlen und die Symbole `! @ # $ % ^ & * ( ) _ + - = [ ] { } | '`
+ nicht identisch mit Ihrem AWS-Konto Namen oder Ihrer E-Mail-Adresse sein
+ Passwort niemals ablaufen lassen

## Benutzerdefinierte Optionen für Passwortrichtlinien
<a name="password-policy-details"></a>

Wenn Sie eine benutzerdefinierte Passwortrichtlinie für Ihr Konto konfigurieren, können Sie die folgenden Bedingungen festlegen:
+ **Passwort-Mindestlänge** – Sie können mindestens 6 Zeichen und maximal 128 Zeichen angeben.
+ **Passwortstärke** – Sie können jedes der folgenden Kontrollkästchen aktivieren, um die Stärke Ihrer IAM-Benutzerpasswörter festzulegen:
  + Erfordern mindestens einen Großbuchstaben aus dem lateinischen Alphabet (A–Z)
  + Erfordern mindestens einen Kleinbuchstaben aus dem lateinischen Alphabet (a–z)
  + Mindestens eine Zahl
  + Erfordert mindestens ein nicht alphanumerisches Zeichen `! @ # $ % ^ & * ( ) _ + - = [ ] { } | '` 
+ **Passwortablauf aktivieren** – Sie können für die Gültigkeitsdauer von IAM-Benutzerpasswörtern mindestens 1 und maximal 1 095 Tage auswählen, die Passwörter nach ihrer Erstellung gültig sein sollen. Wenn Sie beispielsweise einen Ablaufzeitraum von 90 Tagen angeben, wirkt sich dies sofort auf alle Ihre Benutzer aus. Für Benutzer mit Passwörtern, die älter als 90 Tage sind, müssen sie, wenn sie sich nach der Änderung bei der Konsole anmelden, ein neues Passwort festlegen. Benutzer mit Passwörtern, die zwischen 75 und 89 Tage alt sind, erhalten eine AWS-Managementkonsole Warnung, dass ihr Passwort abläuft. IAM-Benutzer können ihr Passwort jederzeit ändern, wenn sie über eine entsprechende Berechtigung verfügen. Der Ablaufzeitraum beginnt von vorn, sobald ein neues Passwort festgelegt wird. Ein IAM-Benutzer kann immer nur ein gültiges Passwort gleichzeitig haben.
+ Für den **Ablauf des Kennworts ist ein Zurücksetzen durch den Administrator erforderlich** — Wählen Sie diese Option, um AWS-Managementkonsole zu verhindern, dass IAM-Benutzer nach Ablauf des Kennworts ihre eigenen Passwörter aktualisieren. Stellen Sie vor dem Aktivieren dieser Option sicher, dass für das AWS-Konto mehr als ein Benutzer mit Administratorberechtigungen (also mit der Berechtigung zum Zurücksetzen von IAM-Benutzerpasswörtern) existiert. Administratoren mit `iam:UpdateLoginProfile`-Berechtigung können IAM-Benutzer-Passwörter zurücksetzen. IAM-Benutzer mit `iam:ChangePassword`-Berechtigung und aktive Zugriffsschlüssel können ihr eigenes IAM-Benutzer-Konsolenpasswort programmgesteuert zurücksetzen. Wenn Sie dieses Kontrollkästchen deaktivieren, müssen IAM-Benutzer mit abgelaufenen Passwörtern trotzdem ein neues Passwort festlegen, bevor sie auf die AWS-Managementkonsole zugreifen können.
+ **Benutzern erlauben, ihr eigenes Passwort zu ändern** – Sie können allen IAM-Benutzern in Ihrem Konto die Berechtigung gewähren ihr eigenes Passwort zu ändern. Dadurch erhalten Benutzer Zugriff auf die `iam:ChangePassword`-Aktion nur für ihren Benutzer und auf die `iam:GetAccountPasswordPolicy`-Aktion. Mit dieser Option wird nicht jedem Benutzer eine Berechtigungsrichtlinie zugewiesen. Stattdessen wendet IAM die Berechtigungen auf Kontoebene für alle Benutzer an. Sie können alternativ auch nur ausgewählten Benutzern die Berechtigung zum Verwalten ihrer eigenen Passwörter gewähren. Deaktivieren Sie hierzu dieses Kontrollkästchen. Weitere Informationen dazu, wie Sie mithilfe von Richtlinien steuern, welche Benutzer Passwörter verwalten können, finden Sie unter [IAM-Benutzern erlauben, ihre eigenen Passwörter zu ändern](id_credentials_passwords_enable-user-change.md).
+ **Wiederverwendung von Passwörtern verhindern** – Sie können verhindern, dass IAM-Benutzer eine bestimmte Anzahl an zuvor verwendeten Passwörtern wiederverwenden. Sie können eine Mindestanzahl von 1 und eine maximale Anzahl von 24 vorherigen Passwörtern angeben, die nicht wiederholt werden können. 

## So legen Sie eine Passwortrichtlinie fest (Konsole)
<a name="IAMPasswordPolicy"></a>

Sie können die verwenden, AWS-Managementkonsole um eine benutzerdefinierte Kennwortrichtlinie zu erstellen, zu ändern oder zu löschen. Änderungen an der Passwortrichtlinie gelten für neue IAM-Benutzer, die nach dieser Richtlinienänderung erstellt werden, und für vorhandene IAM-Benutzer, wenn diese ihre Passwörter ändern.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Wählen Sie im Navigationsbereich **Account Settings (Kontoeinstellungen)**.

1. Wählen Sie im Abschnitt **Password policy (Passwortrichtlinie)** die Option **Edit (Bearbeiten)** aus. 

1. Wählen Sie **Custom (Benutzerdefiniert)**, um eine benutzerdefinierte Passwortrichtlinie zu verwenden.

1. Wählen Sie die Optionen aus, die Sie auf Ihre Passwortrichtlinie anwenden möchten, und wählen Sie **Änderungen speichern**. 

1. Bestätigen Sie, dass Sie die Richtlinie für benutzerdefinierte Passwörter festlegen möchten, indem Sie **Set custom (Benutzerdefiniert festlegen)** wählen.

Die Konsole zeigt eine Statusmeldung an, die Sie darüber informiert, dass die Passwortanforderungen für IAM-Benutzer aktualisiert wurden.

------

## So ändern Sie eine Passwortrichtlinie (Konsole)
<a name="id_credentials_passwords_account-policy-section-1"></a>

Sie können die verwenden, AWS-Managementkonsole um eine benutzerdefinierte Passwortrichtlinie zu erstellen, zu ändern oder zu löschen. Änderungen an der Passwortrichtlinie gelten für neue IAM-Benutzer, die nach dieser Richtlinienänderung erstellt werden, und für vorhandene IAM-Benutzer, wenn diese ihre Passwörter ändern.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Wählen Sie im Navigationsbereich **Account Settings (Kontoeinstellungen)**.

1. Wählen Sie im Abschnitt **Password policy (Passwortrichtlinie)** die Option **Edit (Bearbeiten)** aus. 

1. Wählen Sie die Optionen aus, die Sie auf Ihre Passwortrichtlinie anwenden möchten, und wählen Sie **Änderungen speichern**. 

1. Bestätigen Sie, dass Sie die Richtlinie für benutzerdefinierte Passwörter festlegen möchten, indem Sie **Set custom (Benutzerdefiniert festlegen)** wählen.

Die Konsole zeigt eine Statusmeldung an, die Sie darüber informiert, dass die Passwortanforderungen für IAM-Benutzer aktualisiert wurden.

------

## So löschen Sie eine benutzerdefinierte Passwortrichtlinie (Konsole)
<a name="id_credentials_passwords_account-policy-section-2"></a>

Sie können die verwenden, AWS-Managementkonsole um eine benutzerdefinierte Passwortrichtlinie zu erstellen, zu ändern oder zu löschen. Änderungen an der Passwortrichtlinie gelten für neue IAM-Benutzer, die nach dieser Richtlinienänderung erstellt werden, und für vorhandene IAM-Benutzer, wenn diese ihre Passwörter ändern.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Wählen Sie im Navigationsbereich **Account Settings (Kontoeinstellungen)**.

1. Wählen Sie im Abschnitt **Password policy (Passwortrichtlinie)** die Option **Edit (Bearbeiten)** aus. 

1. Wählen Sie **IAM default (IAM-Standard)**, um die benutzerdefinierte Passwortrichtlinie zu löschen, und wählen Sie **Save changes (Änderungen speichern)**.

1. Bestätigen Sie, dass Sie die IAM-Standardrichtlinie für Passwörter festlegen möchten, indem Sie **Set default (Benutzerdefiniert festlegen)** wählen.

Die Konsole zeigt eine Statusmeldung an, die Sie darüber informiert, dass die Passwortrichtlinie auf den IAM-Standard eingestellt ist.

------

## Einrichten einer Passwortrichtlinie (AWS CLI)
<a name="PasswordPolicy_CLI"></a>

Sie können den verwenden AWS Command Line Interface , um eine Passwortrichtlinie festzulegen.

**Um die Passwortrichtlinie für benutzerdefinierte Konten über das zu verwalten AWS CLI**  
Führen Sie die folgenden Befehle aus:
+ So erstellen oder ändern Sie die Richtlinie für benutzerdefinierte Passwörter: [https://docs.aws.amazon.com/cli/latest/reference/iam/update-account-password-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/update-account-password-policy.html)
+ So zeigen Sie die Passwortrichtlinie an: [https://docs.aws.amazon.com/cli/latest/reference/iam/get-account-password-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/get-account-password-policy.html) 
+ So löschen Sie die Richtlinie für benutzerdefinierte Passwörter: [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-account-password-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-account-password-policy.html) 

## Einrichtung einer Passwortrichtlinie (AWS API)
<a name="PasswordPolicy_API"></a>

Sie können AWS API-Operationen verwenden, um eine Passwortrichtlinie festzulegen.

**Um die Passwortrichtlinie für benutzerdefinierte Konten über die AWS API zu verwalten**  
Rufen Sie die folgenden Operationen auf:
+ So erstellen oder ändern Sie die Richtlinie für benutzerdefinierte Passwörter: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccountPasswordPolicy.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccountPasswordPolicy.html)
+ So zeigen Sie die Passwortrichtlinie an: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccountPasswordPolicy.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccountPasswordPolicy.html) 
+ So löschen Sie die Richtlinie für benutzerdefinierte Passwörter: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccountPasswordPolicy.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccountPasswordPolicy.html) 

# Verwalten von Passwörtern für IAM-Benutzer
<a name="id_credentials_passwords_admin-change-user"></a>

IAM-Benutzer, die den AWS-Managementkonsole für die Arbeit mit AWS Ressourcen verwenden, benötigen ein Passwort, um sich anmelden zu können. Sie können ein Passwort für einen IAM-Benutzer in Ihrem AWS -Konto erstellen, ändern oder löschen. 

Nachdem Sie einem Benutzer ein Passwort zugewiesen haben, kann sich der Benutzer AWS-Managementkonsole mit der Anmelde-URL für Ihr Konto anmelden, die wie folgt aussieht: 

```
https://12-digit-AWS-account-ID or alias.signin.aws.amazon.com/console
```

Weitere Informationen darüber, wie sich IAM-Benutzer bei der anmelden AWS-Managementkonsole, finden Sie unter [So melden Sie sich an AWS im AWS-Anmeldung](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) *Benutzerhandbuch*. 

Auch wenn Ihre Benutzer ihre eigenen Passwörter haben, benötigen Sie dennoch Berechtigungen für den Zugriff auf Ihre AWS -Ressourcen. Standardmäßig hat ein Benutzer keine Berechtigungen. Um Ihren Benutzern die erforderlichen Berechtigungen zu gewähren, weisen Sie ihnen oder den Gruppen, zu denen sie gehören, Richtlinien zu. Weitere Informationen zum Erstellen von Benutzern und Gruppen finden Sie unter [IAM-Identitäten](id.md). Weitere Informationen zum Verwenden von Richtlinien, um Berechtigungen festzulegen, finden Sie unter [Ändern von Berechtigungen für einen IAM-Benutzer](id_users_change-permissions.md). 

Sie können Benutzern die Berechtigung zuweisen, ihre eigenen Passwörter zu ändern. Weitere Informationen finden Sie unter [IAM-Benutzern erlauben, ihre eigenen Passwörter zu ändern](id_credentials_passwords_enable-user-change.md). Weitere Informationen zum Zugriff auf die Anmeldeseite durch Benutzer finden Sie unter [Anmelden bei AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS-Anmeldung -Benutzerhandbuch*. 

**Topics**
+ [

## Erstellen, Ändern oder Löschen eines IAM-Benutzerpassworts (Konsole)
](#id_credentials_passwords_admin-change-user_console)

## Erstellen, Ändern oder Löschen eines IAM-Benutzerpassworts (Konsole)
<a name="id_credentials_passwords_admin-change-user_console"></a>

Sie können den verwenden AWS-Managementkonsole , um Passwörter für Ihre IAM-Benutzer zu verwalten.

Die Zugriffsanforderungen Ihrer Benutzer können sich im Laufe der Zeit ändern. Möglicherweise müssen Sie einem Benutzer, der für den CLI-Zugriff vorgesehen ist, Zugriff auf die Konsole gewähren, das Passwort eines Benutzers ändern, weil er die E-Mail mit seinen Anmeldeinformationen erhält, oder einen Benutzer löschen, wenn er Ihre Organisation verlässt oder keinen AWS Zugriff mehr benötigt. 

### So erstellen Sie ein IAM-Benutzerpasswort (Konsole)
<a name="id_credentials_passwords_admin-change-user-section-1"></a>

Gehen Sie wie folgt vor, um einem Benutzer Konsolenzugriff zu gewähren, indem Sie ein Passwort erstellen, das dem Benutzernamen zugeordnet ist.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**.

1. Wählen Sie den Namen des Benutzers aus, dessen Passwort Sie erstellen möchten. 

1. Wählen Sie die Registerkarte **Security credentials (Sicherheitsanmeldeinformationen)** und wählen Sie dann unter **Console sign-in (Konsolenanmeldung)** die Option **Enable console access (Konsolenzugriff aktivieren)** aus.

1. Wählen Sie im Dialogfeld **Konsolenzugriff aktivieren** die Option **Passwort zurücksetzen** aus und legen Sie dann fest, ob IAM ein Passwort generieren oder ein benutzerdefiniertes Passwort erstellen soll: 
   + Wenn IAM ein Passwort generieren soll, wählen Sie **Automatisch generiertes Passwort**.
   + Wenn ein benutzerdefiniertes Passwort erstellt werden soll, wählen Sie **Custom password (Benutzerdefiniertes Passwort)** aus und geben Sie das Passwort ein. 
**Anmerkung**  
Das von Ihnen erstellte Passwort muss den [Passwortrichtlinie](id_credentials_passwords_account-policy.md) des Kontos entsprechen.

1. Um vom Benutzer zu verlangen, bei der Anmeldung ein neues Passwort zu erstellen, wählen Sie **Passwort-Änderung bei der nächsten Anmeldung anfordern** aus. 

1. Um den Benutzer zur sofortigen Verwendung des neuen Passworts aufzufordern, wählen Sie **Aktive Konsolensitzungen widerrufen** aus. Dadurch wird dem IAM-Benutzer eine Inline-Richtlinie zugewiesen, die dem Benutzer den Zugriff auf Ressourcen verweigert, wenn seine Anmeldeinformationen älter sind als die in der Richtlinie angegebene Zeit.

1. Wählen Sie **Passwort zurücksetzen**

1. Das Dialogfeld **Konsolenpasswort** informiert Sie darüber, dass Sie das neue Passwort des Benutzers aktiviert haben. Um das Passwort anzuzeigen, damit Sie es dem Benutzer mitteilen können, wählen Sie **Anzeigen** im Dialogfeld **Konsolenpasswort**. Wählen Sie **CSV-Datei herunterladen** aus, um eine Datei mit den Anmeldeinformationen des Benutzers herunterzuladen.
**Wichtig**  
Aus Sicherheitsgründen können Sie nach Ausführen dieses Schritts nicht auf das Passwort zugreifen, Sie können jedoch jederzeit ein neues Passwort erstellen.

Die Konsole zeigt eine Statusmeldung an, die Sie darüber informiert, dass der Konsolenzugriff aktiviert wurde.

------

### So ändern Sie das Passwort für einen IAM-Benutzer (Konsole)
<a name="id_credentials_passwords_admin-change-user-section-2"></a>

Gehen Sie wie folgt vor, um ein dem Benutzernamen zugeordnetes Passwort zu aktualisieren.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**.

1. Wählen Sie den Namen des Benutzers aus, dessen Passwort Sie ändern möchten. 

1. Wählen Sie die Registerkarte **Security credentials (Sicherheitsanmeldeinformationen)** und wählen Sie dann unter **Console sign-in (Konsolenanmeldung)** die Option **Manage console access (Konsolenzugriff verwalten)** aus.

1. Wählen Sie im Dialogfeld **Konsolenzugriff verwalten** die Option **Passwort zurücksetzen** aus und legen Sie dann fest, ob IAM ein Passwort generieren oder ein benutzerdefiniertes Passwort erstellen soll: 
   + Wenn IAM ein Passwort generieren soll, wählen Sie **Automatisch generiertes Passwort**.
   + Wenn ein benutzerdefiniertes Passwort erstellt werden soll, wählen Sie **Custom password (Benutzerdefiniertes Passwort)** aus und geben Sie das Passwort ein. 
**Anmerkung**  
Das von Ihnen erstellte Passwort muss den [Passwortrichtlinie](id_credentials_passwords_account-policy.md) des Kontos entsprechen.

1. Um vom Benutzer zu verlangen, bei der Anmeldung ein neues Passwort zu erstellen, wählen Sie **Passwort-Änderung bei der nächsten Anmeldung anfordern** aus. 

1. Um den Benutzer zur sofortigen Verwendung des neuen Passworts aufzufordern, wählen Sie **Aktive Konsolensitzungen widerrufen** aus. Dadurch wird dem IAM-Benutzer eine Inline-Richtlinie zugewiesen, die dem Benutzer den Zugriff auf Ressourcen verweigert, wenn seine Anmeldeinformationen älter sind als die in der Richtlinie angegebene Zeit.

1. Wählen Sie **Passwort zurücksetzen**

1. Das Dialogfeld **Konsolenpasswort** informiert Sie darüber, dass Sie das neue Passwort des Benutzers aktiviert haben. Um das Passwort anzuzeigen, damit Sie es dem Benutzer mitteilen können, wählen Sie **Anzeigen** im Dialogfeld **Konsolenpasswort**. Wählen Sie **CSV-Datei herunterladen** aus, um eine Datei mit den Anmeldeinformationen des Benutzers herunterzuladen.
**Wichtig**  
Aus Sicherheitsgründen können Sie nach Ausführen dieses Schritts nicht auf das Passwort zugreifen, Sie können jedoch jederzeit ein neues Passwort erstellen.

Die Konsole zeigt eine Statusmeldung an, die Sie darüber informiert, dass der Konsolenzugriff aktualisiert wurde.

------

### So löschen (deaktivieren) Sie das Passwort eines IAM-Benutzers (Konsole)
<a name="id_credentials_passwords_admin-change-user-section-3"></a>

Gehen Sie wie folgt vor, um ein dem Benutzernamen zugeordnetes Passwort zu löschen und dem Benutzer den Konsolenzugriff zu entziehen.

**Wichtig**  
Sie können verhindern, dass ein IAM-Benutzer auf die zugreift, AWS-Managementkonsole indem Sie sein Passwort entfernen. Dadurch wird verhindert, dass sie sich AWS-Managementkonsole mit ihren Anmeldeinformationen bei der anmelden. Es ändert weder ihre Berechtigungen noch verhindert, dass sie mit einer angenommenen Rolle auf die Konsole zugreifen. Wenn der Benutzer über aktive Zugriffsschlüssel verfügt, funktionieren diese weiterhin und ermöglichen den Zugriff über die AWS CLI Tools für Windows PowerShell, die AWS API oder die AWS Console Mobile Application.

------
#### [ Console ]

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [So melden Sie sich bei AWS an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS -Anmelde-Benutzerhandbuch* beschrieben.

1. Geben Sie auf der **Startseite der IAM-Konsole** im linken Navigationsbereich Ihre Abfrage in das Textfeld **IAM suchen** ein.

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**.

1. Wählen Sie den Namen des Benutzers aus, dessen Passwort Sie löschen möchten. 

1. Wählen Sie die Registerkarte **Security credentials (Sicherheitsanmeldeinformationen)** und wählen Sie dann unter **Console sign-in (Konsolenanmeldung)** die Option **Manage console access (Konsolenzugriff verwalten)** aus.

1. Um den Benutzer aufzufordern, die Verwendung der Konsole sofort zu beenden, wählen Sie **Aktive Konsolensitzungen widerrufen** aus. Dadurch wird dem IAM-Benutzer eine Inline-Richtlinie zugewiesen, die dem Benutzer den Zugriff auf Ressourcen verweigert, wenn seine Anmeldeinformationen älter sind als die in der Richtlinie angegebene Zeit.

1. Wählen Sie **Zugriff deaktivieren**

Die Konsole zeigt eine Statusmeldung an, die Sie darüber informiert, dass der Konsolenzugriff deaktiviert wurde.

------

### Erstellen, Ändern oder Löschen eines IAM-Benutzerpassworts (AWS CLI)
<a name="Using_ManagingPasswordsCLIAPI"></a>

Sie können die AWS CLI API verwenden, um Passwörter für Ihre IAM-Benutzer zu verwalten.

**So erstellen Sie ein Passwort (AWS CLI)**

1. (Optional) Um festzustellen, ob ein Benutzer ein Passwort hat, führen Sie diesen Befehl aus: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/get-login-profile.html) iam get-login-profile

1. Führen Sie diesen Befehl aus, um ein Passwort zu erstellen: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/create-login-profile.html) iam create-login-profile

**So ändern Sie das Passwort eines Benutzers (AWS CLI)**

1. (Optional) Um festzustellen, ob ein Benutzer ein Passwort hat, führen Sie diesen Befehl aus: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/get-login-profile.html) iam get-login-profile

1. Um ein Passwort zu ändern, führen Sie diesen Befehl aus: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/update-login-profile.html) iam update-login-profile

**So löschen (deaktivieren) Sie das Passwort eines Benutzers (AWS CLI)**

1. (Optional) Um festzustellen, ob ein Benutzer ein Passwort hat, führen Sie diesen Befehl aus: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/get-login-profile.html) iam get-login-profile

1. (Optional) Um zu ermitteln, wann ein Passwort zuletzt verwendet wurde, führen Sie diesen Befehl aus: [aws iam get-user](https://docs.aws.amazon.com/cli/latest/reference/iam/get-user.html)

1. Um ein Passwort zu löschen, führen Sie diesen Befehl aus: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-login-profile.html) iam delete-login-profile

**Wichtig**  
Wenn Sie das Passwort eines Benutzers löschen, kann sich dieser nicht mehr bei der AWS-Managementkonsole anmelden. Wenn der Benutzer über aktive Zugriffsschlüssel verfügt, funktionieren diese weiterhin und ermöglichen den Zugriff über die AWS CLI Funktionsaufrufen Tools für Windows PowerShell oder AWS API. Wenn Sie die AWS CLI Tools für Windows oder die AWS API verwenden PowerShell, um einen Benutzer aus Ihrem zu löschen AWS-Konto, müssen Sie zuerst das Passwort mithilfe dieses Vorgangs löschen. Weitere Informationen finden Sie unter [Löschen eines IAM-Benutzers (AWS CLI)](id_users_remove.md#id_users_deleting_cli). 

**So widerrufen Sie die aktiven Konsolensitzungen eines Benutzers vor einer bestimmten Zeit (AWS CLI)**

1. [Um eine Inline-Richtlinie einzubetten, die die aktiven Konsolensitzungen eines IAM-Benutzers vor einem bestimmten Zeitpunkt widerruft, verwenden Sie die folgende Inline-Richtlinie und führen Sie diesen Befehl aus: aws iam put-user-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-user-policy.html)

   Diese Inline-Richtlinie verweigert sämtliche Berechtigungen und schließt den Bedingungsschlüssel `aws:TokenIssueTime` ein. Es widerruft die aktiven Konsolensitzungen des Benutzers vor der im `Condition`-Element der Inline-Richtlinie angegebenen Zeit. Ersetzen Sie den Bedingungsschlüsselwert `aws:TokenIssueTime` durch Ihren eigenen Wert.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": {
       "Effect": "Deny",
       "Action": "*",
       "Resource": "*",
       "Condition": {
         "DateLessThan": {
           "aws:TokenIssueTime": "2014-05-07T23:47:00Z"
         }
       }
     }
   }
   ```

------

1. [(Optional) Um die Namen der im IAM-Benutzer eingebetteten Inline-Richtlinien aufzulisten, führen Sie diesen Befehl aus: aws iam list-user-policies](https://docs.aws.amazon.com/cli/latest/reference/iam/list-user-policies.html)

1. [(Optional) Um die benannte Inline-Richtlinie anzuzeigen, die in den IAM-Benutzer eingebettet ist, führen Sie diesen Befehl aus: aws iam get-user-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/get-user-policy.html)

### Ein IAM-Benutzerkennwort (API) erstellen, ändern oder löschen AWS
<a name="Using_ManagingPasswordsAPI"></a>

Sie können die AWS API verwenden, um Passwörter für Ihre IAM-Benutzer zu verwalten.

**Um ein Passwort (AWS API) zu erstellen**

1. (Optional) Rufen Sie diesen Vorgang auf, um festzustellen, ob ein Benutzer ein Passwort hat: [GetLoginProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetLoginProfile.html)

1. Rufen Sie diesen Vorgang auf, um ein Passwort zu erstellen: [CreateLoginProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateLoginProfile.html)

**Um das Passwort eines Benutzers zu ändern (AWS API)**

1. (Optional) Rufen Sie diesen Vorgang auf, um festzustellen, ob ein Benutzer ein Passwort hat: [GetLoginProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetLoginProfile.html)

1. Rufen Sie diesen Vorgang auf, um ein Passwort zu ändern: [UpdateLoginProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateLoginProfile.html)

**Um das Passwort (AWS API) eines Benutzers zu löschen (zu deaktivieren)**

1. (Optional) Um festzustellen, ob ein Benutzer ein Passwort hat, führen Sie diesen Befehl aus: [GetLoginProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetLoginProfile.html)

1. (Optional) Um festzustellen, wann ein Passwort zuletzt verwendet wurde, führen Sie diesen Befehl aus: [GetUser](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html)

1. Führen Sie diesen Befehl aus, um ein Passwort zu löschen: [DeleteLoginProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteLoginProfile.html)

**Wichtig**  
Wenn Sie das Passwort eines Benutzers löschen, kann sich dieser nicht mehr bei der AWS-Managementkonsole anmelden. Wenn der Benutzer über aktive Zugriffsschlüssel verfügt, funktionieren diese weiterhin und ermöglichen den Zugriff über die AWS CLI Funktionsaufrufen Tools für Windows PowerShell oder AWS API. Wenn Sie die AWS CLI Tools für Windows oder die AWS API verwenden PowerShell, um einen Benutzer aus Ihrem zu löschen AWS-Konto, müssen Sie zuerst das Passwort mithilfe dieses Vorgangs löschen. Weitere Informationen finden Sie unter [Löschen eines IAM-Benutzers (AWS CLI)](id_users_remove.md#id_users_deleting_cli). 

**Um die aktiven Konsolensitzungen eines Benutzers vor einem bestimmten Zeitpunkt zu widerrufen (AWS API)**

1. Um eine Inline-Richtlinie einzubetten, die die aktiven Konsolensitzungen eines IAM-Benutzers vor einem bestimmten Zeitpunkt widerruft, verwenden Sie die folgende Inline-Richtlinie und führen Sie diesen Befehl aus: [PutUserPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutUserPolicy.html)

   Diese Inline-Richtlinie verweigert sämtliche Berechtigungen und schließt den Bedingungsschlüssel `aws:TokenIssueTime` ein. Es widerruft die aktiven Konsolensitzungen des Benutzers vor der im `Condition`-Element der Inline-Richtlinie angegebenen Zeit. Ersetzen Sie den Bedingungsschlüsselwert `aws:TokenIssueTime` durch Ihren eigenen Wert.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": {
       "Effect": "Deny",
       "Action": "*",
       "Resource": "*",
       "Condition": {
         "DateLessThan": {
           "aws:TokenIssueTime": "2014-05-07T23:47:00Z"
         }
       }
     }
   }
   ```

------

1. (Optional) Führen Sie diesen Befehl aus, um die Namen der im IAM-Benutzer eingebetteten Inline-Richtlinien aufzulisten: [ListUserPolicies](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUserPolicies.html)

1. (Optional) Führen Sie den folgenden Befehl aus, um die benannte Inline-Richtlinie anzuzeigen, die in den IAM-Benutzer eingebettet ist: [GetUserPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUserPolicy.html)

# IAM-Benutzern erlauben, ihre eigenen Passwörter zu ändern
<a name="id_credentials_passwords_enable-user-change"></a>

**Anmerkung**  
Benutzer mit Verbundidentitäten verwenden den von ihrem Identitätsanbieter definierten Prozess, um ihre Passwörter zu ändern. Als [bewährte Methode sollten](best-practices.md) menschliche Benutzer für den Zugriff AWS mithilfe temporärer Anmeldeinformationen einen Verbund mit einem Identitätsanbieter verwenden.

Sie können IAM-Benutzern die Berechtigung gewähren, ihr eigenes Passwort für die Anmeldung bei der AWS-Managementkonsole zu ändern. Dafür stehen Ihnen zwei Optionen zur Verfügung:
+ [Gewähren Sie allen IAM-Benutzern im Konto die Berechtigung, ihr eigenes Passwort zu ändern](#proc_letalluserschangepassword). 
+ [Gewähren Sie nur ausgewählten IAM-Benutzern, ihr eigenes Passwort zu ändern](#proc_letselectuserschangepassword). In diesem Szenario deaktivieren Sie die Option für alle Benutzer, ihre eigenen Passwörter zu ändern, und Sie verwenden eine IAM-Richtlinie, um nur einigen Benutzern Berechtigungen zu gewähren. Dieser Ansatz ermöglicht es diesen Benutzern, ihre eigenen Passwörter und optional andere Anmeldeinformationen wie ihre eigenen Zugriffsschlüssel zu ändern. 

**Wichtig**  
Wir empfehlen, dass Sie eine [benutzerdefinierte Passwortrichtlinie](id_credentials_passwords_account-policy.md) festlegen, nach der IAM-Benutzer sichere Passwörter erstellen müssen.

## So ermöglichen Sie allen IAM-Benutzern, ihr eigenes Passwort zu ändern
<a name="proc_letalluserschangepassword"></a>

------
#### [ Console ]

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 auf **Kontoeinstellungen**.

1. Wählen Sie im Abschnitt **Password policy (Passwortrichtlinie)** die Option **Edit (Bearbeiten)** aus.

1. Wählen Sie **Custom (Benutzerdefiniert)**, um eine benutzerdefinierte Passwortrichtlinie zu verwenden.

1. Wählen Sie **Allow users to change their own password** (Benutzern erlauben, ihr eigenes Passwort zu ändern), und dann **Save changes** (Änderungen speichern). Dadurch haben alle Benutzer im Konto Zugriff auf die `iam:ChangePassword`-Aktion nur für ihren Benutzer und auf die `iam:GetAccountPasswordPolicy`-Aktion.

1. Geben Sie Benutzern die folgenden Anweisungen zum Ändern ihrer Passwörter: [Wie ein IAM-Benutzer sein eigenes Passwort ändert](id_credentials_passwords_user-change-own.md). 

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

Führen Sie den folgenden Befehl aus:
+ `[aws iam update-account-password-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/update-account-password-policy.html)`

------
#### [ API ]

Zum Erstellen eines Alias für die URL der AWS-Managementkonsole -Anmeldeseite rufen Sie die folgende Operation auf:
+ `[UpdateAccountPasswordPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccountPasswordPolicy.html)` 

------

## So ermöglichen Sie es ausgewählten IAM-Benutzern, ihr eigenes Passwort zu ändern
<a name="proc_letselectuserschangepassword"></a>

------
#### [ Console ]

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 auf **Kontoeinstellungen**. 

1. Stellen Sie im Bereich **Kontoeinstellungen** sicher, dass die Option **Benutzern erlauben, ihr eigenes Passwort zu ändern** deaktiviert ist. Wenn dieses Kontrollkästchen aktiviert ist, können alle Benutzer ihre eigenen Passwörter ändern. (siehe vorheriger Abschnitt). 

1. Erstellen Sie gegebenenfalls die Benutzer, die ihr eigenes Passwort ändern dürfen. Details hierzu finden Sie unter [Erstellen Sie einen IAM-Benutzer in Ihrem AWS-Konto](id_users_create.md). 

1. (Optional) Erstellen Sie eine IAM-Gruppe für die Benutzer, die ihr Passwort ändern dürfen, und fügen Sie die Benutzer aus dem vorherigen Schritt der Gruppe hinzu. Details hierzu finden Sie unter [IAM-Benutzergruppen](id_groups.md). 

1. Weisen Sie der Gruppe die folgende Richtlinie zu. Weitere Informationen finden Sie unter [Verwalten von IAM-Richtlinien](access_policies_manage.md).

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "iam:GetAccountPasswordPolicy",
         "Resource": "*"
       },
       {
         "Effect": "Allow",
         "Action": "iam:ChangePassword",
         "Resource": "arn:aws:iam::*:user/${aws:username}"
       }
     ]
   }
   ```

------

   Diese Richtlinie gewährt Zugriff auf die [ChangePassword](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ChangePassword.html)Aktion, mit der Benutzer nur ihre eigenen Passwörter über die Konsole AWS CLI, die Tools für Windows PowerShell oder die API ändern können. Sie gewährt auch Zugriff auf die [GetAccountPasswordPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccountPasswordPolicy.html)Aktion, mit der der Benutzer die aktuelle Kennwortrichtlinie einsehen kann. Diese Berechtigung ist erforderlich, damit der Benutzer die Kontokennwortrichtlinie auf der Seite **Passwort ändern** einsehen kann. Benutzer müssen die aktuelle Passwortrichtlinie lesen können, um sicherzustellen, dass das neue Passwort den Anforderungen der Richtlinie entspricht.

1. Geben Sie Benutzern die folgenden Anweisungen zum Ändern ihrer Passwörter: [Wie ein IAM-Benutzer sein eigenes Passwort ändert](id_credentials_passwords_user-change-own.md). 

------

### Weitere Informationen
<a name="HowToPwdIAMUser-moreinfo"></a>

Weitere Informationen zum Verwalten von Anmeldeinformationen finden Sie in den folgenden Themen:
+ [IAM-Benutzern erlauben, ihre eigenen Passwörter zu ändern](#id_credentials_passwords_enable-user-change) 
+ [Benutzerpasswörter in AWS](id_credentials_passwords.md)
+ [Konto-Passwortrichtlinie für IAM-Benutzer festlegen](id_credentials_passwords_account-policy.md)
+ [Verwalten von IAM-Richtlinien](access_policies_manage.md)
+ [Wie ein IAM-Benutzer sein eigenes Passwort ändert](id_credentials_passwords_user-change-own.md)

# Wie ein IAM-Benutzer sein eigenes Passwort ändert
<a name="id_credentials_passwords_user-change-own"></a>

Wenn Ihnen die Erlaubnis erteilt wurde, Ihr eigenes IAM-Benutzerkennwort zu ändern, können Sie AWS-Managementkonsole dazu eine spezielle Seite in der verwenden. Sie können auch die AWS API AWS CLI oder verwenden.

**Topics**
+ [

## Erforderliche Berechtigungen
](#change-own-passwords-permissions-required)
+ [

## Wie IAM-Benutzer ihr eigenes Passwort ändern können (Konsole)
](#ManagingUserPwdSelf-Console)
+ [

## Wie ändern IAM-Benutzer ihr eigenes Passwort (AWS CLI oder ihre AWS API)
](#ManagingUserPwdSelf-CLIAPI)

## Erforderliche Berechtigungen
<a name="change-own-passwords-permissions-required"></a>

Um das Passwort für Ihren eigenen IAM-Benutzer zu ändern, benötigen Sie die Berechtigungen von der folgenden Richtlinie: [AWS: Ermöglicht es IAM-Benutzern, ihr eigenes Konsolenpasswort auf der Seite Sicherheits-Anmeldeinformationen zu verwalten](reference_policies_examples_aws_my-sec-creds-self-manage-password-only.md).

## Wie IAM-Benutzer ihr eigenes Passwort ändern können (Konsole)
<a name="ManagingUserPwdSelf-Console"></a>

Das folgende Verfahren beschreibt, wie IAM-Benutzer das verwenden können AWS-Managementkonsole , um ihr eigenes Passwort zu ändern.

**So ändern Sie Ihr eigenes IAM-Benutzer-Passwort (Konsole)**

1. Verwenden Sie Ihre AWS Konto-ID oder Ihren Kontoalias, Ihren IAM-Benutzernamen und Ihr Passwort, um sich bei der [IAM-Konsole](https://console.aws.amazon.com/iam) anzumelden.
**Anmerkung**  
Der Einfachheit halber verwendet die AWS Anmeldeseite ein Browser-Cookie, um sich Ihren IAM-Benutzernamen und Ihre Kontoinformationen zu merken. Wenn Sie sich zuvor als anderer Benutzer angemeldet haben, wählen Sie **Melden Sie sich bei einem anderen Konto an **Um zur Hauptanmeldeseite zurückzukehren. Von dort aus können Sie Ihre AWS Konto-ID oder Ihren Kontoalias eingeben, um zur IAM-Benutzer-Anmeldeseite für Ihr Konto weitergeleitet zu werden.

   Wenden Sie sich an Ihren Administrator, um Ihre AWS-Konto ID zu erhalten.

1. Wählen Sie auf der Navigationsleiste rechts oben Ihren Benutzernamen und dann **Security Credentials (Sicherheitsanmeldeinformationen)** aus.   
![\[AWS Link zu den Sicherheitsanmeldedaten der Managementkonsole\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. Wählen Sie auf der Registerkarte **AWS -IAM-Anmeldeinformationen** die Option **Passwort aktualisieren** aus.

1. Geben Sie unter **Current Password (Aktuelles Passwort)** Ihr aktuelles Passwort ein. Geben Sie in den Feldern **New Passwort (Neues Passwort)** und **Confirm new password (Neues Passwort bestätigen)** ein neues Passwort ein. Klicken Sie dann auf **Passwort ändern**.
**Anmerkung**  
Wenn das Konto über eine Passwortrichtlinie verfügt, muss das neue Passwort die Anforderungen dieser Richtlinie erfüllen. Weitere Informationen finden Sie unter [Konto-Passwortrichtlinie für IAM-Benutzer festlegen](id_credentials_passwords_account-policy.md). 

## Wie ändern IAM-Benutzer ihr eigenes Passwort (AWS CLI oder ihre AWS API)
<a name="ManagingUserPwdSelf-CLIAPI"></a>

Das folgende Verfahren beschreibt, wie IAM-Benutzer die AWS CLI AWS OR-API verwenden können, um ihr eigenes Passwort zu ändern.

**Ändern Sie Ihr IAM-Passwort wie folgt:**
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/change-password.html](https://docs.aws.amazon.com/cli/latest/reference/iam/change-password.html)
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ChangePassword.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ChangePassword.html)

# Verwalten von Zugriffsschlüsseln für IAM-Benutzer
<a name="id_credentials_access-keys"></a>

**Wichtig**  
Als [bewährte Methode](best-practices.md) empfiehlt es sich, temporäre Sicherheitsanmeldeinformationen (z. B. IAM-Rollen) zu verwenden, anstatt langfristige Anmeldeinformationen wie Zugriffsschlüssel zu erstellen. Bevor Sie Zugriffsschlüssel erstellen, prüfen Sie die [Alternativen zu Langzeit-Zugriffsschlüsseln](security-creds-programmatic-access.md#security-creds-alternatives-to-long-term-access-keys).

Zugriffsschlüssel sind langfristige Anmeldeinformationen für einen IAM-Benutzer oder Root-Benutzer des AWS-Kontos. Sie können Zugriffsschlüssel verwenden, um programmatische Anfragen an die AWS API AWS CLI oder zu signieren (direkt oder mithilfe des AWS SDK). Weitere Informationen finden Sie unter [Programmgesteuerter Zugriff mit AWS Sicherheitsanmeldedaten](security-creds-programmatic-access.md).

Zugriffsschlüssel bestehen aus zwei Teilen: einer Zugriffsschlüssel-ID (z. B. `AKIAIOSFODNN7EXAMPLE`) und einem geheimen Zugriffsschlüssel (z. B. `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`). Sie müssen die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel zusammen verwenden, um Ihre Anforderungen zu authentifizieren.



Speichern Sie beim Erstellen eines Zugriffsschlüsselpaars die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel an einem sicheren Speicherort. Der geheime Zugriffsschlüssel kann nur zum Zeitpunkt seiner Erstellung abgerufen werden. Wenn Sie Ihren geheimen Zugriffsschlüssel verlieren, müssen Sie den Zugriffsschlüssel löschen und einen neuen erstellen. Weitere Anweisungen finden Sie unter [Zugriffsschlüssel aktualisieren](id-credentials-access-keys-update.md).

Sie können maximal zwei Zugriffsschlüssel pro Benutzer besitzen.

**Wichtig**  
IAM-Benutzer mit Zugriffsschlüsseln sind ein Sicherheitsrisiko für Konten. Verwalten Sie Ihre Zugriffsschlüssel auf sichere Weise. Geben Sie Ihre Zugangsschlüssel nicht an Unbefugte weiter, auch nicht, um [Ihre Kontokennungen zu finden](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). Dadurch kann eine Person permanenten Zugriff auf Ihr Konto erlangen.  
Beachten Sie beim Arbeiten mit Zugriffsschlüsseln Folgendes:  
Verwenden Sie **NICHT** die Root-Anmeldeinformationen Ihres Kontos, um Zugriffsschlüssel zu erstellen.
Fügen Sie **KEINE** Zugriffsschlüssel oder Anmeldeinformationen in Ihre Anwendungsdateien ein. 
Fügen Sie Ihrem Projektbereich **KEINE** Dateien hinzu, die Zugriffsschlüssel oder Anmeldeinformationen enthalten.
Zugriffsschlüssel oder Anmeldeinformationen, die in der Datei mit den gemeinsamen AWS Anmeldeinformationen gespeichert sind, werden im Klartext gespeichert.

## Empfehlungen zur Überwachung
<a name="monitor-access-keys"></a>

Nach Erstellung der Zugriffsschlüssel:
+ Wird verwendet AWS CloudTrail , um die Verwendung von Zugriffsschlüsseln zu überwachen und unbefugte Zugriffsversuche zu erkennen. Weitere Informationen finden Sie unter [Protokollierung von IAM- und AWS STS API-Aufrufen mit AWS CloudTrail](cloudtrail-integration.md).
+ Richten Sie CloudWatch Alarme ein, um Administratoren über verweigerte Zugriffsversuche zu benachrichtigen und so böswillige Aktivitäten zu erkennen. Weitere Informationen finden Sie im [ CloudWatch Amazon-Benutzerhandbuch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).
+ Überprüfen, aktualisieren und löschen Sie Zugriffsschlüssel regelmäßig je nach Bedarf.

In den folgenden Themen werden die Verwaltungsaufgaben im Zusammenhang mit Zugriffsschlüsseln detailliert beschrieben.

**Topics**
+ [

## Empfehlungen zur Überwachung
](#monitor-access-keys)
+ [

# Steuern der Verwendung von Zugriffsschlüsseln durch das Anhängen einer Inline-Richtlinie an einen IAM-Benutzer
](access-keys_inline-policy.md)
+ [

# Erforderliche Berechtigungen zum Verwalten von Zugriffsschlüsseln
](access-keys_required-permissions.md)
+ [

# So können IAM-Benutzer ihre eigenen Zugriffsschlüssel verwalten
](access-key-self-managed.md)
+ [

# So kann ein IAM-Administrator IAM-Benutzer-Zugriffsschlüssel verwalten
](access-keys-admin-managed.md)
+ [

# Zugriffsschlüssel aktualisieren
](id-credentials-access-keys-update.md)
+ [

# Zugriffsschlüssel sichern
](securing_access-keys.md)

# Steuern der Verwendung von Zugriffsschlüsseln durch das Anhängen einer Inline-Richtlinie an einen IAM-Benutzer
<a name="access-keys_inline-policy"></a>

Als bewährte Vorgehensweise empfehlen wir, dass [Workloads temporäre Anmeldeinformationen mit IAM-Rollen](best-practices.md#bp-workloads-use-roles) verwenden, um auf AWS zuzugreifen. IAM-Benutzern mit Zugriffsschlüsseln sollte die geringste Berechtigung zugewiesen und die [Multi-Faktor-Authentifizierung (MFA)](id_credentials_mfa.md) aktiviert werden. Weitere Informationen zum Übernehmen von IAM-Rollen finden Sie unter [Methoden, um eine Rolle zu übernehmen](id_roles_manage-assume.md).

Wenn Sie jedoch einen Proof-of-Concept-Test für eine Serviceautomatisierung oder einen anderen kurzfristigen Anwendungsfall erstellen und sich dafür entscheiden, Workloads mit einem IAM-Benutzer mit Zugriffsschlüsseln auszuführen, empfehlen wir Ihnen, [Richtlinienbedingungen zu verwenden, um den Zugriff auf die Anmeldeinformationen des IAM-Benutzers weiter einzuschränken](best-practices.md#use-policy-conditions).

In diesem Fall können Sie entweder eine zeitlich begrenzte Richtlinie erstellen, die die Anmeldeinformationen nach Ablauf der angegebenen Zeit ablaufen lässt, oder, wenn Sie einen Workload aus einem sicheren Netzwerk ausführen, eine IP-Einschränkungsrichtlinie verwenden.

Für beide Anwendungsfälle können Sie eine Inline-Richtlinie verwenden, die dem IAM-Benutzer mit Zugriffsschlüsseln zugeordnet ist.

**So konfigurieren Sie eine zeitgebundene Richtlinie für einen IAM-Benutzer**

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 die Option **Benutzer** und dann den Benutzer für den kurzfristigen Anwendungsfall aus. Wenn Sie den Benutzer noch nicht erstellt haben, können Sie [das jetzt tun](getting-started-workloads.md).

1. Wählen Sie auf der Seite mit den **Details** den Tab **Berechtigungen** aus.

1. Wählen Sie **Berechtigungen hinzufügen** und dann **Inline-Richtlinie erstellen** aus.

1. Wählen Sie im Bereich **Richtlinien-Editor** **JSON** aus, um den JSON-Editor anzuzeigen.

1. Geben Sie im JSON-Editor die folgende Richtlinie ein und ersetzen Sie den Wert für den `aws:CurrentTime`-Zeitstempel durch das gewünschte Ablaufdatum und die gewünschte Uhrzeit:

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

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Deny",
         "Action": "*",
         "Resource": "*",
         "Condition": {
         "DateGreaterThan": {
         "aws:CurrentTime": "2025-03-01T00:12:00Z"
           }
         }
       }
     ]
   }
   ```

------

   Diese Richtlinie verwendet den `Deny`-Effekt, um alle Aktionen für alle Ressourcen nach dem angegebenen Datum einzuschränken. Die `DateGreaterThan`-Bedingung vergleicht die aktuelle Uhrzeit mit dem von Ihnen festgelegten Zeitstempel.

1. Wählen Sie **Next (Weiter)**, um mit der Seite **Review and create (Überprüfen und erstellen)** fortzufahren. Geben Sie in den **Richtliniendetails** unter **Richtlinienname** einen Namen für die Richtlinie ein und wählen Sie dann **Richtlinie erstellen** aus.

Nachdem die Richtlinie erstellt wurde, wird sie auf dem Tab **Berechtigungen** für den Benutzer angezeigt. Wenn die aktuelle Zeit größer oder gleich der in der Richtlinie angegebenen Zeit ist, hat der Benutzer keinen Zugriff mehr auf AWS Ressourcen. Informieren Sie die Workload-Entwickler unbedingt über das Ablaufdatum, das Sie für diese Zugriffsschlüssel angegeben haben. 

**So konfigurieren Sie eine IP-Einschränkungsrichtlinie für einen IAM-Benutzer**

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 die Option **Benutzer** und dann den Benutzer aus, der den Workload vom sicheren Netzwerk aus ausführen soll. Wenn Sie den Benutzer noch nicht erstellt haben, können Sie [das jetzt tun](getting-started-workloads.md).

1. Wählen Sie auf der Seite mit den **Details** den Tab **Berechtigungen** aus.

1. Wählen Sie **Berechtigungen hinzufügen** und dann **Inline-Richtlinie erstellen** aus.

1. Wählen Sie im Bereich **Richtlinien-Editor** **JSON** aus, um den JSON-Editor anzuzeigen.

1. Kopieren Sie die folgende IAM-Richtlinie in den JSON-Editor und ändern Sie die öffentlichen IPv6 Adressen IPv4 oder Bereiche nach Ihren Bedürfnissen. Sie können [https://checkip.amazonaws.com/](https://checkip.amazonaws.com/)verwenden, um Ihre aktuelle öffentliche IP-Adresse zu ermitteln. Sie können einzelne IP-Adressen oder IP-Adressbereiche mithilfe der Schrägstrichnotation angeben. Weitere Informationen finden Sie unter [aws:SourceIp](reference_policies_condition-keys.md#condition-keys-sourceip). 
**Anmerkung**  
Die IP-Adressen dürfen nicht durch ein VPN oder einen Proxyserver verschleiert werden.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid":"IpRestrictionIAMPolicyForIAMUser",
         "Effect": "Deny",
         "Action": "*",
         "Resource": "*",
         "Condition": {
           "NotIpAddress": {
             "aws:SourceIp": [
               "203.0.113.0/24",
               "2001:DB8:1234:5678::/64",
               "203.0.114.1"
             ]
           },
           "BoolIfExists": {
             "aws:ViaAWSService": "false"
           }
         }
       }
     ]
   }
   ```

------

   In diesem Richtlinienbeispiel wird die Verwendung der Zugriffsschlüssel eines IAM-Benutzers mit dieser Richtlinie verweigert, es sei denn, die Anfrage stammt von den Netzwerken (angegeben in der CIDR-Notation) „203.0.113.0/24“, „2001:: 1234:5678DB8: :/64“ oder der spezifischen IP-Adresse „203.0.114.1“ 

1. Wählen Sie **Next (Weiter)**, um mit der Seite **Review and create (Überprüfen und erstellen)** fortzufahren. Geben Sie in den **Richtliniendetails** unter **Richtlinienname** einen Namen für die Richtlinie ein und wählen Sie dann **Richtlinie erstellen** aus.

Nachdem die Richtlinie erstellt wurde, wird sie auf dem Tab **Berechtigungen** für den Benutzer angezeigt. 

Sie können diese Richtlinie auch als Service Control Policy (SCP) auf mehrere AWS Konten anwenden. Wir empfehlen AWS Organizations, eine zusätzliche Bedingung `aws:PrincipalArn` zu verwenden, damit diese Richtlinienerklärung nur für IAM-Benutzer innerhalb der AWS Konten gilt, die diesem SCP unterliegen. Die folgende Richtlinie beinhaltet dieses Update:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "IpRestrictionServiceControlPolicyForIAMUsers",
      "Effect": "Deny",
      "Action": "*",
      "Resource": "*",
      "Condition": {
        "NotIpAddress": {
          "aws:SourceIp": [
            "203.0.113.0/24",
            "2001:DB8:1234:5678::/64",
            "203.0.114.1"
          ]
        },
        "BoolIfExists": {
          "aws:ViaAWSService": "false"
        },
        "ArnLike": {
          "aws:PrincipalArn": "arn:aws:iam::*:user/*"
        }
      }
    }
  ]
}
```

------

# Erforderliche Berechtigungen zum Verwalten von Zugriffsschlüsseln
<a name="access-keys_required-permissions"></a>

**Anmerkung**  
`iam:TagUser` ist eine optionale Berechtigung zum Hinzufügen und Bearbeiten von Beschreibungen für den Zugriffsschlüssel. Weitere Informationen finden Sie unter [Markieren von IAM-Benutzern](id_tags_users.md).

Um Zugriffsschlüssel für Ihren eigenen IAM-Benutzer zu erstellen, benötigen Sie die Berechtigungen von der folgenden Richtlinie:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateOwnAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:CreateAccessKey",
                "iam:GetUser",
                "iam:ListAccessKeys",
                "iam:TagUser"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        }
    ]
}
```

------

Um Zugriffsschlüssel für Ihren eigenen IAM-Benutzer zu aktualisieren, müssen Sie über die Berechtigungen der folgenden Richtlinie verfügen:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ManageOwnAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:CreateAccessKey",
                "iam:DeleteAccessKey",
                "iam:GetAccessKeyLastUsed",
                "iam:GetUser",
                "iam:ListAccessKeys",
                "iam:UpdateAccessKey",
                "iam:TagUser"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        }
    ]
}
```

------

# So können IAM-Benutzer ihre eigenen Zugriffsschlüssel verwalten
<a name="access-key-self-managed"></a>

IAM-Administratoren können IAM-Benutzern die Berechtigung zur Selbstverwaltung ihrer Zugriffsschlüssel gewähren, indem sie die in [Erforderliche Berechtigungen zum Verwalten von Zugriffsschlüsseln](access-keys_required-permissions.md) beschriebene Richtlinie anfügen.

Mit diesen Berechtigungen können IAM-Benutzer die folgenden Verfahren verwenden, um die mit ihrem Benutzernamen verknüpften Zugriffsschlüssel zu erstellen, zu aktivieren, zu deaktivieren und zu löschen.

**Topics**
+ [

## Erstellen eines eigenen Zugriffsschlüssels (Konsole)
](#Using_CreateAccessKey)
+ [

## Deaktivierung Ihres Zugriffsschlüssels (Konsole)
](#deactivate-access-key-seccreds)
+ [

## Aktivierung Ihres Zugriffsschlüssels (Konsole)
](#activate-access-key-seccreds)
+ [

## Löschen Ihres Zugriffsschlüssels (Konsole)
](#delete-access-key-seccreds)

## Erstellen eines eigenen Zugriffsschlüssels (Konsole)
<a name="Using_CreateAccessKey"></a>

Wenn Ihnen die entsprechenden Berechtigungen erteilt wurden, können Sie diese verwenden AWS-Managementkonsole , um Zugriffsschlüssel für sich selbst zu erstellen.

**So erstellen Sie Ihre eigenen Zugriffsschlüssel (Konsole)**

1. Verwenden Sie Ihre AWS Konto-ID oder Ihren Kontoalias, Ihren IAM-Benutzernamen und Ihr Passwort, um sich bei der [IAM-Konsole](https://console.aws.amazon.com/iam) anzumelden.
**Anmerkung**  
Der Einfachheit halber verwendet die AWS Anmeldeseite ein Browser-Cookie, um sich Ihren IAM-Benutzernamen und Ihre Kontoinformationen zu merken. Wenn Sie sich zuvor als anderer Benutzer angemeldet haben, wählen Sie **Melden Sie sich bei einem anderen Konto an **Um zur Hauptanmeldeseite zurückzukehren. Von dort aus können Sie Ihre AWS Konto-ID oder Ihren Kontoalias eingeben, um zur IAM-Benutzer-Anmeldeseite für Ihr Konto weitergeleitet zu werden.

   Wenden Sie sich an Ihren Administrator, um Ihre AWS-Konto ID zu erhalten.

1. Wählen Sie auf der Navigationsleiste rechts oben Ihren Benutzernamen und dann **Security Credentials (Sicherheitsanmeldeinformationen)** aus.   
![\[AWS Link zu den Sicherheitsanmeldedaten der Managementkonsole\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. Wählen Sie im Abschnitt **Zugriffsschlüssel** die Option **Zugriffsschlüssel erstellen** aus. Wenn Sie bereits über zwei Zugriffsschlüssel verfügen, ist diese Schaltfläche deaktiviert und Sie müssen einen Zugriffsschlüssel löschen, bevor Sie einen neuen erstellen können.

1. Wählen Sie auf der Seite **Access key best practices & alternatives (Bewährte Methoden und Alternativen zu Zugriffsschlüsseln)** Ihren Anwendungsfall aus, um mehr über zusätzliche Optionen zu erfahren, mit denen Sie die Erstellung eines langfristigen Zugriffsschlüssels vermeiden können. Wenn Sie feststellen, dass für Ihren Anwendungsfall immer noch ein Zugriffsschlüssel erforderlich ist, wählen Sie **Other (Andere)** und dann **Next (Weiter)**.

1. (Optional) Legen Sie einen Beschreibungs-Tag-Wert für den Zugriffsschlüssel fest. Dadurch wird Ihrem IAM-Benutzer ein Tag-Schlüssel/Wert-Paar hinzugefügt. Auf diese Weise können Sie Zugriffsschlüssel leichter identifizieren und aktualisieren. Der Tag-Schlüssel ist auf die Zugriffsschlüssel-ID festgelegt. Der Tag-Wert ist auf die von Ihnen angegebene Beschreibung des Zugriffsschlüssels festgelegt. Wenn Sie fertig sind, wählen Sie **Create access key (Zugriffsschlüssel erstellen)** aus.

1. Wählen Sie auf der Seite **Retrieve access keys (Zugriffsschlüssel abrufen)** entweder **Show (Anzeigen)**, um den Wert des geheimen Zugriffsschlüssels Ihres Benutzers anzuzeigen, oder **Download .csv file (CSV-Datei herunterladen)**. Das ist Ihre einzige Gelegenheit, Ihren geheimen Zugriffsschlüssel zu speichern. Nachdem Sie Ihren geheimen Zugriffsschlüssel an einem sicheren Ort gespeichert haben, wählen Sie **Done (Fertig)** aus.

## Deaktivierung Ihres Zugriffsschlüssels (Konsole)
<a name="deactivate-access-key-seccreds"></a>

Wenn Ihnen die entsprechenden Berechtigungen erteilt wurden, können Sie den verwenden AWS-Managementkonsole , um Ihren Zugriffsschlüssel zu deaktivieren.

**So deaktivieren Sie einen Zugriffsschlüssel**

1. Verwenden Sie Ihre AWS Konto-ID oder Ihren Kontoalias, Ihren IAM-Benutzernamen und Ihr Passwort, um sich bei der [IAM-Konsole](https://console.aws.amazon.com/iam) anzumelden.
**Anmerkung**  
Der Einfachheit halber verwendet die AWS Anmeldeseite ein Browser-Cookie, um sich Ihren IAM-Benutzernamen und Ihre Kontoinformationen zu merken. Wenn Sie sich zuvor als anderer Benutzer angemeldet haben, wählen Sie **Melden Sie sich bei einem anderen Konto an **Um zur Hauptanmeldeseite zurückzukehren. Von dort aus können Sie Ihre AWS Konto-ID oder Ihren Kontoalias eingeben, um zur IAM-Benutzer-Anmeldeseite für Ihr Konto weitergeleitet zu werden.

   Wenden Sie sich an Ihren Administrator, um Ihre AWS-Konto ID zu erhalten.

1. Wählen Sie auf der Navigationsleiste rechts oben Ihren Benutzernamen und dann **Security Credentials (Sicherheitsanmeldeinformationen)** aus.   
![\[AWS Link zu den Sicherheitsanmeldedaten der Managementkonsole\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. Suchen Sie im Abschnitt **Access keys (Zugriffsschlüssel)** nach dem Schlüssel, den Sie deaktivieren möchten, und wählen Sie dann **Actions (Aktionen)** und anschließend **Deactivate (Deaktivieren)**. Wenn Sie zur Bestätigung aufgefordert werden, wählen Sie **Deaktivieren** aus. Ein deaktivierter Zugriffsschlüssel wird noch immer auf das Limit von zwei Zugriffsschlüsseln angerechnet.

## Aktivierung Ihres Zugriffsschlüssels (Konsole)
<a name="activate-access-key-seccreds"></a>

Wenn Ihnen die entsprechenden Berechtigungen erteilt wurden, können Sie den verwenden AWS-Managementkonsole , um Ihren Zugriffsschlüssel zu aktivieren.

**So aktivieren Sie einen Zugriffsschlüssel**

1. Verwenden Sie Ihre AWS Konto-ID oder Ihren Kontoalias, Ihren IAM-Benutzernamen und Ihr Passwort, um sich bei der [IAM-Konsole](https://console.aws.amazon.com/iam) anzumelden.
**Anmerkung**  
Der Einfachheit halber verwendet die AWS Anmeldeseite ein Browser-Cookie, um sich Ihren IAM-Benutzernamen und Ihre Kontoinformationen zu merken. Wenn Sie sich zuvor als anderer Benutzer angemeldet haben, wählen Sie **Melden Sie sich bei einem anderen Konto an **Um zur Hauptanmeldeseite zurückzukehren. Von dort aus können Sie Ihre AWS Konto-ID oder Ihren Kontoalias eingeben, um zur IAM-Benutzer-Anmeldeseite für Ihr Konto weitergeleitet zu werden.

   Wenden Sie sich an Ihren Administrator, um Ihre AWS-Konto ID zu erhalten.

1. Wählen Sie auf der Navigationsleiste rechts oben Ihren Benutzernamen und dann **Security Credentials (Sicherheitsanmeldeinformationen)** aus.   
![\[AWS Link zu den Sicherheitsanmeldedaten der Managementkonsole\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. Suchen Sie im Abschnitt **Access keys (Zugriffsschlüssel)** nach dem Schlüssel, den Sie aktivieren möchten, und wählen Sie dann **Actions (Aktionen)** und anschließend **Activate (Aktivieren)**.

## Löschen Ihres Zugriffsschlüssels (Konsole)
<a name="delete-access-key-seccreds"></a>

Wenn Ihnen die entsprechenden Berechtigungen erteilt wurden, können Sie den verwenden AWS-Managementkonsole , um Ihren Zugriffsschlüssel zu löschen.

**So löschen Sie einen Zugriffsschlüssel, den Sie nicht mehr benötigen**

1. Verwenden Sie Ihre AWS Konto-ID oder Ihren Kontoalias, Ihren IAM-Benutzernamen und Ihr Passwort, um sich bei der [IAM-Konsole](https://console.aws.amazon.com/iam) anzumelden.
**Anmerkung**  
Der Einfachheit halber verwendet die AWS Anmeldeseite ein Browser-Cookie, um sich Ihren IAM-Benutzernamen und Ihre Kontoinformationen zu merken. Wenn Sie sich zuvor als anderer Benutzer angemeldet haben, wählen Sie **Melden Sie sich bei einem anderen Konto an **Um zur Hauptanmeldeseite zurückzukehren. Von dort aus können Sie Ihre AWS Konto-ID oder Ihren Kontoalias eingeben, um zur IAM-Benutzer-Anmeldeseite für Ihr Konto weitergeleitet zu werden.

   Wenden Sie sich an Ihren Administrator, um Ihre AWS-Konto ID zu erhalten.

1. Wählen Sie auf der Navigationsleiste rechts oben Ihren Benutzernamen und dann **Security Credentials (Sicherheitsanmeldeinformationen)** aus.   
![\[AWS Link zu den Sicherheitsanmeldedaten der Managementkonsole\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. Suchen Sie im Abschnitt **Access keys (Zugriffsschlüssel)** nach dem Schlüssel, den Sie löschen möchten, und wählen Sie dann **Actions (Aktionen)** und anschließend **Delete (Löschen)**. Folgen Sie den Anweisungen im Dialogfeld, um zuerst zu **Deactivate (Deaktivieren)** und dann den Löschvorgang zu bestätigen. Sie sollten sich vergewissern, dass der Zugriffsschlüssel wirklich nicht mehr verwendet wird, bevor Sie ihn endgültig löschen.

# So kann ein IAM-Administrator IAM-Benutzer-Zugriffsschlüssel verwalten
<a name="access-keys-admin-managed"></a>

IAM-Administratoren können die einzelnen IAM-Benutzern zugeordneten Zugriffsschlüssel erstellen, aktivieren, deaktivieren und löschen. Sie können auch die IAM-Benutzer im Konto auflisten, die über Zugriffsschlüssel verfügen, und ermitteln, welcher IAM-Benutzer über einen bestimmten Zugriffsschlüssel verfügt.

**Topics**
+ [

## So erstellen Sie einen Zugriffsschlüssel für einen IAM-Benutzer
](#admin-create-access-key)
+ [

## So deaktivieren Sie einen Zugriffsschlüssel für einen IAM-Benutzer
](#admin-deactivate-access-key)
+ [

## So aktivieren Sie einen Zugriffsschlüssel für einen IAM-Benutzer
](#admin-activate-access-key)
+ [

## So löschen Sie einen Zugriffsschlüssel für einen IAM-Benutzer
](#admin-delete-access-key)
+ [

## So listen Sie die Zugriffsschlüssel für einen IAM-Benutzer auf
](#admin-list-access-key)
+ [

## So listen Sie die Zugriffsschlüssel für einen IAM-Benutzer auf
](#admin-list-access-key)
+ [

## Um alle Zugriffsschlüssel IDs für Benutzer in Ihrem Konto anzuzeigen
](#admin-list-all-access-keys)
+ [

## So verwenden Sie eine Zugriffsschlüssel-ID, um einen Benutzer zu finden
](#admin-find-user-access-keys)
+ [

## So finden Sie die letzte Verwendung einer Zugriffsschlüssel-ID
](#admin-find-most-recent-use-access-keys)

## So erstellen Sie einen Zugriffsschlüssel für einen IAM-Benutzer
<a name="admin-create-access-key"></a>

------
#### [ Console ]

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 auf **Users (Benutzer)**.

1. Wählen Sie den Benutzernamen, um zur Seite mit den Benutzerdetails zu gelangen.

1. Wählen Sie auf der Registerkarte **Sicherheits-Anmeldeinformationen** im Abschnitt **Zugriffsschlüssel** die Option **Zugriffsschlüssel erstellen** aus.

   Wenn diese Schaltfläche deaktiviert ist, müssen Sie einen der vorhandenen Schlüssel löschen, bevor Sie einen neuen erstellen können.

1. Sehen Sie sich auf der Seite **Access key best practices & alternatives (Bewährte Methoden und Alternativen zu Zugriffsschlüsseln)** die wichtigsten bewährten Methoden und Alternativen an. Wählen Sie Ihren Anwendungsfall aus, um mehr über zusätzliche Optionen zu erfahren, mit denen Sie die Erstellung eines langfristigen Zugriffsschlüssels vermeiden können.

1. Wenn Sie feststellen, dass für Ihren Anwendungsfall immer noch ein Zugriffsschlüssel erforderlich ist, wählen Sie **Other (Andere)** und dann **Next (Weiter)**.

1. **(Optional)** Auf der Seite **Tag für die Beschreibung festlegen** können Sie dem Zugriffsschlüssel ein Tag für die Beschreibung hinzufügen, um Ihren Zugriffsschlüssel nachzuverfolgen. Wählen Sie **Zugriffsschlüssel erstellen** aus.

1. Wählen Sie auf der Seite **Retrieve access keys (Zugriffsschlüssel abrufen)** **Show (Anzeigen)**, um den Wert des geheimen Zugriffsschlüssels Ihres Benutzers anzuzeigen.

1. Um die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel in einer `.csv`-Dateien einem sicheren Ort auf Ihrem Computer zu speichern, wählen Sie die Schaltfläche **Download .csv file (CSV-Datei herunterladen)**.
**Wichtig**  
Dies ist die einzige Gelegenheit, den neu erstellten Zugriffsschlüssel anzuzeigen oder herunterzuladen. Eine Wiederherstellung ist nicht möglich. Achten Sie darauf, Ihren Zugriffsschlüssel sicher aufzubewahren.

Wenn Sie einen Zugriffsschlüssel erstellen, ist das Schlüsselpaar standardmäßig aktiv, und Ihr Benutzer kann es sofort verwenden.

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

Führen Sie den folgenden Befehl aus:
+ [https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html)

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html) 

------

## So deaktivieren Sie einen Zugriffsschlüssel für einen IAM-Benutzer
<a name="admin-deactivate-access-key"></a>

------
#### [ Console ]

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 auf **Users (Benutzer)**.

1. Wählen Sie den Benutzernamen, um zur Seite mit den Benutzerdetails zu gelangen.

1. Wählen Sie auf der Registerkarte **Sicherheits-Anmeldeinformationen** im Abschnitt **Zugriffsschlüssel** das Dropdown-Menü **Aktionen** und dann **Deaktivieren** aus.

1. Bestätigen Sie im Dialogfeld **Deaktivieren**, dass Sie den Zugriffsschlüssel deaktivieren möchten, indem Sie **Deaktivieren** auswählen

Nachdem ein Zugriffsschlüssel deaktiviert wurde, kann er nicht mehr für API-Aufrufe verwendet werden. Sie können ihn bei Bedarf erneut aktivieren.

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

Führen Sie den folgenden Befehl aus:
+ [https://docs.aws.amazon.com/cli/latest/reference/iam/update-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/update-access-key.html)

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html) 

------

## So aktivieren Sie einen Zugriffsschlüssel für einen IAM-Benutzer
<a name="admin-activate-access-key"></a>

------
#### [ Console ]

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 auf **Users (Benutzer)**.

1. Wählen Sie den Benutzernamen, um zur Seite mit den Benutzerdetails zu gelangen.

1. Wählen Sie auf der Registerkarte **Sicherheits-Anmeldeinformationen** im Abschnitt **Zugriffsschlüssel** das Dropdown-Menü **Aktionen** und wählen Sie dann **Aktivieren**.

Nachdem ein Zugriffsschlüssel aktiviert wurde, kann er für API-Aufrufe verwendet werden. Bei Bedarf können Sie ihn wieder deaktivieren.

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

Führen Sie den folgenden Befehl aus:
+ [https://docs.aws.amazon.com/cli/latest/reference/iam/update-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/update-access-key.html)

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html) 

------

## So löschen Sie einen Zugriffsschlüssel für einen IAM-Benutzer
<a name="admin-delete-access-key"></a>

Wenn Sie einen Zugriffsschlüssel nach der Deaktivierung nicht mehr benötigen, löschen Sie ihn.

------
#### [ Console ]

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 auf **Users (Benutzer)**.

1. Wählen Sie den Benutzernamen, um zur Seite mit den Benutzerdetails zu gelangen.

1. Wählen Sie auf der Registerkarte **Sicherheitsanmeldedaten** im Abschnitt **Zugriffsschlüssel** das Dropdown-Menü **Aktionen** für den inaktiven Zugriffsschlüssel aus und wählen Sie dann **Löschen** aus.

1. Bestätigen Sie im Dialogfeld **Löschen**, dass Sie den Zugriffsschlüssel löschen möchten, indem Sie die Zugriffsschlüssel-ID in das Texteingabefeld eingeben und dann **Löschen** auswählen.

Nachdem ein Zugriffsschlüssel gelöscht wurde, kann er nicht wiederhergestellt werden.

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

Führen Sie den folgenden Befehl aus:
+ [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-access-key.html)

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccessKey.html) 

------

## So listen Sie die Zugriffsschlüssel für einen IAM-Benutzer auf
<a name="admin-list-access-key"></a>

Sie können eine Liste der Zugriffsschlüssel anzeigen, die einem IAM-Benutzer IDs zugeordnet sind. 

------
#### [ Console ]

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 auf **Users (Benutzer)**.

1. Wählen Sie den Benutzernamen, um zur Seite mit den Benutzerdetails zu gelangen.

1. Auf der Registerkarte **Sicherheits-Anmeldeinformationen** werden im Abschnitt **Zugriffsschlüssel** die Zugriffsschlüssel für den Benutzer aufgeführt.

Jeder IAM-Benutzer kann über zwei Zugriffsschlüssel verfügen.

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

Führen Sie den folgenden Befehl aus:
+ [https://docs.aws.amazon.com/cli/latest/reference/iam/list-access-keys.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-access-keys.html)

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html) 

------

## So listen Sie die Zugriffsschlüssel für einen IAM-Benutzer auf
<a name="admin-list-access-key"></a>

Sie können eine Liste der Zugriffsschlüssel anzeigen, die einem IAM-Benutzer IDs zugeordnet sind. 

------
#### [ Console ]

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 auf **Users (Benutzer)**.

1. Wählen Sie den Benutzernamen, um zur Seite mit den Benutzerdetails zu gelangen.

1. Auf der Registerkarte **Sicherheitsanmeldedaten** werden im Abschnitt **Zugriffsschlüssel** die Zugriffsschlüssel IDs für den Benutzer aufgeführt, einschließlich des Status der einzelnen angezeigten Schlüssel.
**Anmerkung**  
Nur die Zugriffsschlüssel-ID des Benutzers wird angezeigt. Der geheime Zugriffsschlüssel kann nur während der Erstellung des Schlüssels abgerufen werden.

Jeder IAM-Benutzer kann über zwei Zugriffsschlüssel verfügen.

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

Führen Sie den folgenden Befehl aus:
+ [https://docs.aws.amazon.com/cli/latest/reference/iam/list-access-keys.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-access-keys.html)

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html) 

------

## Um alle Zugriffsschlüssel IDs für Benutzer in Ihrem Konto anzuzeigen
<a name="admin-list-all-access-keys"></a>

Sie können eine Liste der Zugriffsschlüssel IDs für Benutzer in Ihrem anzeigen AWS-Konto. 

------
#### [ Console ]

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 auf **Users (Benutzer)**.

1. Wählen Sie den Benutzernamen, um zur Seite mit den Benutzerdetails zu gelangen.

1. Falls erforderlich, fügen Sie die Spalte **Access key ID (Zugriffsschlüssel-ID)** zur Tabelle der Benutzer hinzu, indem Sie die folgenden Schritte ausführen:

   1. Wählen Sie oberhalb der Tabelle ganz rechts das Symbol **Einstellungen** (![\[Preferences icon\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/console-settings-icon.console.png)) aus.

   1. Aktivieren Sie im Dialogfeld **Einstellungen** unter **Sichtbare Spalten auswählen** die Option **Zugriffstasten-ID**.

   1. Klicken Sie auf **Confirm (Bestätigen)**, um zur Liste der Benutzer zurückzukehren. Die Liste wird aktualisiert und enthält nun die Zugriffsschlüssel-ID.

1. In der Spalte **Zugriffsschlüssel-ID** wird der Status jedes Zugriffsschlüssels gefolgt von seiner ID angezeigt, z. B. **`Active - AKIAIOSFODNN7EXAMPLE`** oder **`Inactive - AKIAI44QH8DHBEXAMPLE`**. 

   Sie können diese Informationen verwenden, um die Zugriffsschlüssel IDs für Benutzer mit einem oder zwei Zugriffsschlüsseln anzuzeigen und zu kopieren. Die Spalte zeigt **`-`** für Benutzer ohne Zugriffsschlüssel an.
**Anmerkung**  
Der geheime Zugriffsschlüssel kann nur während der Erstellung des Schlüssels abgerufen werden.

Jeder IAM-Benutzer kann über zwei Zugriffsschlüssel verfügen.

------

## So verwenden Sie eine Zugriffsschlüssel-ID, um einen Benutzer zu finden
<a name="admin-find-user-access-keys"></a>

Sie können eine Zugriffsschlüssel-ID verwenden, um einen Benutzer in Ihrem AWS-Konto zu finden. 

------
#### [ Console ]

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. Geben Sie im Navigationsbereich im Suchfeld die **Zugriffsschlüssel-ID** ein, z. B. AKIAI44QH8DHBEXAMPLE. 

1. Der IAM-Benutzer, dem die Zugriffsschlüssel-ID zugeordnet ist, wird im Navigationsbereich angezeigt. Wählen Sie den Benutzernamen, um zur Seite mit den Benutzerdetails zu gelangen.

------

## So finden Sie die letzte Verwendung einer Zugriffsschlüssel-ID
<a name="admin-find-most-recent-use-access-keys"></a>

Die letzte Verwendung eines Zugriffsschlüssels wird in der Benutzerliste auf der IAM-Benutzerseite und auf der Benutzerdetailseite angezeigt und ist Teil des Berichts zu den Anmeldeinformationen. 

------
#### [ Console ]

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. In der Benutzerliste finden Sie die Spalte **Zuletzt verwendeter Zugriffsschlüssel**.

   Wenn die Spalte nicht angezeigt wird, wählen Sie das Symbol **Einstellungen** (![\[Preferences icon\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/console-settings-icon.console.png)) aus und aktivieren Sie unter **Sichtbare Spalten auswählen** die Option **Zuletzt verwendeter Zugriffsschlüssel**, um die Spalte anzuzeigen.

1. (optional) Wählen Sie im Navigationsbereich unter **Zugriffsberichte** die Option **Bericht zu Anmeldeinformationen** aus, um einen Bericht herunterzuladen, der die Informationen zum zuletzt verwendeten Zugriffsschlüssel für alle IAM-Benutzer in Ihrem Konto enthält.

1. (optional) Wählen Sie den IAM-Benutzer aus, um die Benutzerdetails anzuzeigen. Der Abschnitt **Zusammenfassung** enthält den Zugriffsschlüssel IDs, ihren Status und das Datum der letzten Verwendung.

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

Führen Sie den folgenden Befehl aus:
+ [https://docs.aws.amazon.com/cli/latest/reference/iam/get-access-key-last-used.html](https://docs.aws.amazon.com/cli/latest/reference/iam/get-access-key-last-used.html)

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccessKeyLastUsed.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccessKeyLastUsed.html) 

------

# Zugriffsschlüssel aktualisieren
<a name="id-credentials-access-keys-update"></a>

Als [bewährte Sicherheitsmethode](best-practices.md#update-access-keys) empfehlen wir Ihnen, die IAM-Benutzerzugriffsschlüssel bei Bedarf zu aktualisieren, beispielsweise wenn ein Mitarbeiter Ihr Unternehmen verlässt. IAM-Benutzer können ihre eigenen Zugriffsschlüssel aktualisieren, wenn ihnen die erforderlichen Berechtigungen gewährt wurden.

Weitere Informationen zum Gewähren von Berechtigungen für IAM-Benutzer zum Aktualisieren ihrer eigenen Zugriffsschlüssel finden Sie unter [AWS: Ermöglicht es IAM-Benutzern, ihr eigenes Passwort sowie ihre eigenen Zugriffsschlüssel und öffentlichen SSH-Schlüssel auf der Seite Sicherheits-Anmeldeinformationen zu verwalten](reference_policies_examples_aws_my-sec-creds-self-manage-pass-accesskeys-ssh.md). Sie können auch eine Passwortrichtlinie auf Ihr Konto anwenden, um zu verlangen, dass alle Ihre IAM-Benutzer ihre Passwörter regelmäßig aktualisieren und festlegen, wie oft sie dies tun müssen. Weitere Informationen finden Sie unter [Konto-Passwortrichtlinie für IAM-Benutzer festlegen](id_credentials_passwords_account-policy.md). 

**Anmerkung**  
Wenn Sie Ihren geheimen Zugriffsschlüssel verlieren, müssen Sie den Zugriffsschlüssel löschen und einen neuen erstellen. Der geheime Zugriffsschlüssel kann nur zum Zeitpunkt seiner Erstellung abgerufen werden. Gehen Sie wie folgt vor, um verlorene Zugriffsschlüssel zu deaktivieren und anschließend durch neue Anmeldeinformationen zu ersetzen.

**Topics**
+ [

## Aktualisieren von Zugriffsschlüsseln für IAM-Benutzer (Konsole)
](#rotating_access_keys_console)
+ [

## Aktualisieren der Zugriffsschlüssel (AWS CLI)
](#rotating_access_keys_cli)
+ [

## Aktualisierung der Zugriffsschlüssel (AWS API)
](#rotating_access_keys_api)

## Aktualisieren von Zugriffsschlüsseln für IAM-Benutzer (Konsole)
<a name="rotating_access_keys_console"></a>

Sie können Zugriffsschlüssel über die AWS-Managementkonsole aktualisieren.

**So aktualisieren Sie Zugriffsschlüssel für einen IAM-Benutzer, ohne Ihre Anwendungen zu unterbrechen (Konsole)**

1. Erstellen Sie einen zweiten, solange der erste Zugriffsschlüssel aktiv ist.

   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 auf **Users (Benutzer)**.

   1. Wählen Sie den Namen des gewünschten Benutzers und dann die Registerkarte **Security credentials (Sicherheitsanmeldeinformationen)**.

   1. Wählen Sie im Abschnitt **Zugriffsschlüssel** die Option **Zugriffsschlüssel erstellen** aus. Wählen Sie auf der Seite **Access key best practices & alternatives (Bewährte Methoden und Alternativen zu Zugriffsschlüsseln)** die Option **Other (Andere)** und anschließend **Next (Weiter)** aus.

   1. (Optional) Legen Sie einen Beschreibungs-Tag-Wert für den Zugriffsschlüssel fest, um diesem IAM-Benutzer ein Tag-Schlüssel-Wert-Paar hinzuzufügen. Auf diese Weise können Sie Zugriffsschlüssel leichter identifizieren und aktualisieren. Der Tag-Schlüssel ist auf die Zugriffsschlüssel-ID festgelegt. Der Tag-Wert ist auf die von Ihnen angegebene Beschreibung des Zugriffsschlüssels festgelegt. Wenn Sie fertig sind, wählen Sie **Create access key (Zugriffsschlüssel erstellen)** aus.

   1. Wählen Sie auf der Seite **Retrieve access keys (Zugriffsschlüssel abrufen)** entweder **Show (Anzeigen)**, um den Wert des geheimen Zugriffsschlüssels Ihres Benutzers anzuzeigen, oder **Download .csv file (CSV-Datei herunterladen)**. Das ist Ihre einzige Gelegenheit, Ihren geheimen Zugriffsschlüssel zu speichern. Nachdem Sie Ihren geheimen Zugriffsschlüssel an einem sicheren Ort gespeichert haben, wählen Sie **Done (Fertig)** aus.

      Wenn Sie einen Zugriffsschlüssel erstellen, ist das Schlüsselpaar standardmäßig aktiv, und Ihr Benutzer kann es sofort verwenden. Nun verfügt der Benutzer über zwei aktive Zugriffsschlüssel.

1. Aktualisieren Sie alle Anwendungen und Tools, damit der neue Zugriffsschlüssel verwendet wird.

1. <a name="id_credentials_access-keys-key-still-in-use"></a>Stellen Sie fest, ob der erste Zugriffsschlüssel noch verwendet wird, indem Sie die Informationen **Last used (Zuletzt verwendet)** für den ältesten Zugriffsschlüssel prüfen. Es empfiehlt sich, einige Tage zu warten und dann den ältesten verwendeten Zugriffsschüssel zu prüfen, bevor Sie weitere Schritte unternehmen.

1. Auch wenn der Wert in den Informationen **Last used (Zuletzt verwendet)** angibt, dass der alte Schlüssel zu keiner Zeit verwendet worden ist, empfehlen wir, den ersten Zugriffsschlüssel nicht sofort zu löschen. Wählen Sie stattdessen **Actions (Aktionen)** und dann **Deactivate (Deaktivieren)** aus, um den ersten Zugriffsschlüssel zu deaktivieren.

1. Verwenden Sie nur den neuen Zugriffsschlüssel, um zu bestätigen, dass Ihre Anwendungen funktionieren. Alle Anwendungen und Tools, die immer noch den ursprünglichen Zugriffsschlüssel verwenden, funktionieren zu diesem Zeitpunkt nicht mehr, da sie keinen Zugriff mehr auf AWS Ressourcen haben. Wenn Sie so eine Anwendung oder so ein Tool finden, können Sie den ersten Zugriffsschlüssel reaktivieren. Kehren Sie dann zu [Step 3](#id_credentials_access-keys-key-still-in-use) zurück und aktualisieren Sie diese Anwendung, damit sie den neuen Schlüssel verwendet.

1. Nachdem Sie über einen gewissen Zeitraum sichergestellt haben, dass alle Anwendungen und Tools aktualisiert wurden, können Sie den ersten Zugriffsschlüssel löschen:

   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 auf **Users (Benutzer)**.

   1. Wählen Sie den Namen des gewünschten Benutzers und dann die Registerkarte **Security credentials (Sicherheitsanmeldeinformationen)**.

   1. Suchen Sie im Abschnitt **Access keys (Zugriffsschlüssel)** nach dem Zugriffsschlüssel, den Sie löschen möchten, und wählen Sie dann **Actions (Aktionen)** und anschließend **Delete (Löschen)**. Folgen Sie den Anweisungen im Dialogfeld, um zuerst zu **Deactivate (Deaktivieren)** und dann den Löschvorgang zu bestätigen.

**Um festzustellen, welche Zugriffsschlüssel aktualisiert oder gelöscht werden müssen (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 auf **Users (Benutzer)**.

1. Falls erforderlich, fügen Sie die Spalte **Access key age (Zugriffsschlüsselalter)** zur Tabelle "Benutzer" hinzu, indem Sie die folgenden Schritte ausführen:

   1. Über der Tabelle auf der rechten Seite wählen Sie das Einstellungssymbol (![\[Settings icon\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/console-settings-icon.console.png)).

   1. Wählen Sie unter **Manage columns (Spalten verwalten)** die Option **Access key age (Zugriffsschlüsselalter)**.

   1. Klicken Sie auf **Close (Schließen)**, um zur Liste der Benutzer zurückzukehren.

1. Die Spalte **Access key age (Zugriffsschlüsselalter)** zeigt die Anzahl der Tage an, seit der älteste aktive Zugriffsschlüssel erstellt wurde. Mithilfe dieser Informationen können Sie Benutzer mit Zugriffsschlüsseln finden, die möglicherweise aktualisiert oder gelöscht werden müssen. Für Benutzer ohne Zugriffsschlüssel wird in der Spalte **None (Keiner)** angezeigt.

## Aktualisieren der Zugriffsschlüssel (AWS CLI)
<a name="rotating_access_keys_cli"></a>

Sie können Zugriffsschlüssel über den AWS Command Line Interface aktualisieren.

**So aktualisieren Sie Zugriffsschlüssel, ohne Ihre Anwendungen zu unterbrechen (AWS CLI)**

1. Erstellen Sie einen zweiten, standardmäßig aktiven Zugriffsschlüssel, solange der erste Zugriffsschlüssel aktiv ist. Führen Sie den folgenden Befehl aus:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html)

     Nun verfügt der Benutzer über zwei aktive Zugriffsschlüssel.

1. <a name="step-update-apps"></a>Aktualisieren Sie alle Anwendungen und Tools, damit der neue Zugriffsschlüssel verwendet wird.

1. <a name="step-determine-use"></a>Stellen Sie mit folgendem Befehl fest, ob der erste Zugriffsschlüssel noch verwendet wird:
   +  [https://docs.aws.amazon.com/cli/latest/reference/iam/get-access-key-last-used.html](https://docs.aws.amazon.com/cli/latest/reference/iam/get-access-key-last-used.html)

   Es empfiehlt sich, einige Tage zu warten und dann den ältesten verwendeten Zugriffsschüssel zu prüfen, bevor Sie weitere Schritte unternehmen.

1. Auch wenn der Schritt [Step 3](#step-determine-use) angibt, dass der alte Schlüssel nicht verwendet wird, empfehlen wir, den ersten Zugriffsschlüssel nicht zu sofort löschen. Ändern Sie stattdessen den Status des ersten Zugriffsschlüssels mit dem folgenden Befehl auf `Inactive`:
   +  [https://docs.aws.amazon.com/cli/latest/reference/iam/update-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/update-access-key.html)

1. Verwenden Sie nur den neuen Zugriffsschlüssel, um zu bestätigen, dass Ihre Anwendungen funktionieren. Alle Anwendungen und Tools, die immer noch den ursprünglichen Zugriffsschlüssel verwenden, funktionieren zu diesem Zeitpunkt nicht mehr, da sie keinen Zugriff mehr auf AWS Ressourcen haben. Wenn Sie so eine Anwendung oder so ein Tool feststellen, können Sie den Status zurück zu `Active` wechseln, um den ersten Zugriffsschlüssel zu reaktivieren. Kehren Sie dann zum Schritt [Step 2](#step-update-apps) zurück und aktualisieren Sie diese Anwendung, damit sie den neuen Schlüssel verwendet.

1. Nachdem Sie über einen gewissen Zeitraum sichergestellt haben, dass alle Anwendungen und Tools aktualisiert wurden, können Sie den ersten Zugriffsschlüssel mit diesem Befehl löschen:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-access-key.html)

## Aktualisierung der Zugriffsschlüssel (AWS API)
<a name="rotating_access_keys_api"></a>

Sie können die Zugriffsschlüssel mithilfe der AWS API aktualisieren.

**Um Zugriffsschlüssel zu aktualisieren, ohne Ihre Anwendungen zu unterbrechen (AWS API)**

1. Erstellen Sie einen zweiten, standardmäßig aktiven Zugriffsschlüssel, solange der erste Zugriffsschlüssel aktiv ist. Rufen Sie die folgende Operation auf:
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html)

     Nun verfügt der Benutzer über zwei aktive Zugriffsschlüssel.

1. <a name="step-update-apps-2"></a>Aktualisieren Sie alle Anwendungen und Tools, damit der neue Zugriffsschlüssel verwendet wird.

1. <a name="step-determine-use-2"></a>Stellen Sie durch Aufrufen der folgendem Operation fest, ob der erste Zugriffsschlüssel noch verwendet wird:
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccessKeyLastUsed.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccessKeyLastUsed.html)

   Es empfiehlt sich, einige Tage zu warten und dann den ältesten verwendeten Zugriffsschüssel zu prüfen, bevor Sie weitere Schritte unternehmen.

1. Auch wenn der Schritt [Step 3](#step-determine-use-2) angibt, dass der alte Schlüssel nicht verwendet wird, empfehlen wir, den ersten Zugriffsschlüssel nicht zu sofort löschen. Ändern Sie stattdessen den Status des ersten Zugriffsschlüssels in `Inactive`, indem Sie die Operation aufrufen:
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html)

1. Verwenden Sie nur den neuen Zugriffsschlüssel, um zu bestätigen, dass Ihre Anwendungen funktionieren. Alle Anwendungen und Tools, die immer noch den ursprünglichen Zugriffsschlüssel verwenden, funktionieren zu diesem Zeitpunkt nicht mehr, da sie keinen Zugriff mehr auf AWS Ressourcen haben. Wenn Sie so eine Anwendung oder so ein Tool feststellen, können Sie den Status zurück zu `Active` wechseln, um den ersten Zugriffsschlüssel zu reaktivieren. Kehren Sie dann zum Schritt [Step 2](#step-update-apps-2) zurück und aktualisieren Sie diese Anwendung, damit sie den neuen Schlüssel verwendet.

1. Nachdem Sie über einen gewissen Zeitraum sichergestellt haben, dass alle Anwendungen und Tools aktualisiert wurden, können Sie den ersten Zugriffsschlüssel durch Aufrufen dieser Operation löschen:
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccessKey.html)

# Zugriffsschlüssel sichern
<a name="securing_access-keys"></a>

Jeder, der über Ihre Zugangsschlüssel verfügt, hat denselben Zugriff auf Ihre AWS Ressourcen wie Sie. Daher AWS unternimmt er erhebliche Anstrengungen, um Ihre Zugangsschlüssel zu schützen, und im Einklang mit unserem [Modell der geteilten Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/) sollten Sie das auch tun. 

Erweitern Sie die folgenden Abschnitte, um Anleitungen zum Schutz Ihrer Zugriffsschlüssel zu erhalten. 

**Anmerkung**  
Ihre Organisation hat unter Umständen andere Sicherheitsanforderungen und -richtlinien als die in diesem Thema beschriebenen. Die hier gemachten Vorschläge dienen lediglich als allgemeine Orientierungshilfe. 

## Entfernen Sie die Zugriffsschlüssel (oder generieren Sie sie nicht) Root-Benutzer des AWS-Kontos
<a name="root-password"></a>

**Eine der besten Methoden, Ihr Konto zu schützen, besteht darin, für Ihr Root-Benutzer des AWS-Kontos gar keinen Zugriffsschlüssel zu verwenden.** Sofern Sie nicht über Root-Benutzer-Zugriffsschlüssel verfügen müssen (was selten vorkommt), ist es am besten, diese nicht zu generieren. Erstellen Sie stattdessen einen Administratorbenutzer AWS IAM Identity Center für die täglichen Verwaltungsaufgaben. Informationen zum Erstellen eines Administratorbenutzers in IAM Identity Center finden Sie unter [Erste Schritte](https://docs.aws.amazon.com//singlesignon/latest/userguide/getting-started.html) im *IAM Identity* Center-Benutzerhandbuch.

Wenn Sie bereits über Root-Benutzer-Zugriffsschlüssel für Ihr Konto verfügen, empfehlen wir Folgendes: Suchen Sie in Ihren Anwendungen nach Stellen, an denen Sie derzeit Zugriffsschlüssel verwenden (falls vorhanden), und ersetzen Sie die Root-Benutzer-Zugriffsschlüssel durch IAM-Benutzerzugriffsschlüssel. Deaktivieren und entfernen Sie dann die Root-Benutzer-Zugriffsschlüssel. Weitere Informationen zum Aktualisieren der Zugriffsschlüsseln finden Sie unter [Zugriffsschlüssel aktualisieren](id-credentials-access-keys-update.md)



## Verwenden Sie temporäre Sicherheitsanmeldeinformationen (IAM-Rollen) anstelle von Langzeit-Zugriffsschlüsseln
<a name="use-roles"></a>

In vielen Fällen benötigen Sie keine langfristigen Zugriffsschlüssel, die nie ablaufen (wie es bei IAM-Benutzern der Fall ist). Erstellen Sie stattdessen IAM-Rollen und generieren Sie temporäre Sicherheitsanmeldeinformationen. Temporäre Sicherheitsanmeldeinformationen bestehen aus einer Zugriffsschlüssel-ID und einem geheimen Zugriffsschlüssel, enthalten aber auch ein Sicherheits-Token, das angibt, wann die Anmeldeinformationen ablaufen. 

Langzeit-Zugriffsschlüssel, wie etwa solche für IAM-Benutzer und -Root-Benutzer, bleiben so lange gültig, bis Sie sie manuell widerrufen. Temporäre Sicherheitsanmeldedaten, die Sie über IAM-Rollen und andere Funktionen von erhalten haben, AWS -Security-Token-Service laufen jedoch nach kurzer Zeit ab. Verwenden Sie temporäre Sicherheitsanmeldeinformationen, um das Risiko für den Fall zu verringern, dass Anmeldeinformationen versehentlich kompromittiert werden.

Verwenden Sie eine IAM-Rolle und temporäre Sicherheitsanmeldeinformationen in den folgenden Szenarien:
+ **Sie haben eine Anwendung oder AWS CLI Skripte, die auf einer Amazon EC2 EC2-Instance ausgeführt werden.** Verwenden Sie Zugriffsschlüssel nicht direkt in Ihrer Anwendung. Übergeben Sie keine Zugriffsschlüssel an die Anwendung, betten Sie sie nicht in die Anwendung ein und lassen Sie die Anwendung keine Zugriffsschlüssel beliebiger Quellen lesen. Definieren Sie stattdessen eine IAM-Rolle mit entsprechenden Berechtigungen für Ihre Anwendung und starten Sie die Amazon Elastic Compute Cloud (Amazon EC2)-Instance mit [Rollen für EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html). Dadurch wird der Amazon-EC2-Instance eine IAM-Rolle zugeordnet. Durch diese Vorgehensweise erhält die Anwendung auch temporäre Sicherheitsanmeldeinformationen, die sie wiederum für programmgesteuerte Aufrufe an AWS verwenden kann. Das AWS SDKs und das AWS Command Line Interface (AWS CLI) können automatisch temporäre Anmeldeinformationen von der Rolle abrufen. 
+ **Sie müssen kontenübergreifenden Zugriff gewähren.** Verwenden Sie eine IAM-Rolle zum Einrichten von Vertrauensstellungen zwischen Konten und erteilen Sie Benutzern in einem Konto eingeschränkte Zugriffsberechtigungen für das vertrauenswürdige Konto. Weitere Informationen finden Sie unter [IAM-Tutorial: Delegieren Sie den Zugriff über AWS Konten hinweg mithilfe von IAM-Rollen](tutorial_cross-account-with-roles.md).
+ **Sie verfügen über eine mobile App.** Betten Sie keine Zugriffsschlüssel in die App ein, auch nicht in verschlüsselten Speichern. Verwenden Sie stattdessen [Amazon Cognito](https://aws.amazon.com/cognito/) zum Verwalten der Benutzeridentitäten in Ihrer App. Dieser Service ermöglicht Ihnen die Authentifizierung von Benutzern, die Login with Amazon, Facebook, Google oder einen beliebigen OpenID Connect (OIDC)-kompatiblen Identitätsanbieter nutzen. Anschließend können Sie den Anmeldeinformationsanbieter von Amazon Cognito verwenden, um Anmeldeinformationen zu verwalten, die Ihre App für Anforderungen an AWS nutzt.
+ **Sie möchten sich zu SAML 2.0 AWS zusammenschließen und Ihre Organisation unterstützt diese.** Falls Ihre Organisation über einen Identitätsanbieter verfügt, der SAML 2.0 unterstützt, konfigurieren Sie den Anbieter für SAML. Sie können SAML verwenden, um Authentifizierungsinformationen mit temporären Sicherheitsanmeldedaten auszutauschen AWS und diese zurückzugewinnen. Weitere Informationen finden Sie unter [SAML 2.0-Föderation](id_roles_providers_saml.md).
+ **Sie möchten sich mit einem lokalen Identitätsspeicher verbinden AWS und Ihre Organisation verfügt über einen lokalen Identitätsspeicher.** Wenn sich Benutzer innerhalb Ihrer Organisation authentifizieren können, können Sie eine Anwendung schreiben, die ihnen temporäre Sicherheitsanmeldedaten für den Zugriff auf Ressourcen ausstellt. AWS Weitere Informationen finden Sie unter [Benutzerdefinierten Identity Broker-Zugriff auf die AWS Konsole aktivieren](id_roles_providers_enable-console-custom-url.md).
+ **Verwenden Sie Bedingungen in IAM-Richtlinien, um nur den Zugriff von erwarteten Netzwerken aus zuzulassen.** Sie können einschränken, wo und wie Ihre Zugriffsschlüssel verwendet werden, indem Sie [IAM-Richtlinien mit Bedingungen](reference_policies_elements_condition_operators.md) implementieren, die nur erwartete Netzwerke spezifizieren und zulassen, z. B. Ihre öffentlichen IP-Adressen oder Virtual Private Clouds ()VPCs. Auf diese Weise wissen Sie, dass Zugriffsschlüssel nur aus erwarteten und akzeptablen Netzwerken verwendet werden können. 

**Anmerkung**  
Verwenden Sie eine Amazon EC2 EC2-Instance mit einer Anwendung, die programmgesteuerten Zugriff AWS auf Ressourcen benötigt? Falls ja, verwenden Sie [IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html) für EC2.

## IAM-Benutzerzugriffsschlüssel richtig verwalten
<a name="iam-user-access-keys"></a>

Wenn Sie Zugriffsschlüssel für den programmatischen Zugriff erstellen müssen AWS, erstellen Sie diese für IAM-Benutzer und gewähren Sie den Benutzern nur die Berechtigungen, die sie benötigen.

Beachten Sie diese Vorsichtsmaßnahmen, um die Zugriffsschlüssel von IAM-Benutzern zu schützen:
+ **Betten Sie Zugriffsschlüssel nicht direkt in den Code ein.** [AWS Mit den Befehlszeilentools [AWS SDKs](https://aws.amazon.com/tools/#sdk)und den Befehlszeilentools](https://aws.amazon.com/tools/#cli) können Sie Zugriffsschlüssel an bekannten Orten platzieren, sodass Sie sie nicht im Code speichern müssen. 

  Legen Sie Zugriffsschlüssel an einem der folgenden Orte ab:
  + **Die Datei mit den AWS Anmeldeinformationen.** Die AWS SDKs und verwenden AWS CLI automatisch die Anmeldeinformationen, die Sie in der AWS Anmeldeinformationsdatei speichern. 

    Informationen zur Verwendung der AWS Anmeldeinformationsdatei finden Sie in der Dokumentation zu Ihrem SDK. Beispiele hierfür sind [Set AWS Credentials and Region](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/setup-credentials.html) im *AWS SDK für Java Developer Guide* und [Configuration and Credentials Files](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) im *AWS Command Line Interface User Guide*.

    Um Anmeldeinformationen für AWS SDK für .NET und zu speichern AWS Tools for Windows PowerShell, empfehlen wir, den SDK Store zu verwenden. Weitere Informationen finden Sie unter [Verwenden des SDK-Speichers](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/sdk-store.html) im *AWS SDK für .NET -Entwicklerhandbuch*.
  + **Umgebungsvariablen.** Wählen Sie in einem System mit mehreren Mandanten Benutzerumgebungsvariablen und keine Systemumgebungsvariablen aus. 

    Weitere Informationen zur Verwendung von Umgebungsvariablen zum Speichern von Anmeldeinformationen finden Sie unter [Umgebungsvariablen](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html) im *AWS Command Line Interface -Benutzerhandbuch*. 
+ **Verwenden Sie unterschiedliche Zugriffsschlüssel für unterschiedliche Anwendungen.** Wenn Sie dies tun, können Sie die Berechtigungen isolieren und die Zugriffsschlüssel für einzelne Anwendungen widerrufen, wenn ein Zugriffsschlüssel kompromittiert wurde. Mit separaten Zugriffsschlüsseln für verschiedene Anwendungen werden auch eindeutige Einträge in [AWS CloudTrail](https://aws.amazon.com/cloudtrail/)-Protokolldateien generiert. Mit dieser Konfiguration können Sie leichter feststellen, welche Anwendung bestimmte Aktionen ausgeführt hat. 
+ **Aktualisieren Sie die Zugriffsschlüssel bei Bedarf.** Wenn das Risiko besteht, dass der Zugriffsschlüssel kompromittiert werden könnte, aktualisieren Sie den Zugriffsschlüssel und löschen Sie den vorherigen Zugriffsschlüssel. Details hierzu finden Sie unter [Zugriffsschlüssel aktualisieren](id-credentials-access-keys-update.md) 
+ **Entfernen Sie nicht verwendete Zugriffsschlüssel.** Wenn ein Benutzer Ihre Organisation verlässt, entfernen Sie den entsprechenden IAM-Benutzer, damit dieser nicht mehr auf Ihre Ressourcen zugreifen kann. Um herauszufinden, wann ein Zugriffsschlüssel zuletzt verwendet wurde, verwenden Sie die [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccessKeyLastUsed.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccessKeyLastUsed.html)API (AWS CLI command: [https://docs.aws.amazon.com/cli/latest/reference/iam/get-access-key-last-used.html](https://docs.aws.amazon.com/cli/latest/reference/iam/get-access-key-last-used.html)).
+ **Verwenden Sie temporäre Anmeldeinformationen und konfigurieren Sie die Multi-Faktor-Authentifizierung für Ihre sensibelsten API-Vorgänge.** Mit IAM-Richtlinien können Sie angeben, welche API-Operationen ein Benutzer aufrufen darf. In einigen Fällen möchten Sie möglicherweise die zusätzliche Sicherheit nutzen, die darin besteht, dass Benutzer mit AWS MFA authentifiziert werden müssen, bevor Sie ihnen erlauben, besonders vertrauliche Aktionen auszuführen. Sie verfügen beispielsweise über eine Richtlinie, die dem Benutzer gestattet, die Amazon EC2 Aktionen `RunInstances`, `DescribeInstances` und `StopInstances` auszuführen. Möglicherweise möchten Sie jedoch eine destruktive Aktion einschränken `TerminateInstances` und sicherstellen, dass Benutzer diese Aktion nur ausführen können, wenn sie sich mit einem AWS MFA-Gerät authentifizieren. Weitere Informationen finden Sie unter [Sicherer API-Zugriff mit MFA](id_credentials_mfa_configure-api-require.md).

## Greifen Sie mit Zugangsschlüsseln auf die mobile App zu AWS
<a name="access-keys-mobile-app"></a>

Mit der AWS mobilen App können Sie auf eine begrenzte Anzahl von AWS Diensten und Funktionen zugreifen. Mit der mobilen App können Sie auch unterwegs auf Vorfälle reagieren. Unter [AWS Console Mobile Application](https://aws.amazon.com/console/mobile/) können Sie die App herunterladen und weitere Informationen erhalten.

Sie können sich mit Ihrem Konsolenpasswort oder Ihren Zugriffsschlüsseln bei der mobilen App anmelden. Verwenden Sie als bewährte Methode keine Stammbenutzer-Zugriffsschlüssel. Stattdessen empfehlen wir dringend, zusätzlich zur Verwendung eines Passworts oder einer biometrischen Sperre auf Ihrem Mobilgerät einen IAM-Benutzer speziell für die Verwaltung von AWS Ressourcen mithilfe der mobilen App einzurichten. Wenn Sie Ihr Mobilgerät verlieren, können Sie den Zugriff des IAM-Benutzers entfernen.

**So melden Sie sich mit Zugriffsschlüsseln an (mobile App)**

1. Öffnen Sie die App auf Ihrem mobilen Gerät.

1. Wenn Sie dem Gerät zum ersten Mal eine Identität hinzufügen, wählen Sie **Identität hinzufügen** und dann **Zugriffsschlüssel** aus.

   Wenn Sie sich bereits mit einer anderen Identität angemeldet haben, wählen Sie das Menüsymbol und dann **Identität wechseln** aus. Wählen Sie dann **Als andere Identität anmelden** und dann **Zugriffsschlüssel** aus.

1. Geben Sie auf der Seite **Zugriffsschlüssel** Ihre Informationen ein:
   + **Zugriffsschlüssel-ID**: Geben Sie Ihre Zugriffsschlüssel-ID ein.
   + **Geheimer Zugriffsschlüssel**: Geben Sie Ihren geheimen Zugriffsschlüssel ein.
   + **Identitätsname**: Geben Sie den Namen der Identität ein, der in der mobilen App angezeigt wird. Dieser muss nicht mit Ihrem IAM-Benutzernamen übereinstimmen.
   + **Identitäts-PIN**: Erstellen Sie eine persönliche Identifizierungsnummer (PIN), die Sie bei zukünftigen Anmeldungen verwenden.
**Anmerkung**  
Wenn Sie die Biometrie für die AWS mobile App aktivieren, werden Sie aufgefordert, anstelle der PIN Ihren Fingerabdruck oder Ihre Gesichtserkennung zur Überprüfung zu verwenden. Wenn die Biometrie fehlschlägt, werden Sie möglicherweise stattdessen zur Eingabe der PIN aufgefordert.

1. Wählen Sie **Überprüfen und Hinzufügen von Schlüsseln**.

   Sie können nun über die mobile App auf eine ausgewählte Gruppe Ihrer Ressourcen zugreifen.

## Ähnliche Informationen
<a name="more-resources"></a>

Die folgenden Themen enthalten Anleitungen zur Einrichtung AWS SDKs und Verwendung der AWS CLI Zugriffstasten:
+ [Legen Sie die AWS Anmeldeinformationen und die Region](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/setup-credentials.html) im *AWS SDK für Java Entwicklerhandbuch* fest
+ [Verwendung des SDK-Speichers](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/sdk-store.html) im *AWS SDK für .NET -Entwicklerhandbuch*
+ [Bereitstellung von Anmeldeinformationen für das SDK](https://docs.aws.amazon.com/aws-sdk-php/v2/guide/credentials.html) im *AWS SDK für PHP -Entwicklerhandbuch*
+ [Konfiguration](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#configuration) in der Boto 3-Dokumentation (AWS SDK für Python)
+ [Verwendung von AWS -Anmeldeinformationen](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html) im *AWS Tools for Windows PowerShell -Benutzerhandbuch* 
+ [Konfigurations- und Anmeldeinformationsdateien](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) im *AWS Command Line Interface -Benutzerhandbuch* 
+ [Gewährung des Zugriffs mithilfe einer IAM-Rolle](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-hosm.html) im *AWS SDK für .NET -Entwicklerhandbuch*
+ [Konfigurieren von IAM-Rollen für Amazon EC2](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/java-dg-roles.html) in der *AWS SDK for Java 2.x*

## Verwenden von Zugriffsschlüsseln und geheimen Schlüsselanmeldeinformationen für den Konsolenzugriff
<a name="console-access-security-keys"></a>

Es ist möglich, Zugriffsschlüssel und geheime Schlüsselanmeldeinformationen für den direkten Zugriff auf die AWS-Managementkonsole zu verwenden, nicht nur die AWS CLI. Dies kann mithilfe des AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)API-Aufrufs erreicht werden. Durch die Erstellung einer Konsolen-URL mithilfe der temporären Anmeldeinformationen und des Tokens, die von `GetFederationToken` bereitgestellt werden, können IAM-Prinzipale auf die Konsole zugreifen. Weitere Informationen finden Sie unter [Benutzerdefinierten Identity Broker-Zugriff auf die AWS Konsole aktivieren](id_roles_providers_enable-console-custom-url.md).

Es ist wichtig zu beachten, dass bei der direkten Anmeldung an der Konsole mit IAM- oder Root-Benutze-Anmeldeinformationen bei aktivierter MFA eine MFA erforderlich ist. Wenn jedoch die oben beschriebene Methode (unter Verwendung temporärer Anmeldeinformationen mit `GetFederationToken`) verwendet wird, ist MFA NICHT erforderlich.



## Überwachen von Zugriffsschlüsseln
<a name="Using_access-keys-audit"></a>

Sie können die AWS Zugriffsschlüssel in Ihrem Code überprüfen, um festzustellen, ob die Schlüssel von einem Konto stammen, das Sie besitzen. Sie können eine Zugriffsschlüssel-ID mithilfe des [https://docs.aws.amazon.com/cli/latest/reference/sts/get-access-key-info.html](https://docs.aws.amazon.com/cli/latest/reference/sts/get-access-key-info.html) AWS CLI Befehls oder der [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetAccessKeyInfo.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetAccessKeyInfo.html) AWS API-Operation übergeben.

Die AWS API-Operationen AWS CLI und geben die ID der Person zurück, AWS-Konto zu der der Zugriffsschlüssel gehört. Der Zugriffsschlüssel, der mit IDs beginnt, `AKIA` sind langfristige Anmeldeinformationen für einen IAM-Benutzer oder einen Root-Benutzer des AWS-Kontos. Bei einem Zugriffsschlüssel, der mit IDs beginnt, `ASIA` handelt es sich um temporäre Anmeldeinformationen, die mithilfe von AWS STS Vorgängen erstellt werden. Wenn das Konto in der Antwort Ihnen gehört, können Sie sich als Stammbenutzer anmelden und Ihre Stammbenutzer-Zugriffsschlüssel überprüfen. Anschließend können Sie einen [Anmeldeinformationsbericht](id_credentials_getting-report.md) abrufen, um zu erfahren, welcher IAM-Benutzer die Schlüssel besitzt. Um zu erfahren, wer die temporären Anmeldeinformationen für einen `ASIA` Zugriffsschlüssel angefordert hat, sehen Sie sich die AWS STS Ereignisse in Ihren CloudTrail Protokollen an.

Aus Sicherheitsgründen können Sie in den [AWS CloudTrail Protokollen nachlesen](cloudtrail-integration.md#cloudtrail-integration_signin-tempcreds), wer eine Aktion in ausgeführt hat AWS. Sie können den `sts:SourceIdentity`-Bedingungsschlüssel in der Rollenvertrauensrichtlinie verwenden, damit Benutzer einen Sitzungsnamen angeben müssen, wenn sie eine Rolle übernehmen. Sie können beispielsweise verlangen, dass IAM-Benutzer ihren eigenen Benutzernamen als Sitzungsnamen angeben. Auf diese Weise können Sie feststellen, welcher Benutzer eine bestimmte Aktion in AWS ausgeführt hat. Weitere Informationen finden Sie unter [`sts:SourceIdentity`](reference_policies_iam-condition-keys.md#ck_sourceidentity).

Diese Operation gibt nicht den Status des Zugriffsschlüssels an. Der Schlüssel kann aktiv, inaktiv oder gelöscht sein. Aktive Schlüssel verfügen möglicherweise nicht über Berechtigungen zum Ausführen einer Operation. Die Bereitstellung eines gelöschten Zugriffsschlüssels gibt möglicherweise einen Fehler zurück, der besagt, dass der Schlüssel nicht vorhanden ist.

# AWS Multi-Faktor-Authentifizierung in IAM
<a name="id_credentials_mfa"></a>

Um die Sicherheit zu erhöhen, empfehlen wir Ihnen, die Multi-Faktor-Authentifizierung (MFA) zu konfigurieren, um Ihre AWS Ressourcen zu schützen. Sie können MFA für alle AWS-Konten, einschließlich eigenständiger Konten, Verwaltungskonten und Mitgliedskonten, sowie für Ihre IAM-Benutzer aktivieren. Root-Benutzer des AWS-Kontos Wir empfehlen, nach Möglichkeit Phishing-resistente MFA wie Hauptschlüssel und Sicherheitsschlüssel zu verwenden. Diese FIDO-basierten Authentifikatoren verwenden Kryptografie mit öffentlichen Schlüsseln und sind resistent gegen Phishing- und Replay-Angriffe. Sie bieten ein höheres Maß an man-in-the-middle Sicherheit als TOTP-basierte Optionen.

MFA wird für alle Kontotypen ihrer Root-Benutzer durchgesetzt. Weitere Informationen finden Sie unter [Sichern Sie die Root-Benutzeranmeldedaten Ihres AWS Organizations Kontos](root-user-best-practices.md#ru-bp-organizations). 

Wenn Sie MFA für den Stammbenutzer aktivieren, wirkt sich das nur auf die Anmeldeinformationen des Stammbenutzers. IAM-Benutzer im Konto sind unabhängige Identitäten mit eigenen Anmeldeinformationen und einer jeweils individuellen MFA-Konfiguration. Weitere Informationen zur Verwendung von MFA zum Schutz des Root-Benutzers finden Sie unter [Multi-Faktor-Authentifizierung für Root-Benutzer des AWS-Kontos](enable-mfa-for-root.md).

Ihre Root-Benutzer des AWS-Kontos und IAM-Benutzer können bis zu acht MFA-Geräte beliebigen Typs registrieren. Durch die Registrierung mehrerer MFA-Geräte können Sie flexibler vorgehen und das Risiko einer Zugriffsunterbrechung bei Verlust oder Defekt eines Geräts verringern. Sie benötigen nur ein MFA-Gerät, um sich bei der AWS-Managementkonsole anzumelden oder über die AWS CLI eine Sitzung zu erstellen.

**Anmerkung**  
Wir empfehlen, dass Sie von Ihren menschlichen Benutzern verlangen, dass sie beim Zugriff temporäre Anmeldeinformationen verwenden. AWS Haben Sie darüber nachgedacht, es zu verwenden AWS IAM Identity Center? Sie können IAM Identity Center verwenden, um den Zugriff auf mehrere Konten zentral zu verwalten AWS-Konten und Benutzern von einem zentralen Ort aus MFA-geschützten Single Sign-On-Zugriff auf alle ihnen zugewiesenen Konten zu gewähren. Mit IAM Identity Center können Sie Benutzeridentitäten in IAM Identity Center erstellen und verwalten oder einfach eine Verbindung zu Ihrem vorhandenen SAML-2.0-kompatiblen Identitätsanbieter herstellen. Weitere Informationen finden Sie unter [Was ist IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) im *AWS IAM Identity Center -Benutzerhandbuch*.

MFA bietet zusätzliche Sicherheit, da Benutzer beim Zugriff auf AWS Websites oder Dienste zusätzlich zu ihren Anmeldeinformationen eine eindeutige Authentifizierung über einen AWS unterstützten MFA-Mechanismus angeben müssen.

## MFA-Typen
<a name="id_credentials_mfa-types"></a>

AWS unterstützt die folgenden MFA-Typen:

**Contents**
+ [

### Passkeys und Sicherheitsschlüssel
](#passkeys-security-keys-for-iam-users)
+ [

### Anwendungen für virtuelle Authentifikatoren
](#virtual-auth-apps-for-iam-users)
+ [

### Hardware-TOTP-Token
](#hardware-totp-token-for-iam-users)

### Passkeys und Sicherheitsschlüssel
<a name="passkeys-security-keys-for-iam-users"></a>

AWS Identity and Access Management unterstützt Hauptschlüssel und Sicherheitsschlüssel für MFA. Basierend auf den FIDO-Standards verwenden Hauptschlüssel Kryptografie mit öffentlichen Schlüsseln, um eine starke, gegen Phishing resistente Authentifizierung zu gewährleisten, die sicherer ist als Passwörter. AWS unterstützt zwei Arten von Hauptschlüsseln: gerätegebundene Hauptschlüssel (Sicherheitsschlüssel) und synchronisierte Hauptschlüssel.
+ **Sicherheitsschlüssel**: Dabei handelt es sich um physische Geräte, wie z. B. a YubiKey, die als zweiter Faktor für die Authentifizierung verwendet werden. Ein einzelner Sicherheitsschlüssel kann mehrere Root-Benutzerkonten und IAM-Benutzer unterstützen.
+ **Synchronisierte Passkeys**: Diese nutzen Anmeldeinformationen von Anbietern wie Google, Apple, Microsoft-Konten und Drittanbieter-Services wie 1Password, Dashlane und Bitwarden als zweiten Faktor.

Du kannst integrierte biometrische Authentifikatoren wie Touch ID auf Apple MacBooks verwenden, um deinen Anmeldeinformationsmanager zu entsperren und dich dort anzumelden. AWS Passkeys werden bei Ihrem ausgewählten Anbieter anhand Ihres Fingerabdrucks, Gesichts oder der Geräte-PIN erstellt. Sie können auch einen Passkey für die geräteübergreifende Authentifizierung (CDA) auf einem Gerät, z. B. einem Mobilgerät oder einem Hardware-Sicherheitsschlüssel, verwenden, um sich auf einem anderen Gerät, z. B. einem Laptop, anzumelden. Weitere Informationen finden Sie unter [Geräteübergreifende Authentifizierung](https://passkeys.dev/docs/reference/terms/#cross-device-authentication-cda) (CDA).

Du kannst Passkeys auf all deinen Geräten synchronisieren, um die Anmeldung zu erleichtern und so die Benutzerfreundlichkeit und Wiederherstellbarkeit zu verbessern. AWS Weitere Informationen zum Aktivieren von Passkeys und Sicherheitsschlüsseln finden Sie unter [Aktivieren eines Passkey oder Sicherheitsschlüssels für den Root-Benutzer (Konsole)](enable-fido-mfa-for-root.md).

Die FIDO Alliance führt eine Liste aller [FIDO-zertifizierten Produkte](https://fidoalliance.org/certification/fido-certified-products/), die mit den FIDO-Spezifikationen kompatibel sind.

### Anwendungen für virtuelle Authentifikatoren
<a name="virtual-auth-apps-for-iam-users"></a>

Eine Anwendung zur virtuellen Authentifizierung wird auf einem Telefon oder einem anderen Gerät ausgeführt und emuliert ein physisches Gerät. Virtuelle Authentifizierungs-Apps implementieren den Algorithmus für ein [zeitgesteuertes Einmalpasswort (TOTP)](https://datatracker.ietf.org/doc/html/rfc6238) und unterstützen mehrere Token auf einem einzigen Gerät. Der Benutzer muss bei der Anmeldung einen gültigen Code vom Gerät eingeben, wenn er dazu aufgefordert wird. Jeder Token, der einem Benutzer zugeordnet wird, muss eindeutig sein. Ein Benutzer kann zur Authentifizierung keinen Code vom Token eines anderen Benutzers eingeben.

Wir empfehlen Ihnen, Phishing-resistente MFA wie [Hauptschlüssel oder Sicherheitsschlüssel zu verwenden, um](#passkeys-security-keys-for-iam-users) den bestmöglichen Schutz zu gewährleisten. Wenn Sie noch keine Hauptschlüssel oder Sicherheitsschlüssel verwenden können, empfehlen wir Ihnen, ein virtuelles MFA-Gerät als Zwischenmaßnahme zu verwenden, während Sie auf die Genehmigung des Hardwarekaufs warten oder bis Ihre Hardware eintrifft. Eine Liste einiger unterstützter Anwendungen, die Sie als virtuelle MFA-Geräte verwenden können, finden Sie unter [Multi-Faktor-Authentifizierung (MFA)](https://aws.amazon.com/iam/features/mfa/?audit=2019q1).

Anweisungen zum Einrichten eines virtuellen MFA-Geräts für einen IAM-Benutzer finden Sie unter [Weisen Sie ein virtuelles MFA-Gerät zu in der AWS-Managementkonsole](id_credentials_mfa_enable_virtual.md).

**Anmerkung**  
Nicht zugewiesene virtuelle MFA-Geräte in Ihrem AWS-Konto werden gelöscht, wenn Sie neue virtuelle MFA-Geräte entweder über den AWS-Managementkonsole oder während des Anmeldevorgangs hinzufügen. Nicht zugewiesene virtuelle MFA-Geräte sind Geräte in Ihrem Konto, die jedoch nicht von Root-Benutzern oder IAM-Benutzern für den Anmeldevorgang genutzt werden. Sie werden gelöscht, sodass Ihrem Konto neue virtuelle MFA-Geräte hinzugefügt werden können. Außerdem können Sie Gerätenamen wiederverwenden.  
Um nicht zugewiesene virtuelle MFA-Geräte in Ihrem Konto anzuzeigen, können Sie entweder den [list-virtual-mfa-devices](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-virtual-mfa-devices.html) AWS CLI Befehl oder den [API-Aufruf](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html) verwenden.
Um ein virtuelles MFA-Gerät zu deaktivieren, können Sie entweder den [deactivate-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/deactivate-mfa-device.html) AWS CLI Befehl oder den [API-Aufruf](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html) verwenden. Die Zuweisung des Geräts wird aufgehoben.
[Um Ihrem AWS-Konto Root-Benutzer oder Ihren IAM-Benutzern ein nicht zugewiesenes virtuelles MFA-Gerät zuzuordnen, benötigen Sie den vom Gerät generierten Authentifizierungscode zusammen mit dem [enable-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/enable-mfa-device.html)AWS CLI Befehl oder dem API-Aufruf.](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html)

### Hardware-TOTP-Token
<a name="hardware-totp-token-for-iam-users"></a>

Ein Hardwaregerät generiert einen sechsstelligen numerischen Code basierend auf dem [zeitgesteuerten Einmalpasswort (TOTP)-Algorithmus](https://datatracker.ietf.org/doc/html/rfc6238). Der Benutzer muss während der Anmeldung auf einer zweiten Webseite einen gültigen Code von dem Gerät eingeben.

Diese Token werden ausschließlich mit verwendet. AWS-Konten Sie können nur Token verwenden, deren eindeutige Token-Seeds auf sichere Weise gemeinsam genutzt werden AWS. Token-Seeds sind geheime Schlüssel, die zum Zeitpunkt der Token-Produktion generiert werden. Aus anderen Quellen erworbene Token funktionieren nicht mit IAM. Um die Kompatibilität sicherzustellen, müssen Sie Ihr Hardware-MFA-Gerät über einen der folgenden Links kaufen: [OTP-Token](https://www.amazon.com/SafeNet-IDProve-Time-based-6-Digit-Services/dp/B002CRN5X8) oder [OTP-Anzeigekarte](https://www.amazon.com/SafeNet-IDProve-Card-Amazon-Services/dp/B00J4NGUO4).
+ Jedes MFA-Gerät, das einem Benutzer zugeordnet ist, muss eindeutig sein. Ein Benutzer kann keinen Code von einem MFA-Gerät eines anderen Benutzers eingeben, um sich zu authentifizieren. Weitere Informationen zu unterstützten Hardware-MFA-Geräten finden Sie unter [Multi-Faktor-Authentifizierung (MFA)](https://aws.amazon.com/iam/features/mfa/?audit=2019q1).
+ Wenn Sie ein physisches MFA-Gerät verwenden möchten, empfehlen wir Ihnen, als Alternative zu Hardware-TOTP-Geräten Sicherheitsschlüssel zu verwenden. Sicherheitsschlüssel erfordern keine Batterien, sind Phishing-resistent und unterstützen mehrere Benutzer auf einem einzigen Gerät.

Sie können einen Hauptschlüssel oder Sicherheitsschlüssel AWS-Managementkonsole nur über die AWS API aktivieren, nicht über die AWS CLI oder. Bevor Sie einen Sicherheitsschlüssel aktivieren können, müssen Sie über physischen Zugriff auf das Gerät verfügen.

Anweisungen zum Einrichten eines Hardware-TOTP-Tokens für einen IAM-Benutzer finden Sie unter [Weisen Sie ein Hardware-TOTP-Token zu in der AWS-Managementkonsole](id_credentials_mfa_enable_physical.md).

**Anmerkung**  
**MFA auf SMS-Textnachricht** — die Unterstützung für die Aktivierung der SMS-Multifaktor-Authentifizierung (MFA) AWS wurde eingestellt. Wir empfehlen Kunden, deren IAM-Benutzer SMS-basierte MFA verwenden, auf eine der folgenden alternativen Methoden umzusteigen: [Passkey oder Sicherheitsschlüssel](id_credentials_mfa_enable_fido.md), [virtuelles (softwarebasiertes) MFA-Gerät](id_credentials_mfa_enable_virtual.md) oder [Hardware-MFA-Gerät](id_credentials_mfa_enable_physical.md). Sie können die Benutzer in Ihrem Konto mit einem zugewiesenen SMS-MFA-Gerät identifizieren. Wählen Sie in der IAM-Konsole **Users (Benutzer)** im Navigationsbereich und suchen Sie nach Benutzern mit **SMS** in der Spalte **MFA** der Tabelle.

## MFA-Empfehlungen
<a name="id_credentials_mfa-recommendations"></a>

Folgen Sie diesen Empfehlungen für die MFA-Authentifizierung, um Ihre AWS Identitäten zu schützen. 
+ Wir empfehlen Ihnen, Phishing-resistente MFA wie [Hauptschlüssel und Sicherheitsschlüssel als](#passkeys-security-keys-for-iam-users) MFA-Gerät zu verwenden. Diese FIDO-basierten Authentifikatoren bieten den stärksten Schutz vor Angriffen wie Phishing.
+ Wir empfehlen, dass Sie mehrere MFA-Geräte für die Root-Benutzer des AWS-Kontos und IAM-Benutzer in Ihrem aktivieren. AWS-Konten Auf diese Weise können Sie die Sicherheitslatte in Ihrem System höher legen AWS-Konten und die Verwaltung des Zugriffs für Benutzer mit hohen Rechten vereinfachen, wie z. B. Root-Benutzer des AWS-Kontos
+ Sie können bis zu **acht** MFA-Geräte mit einer beliebigen Kombination der [derzeit unterstützten MFA-Typen](https://aws.amazon.com/iam/features/mfa/) bei Ihren Root-Benutzer des AWS-Kontos und IAM-Benutzern registrieren. Bei mehreren MFA-Geräten benötigen Sie nur ein MFA-Gerät, um sich AWS CLI als dieser Benutzer anzumelden AWS-Managementkonsole oder eine Sitzung über den zu erstellen. Ein IAM-Benutzer muss sich mit einem vorhandenen MFA-Gerät authentifizieren, um ein zusätzliches MFA-Gerät zu aktivieren oder zu deaktivieren.
+ Im Falle eines verlorenen, gestohlenen oder unzugänglichen MFA-Geräts können Sie eines der verbleibenden MFA-Geräte verwenden, um darauf zuzugreifen, AWS-Konto ohne das Wiederherstellungsverfahren durchführen zu müssen. AWS-Konto Wenn ein MFA-Gerät verloren geht oder gestohlen wird, muss es vom IAM-Prinzipal getrennt werden, mit dem es verknüpft ist.
+ Durch die Verwendung mehrerer Optionen MFAs können Ihre Mitarbeiter an geografisch verteilten Standorten oder von zu Hause aus auf hardwarebasiertes MFA zugreifen, AWS ohne den physischen Austausch eines einzelnen Hardwaregeräts zwischen den Mitarbeitern koordinieren zu müssen.
+ Durch die Verwendung zusätzlicher MFA-Geräte für IAM-Principals können Sie eines oder mehrere MFAs für den täglichen Gebrauch verwenden und gleichzeitig physische MFA-Geräte an einem sicheren physischen Ort wie einem Tresor oder einem Safe für Backup und Redundanz aufbewahren.

**Hinweise**  
Sie können die MFA-Informationen für einen Sicherheitsschlüssel oder Hauptschlüssel nicht an AWS STS API-Operationen weitergeben, um temporäre Anmeldeinformationen anzufordern. Sie können Anmeldeinformationen für die Verwendung mit AWS CLI und AWS SDKs bei Verwendung eines Sicherheitsschlüssels oder Hauptschlüssels abrufen, indem Sie den Befehl ausführen. `aws login`
Sie können keine AWS CLI Befehle oder AWS API-Operationen verwenden, um [FIDO-Sicherheitsschlüssel](id_credentials_mfa_enable_fido.md) zu aktivieren.
Sie können denselben Namen nicht für mehr als einen Root-Benutzer oder ein IAM-MFA-Gerät verwenden.

## Weitere Ressourcen
<a name="id_credentials_mfa-resources"></a>

Mithilfe der folgenden Ressourcen können Sie mehr über MFA erfahren.
+ Weitere Hinweise zur Verwendung von MFA für den Zugriff finden Sie AWS unter[Anmeldung mit MFA](console_sign-in-mfa.md).
+  Sie können IAM Identity Center nutzen, um sicheren MFA-Zugriff auf Ihr AWS Zugriffsportal, die integrierten IAM Identity Center-Apps und das zu ermöglichen. AWS CLI Weitere Informationen finden Sie unter [Aktivieren von MFA im IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/mfa-getting-started.html).

# Weisen Sie einen Hauptschlüssel oder Sicherheitsschlüssel zu in AWS-Managementkonsole
<a name="id_credentials_mfa_enable_fido"></a>

Passkeys sind eine Art [Multi-Faktor-Authentifizierungsgerät (MFA)](id_credentials_mfa.md), mit dem Sie Ihre Ressourcen schützen können. AWS AWS unterstützt synchronisierte Hauptschlüssel und gerätegebundene Hauptschlüssel, auch Sicherheitsschlüssel genannt. 

Mithilfe synchronisierter Passkeys können IAM-Benutzer auf vielen ihrer Geräte (auch auf neuen) auf ihre FIDO-Anmeldeinformationen zugreifen, ohne jedes Gerät bei jedem Konto erneut registrieren zu müssen. Zu den synchronisierten Passkeys gehören Anmeldeinformations-Manager von Erstanbietern wie Google, Apple und Microsoft sowie Anmeldeinformationsmanager von Drittanbietern wie 1Password, Dashlane und Bitwarden als zweiter Faktor. Sie können auch biometrische Daten auf dem Gerät (z. B. TouchID, FaceID) verwenden, um den von Ihnen gewählten Anmeldeinformations-Manager für die Verwendung von Passkeys zu entsperren. 

Alternativ sind gerätegebundene Passkeys an einen FIDO-Sicherheitsschlüssel gebunden, den Sie an einen USB-Anschluss Ihres Computers anschließen und dann bei der entsprechenden Aufforderung antippen, um den Anmeldevorgang sicher abzuschließen. Wenn Sie einen FIDO-Sicherheitsschlüssel bereits mit anderen Diensten verwenden und dieser über eine [AWS unterstützte Konfiguration](id_credentials_mfa_fido_supported_configurations.md) verfügt (z. B. die Serie YubiKey 5 von Yubico), können Sie ihn auch mit verwenden. AWS Andernfalls müssen Sie einen FIDO-Sicherheitsschlüssel erwerben, wenn Sie ihn WebAuthn für MFA in verwenden möchten. AWS Darüber hinaus können FIDO-Sicherheitsschlüssel mehrere IAM- oder Root-Benutzer auf demselben Gerät unterstützen, was ihren Nutzen für die Kontosicherheit erhöht. Spezifikationen und Kaufinformationen für beide Gerätetypen finden Sie unter [Multifaktor-Authentifizierung](https://aws.amazon.com/iam/details/mfa/).

Sie können bis zu **acht** MFA-Geräte mit einer beliebigen Kombination der [derzeit unterstützten MFA-Typen](https://aws.amazon.com/iam/features/mfa/) bei Ihren Root-Benutzer des AWS-Kontos und IAM-Benutzern registrieren. Bei mehreren MFA-Geräten benötigen Sie nur ein MFA-Gerät, um sich AWS CLI als dieser Benutzer anzumelden AWS-Managementkonsole oder eine Sitzung über den zu erstellen. Wir empfehlen, mehrere MFA-Geräte zu registrieren. Sie können beispielsweise einen integrierten Authentifikator registrieren und auch einen Sicherheitsschlüssel registrieren, den Sie an einem physisch sicheren Ort aufbewahren. Wenn Sie Ihren integrierten Authentifikator nicht verwenden können, können Sie Ihren registrierten Sicherheitsschlüssel verwenden. Für Authentifizierungsanwendungen empfehlen wir außerdem, die Cloud-Backup- oder Synchronisierungsfunktion in diesen Apps zu aktivieren. Dadurch vermeiden Sie, dass Sie den Zugriff auf Ihr Konto verlieren, wenn Sie Ihr Gerät mit den Authentifizierungs-Apps verlieren oder beschädigen.

**Anmerkung**  
Wir empfehlen, dass Sie menschliche Benutzer auffordern, beim Zugriff auf AWS temporäre Anmeldeinformationen zu verwenden. Ihre Benutzer können sich AWS mit einem Identitätsanbieter verbinden, wo sie sich mit ihren Unternehmensanmeldedaten und MFA-Konfigurationen authentifizieren. Um den Zugriff auf AWS und Geschäftsanwendungen zu verwalten, empfehlen wir die Verwendung von IAM Identity Center. Weitere Informationen finden Sie im [Benutzerhandbuch zu IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html). 

**Topics**
+ [

## Erforderliche Berechtigungen
](#enable-fido-mfa-for-iam-user-permissions-required)
+ [

## Passkey oder Sicherheitsschlüssel für Ihren eigenen IAM-Benutzer (Konsole) aktivieren
](#enable-fido-mfa-for-own-iam-user)
+ [

## Passkey oder Sicherheitsschlüssels für einen anderen IAM-Benutzer (Konsole) aktivieren
](#enable-fido-mfa-for-iam-user)
+ [

## Ersetzen eines Passkeys oder Sicherheitsschlüssels
](#replace-fido-mfa)
+ [

# Unterstützte Konfigurationen für die Verwendung von Passkeys und Sicherheitsschlüsseln
](id_credentials_mfa_fido_supported_configurations.md)

## Erforderliche Berechtigungen
<a name="enable-fido-mfa-for-iam-user-permissions-required"></a>

Um einen FIDO-Passkey für Ihren eigenen IAM-Benutzer zu verwalten und gleichzeitig vertrauliche MFA-bezogene Aktionen zu schützen, müssen Sie über die Berechtigungen der folgenden Richtlinie verfügen:

**Anmerkung**  
Die ARN-Werte sind statische Werte und kein Indikator dafür, welches Protokoll zur Registrierung des Authentifikators verwendet wurde. Wir haben U2F als veraltet eingestuft, daher verwenden alle neuen Implementierungen. WebAuthn

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowManageOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "DenyAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

## Passkey oder Sicherheitsschlüssel für Ihren eigenen IAM-Benutzer (Konsole) aktivieren
<a name="enable-fido-mfa-for-own-iam-user"></a>

Sie können einen Hauptschlüssel oder Sicherheitsschlüssel für Ihren eigenen IAM-Benutzer AWS-Managementkonsole nur über die API aktivieren, nicht über die oder. AWS CLI AWS Bevor Sie einen Sicherheitsschlüssel aktivieren können, müssen Sie über physischen Zugriff auf das Gerät verfügen.

**So aktivieren Sie einen Passkey oder Sicherheitsschlüssel für Ihren eigenen IAM-Benutzer (Konsole)**

1. [Verwenden Sie Ihre AWS Konto-ID oder Ihren Kontoalias, Ihren IAM-Benutzernamen und Ihr Passwort, um sich bei der IAM-Konsole anzumelden.](https://console.aws.amazon.com/iam)
**Anmerkung**  
Der Einfachheit halber verwendet die AWS Anmeldeseite ein Browser-Cookie, um sich Ihren IAM-Benutzernamen und Ihre Kontoinformationen zu merken. Wenn Sie sich zuvor als anderer Benutzer angemeldet haben, wählen Sie **Melden Sie sich bei einem anderen Konto an **Um zur Hauptanmeldeseite zurückzukehren. Von dort aus können Sie Ihre AWS Konto-ID oder Ihren Kontoalias eingeben, um zur IAM-Benutzer-Anmeldeseite für Ihr Konto weitergeleitet zu werden.

   Wenden Sie sich an Ihren Administrator, um Ihre AWS-Konto ID zu erhalten.

1. Wählen Sie auf der Navigationsleiste rechts oben Ihren Benutzernamen und dann **Security Credentials (Sicherheitsanmeldeinformationen)** aus.   
![\[AWS-Managementkonsole Link zu Sicherheitsanmeldedaten\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. Wählen Sie auf der Seite des ausgewählten IAM-Benutzers die Registerkarte **Sicherheits-Anmeldeinformationen** aus.

1. Wählen Sie im Abschnitt **Multi-Factor Authentication (MFA) (Multi-Faktor-Authentifizierung (MFA))** die Option **Assign MFA device (MFA-Gerät zuweisen)**.

1. Geben Sie auf der Seite **MFA-Gerätename** einen **Gerätenamen** ein, wählen Sie **Passkey oder Sicherheitsschlüssel** und klicken Sie dann auf **Weiter**.

1. Richten Sie unter **Gerät einrichten** Ihren Passkey ein. Erstellen Sie einen Passkey mit biometrischen Daten wie Ihrem Gesicht oder Fingerabdruck, mit einer Geräte-PIN oder indem Sie den FIDO-Sicherheitsschlüssel an den USB-Anschluss Ihres Computers anschließen und ihn antippen.

1. Folgen Sie den Anweisungen Ihres Browsers und wählen Sie dann **Fortfahren** aus.

Sie haben jetzt Ihren Hauptschlüssel oder Sicherheitsschlüssel zur Verwendung mit AWS registriert. Hinweise zur Verwendung von MFA mit dem finden Sie AWS-Managementkonsole unter[Anmeldung mit MFA](console_sign-in-mfa.md). 

## Passkey oder Sicherheitsschlüssels für einen anderen IAM-Benutzer (Konsole) aktivieren
<a name="enable-fido-mfa-for-iam-user"></a>

Sie können einen Hauptschlüssel oder eine Sicherheitsfunktion für einen anderen IAM-Benutzer AWS-Managementkonsole nur über die API aktivieren, nicht über die AWS CLI API oder. AWS 

**So aktivieren Sie einen Passkey oder die Sicherheit für einen anderen IAM-Benutzer (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 auf **Users (Benutzer)**.

1. Wählen Sie unter **Benutzer** den Namen des Benutzers aus, für den Sie MFA aktivieren möchten.

1. Wählen Sie auf der ausgewählten IAM-Benutzerseite die Registerkarte **Sicherheits-Anmeldeinformationen** aus. 

1. Wählen Sie im Abschnitt **Multi-Factor Authentication (MFA) (Multi-Faktor-Authentifizierung (MFA))** die Option **Assign MFA device (MFA-Gerät zuweisen)**.

1. Geben Sie auf der Seite **MFA-Gerätename** einen **Gerätenamen** ein, wählen Sie **Passkey oder Sicherheitsschlüssel** und klicken Sie dann auf **Weiter**.

1. Richten Sie unter **Gerät einrichten** Ihren Passkey ein. Erstellen Sie einen Passkey mit biometrischen Daten wie Ihrem Gesicht oder Fingerabdruck, mit einer Geräte-PIN oder indem Sie den FIDO-Sicherheitsschlüssel an den USB-Anschluss Ihres Computers anschließen und ihn antippen.

1. Folgen Sie den Anweisungen Ihres Browsers und wählen Sie dann **Fortfahren** aus.

Sie haben jetzt einen Passkey oder Sicherheitsschlüssel für einen anderen IAM-Benutzer zur Verwendung mit AWS registriert. Hinweise zur Verwendung von MFA mit dem finden Sie AWS-Managementkonsole unter[Anmeldung mit MFA](console_sign-in-mfa.md).

## Ersetzen eines Passkeys oder Sicherheitsschlüssels
<a name="replace-fido-mfa"></a>

Sie können einem Benutzer mit Ihren und IAM-Benutzern bis zu acht [MFA-Geräte mit einer beliebigen Kombination der derzeit unterstützten MFA-Typen](https://aws.amazon.com/iam/features/mfa/) gleichzeitig Root-Benutzer des AWS-Kontos zuweisen. Wenn der Benutzer einen FIDO-Authenticator verliert oder aus anderweitigen Gründen das Gerät ersetzen möchte, müssen Sie zunächst den alten FIDO-Authenticator deaktivieren. Anschließend können Sie ein neues MFA-Gerät für den Benutzer hinzufügen.
+ Um ein gegenwärtig mit einem anderen IAM-Benutzer verknüpftes Gerät zu deaktivieren, siehe [Deaktivieren eines MFA-Geräts](id_credentials_mfa_disable.md).
+ Informationen darüber, wie Sie einen neuen FIDO-Sicherheitsschlüssel für einen IAM-Benutzer hinzuzufügen, finden Sie unter [Passkey oder Sicherheitsschlüssel für Ihren eigenen IAM-Benutzer (Konsole) aktivieren](#enable-fido-mfa-for-own-iam-user).

Wenn Sie keinen Zugriff auf einen neuen Passkey oder Sicherheitsschlüssel haben, können Sie ein neues virtuelles MFA-Gerät oder ein neues Hardware-TOTP-Token aktivieren. Siehe eine der folgenden Anweisungen:
+ [Weisen Sie ein virtuelles MFA-Gerät zu in der AWS-Managementkonsole](id_credentials_mfa_enable_virtual.md) 
+ [Weisen Sie ein Hardware-TOTP-Token zu in der AWS-Managementkonsole](id_credentials_mfa_enable_physical.md) 

# Unterstützte Konfigurationen für die Verwendung von Passkeys und Sicherheitsschlüsseln
<a name="id_credentials_mfa_fido_supported_configurations"></a>

Sie können FIDO2 gerätegebundene Hauptschlüssel, auch Sicherheitsschlüssel genannt, als Multi-Faktor-Authentifizierungsmethode (MFA) mit IAM verwenden, indem Sie die derzeit unterstützten Konfigurationen verwenden. Dazu gehören FIDO2 Geräte, die von IAM unterstützt werden, und Browser, die dies unterstützen. FIDO2 Bevor Sie Ihr FIDO2 Gerät registrieren, überprüfen Sie, ob Sie die neueste Browser- und Betriebssystemversion (OS) verwenden. Die Funktionen können sich in verschiedenen Browsern, Authentifikatoren und Betriebssystem-Clients unterschiedlich verhalten. Wenn die Registrierung Ihres Geräts in einem Browser fehlschlägt, können Sie versuchen, die Registrierung in einem anderen Browser durchzuführen. 

FIDO2 ist ein offener Authentifizierungsstandard und eine Erweiterung von FIDO U2F, der dasselbe hohe Sicherheitsniveau bietet, das auf Kryptografie mit öffentlichen Schlüsseln basiert. FIDO2 besteht aus der W3C Web Authentication Specification (WebAuthn API) und dem FIDO Alliance Client-to-Authenticator Protocol (CTAP), einem Protokoll auf Anwendungsebene. CTAP ermöglicht die Kommunikation zwischen Client oder Plattform, wie einem Browser oder Betriebssystem, mit einem externen Authenticator. Wenn Sie einen FIDO-zertifizierten Authentifikator aktivieren AWS, erstellt der Sicherheitsschlüssel ein neues key pair, das nur mit verwendet werden kann. AWS Geben Sie zuerst Ihre Anmeldeinformationen ein. Wenn Sie dazu aufgefordert werden, tippen Sie auf den Sicherheitsschlüssel, der auf die von AWS ausgegebene Authentifizierungsaufforderung reagiert. [Weitere Informationen zum FIDO2 Standard finden Sie im FIDO2 Projekt.](https://en.wikipedia.org/wiki/FIDO2_Project)

## FIDO2 Geräte, die unterstützt werden von AWS
<a name="id_credentials_mfa_fido_supported_devices"></a>

IAM unterstützt FIDO2 Sicherheitsgeräte, die über USB oder NFC eine Verbindung zu Ihren Geräten herstellen. Bluetooth IAM unterstützt auch Plattformauthentifikatoren wie TouchID oder FaceID. IAM unterstützt keine lokale Passkey-Registrierung für Windows Hello. Zum Erstellen und Verwenden von Passkeys sollten Windows-Benutzer die [geräteübergreifende Authentifizierung](https://passkeys.dev/docs/reference/terms/#cross-device-authentication-cda) nutzen, bei der Sie einen Passkey von einem Gerät (z. B. einem Mobilgerät) oder einen Hardware-Sicherheitsschlüssel verwenden, um sich auf einem anderen Gerät (z. B. einem Laptop) anzumelden.

**Anmerkung**  
AWS benötigt Zugriff auf den physischen USB-Anschluss Ihres Computers, um Ihr FIDO2 Gerät zu verifizieren. Sicherheitsschlüssel funktionieren nicht mit einer virtuellen Maschine, einer Remote-Verbindung oder dem Inkognito-Modus eines Browsers.

Die FIDO Alliance führt eine Liste aller [FIDO2Produkte](https://fidoalliance.org/certification/fido-certified-products/), die mit den FIDO-Spezifikationen kompatibel sind.

## Browser, die unterstützen FIDO2
<a name="id_credentials_mfa_fido_browsers"></a>

Die Verfügbarkeit von FIDO2 Sicherheitsgeräten, die in einem Webbrowser ausgeführt werden, hängt von der Kombination aus Browser und Betriebssystem ab. Die folgenden Browser unterstützen derzeit die Verwendung von Sicherheitsschlüsseln:


****  

| Webbrowser | macOS 10.15\$1 | Windows 10 | Linux | iOS 14.5\$1 | Android 7\$1 | 
| --- | --- | --- | --- | --- | --- | 
| Chrome | Ja | Ja | Ja | Ja | Nein | 
| Safari | Ja | Nein | Nein | Ja | Nein | 
| Edge | Ja | Ja | Nein | Ja | Nein | 
| Firefox | Ja | Ja | Nein | Ja | Nein | 

**Anmerkung**  
Die meisten Firefox-Versionen, die derzeit Unterstützung bieten, aktivieren die Unterstützung standardmäßig FIDO2 nicht. Anweisungen zur Aktivierung der FIDO2 Unterstützung in Firefox finden Sie unter[Fehlerbehebung bei Passkeys und FIDO-Sicherheitsschlüsseln](troubleshoot_mfa-fido.md).  
Firefox unter macOS unterstützt geräteübergreifende Authentifizierungs-Workflows für Passkeys möglicherweise nicht vollständig. Möglicherweise werden Sie dazu aufgefordert, einen Sicherheitsschlüssel zu drücken, anstatt mit der geräteübergreifenden Authentifizierung fortzufahren. Wir empfehlen, für die Anmeldung mit Passkeys unter macOS einen anderen Browser wie Chrome oder Safari zu verwenden.

Weitere Informationen zur Browserunterstützung für ein FIDO2 -zertifiziertes Gerät wie YubiKey finden Sie unter [Betriebssystem- und Webbrowser-Unterstützung für FIDO2 und U2F](https://support.yubico.com/hc/en-us/articles/360016615020-Operating-system-and-web-browser-support-for-FIDO2-and-U2F).

### Browser-Plugins
<a name="id_credentials_mfa_fido_plugins"></a>

AWS unterstützt nur Browser, die diese Funktion nativ unterstützen. FIDO2 AWS unterstützt nicht die Verwendung von Plugins zum Hinzufügen von FIDO2 Browserunterstützung. Einige Browser-Plugins sind nicht mit dem FIDO2 Standard kompatibel und können bei FIDO2 Sicherheitsschlüsseln zu unerwarteten Ergebnissen führen. 

Weitere Informationen zum Deaktivieren von Browser-Plugins und andere Tipps zur Fehlerbehebung finden Sie unter [Ich kann meinen FIDO-Sicherheitsschlüssel nicht aktivieren](troubleshoot_mfa-fido.md#troubleshoot_mfa-fido-cant-enable). 

## Gerätezertifizierungen
<a name="id_credentials_mfa_fido_certifications"></a>

Gerätebezogene Zertifizierungen, wie etwa die FIPS-Validierung und die FIDO-Zertifizierungsstufe, erfassen und vergeben wir ausschließlich bei der Registrierung eines Sicherheitsschlüssels. Ihre Gerätezertifizierung wird vom [FIDO Alliance Metadata Service (MDS](https://fidoalliance.org/metadata/)) abgerufen. Wenn sich der Zertifizierungsstatus oder die Stufe Ihres Sicherheitsschlüssels ändert, wird dies nicht automatisch in den Geräte-Tags widergespiegelt. Um die Zertifizierungsinformationen eines Geräts zu aktualisieren, registrieren Sie das Gerät erneut, um die aktualisierten Zertifizierungsinformationen abzurufen. 

AWS stellt bei der Geräteregistrierung die folgenden Zertifizierungstypen als Bedingungsschlüssel bereit, die aus dem FIDO MDS abgerufen werden: FIPS-140-2, FIPS-140-3 und FIDO-Zertifizierungsstufen. Sie haben die Möglichkeit, die Registrierung bestimmter Authentifikatoren in ihren IAM-Richtlinien festzulegen, basierend auf Ihrem bevorzugten Zertifizierungstyp und Ihrer bevorzugten Zertifizierungsstufe. Weitere Informationen finden Sie unten unter „Richtlinien“.

### Beispielrichtlinien für Gerätezertifizierungen
<a name="id_credentials_mfa_fido_certifications_policies"></a>

Die folgenden Anwendungsfälle zeigen Beispielrichtlinien, mit denen Sie MFA-Geräte mit FIPS-Zertifizierungen registrieren können.

**Topics**
+ [

#### Anwendungsfall 1: Nur die Registrierung von Geräten zulassen, die über eine FIPS-140-2-L2-Zertifizierung verfügen
](#id_credentials_mfa_fido_certifications_policies_use_case_1)
+ [

#### Anwendungsfall 2: Registrierung von Geräten zulassen, die über eine FIPS-140-2-L2- und FIDO-L1-Zertifizierung verfügen
](#id_credentials_mfa_fido_certifications_policies_use_case_2)
+ [

#### Anwendungsfall 3: Registrierung von Geräten zulassen, die entweder über eine FIPS-140-2-L2- oder eine FIPS-140-3-L2-Zertifizierung verfügen
](#id_credentials_mfa_fido_certifications_policies_use_case_3)
+ [

#### Anwendungsfall 4: Ermöglichen Sie die Registrierung von Geräten, die über eine FIPS-140-2-L2-Zertifizierung verfügen und andere MFA-Typen wie virtuelle Authentifikatoren und Hardware-TOTP unterstützen
](#id_credentials_mfa_fido_certifications_policies_use_case_4)

#### Anwendungsfall 1: Nur die Registrierung von Geräten zulassen, die über eine FIPS-140-2-L2-Zertifizierung verfügen
<a name="id_credentials_mfa_fido_certifications_policies_use_case_1"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-2-certification": "L2"
                }
            }
        }
    ]
}
```

------

#### Anwendungsfall 2: Registrierung von Geräten zulassen, die über eine FIPS-140-2-L2- und FIDO-L1-Zertifizierung verfügen
<a name="id_credentials_mfa_fido_certifications_policies_use_case_2"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-2-certification": "L2",
                    "iam:FIDO-certification": "L1"
                }
            }
        }
    ]
}
```

------

#### Anwendungsfall 3: Registrierung von Geräten zulassen, die entweder über eine FIPS-140-2-L2- oder eine FIPS-140-3-L2-Zertifizierung verfügen
<a name="id_credentials_mfa_fido_certifications_policies_use_case_3"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-2-certification": "L2"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-3-certification": "L2"
                }
            }
        }
    ]
}
```

------

#### Anwendungsfall 4: Ermöglichen Sie die Registrierung von Geräten, die über eine FIPS-140-2-L2-Zertifizierung verfügen und andere MFA-Typen wie virtuelle Authentifikatoren und Hardware-TOTP unterstützen
<a name="id_credentials_mfa_fido_certifications_policies_use_case_4"></a>

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iam:EnableMFADevice",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:RegisterSecurityKey": "Create"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "iam:EnableMFADevice",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:RegisterSecurityKey": "Activate",
          "iam:FIDO-FIPS-140-2-certification": "L2"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "iam:EnableMFADevice",
      "Resource": "*",
      "Condition": {
        "Null": {
          "iam:RegisterSecurityKey": "true"
        }
      }
    }
  ]
}
```

------

## AWS CLI und AWS API
<a name="id_credentials_mfa_fido_cliapi"></a>

AWS unterstützt die Verwendung von Hauptschlüsseln und Sicherheitsschlüsseln nur in der AWS-Managementkonsole. Die Verwendung von Passkeys und Sicherheitsschlüsseln für MFA wird in der [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/) und [AWS API](https://aws.amazon.com/tools/) oder für den Zugriff auf [MFA-geschützte API-Operationen](id_credentials_mfa_configure-api-require.md) nicht unterstützt.

## Weitere Ressourcen
<a name="id_credentials_mfa_fido_additional_resources"></a>
+ Weitere Informationen zur Verwendung von Hauptschlüsseln und Sicherheitsschlüsseln in finden Sie AWS unter. [Weisen Sie einen Hauptschlüssel oder Sicherheitsschlüssel zu in AWS-Managementkonsole](id_credentials_mfa_enable_fido.md)
+ Hilfe zur Problembehebung von Hauptschlüsseln und Sicherheitsschlüsseln in finden Sie AWS unter. [Fehlerbehebung bei Passkeys und FIDO-Sicherheitsschlüsseln](troubleshoot_mfa-fido.md)
+ Allgemeine Brancheninformationen zum FIDO2 Support finden Sie unter [FIDO2 Project](https://en.wikipedia.org/wiki/FIDO2_Project). 

# Weisen Sie ein virtuelles MFA-Gerät zu in der AWS-Managementkonsole
<a name="id_credentials_mfa_enable_virtual"></a>

**Wichtig**  
AWS empfiehlt, dass Sie, wo immer möglich, einen Hauptschlüssel oder Sicherheitsschlüssel für MFA verwenden. AWS Weitere Informationen finden Sie unter [Weisen Sie einen Hauptschlüssel oder Sicherheitsschlüssel zu in AWS-Managementkonsole](id_credentials_mfa_enable_fido.md).

Sie können ein Telefon oder ein anderes Gerät als virtuelles Multi-Factor-Authentication-(MFA)Gerät verwenden. Installieren Sie dazu eine mobile App mit [RFC 6238, einem standardbasierten TOTP-(Time-based One-time Password)Algorithmus](https://datatracker.ietf.org/doc/html/rfc6238). Diese Apps generieren einen sechsstelligen Authentifizierungscode. Da Authentifikatoren auf ungesicherten Mobilgeräten ausgeführt werden können und die Codes möglicherweise an Unbefugte weitergegeben werden könnten, bietet TOTP-basierte MFA nicht das gleiche Sicherheitsniveau wie Phishing-resistente Optionen wie Sicherheitsschlüssel und Hauptschlüssel. [FIDO2](https://en.wikipedia.org/wiki/FIDO_Alliance#FIDO2) Wir empfehlen die Verwendung von Hauptschlüsseln oder Sicherheitsschlüsseln für MFA, um den bestmöglichen Schutz vor Angriffen wie Phishing zu gewährleisten.

Wenn Sie noch nicht in der Lage sind, Hauptschlüssel oder Sicherheitsschlüssel zu verwenden, empfehlen wir Ihnen, als Zwischenmaßnahme ein virtuelles MFA-Gerät zu verwenden, während Sie auf etwaige Genehmigungen für den Kauf von Hardware oder auf das Eintreffen Ihrer Hardware warten.

Die meisten virtuellen MFA-Apps unterstützen die Erstellung mehrerer virtueller Geräte, sodass Sie dieselbe App für mehrere AWS-Konten oder mehrere Benutzer verwenden können. Sie können bis zu **acht** MFA-Geräte mit einer beliebigen Kombination von [MFA-Typen](https://aws.amazon.com/iam/features/mfa/) bei Ihren Root-Benutzer des AWS-Kontos und IAM-Benutzern registrieren. Sie benötigen nur ein MFA-Gerät, um sich bei dem anzumelden AWS-Managementkonsole oder eine Sitzung über zu erstellen. AWS CLI Wir empfehlen, mehrere MFA-Geräte zu registrieren. Für Authentifizierungsanwendungen empfehlen wir außerdem, das Cloud-Backup oder das Synchronisierungs-Feature zu aktivieren, um zu verhindern, dass Sie den Zugriff auf Ihr Konto verlieren, wenn Sie Ihr Gerät verlieren oder kaputt gehen.

AWS erfordert eine virtuelle MFA-App, die ein sechsstelliges OTP erzeugt. Eine Liste der verwendbaren virtuellen MFA-Apps finden Sie unter [Multi-Factor Authentication](https://aws.amazon.com/iam/features/mfa/?audit=2019q1). 

**Topics**
+ [

## Erforderliche Berechtigungen
](#mfa_enable_virtual_permissions-required)
+ [

## Aktivieren eines virtuellen MFA-Geräts für einen IAM-Benutzer (Konsole)
](#enable-virt-mfa-for-iam-user)
+ [

## Ersetzen eines virtuellen MFA-Geräts
](#replace-virt-mfa)

## Erforderliche Berechtigungen
<a name="mfa_enable_virtual_permissions-required"></a>

Um virtuelle MFA-Geräte für Ihren IAM-Benutzer zu verwalten, benötigen Sie die Berechtigungen von der folgenden Richtlinie: [AWS: Ermöglicht MFA-authentifizierten IAM-Benutzern die Verwaltung ihres eigenen MFA-Geräts auf der Seite „Sicherheits-Anmeldeinformationen“](reference_policies_examples_aws_my-sec-creds-self-manage-mfa-only.md).

## Aktivieren eines virtuellen MFA-Geräts für einen IAM-Benutzer (Konsole)
<a name="enable-virt-mfa-for-iam-user"></a>

Sie können IAM in verwenden, AWS-Managementkonsole um ein virtuelles MFA-Gerät für einen IAM-Benutzer in Ihrem Konto zu aktivieren und zu verwalten. Sie können Ihren IAM-Ressourcen, einschließlich virtueller MFA-Geräte, Tags hinzufügen, um den Zugriff auf diese zu identifizieren, zu organisieren und zu kontrollieren. Sie können virtuelle MFA-Geräte nur kennzeichnen, wenn Sie die AWS API AWS CLI oder verwenden. Informationen zum Aktivieren und Verwalten eines MFA-Geräts mithilfe der AWS API AWS CLI oder finden Sie unter[MFA-Geräte in der AWS CLI oder AWS API zuweisen](id_credentials_mfa_enable_cliapi.md). Weitere Informationen über das Markieren von IAM-Ressourcen mit Tags finden Sie unter [Tags für AWS Identity and Access Management Ressourcen](id_tags.md). 

**Anmerkung**  
Sie müssen über physischen Zugriff auf die Hardware verfügen, die als Host für das virtuelle MFA-Gerät des Benutzers dient, um MFA konfigurieren zu können. Beispielsweise können Sie MFA für einen Benutzer konfigurieren, der ein virtuelles MFA-Gerät verwendet, das auf einem Smartphone ausgeführt wird. In diesem Fall müssen Sie das Smartphone zur Verfügung haben, um den Assistenten zu beenden. Aus diesem Grund kann es sinnvoll sein, die Konfiguration und Verwaltung der virtuellen MFA-Geräte von den Benutzern selbst vornehmen zu lassen. In diesem Fall müssen Sie den Benutzern die Berechtigungen zur Ausführung der erforderlichen IAM-Aktionen erteilen. Weitere Informationen und ein Beispiel für eine IAM-Richtlinie, die diese Berechtigungen gewährt, finden Sie unter [IAM-Tutorial: Zulassen, dass Ihre Benutzer ihre eigenen Anmeldeinformationen und MFA-Einstellungen konfigurieren können](tutorial_users-self-manage-mfa-and-creds.md) und Beispielrichtlinie [AWS: Ermöglicht MFA-authentifizierten IAM-Benutzern die Verwaltung ihres eigenen MFA-Geräts auf der Seite „Sicherheits-Anmeldeinformationen“](reference_policies_examples_aws_my-sec-creds-self-manage-mfa-only.md). 

**Aktivieren eines virtuellen MFA-Geräts für einen IAM-Benutzer (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 auf **Users (Benutzer)**.

1. Wählen Sie in der **Users list** (Liste der Benutzer) den Namen des IAM-Benutzer aus.

1. Wechseln Sie zur Registerkarte **Security Credentials**. Wählen Sie im Abschnitt **Multi-Factor Authentication (MFA) (Multi-Faktor-Authentifizierung (MFA))** die Option **Assign MFA device (MFA-Gerät zuweisen)**.

1. Geben Sie im Assistenten einen **Device name (Gerätenamen)** ein, wählen Sie **Authenticator app (Authenticator-App)** und dann **Next (Weiter)**.

   IAM generiert Konfigurationsinformationen für das virtuelle MFA-Gerät und zeigt diese einschließlich eines QR-Codes an. Dieser Code ist eine grafische Darstellung des "geheimen Konfigurationsschlüssels", der für die manuelle Eingabe auf Geräte zur Verfügung steht, die keine QR-Codes unterstützen.

1. Öffnen Sie Ihre virtuelle MFA-App. Eine Liste der Anwendungen, die Sie zum Hosten von virtuellen MFA-Geräten verwenden können, finden Sie unter [Multi-Factor Authentication](https://aws.amazon.com/iam/details/mfa/). 

   Wenn die virtuelle MFA-App mehrere virtuelle MFA-Geräte oder -Konten unterstützt, wählen Sie die Option zum Erstellen eines neuen virtuellen MFA-Geräts oder -Kontos.

1. Stellen Sie fest, ob die MFA-App QR-Codes unterstützt, und führen Sie dann einen der folgenden Schritte aus:
   + Wählen Sie im Assistenten **Show QR code (QR-Code anzeigen)** und verwenden Sie dann die App, um den QR-Code zu scannen. Dies kann ein Kamerasymbol oder die Option **Code scannen** sein, bei der der Code mit der Kamera des Geräts gescannt wird.
   + Wählen Sie im Assistenten die Option **Show secret key (Geheimen Schlüssel anzeigen)** aus und geben Sie dann den geheimen Schlüssel in Ihre MFA-App ein.

   Wenn Sie fertig sind, beginnt das virtuelle MFA-Gerät, einmalige Passwörter zu generieren. 

1. Geben Sie auf der Seite **Set up device (Gerät einrichten)** im Feld **MFA code 1 (MFA-Code 1)** das aktuell auf dem virtuellen MFA-Gerät angezeigte Einmalpasswort ein. Warten Sie bis zu 30 Sekunden, bis das Gerät ein neues einmaliges Passwort generiert. Geben Sie dann das zweite Einmalpasswort in das Feld **MFA Code 2** ein. Wählen Sie **Add MFA (MFA hinzufügen)**. 
**Wichtig**  
Senden Sie die Anforderung direkt nach der Erzeugung der Codes. Wenn Sie die Codes generieren und zu lange mit der Anforderung warten, wird das MFA-Gerät erfolgreich mit dem Benutzer verknüpft, aber das Gerät ist nicht synchronisiert. Dies liegt daran, weil die zeitgesteuerten Einmalpasswörter (TOTP) nach einer kurzen Zeit ungültig werden. In diesem Fall können Sie das [Gerät neu synchronisieren](id_credentials_mfa_sync.md).

Das virtuelle MFA-Gerät ist jetzt für die Verwendung mit AWS bereit. Hinweise zur Verwendung von MFA mit dem finden Sie AWS-Managementkonsole unter[Anmeldung mit MFA](console_sign-in-mfa.md).

**Anmerkung**  
Nicht zugewiesene virtuelle MFA-Geräte in Ihrem AWS-Konto werden gelöscht, wenn Sie neue virtuelle MFA-Geräte entweder über den AWS-Managementkonsole oder während des Anmeldevorgangs hinzufügen. Nicht zugewiesene virtuelle MFA-Geräte sind Geräte in Ihrem Konto, die jedoch nicht von Root-Benutzern oder IAM-Benutzern für den Anmeldevorgang genutzt werden. Sie werden gelöscht, sodass Ihrem Konto neue virtuelle MFA-Geräte hinzugefügt werden können. Außerdem können Sie Gerätenamen wiederverwenden.  
Um nicht zugewiesene virtuelle MFA-Geräte in Ihrem Konto anzuzeigen, können Sie entweder den [list-virtual-mfa-devices](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-virtual-mfa-devices.html) AWS CLI Befehl oder den [API-Aufruf](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html) verwenden.
Um ein virtuelles MFA-Gerät zu deaktivieren, können Sie entweder den [deactivate-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/deactivate-mfa-device.html) AWS CLI Befehl oder den [API-Aufruf](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html) verwenden. Die Zuweisung des Geräts wird aufgehoben.
[Um Ihrem AWS-Konto Root-Benutzer oder Ihren IAM-Benutzern ein nicht zugewiesenes virtuelles MFA-Gerät zuzuordnen, benötigen Sie den vom Gerät generierten Authentifizierungscode zusammen mit dem [enable-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/enable-mfa-device.html)AWS CLI Befehl oder dem API-Aufruf.](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html)

## Ersetzen eines virtuellen MFA-Geräts
<a name="replace-virt-mfa"></a>

Ihre Root-Benutzer des AWS-Kontos und IAM-Benutzer können bis zu **acht** MFA-Geräte mit einer beliebigen Kombination von MFA-Typen registrieren. Wenn der Benutzer ein Gerät verliert oder es aus irgendeinem Grund ersetzen muss, deaktivieren Sie das alte Gerät. Anschließend können Sie das neue Gerät für den Benutzer hinzufügen.
+ Um ein gegenwärtig mit einem anderen IAM-Benutzer verknüpftes Gerät zu deaktivieren, siehe [Deaktivieren eines MFA-Geräts](id_credentials_mfa_disable.md).
+ Um ein virtuelles MFA-Ersatzgerät für einen anderen IAM-Benutzer hinzuzufügen, befolgen Sie die Anleitung [Aktivieren eines virtuellen MFA-Geräts für einen IAM-Benutzer (Konsole)](#enable-virt-mfa-for-iam-user) oben.
+ Gehen Sie wie im Verfahren [Virtuelles MFA-Geräts für Ihren Root-Benutzer aktivieren (Konsole)](enable-virt-mfa-for-root.md) beschrieben vor Root-Benutzer des AWS-Kontos, um ein virtuelles MFA-Ersatzgerät für das hinzuzufügen.

# Weisen Sie ein Hardware-TOTP-Token zu in der AWS-Managementkonsole
<a name="id_credentials_mfa_enable_physical"></a>

**Wichtig**  
AWS empfiehlt, dass Sie, wo immer möglich, einen Hauptschlüssel oder Sicherheitsschlüssel für MFA verwenden. AWS Weitere Informationen finden Sie unter [Weisen Sie einen Hauptschlüssel oder Sicherheitsschlüssel zu in AWS-Managementkonsole](id_credentials_mfa_enable_fido.md).

Ein Hardware-TOTP-Token generiert auf der Grundlage des Algorithmus für ein zeitgesteuertes Einmalpasswort (TOTP) einen sechsstelligen numerischen Code. Der Benutzer muss einen gültigen Code vom Gerät eingeben, wenn er während des Anmeldevorgangs dazu aufgefordert wird. Ein MFA-Gerät muss einem Benutzer eindeutig zugewiesen werden. Ein Benutzer kann sich nicht mit dem Code eines anderen Geräts authentifizieren. MFA-Geräte können nicht über Konten oder Benutzer hinweg freigegeben werden.

Hardware-TOTP-Token und [FIDO-Sicherheitsschlüssel](id_credentials_mfa_enable_fido.md) sind physische Geräte, die Sie kaufen können. Hardware-MFA-Geräte generieren TOTP-Codes für die Authentifizierung, wenn Sie sich anmelden. AWS Sie sind auf Batterien angewiesen, die im Laufe der Zeit möglicherweise ausgetauscht und neu synchronisiert werden müssen. AWS FIDO-Sicherheitsschlüssel, die Kryptografie mit öffentlichen Schlüsseln verwenden, benötigen keine Batterien und bieten einen nahtlosen Authentifizierungsprozess. Wir empfehlen die Verwendung von FIDO-Sicherheitsschlüsseln aufgrund ihrer Phishing-Resistenz, die eine sicherere Alternative zu TOTP-Geräten darstellen. Darüber hinaus können FIDO-Sicherheitsschlüssel mehrere IAM- oder Root-Benutzer auf demselben Gerät unterstützen, was ihren Nutzen für die Kontosicherheit erhöht. Spezifikationen und Kaufinformationen für beide Gerätetypen finden Sie unter [Multifaktor-Authentifizierung](https://aws.amazon.com/iam/details/mfa/).



Sie können ein Hardware-TOTP-Token für einen IAM-Benutzer über die AWS-Managementkonsole Befehlszeile oder die IAM-API aktivieren. Informationen zum Aktivieren eines MFA-Geräts für Sie finden Sie Root-Benutzer des AWS-Kontos unter[Aktivieren eines physischen TOTP-Tokens für den Root-Benutzer eines s (Konsole)](enable-hw-mfa-for-root.md).

Sie können bis zu **acht** MFA-Geräte mit einer beliebigen Kombination der [derzeit unterstützten MFA-Typen](https://aws.amazon.com/iam/features/mfa/) bei Ihren Root-Benutzer des AWS-Kontos und IAM-Benutzern registrieren. Bei mehreren MFA-Geräten benötigen Sie nur ein MFA-Gerät, um sich AWS CLI als dieser Benutzer anzumelden AWS-Managementkonsole oder eine Sitzung über den zu erstellen.

**Wichtig**  
Wir empfehlen Ihnen, mehrere MFA-Geräte für Ihre Benutzer zu aktivieren, damit Sie im Falle eines verlorenen oder unzugänglichen MFA-Geräts weiterhin auf Ihr Konto zugreifen können.

**Anmerkung**  
Wenn Sie das Gerät über die Befehlszeile aktivieren möchten, verwenden Sie [https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html). Um das MFA-Gerät mit der IAM-API zu aktivieren, verwenden Sie die Operation [https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html). 

**Topics**
+ [

## Erforderliche Berechtigungen
](#enable-hw-mfa-for-iam-user-permissions-required)
+ [

## Aktivieren eines physischen TOTP-Tokens für Ihren eigenen IAM-Benutzer (Konsole)
](#enable-hw-mfa-for-own-iam-user)
+ [

## Aktivieren eines physischen TOTP-Tokens für einen anderen IAM-Benutzer (Konsole)
](#enable-hw-mfa-for-iam-user)
+ [

## Ersetzen eines physischen MFA-Geräts
](#replace-phys-mfa)

## Erforderliche Berechtigungen
<a name="enable-hw-mfa-for-iam-user-permissions-required"></a>

Um ein physisches TOTP-Token für Ihren eigenen IAM-Benutzer zu verwalten und dabei gleichzeitig sensible MFA-bezogene Aktionen zu schützen, benötigen Sie die Berechtigungen von der folgenden Richtlinie:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowManageOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "DenyAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

## Aktivieren eines physischen TOTP-Tokens für Ihren eigenen IAM-Benutzer (Konsole)
<a name="enable-hw-mfa-for-own-iam-user"></a>

 Sie können Ihr eigenes physisches TOTP-Token über die AWS-Managementkonsole aktivieren.

**Anmerkung**  
Bevor Sie ein physisches TOTP-Token aktivieren können, benötigen Sie physischen Zugriff auf das Gerät.

**So aktivieren Sie ein physisches TOTP-Token für Ihren eigenen IAM-Benutzer (Konsole)**

1. [Verwenden Sie Ihre AWS Konto-ID oder Ihren Kontoalias, Ihren IAM-Benutzernamen und Ihr Passwort, um sich bei der IAM-Konsole anzumelden.](https://console.aws.amazon.com/iam)
**Anmerkung**  
Der Einfachheit halber verwendet die AWS Anmeldeseite ein Browser-Cookie, um sich Ihren IAM-Benutzernamen und Ihre Kontoinformationen zu merken. Wenn Sie sich zuvor als anderer Benutzer angemeldet haben, wählen Sie **Melden Sie sich bei einem anderen Konto an **Um zur Hauptanmeldeseite zurückzukehren. Von dort aus können Sie Ihre AWS Konto-ID oder Ihren Kontoalias eingeben, um zur IAM-Benutzer-Anmeldeseite für Ihr Konto weitergeleitet zu werden.

   Wenden Sie sich an Ihren Administrator, um Ihre AWS-Konto ID zu erhalten.

1. Wählen Sie auf der Navigationsleiste rechts oben Ihren Benutzernamen und dann **Security Credentials (Sicherheitsanmeldeinformationen)** aus.   
![\[AWS-Managementkonsole Link zu Sicherheitsanmeldedaten\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. Wählen Sie auf der Registerkarte **AWS -IAM-Anmeldeinformationen** im Abschnitt **Multi-Faktor-Authentifizierung (MFA)** die Option **MFA-Gerät zuweisen**.

1. Geben Sie im Assistenten einen **Device name (Gerätenamen)** ein, wählen Sie **Hardware TOTP token (Physisches TOTP-Token)** und dann **Next (Weiter)**.

1. Geben Sie die Seriennummer des Geräts ein. Die Seriennummer befindet sich in der Regel auf der Rückseite des Geräts.

1. Geben Sie im Feld **MFA code 1 (MFA-Code 1)** die am MFA-Gerät angezeigte sechsstellige Nummer ein. Sie müssen eventuell die Taste auf der Vorderseite des Geräts drücken, um die Zahl anzuzeigen.  
![\[IAM-Dashboard, MFA-Gerät\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/MFADevice.png)

1. Warten Sie 30 Sekunden, während das Gerät den Code aktualisiert, und geben Sie dann die nächste sechsstellige Nummer in das Feld **MFA code 2 (MFA-Code 2)** ein. Sie müssen eventuell die Taste auf der Vorderseite des Geräts drücken, um die zweite Zahl anzuzeigen.

1. Wählen Sie **Add MFA (MFA hinzufügen)**.
**Wichtig**  
Senden Sie die Anforderung direkt nach der Erzeugung der Authentifizierungscodes. Wenn Sie die Codes erzeugen und zu lange mit der Anforderung warten, wird das MFA-Gerät erfolgreich mit dem Benutzer verknüpft, aber das Gerät ist nicht synchronisiert. Dies liegt daran, weil die zeitgesteuerten Einmalpasswörter (TOTP) nach einer kurzen Zeit ungültig werden. In diesem Fall können Sie das [Gerät neu synchronisieren](id_credentials_mfa_sync.md).

Das Gerät ist bereit für die Verwendung mit AWS. Weitere Informationen zur Verwendung von MFA mit der AWS-Managementkonsole finden Sie unter [Anmeldung mit MFA](console_sign-in-mfa.md).

## Aktivieren eines physischen TOTP-Tokens für einen anderen IAM-Benutzer (Konsole)
<a name="enable-hw-mfa-for-iam-user"></a>

 Sie können ein physisches TOTP-Token über die AWS-Managementkonsole für einen anderen IAM-Benutzer aktivieren.

**So aktivieren Sie ein physisches TOTP-Token für einen anderen IAM-Benutzer (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 auf **Users (Benutzer)**.

1. Wählen Sie den Namen des Benutzers, für den Sie MFA aktivieren möchten.

1. Wechseln Sie zur Registerkarte **Security Credentials**. Wählen Sie im Abschnitt **Multi-Factor Authentication (MFA) (Multi-Faktor-Authentifizierung (MFA))** die Option **Assign MFA device (MFA-Gerät zuweisen)**.

1. Geben Sie im Assistenten einen **Device name (Gerätenamen)** ein, wählen Sie **Hardware TOTP token (Physisches TOTP-Token)** und dann **Next (Weiter)**.

1. Geben Sie die Seriennummer des Geräts ein. Die Seriennummer befindet sich in der Regel auf der Rückseite des Geräts.

1. Geben Sie im Feld **MFA code 1 (MFA-Code 1)** die am MFA-Gerät angezeigte sechsstellige Nummer ein. Sie müssen eventuell die Taste auf der Vorderseite des Geräts drücken, um die Zahl anzuzeigen.  
![\[IAM-Dashboard, MFA-Gerät\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/MFADevice.png)

1. Warten Sie 30 Sekunden, während das Gerät den Code aktualisiert, und geben Sie dann die nächste sechsstellige Nummer in das Feld **MFA code 2 (MFA-Code 2)** ein. Sie müssen eventuell die Taste auf der Vorderseite des Geräts drücken, um die zweite Zahl anzuzeigen.

1. Wählen Sie **Add MFA (MFA hinzufügen)**.
**Wichtig**  
Senden Sie die Anforderung direkt nach der Erzeugung der Authentifizierungscodes. Wenn Sie die Codes erzeugen und zu lange mit der Anforderung warten, wird das MFA-Gerät erfolgreich mit dem Benutzer verknüpft, aber das Gerät ist nicht synchronisiert. Dies liegt daran, weil die zeitgesteuerten Einmalpasswörter (TOTP) nach einer kurzen Zeit ungültig werden. In diesem Fall können Sie das [Gerät neu synchronisieren](id_credentials_mfa_sync.md).

Das Gerät ist bereit für die Verwendung mit AWS. Weitere Informationen zur Verwendung von MFA mit der AWS-Managementkonsole finden Sie unter [Anmeldung mit MFA](console_sign-in-mfa.md).

## Ersetzen eines physischen MFA-Geräts
<a name="replace-phys-mfa"></a>

Sie können einem Benutzer mit Ihren und IAM-Benutzern bis zu acht [MFA-Geräte mit einer beliebigen Kombination der derzeit unterstützten MFA-Typen](https://aws.amazon.com/iam/features/mfa/) gleichzeitig Root-Benutzer des AWS-Kontos zuweisen. Wenn der Benutzer ein Gerät verliert oder aus anderweitigen Gründen das Gerät ersetzen möchte, müssen Sie zunächst das alte Gerät deaktivieren. Anschließend können Sie das neue Gerät für den Benutzer hinzufügen.
+ Um ein gegenwärtig mit einem Benutzer verknüpftes Gerät zu deaktivieren, siehe [Deaktivieren eines MFA-Geräts](id_credentials_mfa_disable.md).
+ Um ein physisches TOTP-Ersatztoken für einen IAM-Benutzer hinzuzufügen, führen Sie die in der Anleitung [Aktivieren eines physischen TOTP-Tokens für einen anderen IAM-Benutzer (Konsole)](#enable-hw-mfa-for-iam-user) weiter oben in diesem Thema beschriebenen Schritte.
+ Gehen Sie wie im Verfahren weiter oben in diesem Thema beschrieben vor Root-Benutzer des AWS-Kontos, um ein Ersatz-Hardware-TOTP-Token für das hinzuzufügen[Aktivieren eines physischen TOTP-Tokens für den Root-Benutzer eines s (Konsole)](enable-hw-mfa-for-root.md).

# MFA-Geräte in der AWS CLI oder AWS API zuweisen
<a name="id_credentials_mfa_enable_cliapi"></a>

Sie können AWS CLI Befehle oder AWS API-Operationen verwenden, um ein virtuelles MFA-Gerät für einen IAM-Benutzer zu aktivieren. Sie können ein MFA-Gerät nicht Root-Benutzer des AWS-Kontos mit der AWS API AWS CLI, Tools für Windows PowerShell oder einem anderen Befehlszeilentool für aktivieren. Sie können jedoch das verwenden, AWS-Managementkonsole um ein MFA-Gerät für den Root-Benutzer zu aktivieren. 

Wenn Sie ein MFA-Gerät von der aus aktivieren AWS-Managementkonsole, führt die Konsole mehrere Schritte für Sie aus. Wenn Sie stattdessen ein virtuelles Gerät mithilfe von Tools für Windows PowerShell oder AWS API erstellen, müssen Sie die Schritte manuell und in der richtigen Reihenfolge ausführen. AWS CLI Um beispielsweise ein virtuelles MFA-Gerät zu erstellen, müssen Sie das IAM-Objekt erstellen und den Code entweder als Zeichenfolge oder QR-Code extrahieren. Anschließend müssen Sie das Gerät synchronisieren und einem IAM-Benutzer zuordnen. Weitere Informationen finden Sie im Abschnitt **Beispiele** von [New- IAMVirtual MFADevice](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=New-IAMVirtualMFADevice.html&tocid=New-IAMVirtualMFADevice). Bei physischen Geräten können Sie den Erstellungsschritt überspringen und das Gerät direkt synchronisieren und dem Benutzer zuordnen. 

Sie können Ihren IAM-Ressourcen, einschließlich virtueller MFA-Geräte, Tags hinzufügen, um den Zugriff auf diese zu identifizieren, zu organisieren und zu kontrollieren. Sie können virtuelle MFA-Geräte nur kennzeichnen, wenn Sie die AWS API AWS CLI oder verwenden.

Ein IAM-Benutzer, der das SDK oder die CLI verwendet, kann ein zusätzliches MFA-Gerät aktivieren, indem er [https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html) aufruft oder ein vorhandenes MFA-Gerät durch den Aufruf von [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html) deaktivieren. Um dies erfolgreich durchzuführen, müssen sie zuerst [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) aufrufen und MFA-Codes mit einem vorhandenen MFA-Gerät senden. Dieser Aufruf gibt temporäre Anmeldeinformationen zurück, die dann zum Signieren von API-Vorgängen verwendet werden können, die eine MFA-Authentifizierung erfordern. Ein Beispiel für Anforderung und Antwort finden Sie unter [`GetSessionToken` – Temporäre Anmeldeinformationen für Benutzer in nicht vertrauenswürdigen Umgebungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken). 

**So erstellen Sie die virtuelle Geräteeinheit in IAM, um ein virtuelles MFA-Gerät zu repräsentieren**  
Mithilfe dieser Befehl wird ein ARN für das Gerät bereitgestellt, der in vielen der folgenden Befehle anstelle einer Seriennummer verwendet wird.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/create-virtual-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-virtual-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateVirtualMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateVirtualMFADevice.html) 

**So aktivieren Sie ein MFA-Gerät für die Verwendung mit AWS**  
Mit diesen Befehlen wird das Gerät mit einem Benutzer synchronisiert AWS und diesem zugeordnet. Wenn es sich dabei um ein virtuelles Gerät handelt, verwenden Sie den ARN des virtuellen Geräts als Seriennummer.

**Wichtig**  
Senden Sie die Anforderung direkt nach der Erzeugung der Authentifizierungscodes. Wenn Sie die Codes erzeugen und zu lange mit der Anforderung warten, wird das MFA-Gerät erfolgreich mit dem Benutzer verknüpft, aber das Gerät ist nicht synchronisiert. Dies liegt daran, weil die zeitgesteuerten Einmalpasswörter (TOTP) nach einer kurzen Zeit ungültig werden. Führen Sie in diesem Fall mithilfe der unten beschriebenen Befehle eine erneute Synchronisierung durch.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html) 

**So deaktivieren Sie ein Gerät**  
Mit diesen Befehlen heben Sie die Zuordnung des Geräts zu einem Benutzer auf und deaktivieren es. Wenn es sich dabei um ein virtuelles Gerät handelt, verwenden Sie den ARN des virtuellen Geräts als Seriennummer. Außerdem müssen Sie die virtuelle Geräteeinheit separat löschen. 
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/deactivate-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/deactivate-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html)

**So listen Sie virtuelle MFA-Geräteeinheiten auf**  
Verwenden Sie diese Befehle, um virtuelle MFA-Geräte-Entitys aufzulisten.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html) 

**Markieren eines virtuellen MFA-Geräts**  
Verwenden Sie diese Befehle, um ein virtuelles MFA-Gerät zu markieren.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/tag-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagMFADevice.html) 

**Auflisten der Tags für ein virtuelles MFA-Gerät**  
Verwenden Sie diese Befehle, um die an ein virtuelles MFA-Gerät angehängten Tags aufzulisten.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/list-mfa-device-tags.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-mfa-device-tags.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListMFADeviceTags.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListMFADeviceTags.html) 

**Entfernen einer Markierung eines virtuellen MFA-Geräts**  
Verwenden Sie diese Befehle, um Tags zu entfernen, die an ein virtuelles MFA-Gerät angehängt sind.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/untag-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagMFADevice.html) 

**So führen Sie eine erneute Synchronisierung eines MFA-Geräts durch**  
Verwenden Sie diese Befehle, wenn das Gerät Codes generiert, die von nicht akzeptiert werden AWS. Wenn es sich dabei um ein virtuelles Gerät handelt, verwenden Sie den ARN des virtuellen Geräts als Seriennummer.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/resync-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/resync-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResyncMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResyncMFADevice.html) 

**So löschen Sie eine virtuelle MFA-Geräteeinheit in IAM**  
Nachdem Sie die Gerätezuordnung zu einem Benutzer aufgehoben haben, können Sie die Geräteeinheit löschen.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html) 

**So stellen Sie ein verlorenes oder nicht mehr funktionierendes virtuelles MFA-Gerät wieder her**  
Manchmal geht ein mobiles Gerät eines Benutzers, auf dem die virtuelle MFA-Anwendung gehostet wird, verloren, wird ausgetauscht oder es funktioniert nicht mehr. Wenn dies der Fall ist, kann der Benutzer es nicht selbst wiederherstellen. Der Benutzer muss sich zur Deaktivierung des Geräts an einen Administrator wenden. Weitere Informationen finden Sie unter [Wiederherstellung einer MFA-geschützten Identität in IAM](id_credentials_mfa_lost-or-broken.md).

# MFA-Status überprüfen
<a name="id_credentials_mfa_checking-status"></a>

Verwenden Sie die IAM-Konsole, um zu überprüfen, ob ein Root-Benutzer des AWS-Kontos oder IAM-Benutzer ein gültiges MFA-Gerät aktiviert hat.

**So überprüfen Sie den MFA-Status eines Stammbenutzers**

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

1. Wählen Sie auf der Navigationsleiste rechts oben Ihren Benutzernamen und dann **Security Credentials (Sicherheitsanmeldeinformationen)** aus.

1. Überprüfen Sie unter **Multi-Factor Authentication (MFA)**, ob MFA aktiviert oder deaktiviert ist. Wenn MFA nicht aktiviert ist, wird ein Warnsymbol (![\[Alert icon\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/console-alert-icon.console.png)) angezeigt. 

Wenn Sie MFA für das Konto aktivieren möchten, finden Sie Informationen unter:
+ [Virtuelles MFA-Geräts für Ihren Root-Benutzer aktivieren (Konsole)](enable-virt-mfa-for-root.md)
+ [Aktivieren eines Passkey oder Sicherheitsschlüssels für den Root-Benutzer (Konsole)](enable-fido-mfa-for-root.md)
+ [Aktivieren eines physischen TOTP-Tokens für den Root-Benutzer eines s (Konsole)](enable-hw-mfa-for-root.md)

**So überprüfen Sie den MFA-Status des IAM-Benutzers**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole. 

1. Klicken Sie im Navigationsbereich auf **Users (Benutzer)**.

1. Falls erforderlich, fügen Sie die Spalte **MFA** zur Tabelle "Benutzer" hinzu, indem Sie die folgenden Schritte ausführen:

   1. Über der Tabelle auf der rechten Seite wählen Sie das Einstellungssymbol (![\[Settings icon\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/console-settings-icon.console.png)).

   1. In **Manage Columns (Spalten verwalten)** wählen Sie **MFA**.

   1. (Optional) Deaktivieren Sie die Kontrollkästchen für alle Spaltenüberschriften, die nicht in der Benutzertabelle angezeigt werden sollen.

   1. Klicken Sie auf **Close (Schließen)**, um zur Liste der Benutzer zurückzukehren.

1. In der Spalte **MFA** erhalten Sie Informationen über das aktivierte MFA-Gerät. Wenn kein MFA-Gerät für den Benutzer aktiv ist, zeigt die Konsole **None (Keine)** an. Wenn der Benutzer ein aktiviertes MFA-Gerät hat, zeigt die Spalte **MFA** den Typ des Geräts, das mit einem Wert von **Virtual**, **Sicherheitsschlüssel**, **Hardware** oder **SMS** aktiviert ist.
**Anmerkung**  
AWS Die Unterstützung für die Aktivierung der SMS-Multifaktor-Authentifizierung (MFA) wurde eingestellt. Wir empfehlen Kunden mit IAM-Benutzern, die SMS-textnachrichtenbasierte MFA verwenden, zu einer der folgenden alternativen Methoden zu wechseln: [virtuelles (softwarebasiertes) MFA-Gerät](id_credentials_mfa_enable_virtual.md), [FIDO-Sicherheitsschlüssel](id_credentials_mfa_enable_fido.md), oder [Hardware-MFA-Gerät](id_credentials_mfa_enable_physical.md). Sie können die Benutzer in Ihrem Konto mit einem zugewiesenen SMS-MFA-Gerät identifizieren. Navigieren Sie zu diesem Zweck zur IAM-Konsole, wählen Sie im Navigationsbereich **Users (Benutzer)** und suchen Sie nach Benutzern mit **SMS** in der Tabellenspalte **MFA**.

1. Um zusätzliche Informationen über das MFA-Gerät für einen Benutzer anzuzeigen, wählen Sie den Namen des Benutzers, dessen MFA-Status Sie überprüfen möchten. Klicken Sie dann auf die Registerkarte **Security credentials (Sicherheits-Anmeldeinformationen)**. 

1. Wenn kein MFA-Gerät für den Benutzer aktiv ist, zeigt die Konsole **No MFA devices (Keine MFA-Geräte) an. Weisen Sie im Abschnitt **Multi-Factor Authentication (MFA) ein MFA-Gerät** zu, um die Sicherheit Ihrer AWS Umgebung zu verbessern**. Wenn der Benutzer MFA-Geräte aktiviert hat, werden im Abschnitt **Multi-Faktor-Authentifizierung (MFA)** Details zu den Geräten angezeigt:
   + Der Gerätename
   + Der Gerätetyp
   + Die Kennung für das Gerät, z. B. eine Seriennummer für ein physisches Gerät oder der ARN AWS für ein virtuelles Gerät
   + Wann das Gerät erstellt wurde

Um ein Gerät zu entfernen oder erneut zu synchronisieren, wählen Sie das Optionsfeld neben dem Gerät und wählen Sie **Remove (Entfernen)** oder **Resync (Erneut synchronisieren)**.

Weitere Informationen zur Aktivierung von MFA finden Sie unter: 
+ [Weisen Sie ein virtuelles MFA-Gerät zu in der AWS-Managementkonsole](id_credentials_mfa_enable_virtual.md)
+ [Weisen Sie einen Hauptschlüssel oder Sicherheitsschlüssel zu in AWS-Managementkonsole](id_credentials_mfa_enable_fido.md)
+ [Weisen Sie ein Hardware-TOTP-Token zu in der AWS-Managementkonsole](id_credentials_mfa_enable_physical.md)

# Resynchronisierung von virtuellen und Hardware-MFA-Geräten
<a name="id_credentials_mfa_sync"></a>

Sie können AWS es verwenden, um Ihre virtuellen und Hardware-Geräte mit Multi-Faktor-Authentifizierung (MFA) neu zu synchronisieren. Wenn das Gerät nicht synchronisiert ist, wenn Sie versuchen, es zu verwenden, schlägt der Anmeldeversuch fehl, und IAM fordert Sie auf, das Gerät erneut zu synchronisieren.

**Anmerkung**  
FIDO-Sicherheitsschlüssel verlieren ihre Synchronisation nicht. Wenn ein FIDO-Sicherheitsschlüssel verloren geht oder beschädigt ist, können Sie ihn deaktivieren. Weitere Anweisungen zum Deaktivieren von MFA-Geräten finden Sie unter [So deaktivieren Sie ein MFA-Gerät für einen anderen IAM-Benutzer (Konsole)](id_credentials_mfa_disable.md#deactivate-mfa-for-user).

Als AWS Administrator können Sie die virtuellen und Hardware-MFA-Geräte Ihrer IAM-Benutzer erneut synchronisieren, wenn sie nicht mehr synchronisiert sind.

Wenn Ihr Root-Benutzer des AWS-Kontos MFA-Gerät nicht funktioniert, können Sie Ihr Gerät mithilfe der IAM-Konsole mit oder ohne Abschluss des Anmeldevorgangs neu synchronisieren. Wenn Sie Ihr Gerät nicht erfolgreich resynchronisieren können, müssen Sie es möglicherweise trennen und erneut verknüpfen. Weitere Information dazu finden Sie unter [Deaktivieren eines MFA-Geräts](id_credentials_mfa_disable.md) und [AWS Multi-Faktor-Authentifizierung in IAM](id_credentials_mfa.md).

**Topics**
+ [

## Erforderliche Berechtigungen
](#id_credentials_mfa_sync_console-permissions-required)
+ [

## Erneutes Synchronisieren virtueller und physischer MFA-Geräte (IAM-Konsole)
](#id_credentials_mfa_sync_console)
+ [

## Resynchronisieren von virtuellen und physischen MFA-Geräten (AWS CLI)
](#id_credentials_mfa_sync_cli)
+ [

## Resynchronisierung von virtuellen und Hardware-MFA-Geräten (API)AWS
](#id_credentials_mfa_sync_api)

## Erforderliche Berechtigungen
<a name="id_credentials_mfa_sync_console-permissions-required"></a>

Um virtuelle oder Hardware-MFA-Geräte für Ihren IAM-Benutzer erneut zu synchronisieren, benötigen Sie die Berechtigungen von der folgenden Richtlinie. Diese Richtlinie erlaubt es Ihnen nicht, ein Gerät zu erstellen oder zu deaktivieren.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowListActions",
            "Effect": "Allow",
            "Action": [
                "iam:ListVirtualMFADevices"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowUserToViewAndManageTheirOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "BlockAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:ListMFADevices",
                "iam:ListVirtualMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

## Erneutes Synchronisieren virtueller und physischer MFA-Geräte (IAM-Konsole)
<a name="id_credentials_mfa_sync_console"></a>

Sie können die IAM Konsole verwenden, um eine Neusynchronisierung bei physischen und virtuellen MFA-Geräten durchzuführen.

**So synchronisieren Sie ein virtuelles oder physisches MFA-Gerät für Ihren eigenen IAM-Benutzer (Konsole) neu**

1. [Verwenden Sie Ihre AWS Konto-ID oder Ihren Kontoalias, Ihren IAM-Benutzernamen und Ihr Passwort, um sich bei der IAM-Konsole anzumelden.](https://console.aws.amazon.com/iam)
**Anmerkung**  
Der Einfachheit halber verwendet die AWS Anmeldeseite ein Browser-Cookie, um sich Ihren IAM-Benutzernamen und Ihre Kontoinformationen zu merken. Wenn Sie sich zuvor als anderer Benutzer angemeldet haben, wählen Sie **Melden Sie sich bei einem anderen Konto an **Um zur Hauptanmeldeseite zurückzukehren. Von dort aus können Sie Ihre AWS Konto-ID oder Ihren Kontoalias eingeben, um zur IAM-Benutzer-Anmeldeseite für Ihr Konto weitergeleitet zu werden.

   Wenden Sie sich an Ihren Administrator, um Ihre AWS-Konto ID zu erhalten.

1. Wählen Sie auf der Navigationsleiste rechts oben Ihren Benutzernamen und dann **Security Credentials (Sicherheitsanmeldeinformationen)** aus.   
![\[AWS Link zu den Sicherheitsanmeldedaten der Managementkonsole\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. Wählen Sie auf der Registerkarte **AWS -IAM-Anmeldeinformationen** im Abschnitt **Multi-Faktor-Authentifizierung (MFA)** das Optionsfeld neben dem MFA-Gerät und dann **Erneut synchronisieren**.

1. Geben Sie unter **MFA code 1 (MFA-Code 1)** und **MFA code 2 (MFA-Code 2)** die nächsten zwei sequenziell generierten Codes des Geräts ein. Wählen Sie dann **Resync (Erneut synchronisieren)**.
**Wichtig**  
Senden Sie die Anforderung direkt nach der Erzeugung der Codes. Wenn Sie die Codes erzeugen und zu lange mit der Anforderung warten, scheint die Anforderung zu funktionieren, aber das Gerät ist weiterhin nicht synchronisiert. Dies liegt daran, weil die zeitgesteuerten Einmalpasswörter (TOTP) nach einer kurzen Zeit ungültig werden.

**So synchronisieren Sie ein virtuelles oder physisches MFA-Gerät für einen anderen IAM-Benutzer (Konsole) neu**

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 **Users (Benutzer)** den Namen des Benutzers aus, dessen MFA-Gerät erneut synchronisiert werden muss.

1. Wechseln Sie zur Registerkarte **Sicherheitsanmeldeinformationen**. Wählen Sie im Abschnitt **Multi-factor authentication (MFA) (Multi-Faktor-Authentifizierung (MFA))** das Optionsfeld neben dem MFA-Gerät und dann **Resync (Erneut synchronisieren)**.

1. Geben Sie unter **MFA code 1 (MFA-Code 1)** und **MFA code 2 (MFA-Code 2)** die nächsten zwei sequenziell generierten Codes des Geräts ein. Wählen Sie dann **Resync (Erneut synchronisieren)**.
**Wichtig**  
Senden Sie die Anforderung direkt nach der Erzeugung der Codes. Wenn Sie die Codes erzeugen und zu lange mit der Anforderung warten, scheint die Anforderung zu funktionieren, aber das Gerät ist weiterhin nicht synchronisiert. Dies liegt daran, weil die zeitgesteuerten Einmalpasswörter (TOTP) nach einer kurzen Zeit ungültig werden.

**So synchronisieren Sie Ihr Stammbenutzer-MFA vor der Anmeldung erneut (Konsole)**

1. Wählen Sie auf der Seite **Amazon Web Services Sign In With Authentication Device (Amazon Web Services Anmeldung mit Authentifizierungsgerät)** die Option **Having problems with your authentication device? (Haben Sie Probleme mit Ihrem Authentifizierungsgerät?) Click here.**
**Anmerkung**  
Möglicherweise wird Ihnen unterschiedlicher Text angezeigt, z. B. **Sign in using MFA (Melden Sie sich mit MFA an)** und **Troubleshoot your authentication device (Fehlerbehebung bei Ihrem Authentifizierungsgerät)**. Es stehen jedoch die gleichen Features zur Verfügung.

1. Geben Sie im Abschnitt **Re-Sync With Our Servers (Re-Synchronisation mit unseren Servern)** unter **MFA code 1 (MFA-Code 1)** und **MFA code 2 (MFA-Code 2)** die beiden nächsten in der Folge generierten Codes von dem Gerät ein. Wählen Sie dann **Re-sync authentication device (Authentifizierungsgerät neu synchronisieren)**.

1. Geben Sie, falls erforderlich, das Passwort erneut ein, und wählen Sie **Sign in (Anmelden)**. Schließen Sie dann mit Ihrem MFA-Gerät den Anmeldevorgang ab.

**So synchronisieren Sie Ihr Stammbenutzer-MFA-Gerät nach der Anmeldung erneut (Konsole)**

1. Melden Sie sich als Kontoinhaber bei der [IAM-Konsole](https://console.aws.amazon.com/iam/) an, indem Sie **Root-Benutzer** auswählen und Ihre AWS-Konto E-Mail-Adresse eingeben. Geben Sie auf der nächsten Seite Ihr Passwort ein.
**Anmerkung**  
Als Root-Benutzer können Sie sich nicht auf der Seite **Sign in as IAM user (Als IAM-Benutzer anmelden)** anmelden. Wenn Ihnen die Seite **Sign in as IAM user (Als IAM-Benutzer anmelden)** angezeigt wird, wählen Sie die Option **Sign in using root user email (Mit Root-Benutzer-E-Mail anmelden)** unten auf der Seite. Hilfe bei der Anmeldung als Root-Benutzer finden [Sie im *Benutzerhandbuch unter AWS-Managementkonsole Als AWS-Anmeldung Root-Benutzer* anmelden](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-          root-user-sign-in-tutorial.html).

1. Klicken Sie rechts in der Navigationsleiste auf den Kontonamen und wählen Sie dann **Security Credentials (Sicherheitsanmeldeinformationen)**. Sofern erforderlich, wählen Sie **Continue to Security Credentials (Weiter zu Sicherheitsanmeldeinformationen)**.  
![\[Sicherheitsanmeldeinformationen im Navigationsmenü\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/security-credentials-root.shared.console.png)

1. Erweitern Sie den Bereich **Multi-Factor Authentication (MFA)** auf der Seite.

1. Aktivieren Sie das Optionsfeld neben dem Gerät und wählen Sie **Resync (Erneut synchronisieren)**.

1. Geben Sie im Dialogfeld **Resync MFA device (MFA-Gerät erneut synchronisieren)** die beiden nächsten in der Folge generierten Codes vom Gerät unter **MFA code 1 (MFA-Code 1)** und **MFA code 2 (MFA-Code 2)** ein. Wählen Sie dann **Resync (Erneut synchronisieren)**.
**Wichtig**  
Senden Sie die Anforderung direkt nach der Erzeugung der Codes. Wenn Sie die Codes generieren und zu lange mit der Anforderung warten, wird das MFA-Gerät erfolgreich mit dem Benutzer verbunden, aber das Gerät ist nicht synchronisiert. Dies liegt daran, weil die zeitgesteuerten Einmalpasswörter (TOTP) nach einer kurzen Zeit ungültig werden.

## Resynchronisieren von virtuellen und physischen MFA-Geräten (AWS CLI)
<a name="id_credentials_mfa_sync_cli"></a>

Sie können die AWS CLI verwenden, um eine Neusynchronisierung bei physischen und virtuellen MFA-Geräten durchzuführen.

**So synchronisieren Sie ein virtuelles oder Hardware-MFA-Gerät für einen IAM-Benutzer neu (AWS CLI)**  
Geben Sie an der Befehlszeile den Befehl [aws iam resync-mfa-device](https://docs.aws.amazon.com/cli/latest/reference/iam/resync-mfa-device.html) ein:
+ Virtuelles MFA-Gerät: Geben Sie den Amazon Resource Name (ARN) des Geräts als Seriennummer ein.

  ```
  aws iam resync-mfa-device --user-name Richard --serial-number arn:aws:iam::123456789012:mfa/RichardsMFA --authentication-code1 123456 --authentication-code2 987654
  ```
+ Physisches MFA-Gerät: Geben Sie die Seriennummer des physischen Geräts als Seriennummer an. Das Format ist herstellerspezifisch. Sie können beispielsweise ein Gemalto-Token von Amazon erwerben. Die Seriennummer besteht in der Regel aus vier Buchstaben, gefolgt von vier Ziffern.

  ```
  aws iam resync-mfa-device --user-name Richard --serial-number ABCD12345678 --authentication-code1 123456 --authentication-code2 987654
  ```

**Wichtig**  
Senden Sie die Anforderung direkt nach der Erzeugung der Codes. Wenn Sie die Codes generieren und zu lange mit dem Senden der Anforderung warten, schlägt die Anforderung fehl, weil die Gültigkeit der Codes nach kurzer Zeit verfällt.

## Resynchronisierung von virtuellen und Hardware-MFA-Geräten (API)AWS
<a name="id_credentials_mfa_sync_api"></a>

IAM bietet einen API-Aufruf zur Durchführung der Synchronisierung. In diesem Fall empfehlen wir, dass Sie Ihren Benutzern für virtuelle und Hardware-MFA-Geräte die Berechtigung erteilen, auf diesen API-Aufruf zuzugreifen. Erstellen Sie dann ein Tool basierend auf diesem API-Aufruf, damit Ihre Benutzer ihre Geräte jederzeit neu synchronisieren können.

**So synchronisieren Sie ein virtuelles oder Hardware-MFA-Gerät für einen IAM-Benutzer (API) neu AWS**
+ [Senden Sie die Resync-Anfrage. MFADevice](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResyncMFADevice.html)

# Deaktivieren eines MFA-Geräts
<a name="id_credentials_mfa_disable"></a>

Wenn Sie Schwierigkeiten haben, sich mit einem Multi-Faktor-Authentifizierung (MFA)-Gerät als IAM-Benutzer anzumelden, wenden Sie sich an Ihren Administrator, um Unterstützung zu erhalten.

Als Administrator können Sie das Gerät für einen anderen IAM-Benutzer deaktivieren. Dadurch kann der Benutzer sich ohne MFA anmelden. Dies kann eine vorübergehende Lösung darstellen, während die MFA-Gerät ersetzt wird oder wenn das Gerät vorübergehend nicht verfügbar ist. Wir empfehlen jedoch, dass Sie so bald wie möglich ein neues Gerät für den Benutzer aktivieren. Weitere Informationen zum Aktivieren eines neuen MFA-Geräts finden Sie unter [AWS Multi-Faktor-Authentifizierung in IAM](id_credentials_mfa.md).

**Anmerkung**  
Wenn Sie die API verwenden oder einen Benutzer aus Ihrem löschen AWS CLI möchten AWS-Konto, müssen Sie das MFA-Gerät des Benutzers deaktivieren oder löschen. Diese Änderung nehmen Sie im Rahmen der Entfernung des Benutzers vor. Weitere Informationen zum Entfernen von Benutzern finden Sie unter [Entfernen oder Deaktivieren eines IAM-Benutzers](id_users_remove.md).

**Topics**
+ [

## Deaktivieren von MFA-Geräten (Konsole)
](#deactive-mfa-console)
+ [

## Deaktivieren von MFA-Geräten (AWS CLI)
](#deactivate-mfa-cli)
+ [

## Deaktivierung von MFA-Geräten (API)AWS
](#deactivate-mfa-api)

## Deaktivieren von MFA-Geräten (Konsole)
<a name="deactive-mfa-console"></a><a name="deactivate-mfa-for-user"></a>

**So deaktivieren Sie ein MFA-Gerät für einen anderen IAM-Benutzer (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 auf **Users (Benutzer)**.

1. Zum Deaktivieren des MFA-Geräts für einen Benutzer wählen Sie den Namen des Benutzer aus, dessen MFA Sie entfernen möchten.

1. Wechseln Sie zur Registerkarte **Sicherheitsanmeldeinformationen**.

1. Wählen Sie unter **Multi-factor authentication (MFA) (Multi-Faktor-Authentifizierung (MFA))** die Optionsschaltfläche neben dem MFA-Gerät, dann **Remove (Entfernen)**) und dann **Remove (Entfernen)**.

   Das Gerät wurde entfernt von AWS. Es kann erst zur Anmeldung oder Authentifizierung von Anfragen verwendet werden, wenn es erneut aktiviert und einem AWS Benutzer zugeordnet wurde oder. Root-Benutzer des AWS-Kontos<a name="deactivate-mfa-for-root"></a>

**Um das MFA-Gerät für Ihre Root-Benutzer des AWS-Kontos (Konsole) zu deaktivieren**

1. Melden Sie sich als Kontoinhaber bei der [IAM-Konsole](https://console.aws.amazon.com/iam/) an, indem Sie **Root-Benutzer** auswählen und Ihre AWS-Konto E-Mail-Adresse eingeben. Geben Sie auf der nächsten Seite Ihr Passwort ein.
**Anmerkung**  
Als Root-Benutzer können Sie sich nicht auf der Seite **Sign in as IAM user (Als IAM-Benutzer anmelden)** anmelden. Wenn Ihnen die Seite **Sign in as IAM user (Als IAM-Benutzer anmelden)** angezeigt wird, wählen Sie die Option **Sign in using root user email (Mit Root-Benutzer-E-Mail anmelden)** unten auf der Seite. Hilfe bei der Anmeldung als Root-Benutzer finden [Sie im *Benutzerhandbuch unter AWS-Managementkonsole Als AWS-Anmeldung Root-Benutzer* anmelden](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-          root-user-sign-in-tutorial.html).

1. Klicken Sie rechts in der Navigationsleiste auf den Kontonamen und wählen Sie dann **Security Credentials (Sicherheitsanmeldeinformationen)**. Sofern erforderlich, wählen Sie **Continue to Security Credentials (Weiter zu Sicherheitsanmeldeinformationen)**.  
![\[Sicherheitsanmeldeinformationen im Navigationsmenü\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/security-credentials-root.shared.console.png)

1. Wählen Sie im Abschnitt **Multi-Faktor-Authentifizierung (MFA)** das Optionsfeld neben dem MFA-Gerät, das Sie deaktivieren möchten, und wählen Sie **Remove (Entfernen)**.

1. Wählen Sie **Remove (Entfernen)** aus.

   Das MFA-Gerät wird für das AWS-Konto deaktiviert. Suchen Sie in der E-Mail, die mit Ihrer verknüpft ist, AWS-Konto nach einer Bestätigungsnachricht von Amazon Web Services. In der E-Mail-Nachricht werden Sie darüber informiert, dass Ihre Amazon Web Services Multi-Factor Authentication (MFA) deaktiviert wurde. Die Nachricht stammt von `@amazon.com` oder `@aws.amazon.com`.

**Anmerkung**  
Nicht zugewiesene virtuelle MFA-Geräte in Ihrem AWS-Konto werden gelöscht, wenn Sie neue virtuelle MFA-Geräte entweder über den AWS-Managementkonsole oder während des Anmeldevorgangs hinzufügen. Nicht zugewiesene virtuelle MFA-Geräte sind Geräte in Ihrem Konto, die jedoch nicht von Root-Benutzern oder IAM-Benutzern für den Anmeldevorgang genutzt werden. Sie werden gelöscht, sodass Ihrem Konto neue virtuelle MFA-Geräte hinzugefügt werden können. Außerdem können Sie Gerätenamen wiederverwenden.

## Deaktivieren von MFA-Geräten (AWS CLI)
<a name="deactivate-mfa-cli"></a>

**So deaktivieren Sie ein MFA-Gerät für einen IAM-Benutzer (AWS CLI)**
+ Führen Sie diesen Befehl aus: [https://docs.aws.amazon.com/cli/latest/reference/iam/deactivate-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/deactivate-mfa-device.html)

## Deaktivierung von MFA-Geräten (API)AWS
<a name="deactivate-mfa-api"></a>

**So deaktivieren Sie ein MFA-Gerät für einen IAM-Benutzer (API)AWS**
+ Rufen Sie diese Operation auf: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html)

# Wiederherstellung einer MFA-geschützten Identität in IAM
<a name="id_credentials_mfa_lost-or-broken"></a>

Wenn Ihr [virtuelles MFA-Gerät](id_credentials_mfa_enable_virtual.md) oder Ihr [Hardware-TOTP-Token](id_credentials_mfa_enable_physical.md) ordnungsgemäß zu funktionieren scheint, Sie es aber nicht für den Zugriff auf Ihre AWS Ressourcen verwenden können, ist es möglicherweise nicht mehr synchronisiert mit. AWS Weitere Informationen zum Synchronisieren eines virtuellen MFA-Geräts oder Hardware-MFA-Geräts finden Sie unter [Resynchronisierung von virtuellen und Hardware-MFA-Geräten](id_credentials_mfa_sync.md). [FIDO-Sicherheitsschlüssel](id_credentials_mfa_enable_fido.md) verlieren ihre Synchronisation nicht.

Wenn das [MFA-Gerät](id_credentials_mfa.md) für a verloren geht, beschädigt Root-Benutzer des AWS-Kontos ist oder nicht funktioniert, können Sie den Zugriff auf Ihr Konto wiederherstellen. IAM-Benutzer müssen sich zur Deaktivierung des Geräts an einen Administrator wenden.

**Wichtig**  
Wir empfehlen, mehrere MFA-Geräte zu aktivieren. Durch die Registrierung mehrerer MFA-Geräte wird der fortgesetzte Zugriff sichergestellt, wenn ein Gerät verloren geht oder kaputt geht. Ihre Root-Benutzer des AWS-Kontos und IAM-Benutzer können bis zu acht MFA-Geräte beliebigen Typs registrieren.

## Voraussetzung – Verwendung eines anderen MFA-Geräts
<a name="mfa-lost-or-broken-prerequisites"></a>

Wenn Ihr [Gerät für die Multi-Faktor-Authentifizierung (MFA)](id_credentials_mfa.md) verloren geht, beschädigt ist oder nicht funktioniert, können Sie sich mit einem anderen MFA-Gerät anmelden, das für denselben Root-Benutzer oder IAM-Benutzer registriert ist.

**So melden Sie sich mit einem anderen MFA-Gerät**

1. Melden Sie sich mit Ihrer AWS-Konto -ID oder Ihrem Kontoalias und Ihrem Passwort bei der [AWS-Managementkonsole](url-comsole-domain;iam) an.

1. Wählen Sie auf der Seite **Zusätzliche Überprüfung erforderlich** oder **Multi-Faktor-Authentifizierung** die Option **Andere MFA-Methode ausprobieren** aus.

1. Authentifizieren Sie sich mit dem von Ihnen ausgewählten MFA-Gerätetyp.

1. Der nächste Schritt variiert je nachdem, ob Sie sich erfolgreich mit einem alternativen MFA-Gerät angemeldet haben.
   + Wenn Sie sich erfolgreich angemeldet haben, können Sie [Resynchronisierung von virtuellen und Hardware-MFA-Geräten](id_credentials_mfa_sync.md), wodurch das Problem möglicherweise behoben wird. Wenn Ihr MFA-Gerät verloren geht oder beschädigt ist, können Sie es deaktivieren. Weitere Anweisungen zum Deaktivieren von MFA-Geräten finden Sie unter [Deaktivieren eines MFA-Geräts](id_credentials_mfa_disable.md).
   + Wenn Sie sich nicht mit MFA anmelden können, verwenden Sie die Schritte unter [Wiederherstellen eines Stammbenutzer-MFA-Geräts](#root-mfa-lost-or-broken) oder [Wiederherstellen eines IAM-Benutzer-MFA-Geräts](#iam-user-mfa-lost-or-broken), um Ihre durch MFA geschützte Identität wiederherzustellen.



## Wiederherstellen eines Stammbenutzer-MFA-Geräts
<a name="root-mfa-lost-or-broken"></a>

Wenn Sie sich nicht mit MFA anmelden können, können Sie alternative Authentifizierungsmethoden zur Anmeldung verwenden, indem Sie Ihre Identität anhand der E-Mail-Adresse und der primären Kontakttelefonnummer bestätigen, die bei Ihrem Konto registriert sind.

Bestätigen Sie, dass Sie auf die E-Mail-Adresse und die primäre Kontakttelefonnummer zugreifen können, die mit Ihrem Konto verknüpft sind, bevor Sie alternative Authentifizierungsfaktoren verwenden, um sich als Root-Benutzer anzumelden. Wenn Sie die Telefonnummer des primären Kontakts aktualisieren müssen, melden Sie sich als IAM-Benutzer mit *Administrator*-Zugriff statt als Root-Benutzer an. Weitere Anweisungen zur Aktualisierung der Kontokontaktinformationen finden Sie im *AWS Billing -Benutzerhandbuch* unter [Kontaktinformationen bearbeiten](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-primary.html). Wenn Sie keinen Zugriff auf eine E-Mail und eine primäre Kontakttelefonnummer haben, müssen Sie sich an den [AWS Support](https://support.aws.amazon.com/#/contacts/aws-mfa-support) wenden.

**Wichtig**  
Wir empfehlen Ihnen, die mit Ihrem Root-Benutzer verknüpfte E-Mail-Adresse und Kontakttelefonnummer auf dem neuesten Stand zu halten, damit Ihr Konto erfolgreich wiederhergestellt werden kann. Weitere Informationen finden Sie im *AWS -Kontenverwaltung Referenzhandbuch* unter [Aktualisieren Sie den Hauptkontakt für Ihr AWS-Konto](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-primary.html).

**Um sich mit alternativen Authentifizierungsfaktoren anzumelden als Root-Benutzer des AWS-Kontos**

1.  Melden Sie sich [AWS-Managementkonsole](https://console.aws.amazon.com/)als Kontoinhaber an, indem Sie **Root-Benutzer** auswählen und Ihre AWS-Konto E-Mail-Adresse eingeben. Geben Sie auf der nächsten Seite Ihr Passwort ein.

1. Wählen Sie auf der Seite **Zusätzliche Verifizierung erforderlich** eine MFA-Methode für die Authentifizierung aus und klicken Sie auf **Weiter**. 
**Anmerkung**  
Möglicherweise sehen Sie alternativen Text wie **Sign in using MFA** (Mit MFA anmelden), **Troubleshoot your authentication device** (Fehlerbehebung für Ihr Authentifizierungsgerät), oder **Troubleshoot MFA** (Fehlerbehebung für MFA), aber die Funktionalität ist dieselbe. Wenn Sie zur Verifizierung der E-Mail-Adresse Ihres Kontos und der primären Kontakttelefonnummer keine alternativen Authentifizierungsfaktoren verwenden können, wenden Sie sich an [AWS Support](https://support.aws.amazon.com/#/contacts/aws-mfa-support), um Ihr MFA-Gerät zu deaktivieren.

1. Je nachdem, welche Art von MFA Sie verwenden, wird eine andere Seite angezeigt, aber die Option **Fehlerbehebung bei MFA** funktioniert genauso. Wählen Sie auf der Seite **Zusätzliche Überprüfung erforderlich** oder **Multifaktor-Authentifizierung** die Option **Fehlerbehebung bei MFA** aus.

1. Geben Sie, falls erforderlich, das Passwort erneut ein, und wählen Sie **Sign in (Anmelden)**.

1. Wählen Sie auf der Seite **Fehlerbehebung bei Ihrem Authentifizierungsgerät** im Abschnitt **Anmelden mit alternativen Faktoren der Authentifizierung** die Option **Anmelden mit alternativen Faktoren**.

1. Authentifizieren Sie Ihr Konto auf der Seite **Anmeldung mit alternativen Faktoren**, indem Sie die E-Mail-Adresse verifizieren, und wählen Sie **Verifizierungs-E-Mail senden** aus. 

1. Suchen Sie in der E-Mail, die mit Ihrer verknüpft ist, AWS-Konto nach einer Nachricht von Amazon Web Services (recover-mfa-no-reply@verify .signin.aws). Befolgen Sie die Anweisungen in der E-Mail-Nachricht.

   Wenn in Ihrem Konto keine E-Mail-Nachricht angezeigt wird, überprüfen Sie Ihren Spam-Ordner oder wählen Sie in Ihrem Browser **Resend the email (E-Mail erneut versenden)**.

1. Nachdem Ihre E-Mail-Adresse verifiziert wurde, können Sie mit der Authentifizierung Ihres Kontos fortfahren. Zum Überprüfen Ihrer Haupttelefonnummer wählen Sie **Call me now** (Mich jetzt anrufen).

1. Nehmen Sie den Anruf von entgegen AWS und geben Sie, wenn Sie dazu aufgefordert werden, die sechsstellige Nummer von der AWS Website auf der Telefontastatur ein. 

   Wenn Sie keinen Anruf von erhalten AWS, wählen Sie **Anmelden, um sich erneut an** der Konsole anzumelden und von vorne zu beginnen. Oder sehen Sie unter [Verlorenes oder unbrauchbares Multi-Faktor-Authentifizierung (MFA)-Gerät](https://support.aws.amazon.com/#/contacts/aws-mfa-support) nach, um den Support für Hilfe zu kontaktieren.

1. Nach dem Verifizieren Ihrer Telefonnummer können Sie sich bei Ihrem Konto anmelden, indem Sie **Sign in to the console (Anmelden an der Konsole)** auswählen.

1. Der nächste Schritt variiert je nach Art der MFA, die Sie verwenden:
   + Für ein virtuelles MFA-Gerät, entfernen Sie das Konto von Ihrem Gerät. Löschen Sie dann auf der Seite [AWS -Sicherheitsanmeldeinformationen](https://console.aws.amazon.com/iam/home?#security_credential) die Entität für das alte virtuelle MFA-Gerät, bevor Sie eine neue erstellen.
   + Für einen FIDO-Sicherheitsschlüssel gehen Sie auf die Seite [AWS -Sicherheitsanmeldeinformationen](https://console.aws.amazon.com/iam/home?#security_credential) und deaktivieren Sie den alten FIDO-Sicherheitsschlüssel, bevor Sie einen neuen aktivieren.
   + Wenn Sie ein Hardware-TOTP-Token benötigen, wenden Sie sich an den Drittanbieter, um Hilfe bei der Reparatur oder dem Austausch des Geräts zu erhalten. Sie können sich weiter mit der alternativen Authentifizierung anmelden, bis Sie Ihr neues Gerät erhalten. Nachdem Sie das neue Hardware-MFA-Gerät erhalten haben, gehen Sie zur Seite [AWS -Sicherheits-Anmeldeinformationen](https://console.aws.amazon.com/iam/home?#security_credential) und löschen Sie das alte MFA-Gerät.
**Anmerkung**  
Sie müssen ein verlorenes oder gestohlenes MFA-Gerät nicht durch ein gleichartiges Gerät ersetzen. Wenn Sie beispielsweise Ihren FIDO-Sicherheitsschlüssel verlieren und einen neuen bestellen, können Sie bis zum Eintreffen des neuen FIDO-Schlüssels die virtuelle MFA oder einen Hardware-TOTP-Token verwenden.

**Wichtig**  
Wenn Ihr MFA-Gerät verloren geht oder gestohlen wurde, ändern Sie Ihr Root-Benutzerpasswort, nachdem Sie sich angemeldet und Ihr Ersatz-MFA-Gerät eingerichtet haben. Ein Angreifer könnte das Authentifizierungsgerät gestohlen haben und verfügt möglicherweise auch über Ihr aktuelles Passwort. Weitere Informationen finden Sie unter [Ändern Sie das Passwort für Root-Benutzer des AWS-Kontos](root-user-password.md).

## Wiederherstellen eines IAM-Benutzer-MFA-Geräts
<a name="iam-user-mfa-lost-or-broken"></a>

Wenn Sie ein IAM-Benutzer sind, der sich nicht mit MFA anmelden kann, können Sie ein MFA-Gerät nicht selbst wiederherstellen. Sie müssen sich zur Deaktivierung des Geräts an einen Administrator wenden. Anschließend können Sie ein neues Gerät aktivieren.

**So erhalten Sie als IAM-Benutzer Hilfe für ein MFA-Gerät**

1. Wenden Sie sich an den AWS Administrator oder eine andere Person, die Ihnen den Benutzernamen und das Passwort für den IAM-Benutzer gegeben hat. Der Administrator muss das MFA-Gerät deaktivieren, wie in [Deaktivieren eines MFA-Geräts](id_credentials_mfa_disable.md) beschrieben, damit Sie sich anmelden können.

1. Der nächste Schritt variiert je nach Art der MFA, die Sie verwenden:
   + Für ein virtuelles MFA-Gerät, entfernen Sie das Konto von Ihrem Gerät. Aktivieren Sie dann das virtuelle Gerät wie in [Weisen Sie ein virtuelles MFA-Gerät zu in der AWS-Managementkonsole](id_credentials_mfa_enable_virtual.md) beschrieben.
   + Wenn Sie einen FIDO-Sicherheitsschlüssel benötigen, wenden Sie sich an den Drittanbieter, der Ihnen beim Austausch des Geräts hilft. Wenn Sie den neuen FIDO-Sicherheitsschlüssel erhalten, aktivieren Sie ihn wie in [Weisen Sie einen Hauptschlüssel oder Sicherheitsschlüssel zu in AWS-Managementkonsole](id_credentials_mfa_enable_fido.md) beschrieben.
   + Wenn Sie ein Hardware-TOTP-Token benötigen, wenden Sie sich an den Drittanbieter, um Hilfe bei der Reparatur oder dem Austausch des Geräts zu erhalten. Nachdem Sie das neue physische MFA-Gerät erhalten haben, aktivieren Sie das Gerät wie in [Weisen Sie ein Hardware-TOTP-Token zu in der AWS-Managementkonsole](id_credentials_mfa_enable_physical.md) beschrieben.
**Anmerkung**  
Sie müssen ein verlorenes oder gestohlenes MFA-Gerät nicht durch ein gleichartiges Gerät ersetzen. Sie können bis zu acht MFA-Geräte beliebiger Kombination verwenden. Wenn Sie beispielsweise Ihren FIDO-Sicherheitsschlüssel verlieren und einen neuen bestellen, können Sie bis zum Eintreffen des neuen FIDO-Schlüssels die virtuelle MFA oder einen Hardware-TOTP-Token verwenden.

1. Wenn Ihr MFA-Gerät verloren gegangen ist oder gestohlen wurde, ändern Sie auch Ihr Passwort, falls ein Angreifer das Authentifizierungsgerät gestohlen hat und möglicherweise auch Ihr aktuelles Passwort kennt. Weitere Informationen finden Sie unter [Verwalten von Passwörtern für IAM-Benutzer](id_credentials_passwords_admin-change-user.md).

# Sicherer API-Zugriff mit MFA
<a name="id_credentials_mfa_configure-api-require"></a>

Mit IAM-Richtlinien können Sie angeben, welche API-Operationen ein Benutzer aufrufen darf. Sie können für zusätzliche Sicherheit sorgen, indem Sie von Benutzern eine Authentifizierung mit Multi-Faktor-Authentifizierung (MFA) verlangen, bevor Sie ihnen erlauben, besonders vertrauliche Aktionen auszuführen.

Sie verfügen beispielsweise über eine Richtlinie, die dem Benutzer gestattet, die Amazon EC2 Aktionen `RunInstances`, `DescribeInstances` und `StopInstances` auszuführen. Möglicherweise möchten Sie jedoch eine destruktive Aktion einschränken `TerminateInstances` und sicherstellen, dass Benutzer diese Aktion nur ausführen können, wenn sie sich mit einem AWS MFA-Gerät authentifizieren.

**Topics**
+ [

## -Übersicht
](#MFAProtectedAPI-overview)
+ [

## Szenario: MFA-Schutz für kontoübergreifende Delegierung
](#MFAProtectedAPI-cross-account-delegation)
+ [

## Szenario: MFA-Schutz für Zugriff auf API-Operationen im aktuellen Konto
](#MFAProtectedAPI-user-mfa)
+ [

## Szenario: MFA-Schutz für Ressourcen mit ressourcenbasierten Richtlinien
](#MFAProtectedAPI-resource-policies)

## -Übersicht
<a name="MFAProtectedAPI-overview"></a>

Um den MFA-Schutz zu API-Operationen hinzuzufügen, sind folgende Schritte auszuführen:

1. Der Administrator konfiguriert ein AWS MFA-Gerät für jeden Benutzer, der API-Anfragen stellen muss, für die eine MFA-Authentifizierung erforderlich ist. Weitere Informationen finden Sie unter [AWS Multi-Faktor-Authentifizierung in IAM](id_credentials_mfa.md). 

1. Der Administrator erstellt Richtlinien für die Benutzer, die ein `Condition` Element enthalten, das überprüft, ob sich der Benutzer mit einem AWS MFA-Gerät authentifiziert hat.

1. Der Benutzer ruft eine der AWS STS API-Operationen auf, die die MFA-Parameter unterstützen: [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)oder [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html). Als Teil des Aufrufs schließt der Benutzer die mit dem Benutzer verknüpfte Gerät-ID für das Gerät ein. Der Benutzer schließt außerdem das zeitbasierte Einmalpasswort (Time-based One-Time Password, TOTP) ein. In beiden Fällen erhält der Benutzer temporäre Sicherheitsanmeldeinformationen zurück, die der Benutzer für zusätzliche Anfragen an AWS benutzen kann.
**Anmerkung**  
MFA-Schutz für die API-Operationen eines Service ist nur dann verfügbar, wenn der Service temporäre Sicherheitsanmeldeinformationen unterstützt. Eine Liste dieser Services finden Sie unter [Verwendung temporärer Sicherheitscodes für den Zugriff auf AWS](https://docs.aws.amazon.com/STS/latest/UsingSTS/UsingTokens.html).

Schlägt die Autorisierung fehl, wird eine Fehlermeldung „Zugriff verweigert“ AWS zurückgegeben (wie bei jedem nicht autorisierten Zugriff). Wenn MFA-geschützte API-Richtlinien vorhanden sind, wird der Zugriff auf die in den Richtlinien angegebenen AWS API-Operationen verweigert, wenn der Benutzer versucht, eine API-Operation ohne gültige MFA-Authentifizierung aufzurufen. Die Operation wird auch verweigert, wenn der Zeitstempel der Anforderung für die API-Operation sich außerhalb des in der Richtlinie festgelegten zulässigen Bereichs befindet. Der Benutzer muss sich erneut mit MFA authentifizieren, indem neue temporäre Sicherheitsanmeldeinformationen mit einem MFA-Code und einer Geräte-Seriennummer angefordert werden.

### IAM-Richtlinien mit MFA-Bedingungen
<a name="MFAProtectedAPI-policies"></a>

Richtlinien mit MFA-Bedingungen können folgenden Elementen angefügt werden:
+ Einem IAM-Benutzer oder einer IAM-Gruppe
+ Einer Ressource, wie zum Beispiel ein Amazon S3-Bucket, eine Amazon SQS-Warteschlange oder ein Amazon SNS-Thema
+ Die Vertrauensrichtlinie einer IAM-Rolle, die von einem Benutzer übernommen werden kann

Sie können eine MFA-Bedingung in einer Richtlinie zum Überprüfen der folgenden Eigenschaften verwenden:
+ Vorhanden – Um mit MFA lediglich zu überprüfen, ob sich der Benutzer mit MFA authentifiziert hat, prüfen Sie, dass der `aws:MultiFactorAuthPresent`-Schlüssel auf `True` gesetzt ist, und zwar einer `Bool`-Bedingung. Der Schlüssel ist nur vorhanden, wenn sich der Benutzer mit kurzfristigen Anmeldeinformationen authentifiziert. Langfristige Anmeldeinformationen wie Zugriffsschlüssel enthalten diesen Schlüssel nicht.
+ Dauer – Wenn Sie den Zugriff nur innerhalb einer bestimmten Zeit nach der MFA-Authentifizierung gewähren möchten, verwenden Sie einen numerischen Bedingungstyp, um das Alter des `aws:MultiFactorAuthAge`-Schlüssels mit einem Wert (wie 3.600 Sekunden) zu vergleichen. Beachten Sie, dass der `aws:MultiFactorAuthAge`-Schlüssel nicht vorhanden ist, wenn keine MFA verwendet wurde.

Das folgende Beispiel zeigt die Vertrauensrichtlinie einer IAM-Rolle, die eine MFA-Bedingung enthält, um die Existenz der MFA-Authentifizierung festzustellen. Mit dieser Richtlinie können Benutzer der im `Principal` Element AWS-Konto angegebenen Rolle (durch eine gültige AWS-Konto ID `ACCOUNT-B-ID` ersetzen) die Rolle übernehmen, der diese Richtlinie zugewiesen ist. Solche Benutzer können die Rolle jedoch nur annehmen, wenn sie sich mit MFA authentifizieren.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Principal": {"AWS": "ACCOUNT-B-ID"},
    "Action": "sts:AssumeRole",
    "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
  }
}
```

------

Weitere Informationen über die Bedingungstypen für MFA finden Sie unter [AWS Kontextschlüssel für globale Bedingungen](reference_policies_condition-keys.md), [Numerische Bedingungsoperatoren](reference_policies_elements_condition_operators.md#Conditions_Numeric) und [Bedingungsoperator zur Prüfung der Existenz von Bedingungsoperatoren](reference_policies_elements_condition_operators.md#Conditions_Null). 

### Sie haben die Wahl zwischen GetSessionToken und AssumeRole
<a name="scenarios"></a>

AWS STS bietet zwei API-Operationen, mit denen Benutzer MFA-Informationen weitergeben können: `GetSessionToken` und`AssumeRole`. Die vom Benutzer zur Erlangung temporärer Sicherheitsanmeldeinformationen aufgerufene API-Operation wird durch eines der folgenden Szenarien bestimmt. 

**Verwenden Sie `GetSessionToken` für die folgenden Szenarien:**
+ Rufen Sie API-Operationen auf, die auf Ressourcen zugreifen, genauso AWS-Konto wie der IAM-Benutzer, der die Anfrage stellt. Beachten Sie, dass temporäre Anmeldeinformationen aus einer `GetSessionToken` Anfrage *nur dann* auf IAM- und AWS STS API-Operationen zugreifen können, wenn Sie MFA-Informationen in die Anforderung von Anmeldeinformationen aufnehmen. Da von `GetSessionToken` zurückgegebene temporäre Anmeldeinformationen MFA-Informationen enthalten, können Sie mit den Anmeldeinformationen ausgeführte einzelne API-Operationen auf MFA prüfen. 
+ Zugriff auf Ressourcen, die über ressourcenbasierte Richtlinien geschützt sind, die eine MFA-Bedingung enthalten.

Der Zweck der Operation `GetSessionToken` besteht darin, den Benutzer mithilfe von MFA zu authentifizieren. Richtlinien können nicht dazu verwendet werden, Authentifizierungsoperationen zu steuern.

**Verwenden Sie `AssumeRole` für die folgenden Szenarien:**
+ Aufrufe von API-Operationen, die auf die Ressourcen in demselben oder einem anderen AWS-Konto zugreifen. Die API-Aufrufe können jedes IAM oder jede API beinhalten. AWS STS Beachten Sie, dass MFA zu dem Zeitpunkt, zu dem der Benutzer die Rolle übernimmt, aktiviert ist. Die von `AssumeRole` zurückgegebenen temporären Anmeldeinformationen enthalten keine MFA-Informationen im Kontext, sodass einzelne API-Operationen nicht auf MFA geprüft werden können. Daher müssen Sie `GetSessionToken` verwenden, um den Zugriff auf die von ressourcenbasierten Richtlinien geschützten Ressourcen einzuschränken.

**Anmerkung**  
AWS CloudTrail Protokolle enthalten MFA-Informationen, wenn sich der IAM-Benutzer mit MFA anmeldet. Wenn der IAM-Benutzer eine IAM-Rolle annimmt, CloudTrail werden auch die `sessionContext` Attribute für Aktionen protokolliert`mfaAuthenticated: true`, die mit der angenommenen Rolle ausgeführt wurden. Die CloudTrail Protokollierung erfolgt jedoch unabhängig von den Anforderungen von IAM, wenn API-Aufrufe mit den Anmeldeinformationen der angenommenen Rolle getätigt werden. Weitere Informationen finden Sie unter [CloudTrail-Element userIdentity](https://docs.aws.amazon.com//awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

Weitere Informationen zur Implementierung dieser Szenarien finden Sie weiter unten in diesem Dokument.

### Wichtige Punkte für den MFA-geschützten API-Zugriff
<a name="MFAProtectedAPI-important-points"></a>

Beachten Sie die folgenden Aspekte in Bezug auf den MFA-Schutz für API-Operationen:
+ MFA-Schutz steht nur mit temporären Sicherheitsanmeldeinformationen zur Verfügung, die mit `AssumeRole` oder `GetSessionToken` eingeholt werden müssen. 
+ Sie können den MFA-geschützten API-Zugriff nicht mit Root-Benutzer des AWS-Kontos Anmeldeinformationen verwenden.
+ Sie können den MFA-geschützten API-Zugriff nicht mit U2F-Sicherheitsschlüsseln verwenden.
+ Verbundbenutzern kann kein MFA-Gerät zur Verwendung mit AWS Diensten zugewiesen werden, sodass sie nicht auf AWS Ressourcen zugreifen können, die von MFA gesteuert werden. (Siehe nächster Punkt.) 
+ Andere AWS STS API-Operationen, die temporäre Anmeldeinformationen zurückgeben, unterstützen MFA nicht. Für `AssumeRoleWithWebIdentity` und `AssumeRoleWithSAML` wird der Benutzer von einem externen Anbieter authentifiziert und AWS kann nicht feststellen, ob dieser Anbieter MFA benötigt. Für `GetFederationToken` wird MFA nicht notwendigerweise mit einem spezifischen Benutzer verknüpft. 
+ Langfristige Anmeldeinformationen (IAM-Benutzer-Zugriffsschlüssel und Stammbenutzer-Zugriffsschlüssel) können für den MFA-geschützten API-Zugriff ebenfalls nicht verwendet werden, da sie zeitlich unbegrenzt sind.
+ `AssumeRole` und `GetSessionToken` können auch ohne MFA-Informationen aufgerufen werden. In diesem Fall erhält der Aufrufer temporäre Sicherheitsanmeldeinformationen, aber die Sitzungsinformationen dieser Anmeldeinformationen enthalten keine Angaben darüber, ob der Benutzer sich mit MFA authentifiziert hat.
+ Um MFA-Schutz für API-Operationen einzurichten, fügen Sie den Richtlinien MFA-Bedingungen hinzu. In einer Richtlinie muss der `aws:MultiFactorAuthPresent`-Bedingungsschlüssel enthalten sein, damit die Verwendung von MFA durchgesetzt wird. Bei der kontoübergreifenden Delegierung muss die Vertrauensrichtlinie der Rolle den Bedingungsschlüssel enthalten.
+ Wenn Sie einer anderen Person AWS-Konto den Zugriff auf Ressourcen in Ihrem Konto gestatten, hängt die Sicherheit Ihrer Ressourcen von der Konfiguration des vertrauenswürdigen Kontos ab (das andere Konto, nicht Ihres). Dies gilt auch, wenn Sie eine Multi-Factor Authentication verlangen. Jede Identität im vertrauenswürdigen Konto mit Berechtigung zum Erstellen von virtuellen MFA-Geräten kann einen MFA-Anspruch erstellen, um den entsprechenden Teil der Vertrauensrichtlinie Ihrer Rolle zu erfüllen. Bevor Sie Mitgliedern eines anderen Kontos Zugriff auf Ihre AWS Ressourcen gewähren, für die eine Multi-Faktor-Authentifizierung erforderlich ist, sollten Sie sicherstellen, dass der Besitzer des vertrauenswürdigen Kontos die bewährten Sicherheitsmethoden befolgt. Beispiel: Das vertrauenswürdige Konto sollte den Zugriff auf sensible API-Operationen, z. B. API-Operationen zur MFA-Geräteverwaltung, auf spezifische, vertrauenswürdige Identitäten beschränken.
+ Wenn eine Richtlinie eine MFA-Bedingung enthält, wird eine Anfrage abgelehnt, falls die Benutzer nicht mit MFA authentifiziert worden sind oder die MFA-Geräte-ID oder das zeitlich begrenzte, einmalige Passwort ungültig ist.

## Szenario: MFA-Schutz für kontoübergreifende Delegierung
<a name="MFAProtectedAPI-cross-account-delegation"></a>

In diesem Szenario möchten Sie den Zugriff an IAM-Benutzer in einem anderen Konto delegieren, aber nur, wenn die Benutzer mit einem AWS MFA-Gerät authentifiziert sind. Weitere Informationen über die kontoübergreifende Delegierung finden Sie unter [Rollenbegriffe und -konzepte](id_roles.md#id_roles_terms-and-concepts). 

Angenommen, Sie haben ein Konto A (das vertrauende Konto, das die zu gewünschten Ressourcen enthält) mit der IAM-Benutzerin Anaya, die über Administratorberechtigungen verfügt. Sie möchten dem Benutzer Richard im Konto B (dem vertrauenswürdigen Konto) Zugriff gewähren, dabei aber sicherstellen, dass sich Richard mit MFA authentifiziert, bevor er die Rolle übernimmt. 

1. Im vertrauenswürdigen Konto A erstellt Anaya eine IAM-Rolle mit dem Namen `CrossAccountRole` und legt den Principal in der Vertrauensrichtlinie der Rolle auf die Konto-ID von Konto B fest. Die Vertrauensrichtlinie erteilt die Genehmigung für die Aktion. AWS STS `AssumeRole` Darüber hinaus fügt Anaya der Vertrauensrichtlinie eine MFA-Bedingung hinzu, wie im folgenden Beispiel dargestellt. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": {
       "Effect": "Allow",
       "Principal": {"AWS": "ACCOUNT-B-ID"},
       "Action": "sts:AssumeRole",
       "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
     }
   }
   ```

------

1. Anaya fügt der Rolle eine Berechtigungsrichtlinie hinzu, die die Ausführungsberechtigungen enthält. Die Berechtigungsrichtlinie für eine Rolle mit MFA-Schutz unterscheidet sich nicht von anderen Berechtigungsrichtlinien für Rollen. Das folgende Beispiel zeigt die Richtlinie, die Anaya zur Rolle hinzufügt. Sie gestattet einem Benutzer, der diese Richtlinie übernimmt, beliebige Amazon-DynamoDB-Aktionen in der Tabelle `Books` in Konto A durchzuführen. Diese Richtlinie gestattet auch die `dynamodb:ListTables`-Aktion, die zum Ausführen der Aktionen in der Konsole erforderlich ist. 
**Anmerkung**  
Die Berechtigungsrichtlinie enthält keine MFA-Bedingung. Beachten Sie dabei, dass die MFA-Authentifizierung nur verwendet wird, um zu ermitteln, ob ein Benutzer die Rolle übernehmen kann. Sobald der Benutzer die Rolle übernommen hat, werden keine weiteren MFA-Kontrollen durchgeführt. 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "TableActions",
               "Effect": "Allow",
               "Action": "dynamodb:*",
               "Resource": "arn:aws:dynamodb:*:111122223333:table/Books"
           },
           {
               "Sid": "ListTables",
               "Effect": "Allow",
               "Action": "dynamodb:ListTables",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Im vertrauenswürdigen Konto B stellt der Administrator sicher, dass der IAM-Benutzer Richard mit einem AWS MFA-Gerät konfiguriert ist und dass er die ID des Geräts kennt. Die Gerät-ID ist bei einem physischen MFA-Gerät die Seriennummer oder bei einem virtuellen MFA-Gerät der Geräte-ARN.

1. In Konto B fügt der Administrator die folgenden Richtlinien dem Benutzer Richard an (oder einer Gruppe, deren Mitglied Bob ist), die ihm das Aufrufen der Aktion `AssumeRole` gestatten. Die Ressource ist auf den ARN der von Anaya in Schritt 1 erstellten Rolle festgelegt. Beachten Sie, dass diese Richtlinie keine MFA-Bedingung enthält.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sts:AssumeRole"
               ],
               "Resource": [
                   "arn:aws:iam::111122223333:role/CrossAccountRole"
               ]
           }
       ]
   }
   ```

------

1. Richard (oder eine von Richard ausgeführte Anwendung) ruft im Konto B `AssumeRole` auf. Der API-Aufruf enthält den ARN der zu übernehmenden Rolle (`arn:aws:iam::ACCOUNT-A-ID:role/CrossAccountRole`), die MFA-Geräte-ID und das aktuelle TOTP, das Richard von seinem Gerät erhält. 

   Wenn Richard anruft`AssumeRole`, AWS stellt er fest, ob er über gültige Anmeldeinformationen verfügt, einschließlich der Anforderungen für MFA. Wenn dies der Fall ist, übernimmt Richard die Rolle und kann beliebige DynamoDB-Aktionen in der Tabelle mit dem Namen `Books` im Konto A ausführen, sofern er die temporären Anmeldeinformationen der Rolle verwendet. 

   Ein Beispiel für ein Programm, das `AssumeRole` aufruft, finden Sie unter [Telefonieren AssumeRole mit MFA-Authentifizierung](id_credentials_mfa_sample-code.md#MFAProtectedAPI-example-assumerole).

## Szenario: MFA-Schutz für Zugriff auf API-Operationen im aktuellen Konto
<a name="MFAProtectedAPI-user-mfa"></a>

In diesem Szenario sollten Sie sicherstellen, dass ein Benutzer in Ihrem Konto nur dann auf sensible API-Operationen zugreifen AWS-Konto kann, wenn der Benutzer mit einem AWS MFA-Gerät authentifiziert ist.

Angenommen, Sie haben ein Konto A mit einer Gruppe von Entwicklern, die mit EC2-Instances arbeiten müssen. Normale Entwickler können mit den Instances arbeiten, aber sie haben keine Berechtigungen für die Aktion `ec2:StopInstances` oder `ec2:TerminateInstances`. Sie möchten diese besonderen, "destruktiven" Aktionen auf nur einige wenige vertrauenswürdige Benutzer beschränken. Daher fügen Sie einen MFA-Schutz der Richtlinie hinzu, der diese sensiblen Amazon EC2-Aktionen zulässt. 

In diesem Szenario ist Sofía einer dieser vertrauenswürdigen Benutzer. Die Benutzerin Anaya ist eine Administratorin in Konto A. 

1. Anaya stellt sicher, dass Sofía mit einem AWS MFA-Gerät konfiguriert ist und dass Sofía die ID des Geräts kennt. Die Gerät-ID ist bei einem physischen MFA-Gerät die Seriennummer oder bei einem virtuellen MFA-Gerät der Geräte-ARN. 

1. Anaya erstellt eine Gruppe mit dem Namen `EC2-Admins` und fügt Sofía dieser Gruppe hinzu.

1. Anaya fügt die folgende Richtlinie an die Gruppe `EC2-Admins` an. Diese Richtlinie gewährt Benutzern die Berechtigung zum Aufrufen der Amazon EC2-Aktionen `StopInstances` und `TerminateInstances` nur dann, wenn sich der Benutzer mit MFA authentifiziert hat. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Action": [
         "ec2:StopInstances",
         "ec2:TerminateInstances"
       ],
       "Resource": ["*"],
       "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
     }]
   }
   ```

------

1. 
**Anmerkung**  
Damit diese Richtlinie wirksam wird, müssen sich Benutzer zuerst abmelden und dann wieder anmelden.

   Wenn Benutzer Sofía eine Amazon EC2-Instance anhalten oder beenden muss, ruft sie (oder eine von ihr ausgeführte Anwendung) `GetSessionToken` auf. Diese API-Operation übergibt die ID des MFA-Geräts und das aktuelle TOTP, das Sofía von ihrem Gerät erhält.

1. Die Benutzerin Sofía (oder eine von Sofía verwendete Anwendung) verwendet die von `GetSessionToken` bereitgestellten Anmeldeinformationen, um die Amazon EC2-Aktion `StopInstances` oder `TerminateInstances` aufzurufen. 

   Ein Beispiel für ein Programm, das `GetSessionToken` aufruft, finden Sie unter [Telefonieren GetSessionToken mit MFA-Authentifizierung](id_credentials_mfa_sample-code.md#MFAProtectedAPI-example-getsessiontoken) weiter unten in diesem Dokument.

## Szenario: MFA-Schutz für Ressourcen mit ressourcenbasierten Richtlinien
<a name="MFAProtectedAPI-resource-policies"></a>

In diesem Szenario sind Sie der Besitzer eines S3-Buckets, einer SQS-Warteschlange oder eines SNS-Themas. Sie möchten sicherstellen, dass jeder Benutzer, der auf AWS-Konto die Ressource zugreift, von einem AWS MFA-Gerät authentifiziert wird. 

Dieses Szenario zeigt eine Möglichkeit, den kontoübergreifenden MFA-Schutz herzustellen, ohne dass die Benutzer eine Rolle übernehmen müssen. In diesem Fall kann der Benutzer auf die Ressource zugreifen, wenn drei Bedingungen erfüllt sind: Der Benutzer muss sich mithilfe von MFA authentifizieren, muss in der Lage sein, temporäre Sicherheitsanmeldeinformationen über `GetSessionToken` abzurufen, und muss über ein Konto verfügen, das von der Ressourcenrichtlinie als vertrauenswürdig eingestuft wird. 

Angenommen, Sie befinden sich im Konto A und erstellen einen S3-Bucket. Sie möchten Benutzern, die sich in mehreren verschiedenen Ländern befinden, Zugriff auf diesen Bucket gewähren AWS-Konten, aber nur, wenn diese Benutzer mit MFA authentifiziert sind.

In diesem Szenario ist Anaya eine Administratorin im Konto A und Benutzer Nikhil ist ein IAM-Benutzer im Konto C.

1. Anaya erstellt im Konto A einen Bucket mit dem Namen `Account-A-bucket`.

1. Anaya fügt die Bucket-Richtlinie dem Bucket hinzu. Die Richtlinie gestattet jedem Benutzer in Konto A, Konto B und Konto C, die Amazon S3-Aktionen `PutObject` und `DeleteObject` im S3-Bucket auszuführen. Die Richtlinie enthält eine MFA-Bedingung. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Principal": {"AWS": [
         "ACCOUNT-A-ID",
         "ACCOUNT-B-ID",
         "ACCOUNT-C-ID"
       ]},
       "Action": [
         "s3:PutObject",
         "s3:DeleteObject"
       ],
       "Resource": ["arn:aws:s3:::ACCOUNT-A-BUCKET-NAME/*"],
       "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
     }]
   }
   ```

------
**Anmerkung**  
Amazon S3; bietet eine MFA Delete-Funktion (nur) für den *Stamm*-Kontozugriff. Sie können Amazon S3 MFA Delete aktivieren, wenn Sie den Versionierungsstatus des Buckets festlegen. Amazon S3 MFA Delete kann nicht auf einen IAM-Benutzer angewendet werden und wird unabhängig von MFA-geschützten API-Zugriffen verwaltet. Ein IAM-Benutzer mit Berechtigungen zum Löschen eines Buckets kann keinen Bucket löschen, für den Amazon S3 MFA Delete aktiviert ist. Weitere Informationen zu Amazon S3 MFA Delete finden Sie unter [MFA Delete](https://docs.aws.amazon.com/AmazonS3/latest/dev/MultiFactorAuthenticationDelete.html).

1. Im Konto C stellt ein Administrator sicher, dass für den Benutzer Nikhil ein AWS -MFA-Gerät konfiguriert ist und er die Geräte-ID kennt. Die Gerät-ID ist bei einem physischen MFA-Gerät die Seriennummer oder bei einem virtuellen MFA-Gerät der Geräte-ARN. 

1. Nikhil (oder eine von Nikhil ausgeführte Anwendung) ruft im Konto C `GetSessionToken` auf. Der Aufruf enthält die ID oder den ARN des MFA-Geräts und das aktuelle TOTP, das Nikhil von seinem Gerät erhält. 

1. Nikhil (oder eine von Nikhil verwendete Anwendung) benutzt die von `GetSessionToken` bereitgestellten Anmeldeinformationen, um die Amazon S3–`PutObject`Aktion zum Hochladen einer Datei nach `Account-A-bucket` aufzurufen. 

   Ein Beispiel für ein Programm, das `GetSessionToken` aufruft, finden Sie unter [Telefonieren GetSessionToken mit MFA-Authentifizierung](id_credentials_mfa_sample-code.md#MFAProtectedAPI-example-getsessiontoken) weiter unten in diesem Dokument.
**Anmerkung**  
Die von `AssumeRole` zurückgegebenen temporären Anmeldeinformationen funktionieren in diesem Fall nicht. Obwohl der Benutzer MFA-Informationen bereitstellen kann, um eine Rolle zu übernehmen, enthalten die von `AssumeRole` zurückgegebenen temporären Anmeldeinformationen nicht die MFA-Informationen. Diese Informationen sind zur Erfüllung der MFA-Bedingung in der Richtlinie erforderlich. 

# Beispielcode: Anfordern von Anmeldeinformationen mit Multi-Factor Authentication
<a name="id_credentials_mfa_sample-code"></a>

Die folgenden Beispiele veranschaulichen, wie die Operationen `GetSessionToken` und `AssumeRole` aufgerufen und MFA-Authentifizierungsparameter übergeben werden. Es werden keine Berechtigungen zum Aufrufen von `GetSessionToken` benötigt, Sie müssen jedoch über eine Richtlinie verfügen, die Ihnen gestattet, `AssumeRole` aufzurufen. Die zurückgegebenen Anmeldeinformationen werden dann verwendet, um alle S3-Buckets im Konto aufzulisten.

## Telefonieren GetSessionToken mit MFA-Authentifizierung
<a name="MFAProtectedAPI-example-getsessiontoken"></a>

Das folgende Beispiel zeigt, wie Sie `GetSessionToken` aufrufen und MFA-Authentifizierungsdaten übergeben. Die von der Operation `GetSessionToken` zurückgegebenen temporären Sicherheitsanmeldeinformationen werden dann verwendet, um alle S3-Buckets im Konto aufzulisten.

Die Richtlinie, die dem den Code ausführenden Benutzer (oder einer Gruppe, der er angehört) zugeordnet ist, stellt die Berechtigungen für die zurückgegeben temporären Anmeldeinformationen bereit. Für diesen Beispielcode muss die Richtlinie dem Benutzer die Erlaubnis erteilen, den Vorgang Amazon S3 `ListBuckets` anzufordern. 

Die folgenden Code-Beispiele zeigen, wie `GetSessionToken` verwendet wird.

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

**AWS CLI**  
**So erhalten Sie einen Satz kurzfristiger Anmeldeinformationen für eine IAM-Identität**  
Der folgende `get-session-token`-Befehl ruft einen Satz kurzfristiger Anmeldeinformationen für die IAM-Identität ab, die den Aufruf ausführt. Die resultierenden Anmeldeinformationen können für Anfragen verwendet werden, bei denen die Richtlinie eine Multi-Faktor-Authentifizierung (MFA) erfordert. Die Anmeldeinformationen verfallen 15 Minuten nach ihrer Generierung.  

```
aws sts get-session-token \
    --duration-seconds 900 \
    --serial-number "YourMFADeviceSerialNumber" \
    --token-code 123456
```
Ausgabe:  

```
{
    "Credentials": {
        "AccessKeyId": "ASIAIOSFODNN7EXAMPLE",
        "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
        "SessionToken": "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE",
        "Expiration": "2020-05-19T18:06:10+00:00"
    }
}
```
Weitere Informationen finden Sie unter [Anfordern von temporären Sicherheitsanmeldeinformationen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken) im *AWS -IAM-Benutzerhandbuch*.  
+  Einzelheiten zur API finden Sie [GetSessionToken](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/get-session-token.html)in der *AWS CLI Befehlsreferenz.* 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Gibt eine `Amazon.RuntimeAWSCredentials`-Instance mit temporären Anmeldeinformationen zurück, die für einen festgelegten Zeitraum gültig sind. Die Anmeldeinformationen, die zum Anfordern temporärer Anmeldeinformationen verwendet werden, werden aus den aktuellen Shell-Standardwerten abgeleitet. Um andere Anmeldeinformationen anzugeben, verwenden Sie die SecretKey Parameter - ProfileName oder - AccessKey /-.**  

```
Get-STSSessionToken
```
**Ausgabe:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**Beispiel 2: Gibt eine `Amazon.RuntimeAWSCredentials`-Instance mit temporären Anmeldeinformationen zurück, die eine Stunde lang gültig sind. Die zum Stellen der Anfrage verwendeten Anmeldeinformationen werden aus dem angegebenen Profil abgerufen.**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile
```
**Ausgabe:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**Beispiel 3: Gibt eine `Amazon.RuntimeAWSCredentials`-Instance mit temporären Anmeldeinformationen zurück, die eine Stunde lang gültig sind. Dabei wird die Identifikationsnummer des MFA-Geräts verwendet, das dem Konto zugeordnet ist, dessen Anmeldeinformationen im Profil „myprofilename“ angegeben sind, und der vom Gerät bereitgestellte Wert.**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile -SerialNumber YourMFADeviceSerialNumber -TokenCode 123456
```
**Ausgabe:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
+  Einzelheiten zur API finden Sie unter [GetSessionToken AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz (*V4). 

**Tools für V5 PowerShell **  
**Beispiel 1: Gibt eine `Amazon.RuntimeAWSCredentials`-Instance mit temporären Anmeldeinformationen zurück, die für einen festgelegten Zeitraum gültig sind. Die Anmeldeinformationen, die zum Anfordern temporärer Anmeldeinformationen verwendet werden, werden aus den aktuellen Shell-Standardwerten abgeleitet. Um andere Anmeldeinformationen anzugeben, verwenden Sie die Parameter - ProfileName oder - AccessKey /-SecretKey .**  

```
Get-STSSessionToken
```
**Ausgabe:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**Beispiel 2: Gibt eine `Amazon.RuntimeAWSCredentials`-Instance mit temporären Anmeldeinformationen zurück, die eine Stunde lang gültig sind. Die zum Stellen der Anfrage verwendeten Anmeldeinformationen werden aus dem angegebenen Profil abgerufen.**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile
```
**Ausgabe:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**Beispiel 3: Gibt eine `Amazon.RuntimeAWSCredentials`-Instance mit temporären Anmeldeinformationen zurück, die eine Stunde lang gültig sind. Dabei wird die Identifikationsnummer des MFA-Geräts verwendet, das dem Konto zugeordnet ist, dessen Anmeldeinformationen im Profil „myprofilename“ angegeben sind, und der vom Gerät bereitgestellte Wert.**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile -SerialNumber YourMFADeviceSerialNumber -TokenCode 123456
```
**Ausgabe:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
+  Einzelheiten zur API finden Sie unter [GetSessionToken AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz (*V5). 

------
#### [ Python ]

**SDK für Python (Boto3)**  
 Es gibt noch mehr dazu. GitHub Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/sts#code-examples) einrichten und ausführen. 
Rufen Sie ein Sitzungs-Token ab, indem Sie ein MFA-Token übergeben, und verwenden Sie es, um Amazon-S3-Buckets für das Konto aufzulisten.  

```
def list_buckets_with_session_token_with_mfa(mfa_serial_number, mfa_totp, sts_client):
    """
    Gets a session token with MFA credentials and uses the temporary session
    credentials to list Amazon S3 buckets.

    Requires an MFA device serial number and token.

    :param mfa_serial_number: The serial number of the MFA device. For a virtual MFA
                              device, this is an Amazon Resource Name (ARN).
    :param mfa_totp: A time-based, one-time password issued by the MFA device.
    :param sts_client: A Boto3 STS instance that has permission to assume the role.
    """
    if mfa_serial_number is not None:
        response = sts_client.get_session_token(
            SerialNumber=mfa_serial_number, TokenCode=mfa_totp
        )
    else:
        response = sts_client.get_session_token()
    temp_credentials = response["Credentials"]

    s3_resource = boto3.resource(
        "s3",
        aws_access_key_id=temp_credentials["AccessKeyId"],
        aws_secret_access_key=temp_credentials["SecretAccessKey"],
        aws_session_token=temp_credentials["SessionToken"],
    )

    print(f"Buckets for the account:")
    for bucket in s3_resource.buckets.all():
        print(bucket.name)
```
+  Einzelheiten zur API finden Sie [GetSessionToken](https://docs.aws.amazon.com/goto/boto3/sts-2011-06-15/GetSessionToken)in *AWS SDK for Python (Boto3) API* Reference. 

------

## Telefonieren AssumeRole mit MFA-Authentifizierung
<a name="MFAProtectedAPI-example-assumerole"></a>

Die folgenden Beispiele zeigen, wie Sie `AssumeRole` aufrufen und MFA-Authentifizierungsdaten übergeben. Die von `AssumeRole` zurückgegebenen temporären Sicherheitsanmeldeinformationen werden dann verwendet, um alle Amazon S3-Buckets im Konto aufzulisten.

Weitere Informationen zu diesem Szenario finden Sie unter [Szenario: MFA-Schutz für kontoübergreifende Delegierung](id_credentials_mfa_configure-api-require.md#MFAProtectedAPI-cross-account-delegation). 

Die folgenden Code-Beispiele zeigen, wie `AssumeRole` verwendet wird.

------
#### [ .NET ]

**SDK für .NET**  
 Es gibt noch mehr dazu. GitHub Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3/STS#code-examples) einrichten und ausführen. 

```
using System;
using System.Threading.Tasks;
using Amazon;
using Amazon.SecurityToken;
using Amazon.SecurityToken.Model;

namespace AssumeRoleExample
{
    class AssumeRole
    {
        /// <summary>
        /// This example shows how to use the AWS Security Token
        /// Service (AWS STS) to assume an IAM role.
        ///
        /// NOTE: It is important that the role that will be assumed has a
        /// trust relationship with the account that will assume the role.
        ///
        /// Before you run the example, you need to create the role you want to
        /// assume and have it trust the IAM account that will assume that role.
        ///
        /// See https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html
        /// for help in working with roles.
        /// </summary>

        // A region property may be used if the profile or credentials loaded do not specify a region,
        // or to use a specific region.
        private static readonly RegionEndpoint REGION = RegionEndpoint.USWest2;

        static async Task Main()
        {
            // Create the SecurityToken client and then display the identity of the
            // default user.
            var roleArnToAssume = "arn:aws:iam::123456789012:role/testAssumeRole";

            var client = new Amazon.SecurityToken.AmazonSecurityTokenServiceClient(REGION);

            // Get and display the information about the identity of the default user.
            var callerIdRequest = new GetCallerIdentityRequest();
            var caller = await client.GetCallerIdentityAsync(callerIdRequest);
            Console.WriteLine($"Original Caller: {caller.Arn}");

            // Create the request to use with the AssumeRoleAsync call.
            var assumeRoleReq = new AssumeRoleRequest()
            {
                DurationSeconds = 1600,
                RoleSessionName = "Session1",
                RoleArn = roleArnToAssume
            };

            var assumeRoleRes = await client.AssumeRoleAsync(assumeRoleReq);

            // Now create a new client based on the credentials of the caller assuming the role.
            var client2 = new AmazonSecurityTokenServiceClient(credentials: assumeRoleRes.Credentials, REGION);

            // Get and display information about the caller that has assumed the defined role.
            var caller2 = await client2.GetCallerIdentityAsync(callerIdRequest);
            Console.WriteLine($"AssumedRole Caller: {caller2.Arn}");
        }
    }
}
```
+  Einzelheiten zur API finden Sie [AssumeRole](https://docs.aws.amazon.com/goto/DotNetSDKV3/sts-2011-06-15/AssumeRole)in der *AWS SDK für .NET API-Referenz*. 

------
#### [ Bash ]

**AWS CLI mit Bash-Skript**  
 Es gibt noch mehr dazu. GitHub Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/aws-cli/bash-linux/iam#code-examples) einrichten und ausführen. 

```
###############################################################################
# function iecho
#
# This function enables the script to display the specified text only if
# the global variable $VERBOSE is set to true.
###############################################################################
function iecho() {
  if [[ $VERBOSE == true ]]; then
    echo "$@"
  fi
}

###############################################################################
# function errecho
#
# This function outputs everything sent to it to STDERR (standard error output).
###############################################################################
function errecho() {
  printf "%s\n" "$*" 1>&2
}

###############################################################################
# function sts_assume_role
#
# This function assumes a role in the AWS account and returns the temporary
#  credentials.
#
# Parameters:
#       -n role_session_name -- The name of the session.
#       -r role_arn -- The ARN of the role to assume.
#
# Returns:
#       [access_key_id, secret_access_key, session_token]
#     And:
#       0 - If successful.
#       1 - If an error occurred.
###############################################################################
function sts_assume_role() {
  local role_session_name role_arn response
  local option OPTARG # Required to use getopts command in a function.

  # bashsupport disable=BP5008
  function usage() {
    echo "function sts_assume_role"
    echo "Assumes a role in the AWS account and returns the temporary credentials:"
    echo "  -n role_session_name -- The name of the session."
    echo "  -r role_arn -- The ARN of the role to assume."
    echo ""
  }

  while getopts n:r:h option; do
    case "${option}" in
      n) role_session_name=${OPTARG} ;;
      r) role_arn=${OPTARG} ;;
      h)
        usage
        return 0
        ;;
      \?)
        echo "Invalid parameter"
        usage
        return 1
        ;;
    esac
  done

  response=$(aws sts assume-role \
    --role-session-name "$role_session_name" \
    --role-arn "$role_arn" \
    --output text \
    --query "Credentials.[AccessKeyId, SecretAccessKey, SessionToken]")

  local error_code=${?}

  if [[ $error_code -ne 0 ]]; then
    aws_cli_error_log $error_code
    errecho "ERROR: AWS reports create-role operation failed.\n$response"
    return 1
  fi

  echo "$response"

  return 0
}
```
+  Einzelheiten zur API finden Sie [AssumeRole](https://docs.aws.amazon.com/goto/aws-cli/sts-2011-06-15/AssumeRole)in der *AWS CLI Befehlsreferenz*. 

------
#### [ C\$1\$1 ]

**SDK für C\$1\$1**  
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/sts#code-examples) einrichten und ausführen. 

```
bool AwsDoc::STS::assumeRole(const Aws::String &roleArn,
                             const Aws::String &roleSessionName,
                             const Aws::String &externalId,
                             Aws::Auth::AWSCredentials &credentials,
                             const Aws::Client::ClientConfiguration &clientConfig) {
    Aws::STS::STSClient sts(clientConfig);
    Aws::STS::Model::AssumeRoleRequest sts_req;

    sts_req.SetRoleArn(roleArn);
    sts_req.SetRoleSessionName(roleSessionName);
    sts_req.SetExternalId(externalId);

    const Aws::STS::Model::AssumeRoleOutcome outcome = sts.AssumeRole(sts_req);

    if (!outcome.IsSuccess()) {
        std::cerr << "Error assuming IAM role. " <<
                  outcome.GetError().GetMessage() << std::endl;
    }
    else {
        std::cout << "Credentials successfully retrieved." << std::endl;
        const Aws::STS::Model::AssumeRoleResult result = outcome.GetResult();
        const Aws::STS::Model::Credentials &temp_credentials = result.GetCredentials();

        // Store temporary credentials in return argument.
        // Note: The credentials object returned by assumeRole differs
        // from the AWSCredentials object used in most situations.
        credentials.SetAWSAccessKeyId(temp_credentials.GetAccessKeyId());
        credentials.SetAWSSecretKey(temp_credentials.GetSecretAccessKey());
        credentials.SetSessionToken(temp_credentials.GetSessionToken());
    }

    return outcome.IsSuccess();
}
```
+  Einzelheiten zur API finden Sie [AssumeRole](https://docs.aws.amazon.com/goto/SdkForCpp/sts-2011-06-15/AssumeRole)in der *AWS SDK für C\$1\$1 API-Referenz*. 

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

**AWS CLI**  
**So übernehmen Sie eine Rolle**  
Der folgende `assume-role`-Befehl ruft eine Reihe von kurzfristigen Anmeldeinformationen für die IAM-Rolle `s3-access-example` ab.  

```
aws sts assume-role \
    --role-arn arn:aws:iam::123456789012:role/xaccounts3access \
    --role-session-name s3-access-example
```
Ausgabe:  

```
{
    "AssumedRoleUser": {
        "AssumedRoleId": "AROA3XFRBF535PLBIFPI4:s3-access-example",
        "Arn": "arn:aws:sts::123456789012:assumed-role/xaccounts3access/s3-access-example"
    },
    "Credentials": {
        "SecretAccessKey": "9drTJvcXLB89EXAMPLELB8923FB892xMFI",
        "SessionToken": "AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=",
        "Expiration": "2016-03-15T00:05:07Z",
        "AccessKeyId": "ASIAJEXAMPLEXEG2JICEA"
    }
}
```
Die Ausgabe des Befehls enthält einen Zugriffsschlüssel, einen geheimen Schlüssel und ein Sitzungs-Token, die Sie zur Authentifizierung bei AWS verwenden können.  
Für die AWS CLI können Sie ein benanntes Profil einrichten, das einer Rolle zugeordnet ist. Wenn Sie das Profil verwenden, ruft die AWS CLI assume-role auf und verwaltet die Anmeldeinformationen für Sie. Weitere Informationen finden Sie unter [Verwenden einer IAM-Rolle in der AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html) im *AWS CLI-Benutzerhandbuch*.  
+  Einzelheiten zur API finden Sie unter [AssumeRole AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/assume-role.html)*Befehlsreferenz.* 

------
#### [ Java ]

**SDK für Java 2.x**  
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/sts#code-examples) einrichten und ausführen. 

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sts.StsClient;
import software.amazon.awssdk.services.sts.model.AssumeRoleRequest;
import software.amazon.awssdk.services.sts.model.StsException;
import software.amazon.awssdk.services.sts.model.AssumeRoleResponse;
import software.amazon.awssdk.services.sts.model.Credentials;
import java.time.Instant;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.util.Locale;

/**
 * To make this code example work, create a Role that you want to assume.
 * Then define a Trust Relationship in the AWS Console. You can use this as an
 * example:
 *
 * {
 * "Version":"2012-10-17",		 	 	 
 * "Statement": [
 * {
 * "Effect": "Allow",
 * "Principal": {
 * "AWS": "<Specify the ARN of your IAM user you are using in this code example>"
 * },
 * "Action": "sts:AssumeRole"
 * }
 * ]
 * }
 *
 * For more information, see "Editing the Trust Relationship for an Existing
 * Role" in the AWS Directory Service guide.
 *
 * Also, set up your development environment, including your credentials.
 *
 * For information, see this documentation topic:
 *
 * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
 */
public class AssumeRole {
    public static void main(String[] args) {
        final String usage = """

                Usage:
                    <roleArn> <roleSessionName>\s

                Where:
                    roleArn - The Amazon Resource Name (ARN) of the role to assume (for example, arn:aws:iam::000008047983:role/s3role).\s
                    roleSessionName - An identifier for the assumed role session (for example, mysession).\s
                """;

        if (args.length != 2) {
            System.out.println(usage);
            System.exit(1);
        }

        String roleArn = args[0];
        String roleSessionName = args[1];
        Region region = Region.US_EAST_1;
        StsClient stsClient = StsClient.builder()
                .region(region)
                .build();

        assumeGivenRole(stsClient, roleArn, roleSessionName);
        stsClient.close();
    }

    public static void assumeGivenRole(StsClient stsClient, String roleArn, String roleSessionName) {
        try {
            AssumeRoleRequest roleRequest = AssumeRoleRequest.builder()
                    .roleArn(roleArn)
                    .roleSessionName(roleSessionName)
                    .build();

            AssumeRoleResponse roleResponse = stsClient.assumeRole(roleRequest);
            Credentials myCreds = roleResponse.credentials();

            // Display the time when the temp creds expire.
            Instant exTime = myCreds.expiration();
            String tokenInfo = myCreds.sessionToken();

            // Convert the Instant to readable date.
            DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT)
                    .withLocale(Locale.US)
                    .withZone(ZoneId.systemDefault());

            formatter.format(exTime);
            System.out.println("The token " + tokenInfo + "  expires on " + exTime);

        } catch (StsException e) {
            System.err.println(e.getMessage());
            System.exit(1);
        }
    }
}
```
+  Einzelheiten zur API finden Sie [AssumeRole](https://docs.aws.amazon.com/goto/SdkForJavaV2/sts-2011-06-15/AssumeRole)in der *AWS SDK for Java 2.x API-Referenz*. 

------
#### [ JavaScript ]

**SDK für JavaScript (v3)**  
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/sts#code-examples) einrichten und ausführen. 
Erstellen Sie den Client.  

```
import { STSClient } from "@aws-sdk/client-sts";
// Set the AWS Region.
const REGION = "us-east-1";
// Create an AWS STS service client object.
export const client = new STSClient({ region: REGION });
```
Übernehmen Sie die IAM-Rolle.  

```
import { AssumeRoleCommand } from "@aws-sdk/client-sts";

import { client } from "../libs/client.js";

export const main = async () => {
  try {
    // Returns a set of temporary security credentials that you can use to
    // access Amazon Web Services resources that you might not normally
    // have access to.
    const command = new AssumeRoleCommand({
      // The Amazon Resource Name (ARN) of the role to assume.
      RoleArn: "ROLE_ARN",
      // An identifier for the assumed role session.
      RoleSessionName: "session1",
      // The duration, in seconds, of the role session. The value specified
      // can range from 900 seconds (15 minutes) up to the maximum session
      // duration set for the role.
      DurationSeconds: 900,
    });
    const response = await client.send(command);
    console.log(response);
  } catch (err) {
    console.error(err);
  }
};
```
+  Einzelheiten zur API finden Sie [AssumeRole](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/sts/command/AssumeRoleCommand)in der *AWS SDK für JavaScript API-Referenz*. 

**SDK für JavaScript (v2)**  
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascript/example_code/sts#code-examples) einrichten und ausführen. 

```
// Load the AWS SDK for Node.js
const AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

var roleToAssume = {
  RoleArn: "arn:aws:iam::123456789012:role/RoleName",
  RoleSessionName: "session1",
  DurationSeconds: 900,
};
var roleCreds;

// Create the STS service object
var sts = new AWS.STS({ apiVersion: "2011-06-15" });

//Assume Role
sts.assumeRole(roleToAssume, function (err, data) {
  if (err) console.log(err, err.stack);
  else {
    roleCreds = {
      accessKeyId: data.Credentials.AccessKeyId,
      secretAccessKey: data.Credentials.SecretAccessKey,
      sessionToken: data.Credentials.SessionToken,
    };
    stsGetCallerIdentity(roleCreds);
  }
});

//Get Arn of current identity
function stsGetCallerIdentity(creds) {
  var stsParams = { credentials: creds };
  // Create STS service object
  var sts = new AWS.STS(stsParams);

  sts.getCallerIdentity({}, function (err, data) {
    if (err) {
      console.log(err, err.stack);
    } else {
      console.log(data.Arn);
    }
  });
}
```
+  Einzelheiten zur API finden Sie [AssumeRole](https://docs.aws.amazon.com/goto/AWSJavaScriptSDK/sts-2011-06-15/AssumeRole)in der *AWS SDK für JavaScript API-Referenz*. 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Gibt einen Satz temporärer Anmeldeinformationen (Zugriffsschlüssel, geheimer Schlüssel und Sitzungstoken) zurück, die eine Stunde lang für den Zugriff auf AWS Ressourcen verwendet werden können, auf die der anfragende Benutzer normalerweise keinen Zugriff hat. Die zurückgegebenen Anmeldeinformationen verfügen über die Berechtigungen, die von der Zugriffsrichtlinie der übernommenen Rolle und der bereitgestellten Richtlinie zugelassen sind (Sie können die bereitgestellte Richtlinie nicht verwenden, um Berechtigungen zu gewähren, die über die in der Zugriffsrichtlinie der übernommenen Rolle definierten Berechtigungen hinausgehen).**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -Policy "...JSON policy..." -DurationInSeconds 3600
```
**Beispiel 2: Gibt einen Satz temporärer Anmeldeinformationen zurück, die eine Stunde gültig sind und über dieselben Berechtigungen verfügen, die in der Zugriffsrichtlinie der übernommenen Rolle definiert sind.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600
```
**Beispiel 3: Gibt einen Satz temporärer Anmeldeinformationen zurück, die die Seriennummer und das generierte Token von einem MFA bereitstellen, das den Anmeldeinformationen des Benutzers zugeordnet ist, die zur Ausführung des Cmdlet verwendet werden.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -SerialNumber "GAHT12345678" -TokenCode "123456"
```
**Beispiel 4: Gibt einen Satz temporärer Anmeldeinformationen zurück, die eine in einem Kundenkonto definierte Rolle übernommen haben. Für jede Rolle, die der Drittanbieter übernehmen kann, muss das Kundenkonto eine Rolle mithilfe einer Kennung erstellen, die bei jeder Übernahme der Rolle im ExternalId Parameter - übergeben werden muss.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -ExternalId "ABC123"
```
+  Einzelheiten zur API finden Sie unter [AssumeRole AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz (V4).* 

**Tools für V5 PowerShell **  
**Beispiel 1: Gibt einen Satz temporärer Anmeldeinformationen (Zugriffsschlüssel, geheimer Schlüssel und Sitzungstoken) zurück, die eine Stunde lang für den Zugriff auf AWS Ressourcen verwendet werden können, auf die der anfragende Benutzer normalerweise keinen Zugriff hat. Die zurückgegebenen Anmeldeinformationen verfügen über die Berechtigungen, die von der Zugriffsrichtlinie der übernommenen Rolle und der bereitgestellten Richtlinie zugelassen sind (Sie können die bereitgestellte Richtlinie nicht verwenden, um Berechtigungen zu gewähren, die über die in der Zugriffsrichtlinie der übernommenen Rolle definierten Berechtigungen hinausgehen).**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -Policy "...JSON policy..." -DurationInSeconds 3600
```
**Beispiel 2: Gibt einen Satz temporärer Anmeldeinformationen zurück, die eine Stunde gültig sind und über dieselben Berechtigungen verfügen, die in der Zugriffsrichtlinie der übernommenen Rolle definiert sind.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600
```
**Beispiel 3: Gibt einen Satz temporärer Anmeldeinformationen zurück, die die Seriennummer und das generierte Token von einem MFA bereitstellen, das den Anmeldeinformationen des Benutzers zugeordnet ist, die zur Ausführung des Cmdlet verwendet werden.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -SerialNumber "GAHT12345678" -TokenCode "123456"
```
**Beispiel 4: Gibt einen Satz temporärer Anmeldeinformationen zurück, die eine in einem Kundenkonto definierte Rolle übernommen haben. Für jede Rolle, die der Drittanbieter übernehmen kann, muss das Kundenkonto eine Rolle mithilfe einer Kennung erstellen, die bei jeder Übernahme der Rolle im ExternalId Parameter - übergeben werden muss.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -ExternalId "ABC123"
```
+  Einzelheiten zur API finden Sie unter [AssumeRole AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz (V5*). 

------
#### [ Python ]

**SDK für Python (Boto3)**  
 Es gibt noch mehr dazu. GitHub Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/sts#code-examples) einrichten und ausführen. 
Übernehmen Sie eine IAM-Rolle, die ein MFA-Token erfordert, und verwenden Sie temporäre Anmeldeinformationen, um Amazon-S3-Buckets für das Konto aufzulisten.  

```
def list_buckets_from_assumed_role_with_mfa(
    assume_role_arn, session_name, mfa_serial_number, mfa_totp, sts_client
):
    """
    Assumes a role from another account and uses the temporary credentials from
    that role to list the Amazon S3 buckets that are owned by the other account.
    Requires an MFA device serial number and token.

    The assumed role must grant permission to list the buckets in the other account.

    :param assume_role_arn: The Amazon Resource Name (ARN) of the role that
                            grants access to list the other account's buckets.
    :param session_name: The name of the STS session.
    :param mfa_serial_number: The serial number of the MFA device. For a virtual MFA
                              device, this is an ARN.
    :param mfa_totp: A time-based, one-time password issued by the MFA device.
    :param sts_client: A Boto3 STS instance that has permission to assume the role.
    """
    response = sts_client.assume_role(
        RoleArn=assume_role_arn,
        RoleSessionName=session_name,
        SerialNumber=mfa_serial_number,
        TokenCode=mfa_totp,
    )
    temp_credentials = response["Credentials"]
    print(f"Assumed role {assume_role_arn} and got temporary credentials.")

    s3_resource = boto3.resource(
        "s3",
        aws_access_key_id=temp_credentials["AccessKeyId"],
        aws_secret_access_key=temp_credentials["SecretAccessKey"],
        aws_session_token=temp_credentials["SessionToken"],
    )

    print(f"Listing buckets for the assumed role's account:")
    for bucket in s3_resource.buckets.all():
        print(bucket.name)
```
+  Einzelheiten zur API finden Sie [AssumeRole](https://docs.aws.amazon.com/goto/boto3/sts-2011-06-15/AssumeRole)in *AWS SDK for Python (Boto3) API* Reference. 

------
#### [ Ruby ]

**SDK für Ruby**  
 Es gibt noch mehr dazu. GitHub Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby/example_code/iam#code-examples) einrichten und ausführen. 

```
  # Creates an AWS Security Token Service (AWS STS) client with specified credentials.
  # This is separated into a factory function so that it can be mocked for unit testing.
  #
  # @param key_id [String] The ID of the access key used by the STS client.
  # @param key_secret [String] The secret part of the access key used by the STS client.
  def create_sts_client(key_id, key_secret)
    Aws::STS::Client.new(access_key_id: key_id, secret_access_key: key_secret)
  end

  # Gets temporary credentials that can be used to assume a role.
  #
  # @param role_arn [String] The ARN of the role that is assumed when these credentials
  #                          are used.
  # @param sts_client [AWS::STS::Client] An AWS STS client.
  # @return [Aws::AssumeRoleCredentials] The credentials that can be used to assume the role.
  def assume_role(role_arn, sts_client)
    credentials = Aws::AssumeRoleCredentials.new(
      client: sts_client,
      role_arn: role_arn,
      role_session_name: 'create-use-assume-role-scenario'
    )
    @logger.info("Assumed role '#{role_arn}', got temporary credentials.")
    credentials
  end
```
+  Einzelheiten zur API finden Sie [AssumeRole](https://docs.aws.amazon.com/goto/SdkForRubyV3/sts-2011-06-15/AssumeRole)in der *AWS SDK für Ruby API-Referenz*. 

------
#### [ Rust ]

**SDK für Rust**  
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/sts/#code-examples) einrichten und ausführen. 

```
async fn assume_role(config: &SdkConfig, role_name: String, session_name: Option<String>) {
    let provider = aws_config::sts::AssumeRoleProvider::builder(role_name)
        .session_name(session_name.unwrap_or("rust_sdk_example_session".into()))
        .configure(config)
        .build()
        .await;

    let local_config = aws_config::from_env()
        .credentials_provider(provider)
        .load()
        .await;
    let client = Client::new(&local_config);
    let req = client.get_caller_identity();
    let resp = req.send().await;
    match resp {
        Ok(e) => {
            println!("UserID :               {}", e.user_id().unwrap_or_default());
            println!("Account:               {}", e.account().unwrap_or_default());
            println!("Arn    :               {}", e.arn().unwrap_or_default());
        }
        Err(e) => println!("{:?}", e),
    }
}
```
+  Einzelheiten zur API finden Sie [AssumeRole](https://docs.rs/aws-sdk-sts/latest/aws_sdk_sts/client/struct.Client.html#method.assume_role)in der *API-Referenz zum AWS SDK für Rust*. 

------
#### [ Swift ]

**SDK für Swift**  
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift/example_code/iam#code-examples) einrichten und ausführen. 

```
import AWSSTS

    public func assumeRole(role: IAMClientTypes.Role, sessionName: String)
        async throws -> STSClientTypes.Credentials
    {
        let input = AssumeRoleInput(
            roleArn: role.arn,
            roleSessionName: sessionName
        )
        do {
            let output = try await stsClient.assumeRole(input: input)

            guard let credentials = output.credentials else {
                throw ServiceHandlerError.authError
            }

            return credentials
        } catch {
            print("Error assuming role: ", dump(error))
            throw error
        }
    }
```
+  Einzelheiten zur API finden Sie [AssumeRole](https://sdk.amazonaws.com/swift/api/awssts/latest/documentation/awssts/stsclient/assumerole(input:))in der *API-Referenz zum AWS SDK für Swift*. 

------

# Servicespezifische Anmeldeinformationen für IAM-Benutzer
<a name="id_credentials_service-specific-creds"></a>

Dienstspezifische Anmeldeinformationen sind spezielle Authentifizierungsmechanismen, die für bestimmte AWS Dienste entwickelt wurden. Diese Anmeldeinformationen bieten im Vergleich zu AWS Standardanmeldedaten eine vereinfachte Authentifizierung und sind auf die Authentifizierungsanforderungen einzelner AWS Dienste zugeschnitten. Im Gegensatz zu Zugriffsschlüsseln, die für mehrere AWS Dienste verwendet werden können, sind dienstspezifische Anmeldeinformationen nur für den Dienst konzipiert, für den sie erstellt wurden. Dieser gezielte Ansatz erhöht die Sicherheit, indem der Umfang der Anmeldeinformationen begrenzt wird.

Servicespezifische Anmeldeinformationen bestehen in der Regel aus einem Benutzernamen-Passwort-Paar oder speziellen API-Schlüsseln, die gemäß den Anforderungen des jeweiligen Services formatiert sind. Wenn Sie servicespezifische Anmeldeinformationen erstellen, sind diese standardmäßig aktiv und sofort einsatzbereit. Sie können maximal zwei Sätze servicespezifischer Anmeldeinformationen für jeden unterstützten Service pro IAM-Benutzer festlegen. Dieses Limit ermöglicht es Ihnen, einen aktiven Satz beizubehalten und bei Bedarf zu einem neuen Satz zu wechseln. AWS unterstützt derzeit dienstspezifische Anmeldeinformationen für die folgenden Dienste:

## Wann sollten dienstspezifische Anmeldeinformationen verwendet werden
<a name="id_credentials_service-specific-creds-usecase"></a>

Dienstspezifische Anmeldeinformationen dienen der Kompatibilität mit Bibliotheken, SDKs Tools oder Anwendungen von Drittanbietern, die nicht nativ mit AWS Anmeldeinformationen,, AWS SDKs oder kompatibel sind. AWS APIs Zu diesen Anwendungsfällen gehört die Migration zu AWS Diensten von einer selbst gehosteten Infrastruktur oder von Diensten, die von anderen Anbietern gehostet werden.

Wenn Sie ganz von vorne beginnen und wo immer möglich, empfehlen wir, AWS temporäre Anmeldeinformationen zu verwenden, z. B. solche, die von einer IAM-Rolle bereitgestellt werden, um sich mit einem AWS SDK oder einer Bibliothek, die temporäre Anmeldeinformationen unterstützt, bei einem AWS Dienst zu authentifizieren. AWS 

## Rotieren servicespezifischer Anmeldeinformationen
<a name="id_credentials_service-specific-creds-rotation"></a>

Aus Sicherheitsgründen sollten Sie servicespezifische Anmeldeinformationen regelmäßig rotieren. So rotieren Sie Anmeldeinformationen, ohne Ihre Anwendungen zu unterbrechen:

1. Erstellen Sie einen zweiten Satz servicespezifischer Anmeldeinformationen für denselben Service und IAM-Benutzer.

1. Aktualisieren Sie alle Anwendungen, sodass sie die neuen Anmeldeinformationen verwenden, und überprüfen Sie deren korrekte Funktion.

1. Ändern Sie den Status der ursprünglichen Anmeldeinformationen auf „Inaktiv“.

1. Überprüfen Sie, ob alle Anwendungen weiterhin ordnungsgemäß funktionieren.

1. Löschen Sie die inaktiven servicespezifischen Anmeldeinformationen, sobald Sie sicher sind, dass sie nicht mehr benötigt werden.

## Überwachung servicespezifischer Anmeldeinformationen
<a name="id_credentials_service-specific-creds-monitoring"></a>

Sie können AWS CloudTrail damit die Verwendung von dienstspezifischen Anmeldeinformationen in Ihrem Konto überwachen. AWS Um CloudTrail Ereignisse im Zusammenhang mit der Verwendung dienstspezifischer Anmeldeinformationen einzusehen, überprüfen Sie die CloudTrail Protokolle auf Ereignisse des Dienstes, für den die Anmeldeinformationen verwendet werden. Weitere Informationen finden Sie unter [Protokollierung von IAM- und AWS STS API-Aufrufen mit AWS CloudTrail](cloudtrail-integration.md).

Um zusätzliche Sicherheit zu gewährleisten, sollten Sie CloudWatch Alarme einrichten, die Sie über bestimmte Muster bei der Verwendung von Anmeldeinformationen informieren, die auf unbefugten Zugriff oder andere Sicherheitsbedenken hinweisen könnten. Weitere Informationen finden Sie unter [Überwachen von CloudTrail Protokolldateien mit Amazon CloudWatch Logs](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/monitor-cloudtrail-log-files-with-cloudwatch-logs.html) im *AWS CloudTrail Benutzerhandbuch*.

Die folgenden Themen enthalten Informationen zu servicespezifischen Anmeldeinformationen.

**Topics**
+ [

## Wann sollten dienstspezifische Anmeldeinformationen verwendet werden
](#id_credentials_service-specific-creds-usecase)
+ [

## Rotieren servicespezifischer Anmeldeinformationen
](#id_credentials_service-specific-creds-rotation)
+ [

## Überwachung servicespezifischer Anmeldeinformationen
](#id_credentials_service-specific-creds-monitoring)
+ [

# API-Schlüssel für Amazon Bedrock und Amazon Logs CloudWatch
](id_credentials_bedrock_cloudwatchlogs.md)
+ [

# IAM mit Amazon Keyspaces (für Apache Cassandra) verwenden
](id_credentials_keyspaces.md)

# API-Schlüssel für Amazon Bedrock und Amazon Logs CloudWatch
<a name="id_credentials_bedrock_cloudwatchlogs"></a>

**Anmerkung**  
Die API-Schlüssel von Amazon CloudWatch Logs sind derzeit als Vorschauversion verfügbar und werden in den kommenden Wochen allgemein verfügbar sein. Die API-Schlüssel von Amazon CloudWatch Logs ähneln stark den langfristigen API-Schlüsseln von Amazon Bedrock, die auf dieser Seite beschrieben werden. Weitere Informationen zu langfristigen API-Schlüsseln von Amazon CloudWatch Logs finden Sie unter [Senden von Protokollen an Amazon CloudWatch Logs mithilfe des HLC-Endpunkts](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_HLC_Endpoint.html).

Amazon Bedrock ist ein vollständig verwalteter Service, der Grundlagenmodelle führender KI-Unternehmen und von Amazon bietet. Sie können über die AWS-Managementkonsole und programmgesteuert mithilfe der oder API auf Amazon Bedrock zugreifen. AWS CLI AWS Bei programmgesteuerten Anfragen an Amazon Bedrock können Sie sich entweder mit [temporären Sicherheitsanmeldeinformationen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) oder API-Schlüsseln von Amazon Bedrock authentifizieren. Amazon Bedrock unterstützt zwei Arten von API-Schlüsseln:
+ **Kurzfristige API-Schlüssel** — Ein kurzfristiger API-Schlüssel ist eine vorsignierte URL, die Signature Version 4 verwendet AWS . Kurzfristige API-Schlüssel haben dieselben Berechtigungen und dieselbe Gültigkeitsdauer wie die Anmeldeinformationen der Identität, die den API-Schlüssel generiert, und sind bis zu 12 Stunden oder bis zum Ende Ihrer Konsolensitzung gültig, je nachdem, welcher Zeitraum kürzer ist. Sie können die Amazon-Bedrock-Konsole, das Python-Paket `aws-bedrock-token-generator` und Pakete für andere Programmiersprachen verwenden, um kurzfristige API-Schlüssel zu generieren. Weitere Informationen finden Sie im *Amazon-Bedrock-Benutzerhandbuch* unter [Generate Amazon Bedrock API keys for easy access to the Amazon Bedrock API](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html).
+ **Langfristige API-Schlüssel** – Langfristige API-Schlüssel sind einem IAM-Benutzer zugeordnet und werden mithilfe von IAM-[servicespezifischen Anmeldeinformationen](id_credentials_service-specific-creds.md) generiert. Diese Anmeldeinformationen sind ausschließlich für die Verwendung mit Amazon Bedrock vorgesehen und erhöhen die Sicherheit durch die Einschränkung des Umfangs der Anmeldeinformationen. Sie können eine Ablaufzeit für den langfristigen API-Schlüssel festlegen. Sie können die IAM- oder Amazon Bedrock-Konsole, die AWS CLI oder die AWS API verwenden, um langfristige API-Schlüssel zu generieren.

Ein IAM-Benutzer kann über bis zu zwei langfristige API-Schlüssel für Amazon Bedrock verfügen, was Ihnen die Implementierung sicherer Schlüsselrotationsverfahren erleichtert. 

Wenn Sie einen langfristigen API-Schlüssel generieren, [AmazonBedrockLimitedAccess](https://docs.aws.amazon.com/bedrock/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonBedrockLimitedAccess)wird die AWS verwaltete Richtlinie automatisch an den IAM-Benutzer angehängt. Diese Richtlinie gewährt Zugriff auf die wichtigsten API-Operationen von Amazon Bedrock. Wenn Sie zusätzlichen Zugriff auf Amazon Bedrock benötigen, können Sie die Berechtigungen für den IAM-Benutzer anpassen. Weitere Informationen zum Ändern von Berechtigungen finden Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](access_policies_manage-attach-detach.md). Weitere Informationen zur Verwendung eines Amazon-Bedrock-Schlüssels finden Sie im *Amazon-Bedrock-Benutzerhandbuch* unter [Verwenden eines API-Schlüssels von Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys-use.html).

**Anmerkung**  
Langfristige API-Schlüssel bergen ein höheres Sicherheitsrisiko als kurzfristige API-Schlüssel. Wir empfehlen, nach Möglichkeit kurzfristige API-Schlüssel oder temporäre Sicherheitsanmeldeinformationen zu verwenden. Wenn Sie langfristige API-Schlüssel verwenden, empfehlen wir die regelmäßige Schlüsselrotation.

## Voraussetzungen
<a name="id_credentials_bedrock_prerequisites"></a>

Bevor Sie einen langfristigen API-Schlüssel für Amazon Bedrock über die IAM-Konsole generieren können, müssen folgende Voraussetzungen erfüllt sein:
+ Ein IAM-Benutzer, der dem langfristigen API-Schlüssel zugeordnet werden soll. Weitere Anweisungen zum Erstellen eines IAM-Benutzers finden Sie unter [Erstellen Sie einen IAM-Benutzer in Ihrem AWS-Konto](id_users_create.md).
+ Stellen Sie sicher, dass Sie über die folgenden IAM-Richtlinienberechtigungen verfügen, um servicespezifische Anmeldeinformationen für einen IAM-Benutzer zu verwalten. Die Beispielrichtlinie gewährt die Berechtigung zum Erstellen, Auflisten, Aktualisieren, Löschen und Zurücksetzen servicespezifischer Anmeldeinformationen. Ersetzen Sie den Wert „`username`“ im Element „Ressource“ durch den Namen des IAM-Benutzers, für den Sie API-Schlüssel für Amazon Bedrock generieren werden:

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "ManageBedrockServiceSpecificCredentials",
              "Effect": "Allow",
              "Action": [
                  "iam:CreateServiceSpecificCredential",
                  "iam:ListServiceSpecificCredentials",
                  "iam:UpdateServiceSpecificCredential",
                  "iam:DeleteServiceSpecificCredential",
                  "iam:ResetServiceSpecificCredential"
              ],
              "Resource": "arn:aws:iam::*:user/username"
          }
      ]
  }
  ```

------

## Generieren eines langfristigen API-Schlüssels für Amazon Bedrock (Konsole)
<a name="id_credentials_bedrock_console_create"></a>

**So generieren Sie einen langfristigen API-Schlüssel für Amazon Bedrock (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. Wählen Sie im Navigationsbereich der IAM-Konsole **Benutzer** aus.

1. Wählen Sie den IAM-Benutzer aus, für den Sie langfristige API-Schlüssel für Amazon Bedrock generieren möchten.

1. Wechseln Sie zur Registerkarte **Sicherheitsanmeldeinformationen**.

1. Wählen Sie im Abschnitt **API-Schlüssel für Amazon Bedrock** die Option **API-Schlüssel generieren** aus.

1. Für den **Ablauf des API-Schlüssels** haben Sie folgende Möglichkeiten:
   + Wählen Sie eine Ablaufdauer für den API-Schlüssel von **1**, **5**, **30**, **90** oder **365** Tagen aus.
   + Wählen Sie **Benutzerdefinierte Dauer** aus, um ein benutzerdefiniertes Ablaufdatum für den API-Schlüssel festzulegen.
   + Wählen Sie **Nie läuft ab** aus (nicht empfohlen).

1. Wählen Sie **API-Schlüssel generieren** aus.

1. Kopieren Sie Ihren API-Schlüssel oder laden Sie ihn herunter. Dies ist das einzige Mal, dass Sie den API-Schlüsselwert anzeigen können.
**Wichtig**  
Bewahren Sie Ihren API-Schlüssel sicher auf. Nach dem Schließen des Dialogfelds kann der API-Schlüssel nicht erneut abgerufen werden. Wenn Sie Ihren geheimen Zugriffsschlüssel verlieren oder vergessen, können Sie ihn nicht wiederherstellen. Erstellen Sie stattdessen einen neuen Zugriffsschlüssel und deaktivieren Sie den alten.

## Generieren eines langfristigen API-Schlüssels für Amazon Bedrock (AWS CLI)
<a name="id_credentials_bedrock_cli_create"></a>

Gehen Sie wie folgt vor, um mit dem AWS CLI einen langfristigen Amazon Bedrock-API-Schlüssel zu generieren:

1. Erstellen Sie mit dem Befehl [create-user](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-user.html) einen IAM-Benutzer, der mit Amazon Bedrock verwendet werden soll.

   ```
   aws iam create-user \
       --user-name BedrockAPIKey_1
   ```

1. Hängen Sie die AWS verwaltete Richtlinie `AmazonBedrockLimitedAccess` mit dem folgenden Befehl an den Amazon Bedrock IAM-Benutzer an [ attach-user-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/attach-user-policy.html):

   ```
   aws iam attach-user-policy --user-name BedrockAPIKey_1 \
       --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess
   ```

1. Generieren Sie den langfristigen API-Schlüssel von Amazon Bedrock mithilfe des [ create-service-specific-credential](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-service-specific-credential.html)Befehls. Für die Gültigkeitsdauer der Anmeldeinformationen können Sie einen Wert zwischen 1 und 36 600 Tagen angeben. Wenn Sie keine Gültigkeitsdauer für die Anmeldeinformationen angeben, läuft der API-Schlüssel nicht ab.

   So generieren Sie einen langfristigen API-Schlüssel mit einer Gültigkeitsdauer von 30 Tagen:

   ```
   aws iam create-service-specific-credential \
       --user-name BedrockAPIKey_1 \
       --service-name bedrock.amazonaws.com \
       --credential-age-days 30
   ```

Der in der Antwort zurückgegebene Wert „`ServiceApiKeyValue`“ ist Ihr langfristiger API-Schlüssel für Amazon Bedrock. Speichern Sie den Wert „`ServiceApiKeyValue`“ sicher, da Sie ihn später nicht mehr abrufen können.

### Auflisten langfristiger API-Schlüssel (AWS CLI)
<a name="id_credentials_bedrock_cli_list"></a>

Um Metadaten für langfristige API-Schlüssel von Amazon Bedrock für einen bestimmten Benutzer aufzulisten, verwenden Sie den [ list-service-specific-credentials](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-service-specific-credentials.html)Befehl mit dem folgenden `--user-name` Parameter:

```
aws iam list-service-specific-credentials \
    --service-name bedrock.amazonaws.com \
    --user-name BedrockAPIKey_1
```

Um alle Metadaten der langfristigen API-Schlüssel von Amazon Bedrock im Konto aufzulisten, verwenden Sie den [ list-service-specific-credentials](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-service-specific-credentials.html)Befehl mit dem folgenden `--all-users` Parameter:

```
aws iam list-service-specific-credentials \
    --service-name bedrock.amazonaws.com \
    --all-users
```

### Aktualisieren des Status des langfristigen API-Schlüssels (AWS CLI)
<a name="id_credentials_bedrock_cli_update"></a>

Verwenden Sie den [ update-service-specific-credential](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/update-service-specific-credential.html)folgenden Befehl, um den Status eines langfristigen API-Schlüssels für Amazon Bedrock zu aktualisieren:

```
aws iam update-service-specific-credential \
    --user-name "BedrockAPIKey_1" \
    --service-specific-credential-id "ACCA1234EXAMPLE1234" \
    --status Inactive|Active
```

## Generierung eines langfristigen API-Schlüssels für Amazon Bedrock (AWS API)
<a name="id_credentials_bedrock_api"></a>

Sie können die folgenden API-Operationen verwenden, um langfristige API-Schlüssel für Amazon Bedrock zu generieren und zu verwalten:
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html) 
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListServiceSpecificCredentials.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListServiceSpecificCredentials.html) 
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html) 
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceSpecificCredential.html) 
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html) 

# IAM mit Amazon Keyspaces (für Apache Cassandra) verwenden
<a name="id_credentials_keyspaces"></a>

Amazon Keyspaces (for Apache Cassandra) ist ein skalierbarer, hochverfügbarer und verwalteter Apache Cassandra-kompatibler Datenbankservice. Sie können über oder programmgesteuert auf Amazon Keyspaces zugreifen. AWS-Managementkonsole Um programmgesteuert mit servicespezifischen Anmeldeinformationen auf Amazon Keyspaces zuzugreifen, können Sie `cqlsh` oder Open-Source-Cassandra-Treiber verwenden. *Servicespezifische Anmeldeinformationen* beinhalten einen Benutzernamen und ein Passwort, wie sie von Cassandra für die Authentifizierung und Zugriffsverwaltung verwendet werden. Sie können maximal zwei Sätze servicespezifischer Anmeldeinformationen für jeden unterstützten Service pro Benutzer festlegen.

Um programmgesteuert mit Zugriffsschlüsseln auf Amazon Keyspaces AWS zuzugreifen, können Sie das AWS SDK, die AWS Command Line Interface (AWS CLI) oder Open-Source-Cassandra-Treiber mit dem SigV4-Plugin verwenden. Weitere Informationen finden Sie unter [Create and configure AWS Credentials for Amazon Keyspaces (for](https://docs.aws.amazon.com//keyspaces/latest/devguide/access.credentials.html) Apache Cassandra) im *Amazon Keyspaces (for Apache Cassandra)* Developer Guide.

**Anmerkung**  
Wenn Sie planen, mit Amazon Keyspaces nur über die Konsole zu interagieren, müssen Sie keine servicespezifischen Anmeldeinformationen generieren. Weitere Informationen finden Sie unter [Zugreifen auf Amazon Keyspaces mithilfe der Konsole](https://docs.aws.amazon.com/keyspaces/latest/devguide/console_keyspaces.html) im *Amazon Keyspaces (für Apache Cassandra)-Entwicklerhandbuch*.

Weitere Informationen über die erforderlichen Berechtigungen für den Zugriff auf Amazon Keyspaces finden Sie unter [Beispiele für identitätsbasierte Amazon Keyspaces (für Apache Cassandra) Richtlinien](https://docs.aws.amazon.com/keyspaces/latest/devguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-console) im *Amazon Keyspaces (für Apache Cassandra) Developer Guide*.

## Erstellen von Amazon Keyspaces Anmeldeinformationen (Konsole)
<a name="keyspaces_credentials_console"></a>

Sie können die verwenden AWS-Managementkonsole , um Amazon Keyspaces-Anmeldeinformationen (für Apache Cassandra) für Ihre IAM-Benutzer zu generieren.

**So erzeugen Sie servicespezifische Amazon Keyspaces-Anmeldeinformationen (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. Wählen Sie im Navigationsbereich **Users (Benutzer)** und wählen Sie dann den Namen des Benutzers, der die Anmeldeinformationen benötigt.

1. Wählen Sie auf der Registerkarte **Security Credentials (Sicherheitsanmeldeinformationen)** unter **Credentials for Amazon Keyspaces Apache Cassandra Service**, **Generate credentials (Anmeldeinformationen generieren)**.

1. Ihre servicespezifischen Anmeldeinformationen sind nun verfügbar. Das Passwort kann nur noch zu diesem Zeitpunkt eingesehen oder heruntergeladen werden. Später kann er nicht mehr wiederhergestellt werden. Sie können Ihr Passwort jedoch jederzeit zurücksetzen. Speichern Sie den Benutzer und das Passwort an einem sicheren Ort, da Sie sie später benötigen.

## Erstellen von Anmeldeinformationen für Amazon Keyspaces (AWS CLI)
<a name="keyspaces_credentials_cli"></a>

Sie können die verwenden AWS CLI , um Amazon Keyspaces-Anmeldeinformationen (für Apache Cassandra) für Ihre IAM-Benutzer zu generieren.

**So generieren Sie servicespezifische Amazon Keyspaces-Anmeldeinformationen (AWS CLI)**
+ Verwenden Sie den folgenden Befehl:
  + [als ich create-service-specific-credential](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-specific-credential.html)

## Generierung von Amazon Keyspaces-Anmeldeinformationen (AWS API)
<a name="keyspaces_credentials_api"></a>

Sie können die AWS API verwenden, um Amazon Keyspaces-Anmeldeinformationen (für Apache Cassandra) für Ihre IAM-Benutzer zu generieren.

**Um servicespezifische Anmeldeinformationen (AWS API) von Amazon Keyspaces zu generieren**
+ Führen Sie die folgende Operation aus:
  + [CreateServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html) 

# Finden Sie ungenutzte AWS Zugangsdaten
<a name="id_credentials_finding-unused"></a>

Um die Sicherheit Ihres zu erhöhen AWS-Konto, entfernen Sie nicht benötigte IAM-Benutzeranmeldedaten (d. h. Passwörter und Zugriffsschlüssel). Wenn Benutzer beispielsweise Ihr Unternehmen verlassen oder keinen AWS Zugriff mehr benötigen, suchen Sie nach den Anmeldeinformationen, die sie verwendet haben, und stellen Sie sicher, dass sie nicht mehr betriebsbereit sind. Im Idealfall löschen Sie die Anmeldeinformationen, wenn sie nicht mehr benötigt werden. Sie können sie immer zu einem späteren Zeitpunkt bei Bedarf neu erstellen. Zumindest sollten Sie das Passwort ändern oder den Zugriffsschlüssel deaktivieren, sodass der ehemalige Benutzer nicht mehr zugreifen kann.

Natürlich ist die Bedeutung von *ungenutzt* unterschiedlich. Normalerweise ist damit eine Nichtverwendung von Anmeldeinformationen innerhalb eines bestimmten Zeitraums gemeint.

## Suchen von ungenutzten Passwörtern
<a name="finding-unused-passwords"></a>

Sie können den verwenden AWS-Managementkonsole , um Informationen zur Passwortnutzung für Ihre Benutzer einzusehen. Wenn Sie über eine große Anzahl von Benutzern verfügen, können Sie über die Konsole einen Bericht mit den Anmeldeinformation herunterladen, in dem für jeden Benutzer die Information zur letztmaligen Benutzung des entsprechenden Passworts enthalten ist. Sie können auch über die AWS CLI oder die IAM-API auf die Informationen zugreifen.

**So suchen Sie ungenutzte Passwörter (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 auf **Users (Benutzer)**.

1. Fügen Sie, falls erforderlich, die Spalte **Console last sign-in (Letzte Anmeldung an der Konsole)** zur Benutzertabelle hinzu:

   1. Über der Tabelle auf der rechten Seite wählen Sie das Einstellungssymbol (![\[Settings icon\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/console-settings-icon.console.png)).

   1. Wählen Sie unter **Select visible columns (Sichtbare Spalten auswählen)** die Option **Console last sign-in (Letzte Anmeldung der Konsole)** aus.

   1. Klicken Sie auf **Confirm (Bestätigen)**, um zur Liste der Benutzer zurückzukehren.

1. In der Spalte **Letzte Anmeldung in der Konsole** wird das Datum angezeigt, an dem sich der Benutzer zuletzt AWS über die Konsole angemeldet hat. Anhand dieser Informationen können Sie Passwörter suchen, die innerhalb eines bestimmten Zeitraums nicht verwendet worden sind. In der Spalte wird für Benutzer mit Passwörtern, die sich zu keiner Zeit angemeldet haben, **Never (Nie)** angegeben. **None (Keine)** gibt Benutzer ohne Passwörter an. Passwörter, die in der letzten Zeit nicht verwendet wurden, können möglicherweise entfernt werden.
**Wichtig**  
Aufgrund eines Serviceproblems werden zwischen dem 3. Mai 2018, 22:50 Uhr PDT, und dem 23. Mai 2018, 14:08 Uhr PDT, verwendete Passwörter nicht als zuletzt verwendetes Passwort gemeldet. [Dies wirkt sich auf das Datum der [letzten Anmeldung](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_finding-unused.html) aus, das in der IAM-Konsole angezeigt wird, und auf das Datum, an dem das Passwort zuletzt verwendet wurde, im [Bericht über die IAM-Anmeldeinformationen](https://docs.aws.amazon.com/IAM/latest/UserGuide/SupportedTypes.xmlid_credentials_getting-report.html), die vom API-Vorgang zurückgegeben werden. GetUser ](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html) Wenn Benutzer sich in dieser Zeit angemeldet haben, wird als letztes Verwendungsdatum des Passworts das Datum angegeben, an dem der Benutzer sich das letzte Mal vor dem 3. Mai 2018 angemeldet hat. Für Benutzer, die sich nach dem 23. Mai 2018, 14:08 Uhr PDT, angemeldet haben, wird das richtige letzte Passwortverwendungsdatum zurückgegeben.  
Wenn Sie Informationen zum zuletzt verwendeten Passwort verwenden, um ungenutzte Anmeldeinformationen für das Löschen zu identifizieren, z. B. wenn Sie Benutzer löschen, bei denen Sie sich AWS in den letzten 90 Tagen nicht angemeldet haben, empfehlen wir Ihnen, Ihr Testfenster so anzupassen, dass es auch Daten nach dem 23. Mai 2018 berücksichtigt. Wenn Ihre Benutzer Zugriffstasten für den AWS programmgesteuerten Zugriff verwenden, können Sie alternativ auf die Informationen zum zuletzt verwendeten Zugriffsschlüssel zurückgreifen, da diese für alle Daten korrekt sind. 

**So finden Sie ungenutzte Passwörter, indem Sie den Bericht mit den Anmeldeinformationen (Konsole) herunterladen**

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 auf **Credential report (Anmeldeinformationsbericht)**.

1. Wählen Sie **Download Report (Bericht herunterladen)** aus, um eine CSV-Datei (Datei mit durch Kommas getrennten Werten) mit dem Namen `status_reports_<date>T<time>.csv` herunterzuladen. Die fünfte Spalte enthält die Spalte `password_last_used` mit den nachstehenden Daten:
   + **N/A** – Benutzer ohne zugewiesenes Passwort.
   + **no\$1information** – Benutzer, die Ihr Passwort seit dem 20. Oktober 2014, als IAM begonnen hat, das Alter des Passworts zu registrieren, nicht benutzt haben.

**So ermitteln Sie ungenutzte Passwörter (AWS CLI)**  
Führen Sie den folgenden Befehl aus, um ungenutzte Passwörter zu ermitteln:
+ `[aws iam list-users](https://docs.aws.amazon.com/cli/latest/reference/iam/list-users.html)` gibt eine Liste von Benutzern jeweils mit einem `PasswordLastUsed`-Wert zurück. Wenn der Wert fehlt, hat der Benutzer entweder kein Passwort oder das Passwort ist seit dem 20. Oktober 2014, als IAM begonnen hat, das Alter des Passworts zu registrieren, nicht verwendet worden.

**Um unbenutzte Passwörter zu finden (AWS API)**  
Rufen Sie die folgende Operation auf, um ungenutzte Passwörter zu ermitteln:
+  ` [ListUsers](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html)` gibt eine Sammlung von Benutzern zurück, die jeweils einen `<PasswordLastUsed>`-Wert haben. Wenn der Wert fehlt, hat der Benutzer entweder kein Passwort oder das Passwort ist seit dem 20. Oktober 2014, als IAM begonnen hat, das Alter des Passworts zu registrieren, nicht verwendet worden.

Weitere Informationen über die Befehle zum Herunterladen des Berichts mit den Anmeldeinformationen finden Sie unter [Abrufen von Berichten zu Anmeldeinformationen (AWS CLI)](id_credentials_getting-report.md#getting-credential-reports-cliapi).

## Suchen von ungenutzten Zugriffsschlüsseln
<a name="finding-unused-access-keys"></a>

Sie können den verwenden AWS-Managementkonsole , um Informationen zur Verwendung von Zugriffsschlüsseln für Ihre Benutzer einzusehen. Wenn Sie über eine große Anzahl von Benutzern verfügen, können Sie über die Konsole einen Bericht mit den Anmeldeinformation herunterladen, in dem für jeden Benutzer die Information zur letztmaligen Benutzung des entsprechenden Zugriffsschlüssels enthalten ist. Sie können auch über die AWS CLI oder die IAM-API auf die Informationen zugreifen.

**So finden Sie ungenutzte Zugriffsschlüssel (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 auf **Users (Benutzer)**.

1. Fügen Sie, falls erforderlich, die Spalte **Access key last used (Zuletzt verwendeter Zugriffsschlüssel)** der Benutzertabelle hinzu:

   1. Über der Tabelle auf der rechten Seite wählen Sie das Einstellungssymbol (![\[Settings icon\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/console-settings-icon.console.png)).

   1. Wählen Sie unter **Select visible columns (Sichtbare Spalten auswählen)** die Option **Access key last used (Zugriffsschlüssel zuletzt verwendet)** aus.

   1. Klicken Sie auf **Confirm (Bestätigen)**, um zur Liste der Benutzer zurückzukehren.

1. In der Spalte **Zuletzt verwendeter Zugriffsschlüssel** wird die Anzahl der Tage seit dem letzten AWS programmgesteuerten Zugriff durch den Benutzer angezeigt. Anhand dieser Informationen können Sie Zugriffsschlüssel suchen, die innerhalb eines bestimmten Zeitraums nicht verwendet worden sind. Für Benutzer ohne Zugriffsschlüssel wird in der Spalte **–** angezeigt. Zugriffsschlüssel, die in der letzten Zeit nicht verwendet wurden, können entfernt werden.

**So finden Sie ungenutzte Zugriffsschlüssel, indem Sie den Bericht mit den Anmeldeinformationen (Konsole) herunterladen**

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 auf **Credential Report (Anmeldeinformationsbericht)**.

1. Wählen Sie **Download Report (Bericht herunterladen)** aus, um eine CSV-Datei (Datei mit durch Kommas getrennten Werten) mit dem Namen `status_reports_<date>T<time>.csv` herunterzuladen. Die Spalten 11 bis 13 enthalten das letzte Nutzungsdatum, die Region und die Serviceinformationen für den Zugriffsschlüssel 1. Die Spalten 16 bis 18 enthalten die gleichen Informationen für den Zugriffsschlüssel 2. Der Wert lautet **N/A**, wenn der Benutzer nicht über einen Zugriffsschlüssel verfügt oder der Zugriffsschlüssel seit dem 22. April 2015, als IAM begonnen hat, das Alter des Zugriffsschlüssels zu registrieren, nicht verwendet worden ist.

**So ermitteln Sie ungenutzte Zugriffsschlüssel (AWS CLI)**  
Führen Sie die folgenden Befehle aus, um ungenutzte Zugriffsschlüssel zu ermitteln:
+ `[aws iam list-access-keys](https://docs.aws.amazon.com/cli/latest/reference/iam/list-access-keys.html)` gibt Informationen zu den Zugriffsschlüssel eines Benutzers einschließlich `AccessKeyID` zurück.
+ `[aws iam get-access-key-last-used](https://docs.aws.amazon.com/cli/latest/reference/iam/get-access-key-last-used.html)` nimmt eine Zugriffsschlüssel-ID und gibt eine Ausgabe zurück, die das `LastUsedDate`, die `Region`, in der der Zugriffsschlüssel zuletzt verwendet wurde, und den `ServiceName` des letzten angeforderten Services enthält. Wenn `LastUsedDate` fehlt, ist der Zugriffsschlüssel seit dem 22. April 2015 – der Termin, ab dem IAM das Alter von Zugriffsschlüsseln registriert – nicht verwendet worden.

**Um ungenutzte Zugriffsschlüssel (AWS API) zu finden**  
Rufen Sie die folgenden Operationen auf, um ungenutzte Zugriffsschlüssel zu ermitteln:
+ `[ListAccessKeys](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html)` gibt eine Liste der `AccessKeyID`-Werte für die Zugriffsschlüssel zurück, die dem angegebenen Benutzer zugeordnet sind. 
+ `[GetAccessKeyLastUsed](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccessKeyLastUsed.html)` nimmt eine Zugriffsschlüssel-ID und gibt eine Zusammenstellung von Werten zurück. Darin sind das `LastUsedDate`, die `Region`, in der der Zugriffsschlüssel zuletzt verwendet wurde, und der `ServiceName` des zuletzt angeforderten Services enthalten. Wenn der Wert fehlt, hat entweder der Benutzer keinen Zugriffsschlüssel oder der Zugriffsschlüssel ist seit dem 22. April 2015 – der Termin, ab dem IAM das Alter von Zugriffsschlüsseln registriert – nicht verwendet worden.

Weitere Informationen über die Befehle zum Herunterladen des Berichts mit den Anmeldeinformationen finden Sie unter [Abrufen von Berichten zu Anmeldeinformationen (AWS CLI)](id_credentials_getting-report.md#getting-credential-reports-cliapi).

# Generieren Sie Anmeldedatenberichte für Ihre AWS-Konto
<a name="id_credentials_getting-report"></a>

Sie können einen *Bericht zu Anmeldeinformationen* erstellen und herunterladen. In diesem Bericht sind alle Benutzer unter Ihrem Konto mit dem Status ihrer verschiedenen Anmeldeinformationen aufgeführt (z. B. Passwörter, Zugriffsschlüssel und MFA-Geräte). Sie können einen Bericht über Anmeldeinformationen über die AWS-Managementkonsole[Befehlszeilentools](https://aws.amazon.com/tools/#Command_Line_Tools) oder die [AWS SDKs](https://aws.amazon.com/tools)IAM-API abrufen. 

**Anmerkung**  
Der Bericht mit den IAM-Anmeldeinformationen enthält nur die folgenden IAM-verwalteten Anmeldeinformationen: Passwörter, die ersten beiden Zugriffsschlüssel pro Benutzer, MFA-Geräte und X.509-Signaturzertifikate. Der Bericht enthält keine dienstspezifischen Anmeldeinformationen (wie CodeCommit Passwörter, langfristige API-Schlüssel von Amazon Bedrock oder langfristige API-Schlüssel von Amazon CloudWatch Logs) oder andere Benutzerzugriffsschlüssel als die ersten beiden. Verwenden Sie und, um die vollständige Sichtbarkeit der Anmeldeinformationen zu gewährleisten. [ListServiceSpecificCredentials[ListAccessKeys](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html)](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListServiceSpecificCredentials.html) APIs

Berichte zu Anmeldeinformationen können zu Audit- und Compliance-Zwecken verwendet werden. Anhand des Berichts können Sie prüfen, wie sich die Lebensdaueranforderungen von Anmeldeinformationen wie Passwort und Zugriffsschlüssel-Aktualisierung auswirken. Stellen Sie den Bericht einem externen Prüfer bereit oder gewähren Sie einem Prüfer die notwendigen Berechtigungen zum Herunterladen des Berichts.

Bei Bedarf können Sie alle vier Stunden einen Bericht zu Anmeldeinformationen erstellen. Wenn Sie einen Bericht anfordern, prüft IAM zunächst, ob innerhalb der letzten vier Stunden ein Bericht für den generiert AWS-Konto wurde. Wenn innerhalb dieses Zeitraums bereits ein Bericht erstellt wurde, wird dieser heruntergeladen. Wenn der aktuelle Bericht für das Konto älter ist als vier Stunden oder wenn noch keine Berichte für das Konto vorliegen, erstellt IAM einen neuen Bericht und lädt diesen herunter. 

**Topics**
+ [

## Erforderliche Berechtigungen
](#id_credentials_required_permissions)
+ [

## Erläuterung des Berichtsformats
](#id_credentials_understanding_the_report_format)
+ [

## Abrufen von Berichten zu Anmeldeinformationen (Konsole)
](#getting-credential-reports-console)
+ [

## Abrufen von Berichten zu Anmeldeinformationen (AWS CLI)
](#getting-credential-reports-cliapi)
+ [

## Abrufen von Berichten über Anmeldeinformationen (AWS API)
](#getting-credential-reports-api)

## Erforderliche Berechtigungen
<a name="id_credentials_required_permissions"></a>

Die folgenden Berechtigungen werden zum Erstellen und Herunterladen von Berichten benötigt:
+ So erstellen Sie einen Bericht zu Anmeldeinformationen: `iam:GenerateCredentialReport` 
+ So laden Sie den Bericht herunter: `iam:GetCredentialReport`

## Erläuterung des Berichtsformats
<a name="id_credentials_understanding_the_report_format"></a>

Berichte zu Anmeldeinformationen liegen im CSV-Format vor. Sie können CSV-Dateien zur Analyse mit einer Tabellensoftware öffnen oder eine eigene Anwendung erstellen, um die CSV-Dateien programmgesteuert auszulesen und benutzerdefinierte Analysen auszuführen. 

Die CSV-Datei enthält die folgenden Spalten:

**user**  
Der Anzeigename des Benutzers 

**arn**  
Der Amazon-Ressourcenname (ARN) des Benutzers. Weitere Informationen zu finden Sie ARNs unter[ICH BIN ARNs](reference_identifiers.md#identifiers-arns). 

**user\$1creation\$1time**  
Erstellungsdatum und -uhrzeit des Benutzers im [ISO-8601-Format](https://en.wikipedia.org/wiki/ISO_8601).

**password\$1enabled**  
Wenn der Benutzer ein Passwort besitzt, ist dieser Wert `TRUE`, andernfalls `FALSE`. Dieser Wert ist `FALSE` für neue Mitgliedskonten, die als Teil Ihrer Organisation erstellt wurden, da sie standardmäßig keine Root-Benutzeranmeldeinformationen haben.

**password\$1last\$1used**  
Datum und Uhrzeit der letzten Verwendung des Kennworts des Benutzers Root-Benutzer des AWS-Kontos oder zur Anmeldung auf einer AWS Website im [Datums-/Uhrzeitformat nach ISO 8601.](http://www.iso.org/iso/iso8601) AWS Websites, die den Zeitpunkt der letzten Anmeldung eines Benutzers erfassen AWS-Managementkonsole, sind die AWS Diskussionsforen und der AWS Marketplace. Wenn ein Passwort innerhalb von 5 Minuten mehrfach verwendet wird, wird in diesem Feld nur die erste Verwendung aufgezeichnet.   
+ Der Wert in diesem Feld ist in folgenden Fällen `no_information`:
  + Das Passwort des Benutzers wurde noch nie verwendet.
  + Dem Passwort sind keine Anmeldedaten zugeordnet. Das ist beispielsweise der Fall, wenn das Passwort eines Benutzers nach Beginn der Erfassung dieser Informationen am 20. Oktober 2014 in IAM noch nicht verwendet wurde.
+ Der Wert in diesem Feld ist `N/A` (nicht anwendbar), wenn der Benutzer nicht über ein Passwort verfügt.

**Wichtig**  
Aufgrund eines Serviceproblems werden zwischen dem 3. Mai 2018, 22:50 Uhr PDT, und dem 23. Mai 2018, 14:08 Uhr PDT, verwendete Passwörter nicht als zuletzt verwendetes Passwort gemeldet. [Dies wirkt sich auf das Datum der [letzten Anmeldung](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_finding-unused.html) aus, das in der IAM-Konsole angezeigt wird, und auf das Datum, an dem das Passwort zuletzt verwendet wurde, im [Bericht über die IAM-Anmeldeinformationen](https://docs.aws.amazon.com/IAM/latest/UserGuide/SupportedTypes.xmlid_credentials_getting-report.html), die vom API-Vorgang zurückgegeben werden. GetUser ](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html) Wenn Benutzer sich in dieser Zeit angemeldet haben, wird als letztes Verwendungsdatum des Passworts das Datum angegeben, an dem der Benutzer sich das letzte Mal vor dem 3. Mai 2018 angemeldet hat. Für Benutzer, die sich nach dem 23. Mai 2018, 14:08 Uhr PDT, angemeldet haben, wird das richtige letzte Passwortverwendungsdatum zurückgegeben.  
Wenn Sie Informationen zum zuletzt verwendeten Passwort verwenden, um ungenutzte Anmeldeinformationen für das Löschen zu identifizieren, z. B. wenn Sie Benutzer löschen, bei denen Sie sich AWS in den letzten 90 Tagen nicht angemeldet haben, empfehlen wir Ihnen, Ihr Testfenster so anzupassen, dass es auch Daten nach dem 23. Mai 2018 berücksichtigt. Wenn Ihre Benutzer Zugriffstasten für den AWS programmgesteuerten Zugriff verwenden, können Sie alternativ auf die Informationen zum zuletzt verwendeten Zugriffsschlüssel zurückgreifen, da diese für alle Daten korrekt sind. 

**password\$1last\$1changed**  
Datum und Uhrzeit der letzten Passwortänderung im [ISO-8601-Format](https://en.wikipedia.org/wiki/ISO_8601). Wenn der Benutzer nicht über ein Passwort verfügt, ist der Wert in diesem Feld `N/A` (nicht anwendbar).

**password\$1next\$1rotation**  
Wenn das Konto über eine [Passwortrichtlinie](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingPasswordPolicies.html) verfügt, die eine Passwortrotation erfordert, enthält dieses Feld das Datum und die Uhrzeit im [ISO 8601-Format](https://en.wikipedia.org/wiki/ISO_8601), zu dem/der der Benutzer ein neues Passwort festlegen muss. Der Wert für AWS-Konto (Stamm) ist immer. `not_supported`

**mfa\$1active**  
Wenn ein [Multi-Factor Authentication](id_credentials_mfa.md)-Gerät (MFA-Gerät) für den Benutzer aktiviert wurde, ist dieser Wert `TRUE`, andernfalls `FALSE`.

**access\$1key\$11\$1active**  
Wenn der Benutzer über einen Zugriffsschlüssel verfügt und der Status des Zugriffsschlüssels `Active` ist, ist dieser Wert `TRUE`, andernfalls `FALSE`. Gilt sowohl für den Root-Benutzer des Kontos als auch für IAM-Benutzer.

**access\$1key\$11\$1last\$1rotated**  
Datum und Uhrzeit im [ISO 8601-Format](https://en.wikipedia.org/wiki/ISO_8601), an dem der Zugriffsschlüssel des Benutzers erstellt oder zuletzt geändert wurde. Wenn der Benutzer nicht über einen aktiven Zugriffsschlüssel verfügt, ist der Wert in diesem Feld `N/A` (nicht anwendbar). Gilt sowohl für den Root-Benutzer des Kontos als auch für IAM-Benutzer.

**access\$1key\$11\$1last\$1used\$1date**  
Datum und Uhrzeit im [ISO 8601-Format](https://en.wikipedia.org/wiki/ISO_8601), an dem der Zugriffsschlüssel des Benutzers zuletzt für eine AWS -API-Anforderung verwendet wurde. Wenn ein Zugriffsschlüssel innerhalb von 15 Minuten mehrfach verwendet wird, wird in diesem Feld nur die erste Verwendung aufgezeichnet. Gilt sowohl für den Root-Benutzer des Kontos als auch für IAM-Benutzer.  
Der Wert in diesem Feld ist in folgenden Fällen `N/A` (nicht anwendbar):  
+ Der Benutzer verfügt nicht über einen Zugriffsschlüssel.
+ Der Zugriffsschlüssel wurde noch nie verwendet.
+ Der Zugriffsschlüssel wurde seit Beginn der Erfassung dieser Informationen in IAM am 22. April 2015 noch nicht verwendet.

**access\$1key\$11\$1last\$1used\$1region**  
Die [AWS -Region](https://docs.aws.amazon.com/general/latest/gr/rande.html), in der der Zugriffsschlüssel zuletzt verwendet wurde. Wenn ein Zugriffsschlüssel innerhalb von 15 Minuten mehrfach verwendet wird, wird in diesem Feld nur die erste Verwendung aufgezeichnet. Gilt sowohl für den Root-Benutzer des Kontos als auch für IAM-Benutzer.  
Der Wert in diesem Feld ist in folgenden Fällen `N/A` (nicht anwendbar):  
+ Der Benutzer verfügt nicht über einen Zugriffsschlüssel.
+ Der Zugriffsschlüssel wurde noch nie verwendet.
+ Der Zugriffsschlüssel wurde zuletzt vor Beginn der Erfassung dieser Informationen in IAM am 22. April 2015 verwendet.
+ Der zuletzt verwendete Service ist nicht regionsspezifisch, z. B. Amazon S3.

**access\$1key\$11\$1last\$1used\$1service**  
Der AWS Dienst, auf den zuletzt mit dem Zugriffsschlüssel zugegriffen wurde. Für den Wert in diesem Feld wird der `s3`Namespace des Services verwendet, z. B. für Amazon S3; und `ec2` für Amazon EC2. Wenn ein Zugriffsschlüssel innerhalb von 15 Minuten mehrfach verwendet wird, wird in diesem Feld nur die erste Verwendung aufgezeichnet. Gilt sowohl für den Root-Benutzer des Kontos als auch für IAM-Benutzer.  
Der Wert in diesem Feld ist in folgenden Fällen `N/A` (nicht anwendbar):  
+ Der Benutzer verfügt nicht über einen Zugriffsschlüssel.
+ Der Zugriffsschlüssel wurde noch nie verwendet.
+ Der Zugriffsschlüssel wurde zuletzt vor Beginn der Erfassung dieser Informationen in IAM am 22. April 2015 verwendet.

**access\$1key\$12\$1active**  
Wenn der Benutzer über einen zweiten Zugriffsschlüssel verfügt und der Status des zweiten Zugriffsschlüssels `Active` ist, ist dieser Wert `TRUE`, andernfalls `FALSE`. Gilt sowohl für den Root-Benutzer des Kontos als auch für IAM-Benutzer.  
Benutzer können über bis zu zwei Zugriffsschlüssel verfügen, um die Rotation zu vereinfachen, indem sie zuerst den Schlüssel aktualisieren und dann den vorherigen Schlüssel löschen. Weitere Informationen zum Aktualisieren der Zugriffsschlüssel finden Sie unter [Zugriffsschlüssel aktualisieren](id-credentials-access-keys-update.md)

**access\$1key\$12\$1last\$1rotated**  
Datum und Uhrzeit im [ISO 8601-Format](https://en.wikipedia.org/wiki/ISO_8601), an dem der zweite Zugriffsschlüssel des Benutzers erstellt oder zuletzt aktualisiert wurde. Wenn der Benutzer nicht über einen zweiten aktiven Zugriffsschlüssel verfügt, ist der Wert in diesem Feld `N/A` (nicht anwendbar). Gilt sowohl für den Root-Benutzer des Kontos als auch für IAM-Benutzer.

**access\$1key\$12\$1last\$1used\$1date**  
Datum und Uhrzeit im [Datums-/Uhrzeitformat nach ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), an dem der zweite Zugriffsschlüssel des Benutzers zuletzt zum Signieren einer AWS API-Anfrage verwendet wurde. Wenn ein Zugriffsschlüssel innerhalb von 15 Minuten mehrfach verwendet wird, wird in diesem Feld nur die erste Verwendung aufgezeichnet. Gilt sowohl für den Root-Benutzer des Kontos als auch für IAM-Benutzer.  
Der Wert in diesem Feld ist in folgenden Fällen `N/A` (nicht anwendbar):  
+ Der Benutzer verfügt nicht über einen zweiten Zugriffsschlüssel.
+ Der zweite Zugriffschlüssel des Benutzers wurde noch nie verwendet.
+ Der zweite Zugriffsschlüssel des Benutzers wurde zuletzt vor Beginn der Erfassung dieser Informationen in IAM am 22. April 2015 verwendet.

**access\$1key\$12\$1last\$1used\$1region**  
Die [AWS -Region](https://docs.aws.amazon.com/general/latest/gr/rande.html), in der der zweite Zugriffsschlüssel des Benutzers zuletzt verwendet wurde. Wenn ein Zugriffsschlüssel innerhalb von 15 Minuten mehrfach verwendet wird, wird in diesem Feld nur die erste Verwendung aufgezeichnet. Gilt sowohl für den Root-Benutzer des Kontos als auch für IAM-Benutzer. Der Wert in diesem Feld ist in folgenden Fällen `N/A` (nicht anwendbar):  
+ Der Benutzer verfügt nicht über einen zweiten Zugriffsschlüssel.
+ Der zweite Zugriffschlüssel des Benutzers wurde noch nie verwendet.
+ Der zweite Zugriffsschlüssel des Benutzers wurde zuletzt vor Beginn der Erfassung dieser Informationen in IAM am 22. April 2015 verwendet.
+ Der zuletzt verwendete Service ist nicht regionsspezifisch, z. B. Amazon S3.

**access\$1key\$12\$1last\$1used\$1service**  
Der AWS Dienst, auf den zuletzt mit dem zweiten Zugriffsschlüssel des Benutzers zugegriffen wurde. Für den Wert in diesem Feld wird der `s3`Namespace des Services verwendet, z. B. für Amazon S3; und `ec2` für Amazon EC2. Wenn ein Zugriffsschlüssel innerhalb von 15 Minuten mehrfach verwendet wird, wird in diesem Feld nur die erste Verwendung aufgezeichnet. Gilt sowohl für den Root-Benutzer des Kontos als auch für IAM-Benutzer. Der Wert in diesem Feld ist in folgenden Fällen `N/A` (nicht anwendbar):  
+ Der Benutzer verfügt nicht über einen zweiten Zugriffsschlüssel.
+ Der zweite Zugriffschlüssel des Benutzers wurde noch nie verwendet.
+ Der zweite Zugriffsschlüssel des Benutzers wurde zuletzt vor Beginn der Erfassung dieser Informationen in IAM am 22. April 2015 verwendet.

**cert\$11\$1active**  
Wenn der Benutzer über ein X.509-Signaturzertifikat verfügt und der Status des Zertifikats `Active` ist, ist dieser Wert `TRUE`, andernfalls `FALSE`.

**cert\$11\$1last\$1rotated**  
Datum und Uhrzeit im [ISO 8601-Format](https://en.wikipedia.org/wiki/ISO_8601), an dem das Signaturzertifikat des Benutzers erstellt oder zuletzt geändert wurde. Wenn der Benutzer nicht über ein aktives Signaturzertifikat verfügt, ist der Wert in diesem Feld `N/A` (nicht anwendbar).

**cert\$12\$1active**  
Wenn der Benutzer über ein zweites X.509-Signaturzertifikat verfügt und der Status des Zertifikats `Active` ist, ist dieser Wert `TRUE`, andernfalls `FALSE`.  
Benutzer können für einen einfacheren Zertifikataustausch über bis zu zwei X.509-Signaturzertifikate verfügen.

**cert\$12\$1last\$1rotated**  
Datum und Uhrzeit im [ISO 8601-Format](https://en.wikipedia.org/wiki/ISO_8601), an dem das zweite Signaturzertifikat des Benutzers erstellt oder zuletzt geändert wurde. Wenn der Benutzer nicht über ein zweites aktives Signaturzertifikat verfügt, ist der Wert in diesem Feld `N/A` (nicht anwendbar).

**additional\$1credentials als\$1info**  
Wenn der Benutzer über mehr als zwei Zugriffsschlüssel oder Zertifikate verfügt, gibt dieser Wert die Anzahl der zusätzlichen Zugriffsschlüssel oder Zertifikate und die Aktionen an, mit denen Sie die mit dem Benutzer verknüpften Zugriffsschlüssel oder Zertifikate auflisten können.

## Abrufen von Berichten zu Anmeldeinformationen (Konsole)
<a name="getting-credential-reports-console"></a>

Sie können den verwenden AWS-Managementkonsole , um einen Bericht mit Anmeldeinformationen als Datei mit kommagetrennten Werten (CSV) herunterzuladen.

**So laden Sie einen Bericht zu Anmeldeinformationen herunter (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 auf **Credential report (Anmeldeinformationsbericht)**.

1. Wählen Sie **Download Report (Bericht herunterladen)**.

## Abrufen von Berichten zu Anmeldeinformationen (AWS CLI)
<a name="getting-credential-reports-cliapi"></a>

**So laden Sie einen Bericht zu Anmeldedaten herunter (AWS CLI)**

1. Generieren Sie einen Bericht über Anmeldeinformationen. AWS speichert einen einzelnen Bericht. Wenn ein Bericht vorhanden ist, überschreibt das Generieren eines Berichts für Anmeldeinformationen den vorherigen Bericht. [https://docs.aws.amazon.com/cli/latest/reference/iam/generate-credential-report.html](https://docs.aws.amazon.com/cli/latest/reference/iam/generate-credential-report.html)

1. Zeigen Sie den letzten Bericht an, der generiert wurde: [https://docs.aws.amazon.com/cli/latest/reference/iam/get-credential-report.html](https://docs.aws.amazon.com/cli/latest/reference/iam/get-credential-report.html)

## Abrufen von Berichten über Anmeldeinformationen (AWS API)
<a name="getting-credential-reports-api"></a>

**Um einen Bericht über Anmeldeinformationen (AWS API) herunterzuladen**

1. Generieren Sie einen Bericht über Anmeldeinformationen. AWS speichert einen einzelnen Bericht. Wenn ein Bericht vorhanden ist, überschreibt das Generieren eines Berichts für Anmeldeinformationen den vorherigen Bericht. [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GenerateCredentialReport.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GenerateCredentialReport.html)

1. Zeigen Sie den letzten Bericht an, der generiert wurde: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetCredentialReport.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetCredentialReport.html)

# IAM-Anmeldeinformationen für CodeCommit: Git-Anmeldeinformationen, SSH-Schlüssel und AWS Zugriffsschlüssel
<a name="id_credentials_ssh-keys"></a>

CodeCommit ist ein verwalteter Versionskontrolldienst, der private Git-Repositorys in der AWS Cloud hostet. Zur Verwendung CodeCommit konfigurierst du deinen Git-Client für die Kommunikation mit CodeCommit Repositorys. Im Rahmen dieser Konfiguration stellen Sie IAM-Anmeldeinformationen bereit, mit denen Sie authentifiziert CodeCommit werden können. IAM unterstützt CodeCommit drei Arten von Anmeldeinformationen:
+ Git-Anmeldeinformationen, ein von IAM generiertes Paar aus Benutzername und Passwort, mit dem Sie über HTTPS mit CodeCommit Repositorys kommunizieren können.
+ SSH-Schlüssel, ein lokal generiertes öffentlich-privates key pair, das Sie Ihrem IAM-Benutzer zuordnen können, um mit Repositorys über SSH zu kommunizieren. CodeCommit 
+  [AWS Zugriffsschlüssel](id_credentials_access-keys.md), die Sie mit dem im Lieferumfang enthaltenen Credential Helper verwenden können, um mit Repositorys über HTTPS zu kommunizieren. AWS CLI CodeCommit 

**Anmerkung**  
Sie können keine SSH-Schlüssel oder Git-Anmeldeinformationen verwenden, um auf Repositorys in einem anderen AWS -Konto zuzugreifen. *Informationen zur Konfiguration des Zugriffs auf CodeCommit Repositorys für IAM-Benutzer und -Gruppen in einem anderen AWS-Konto Verzeichnis finden [Sie unter Kontenübergreifendes Zugriff auf ein AWS CodeCommit Repository mithilfe von Rollen konfigurieren](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account.html) im Benutzerhandbuch.AWS CodeCommit *

Weitere Informationen zu jeder Option finden Sie in folgenden Abschnitten. 

## Verwenden Sie Git-Anmeldeinformationen und HTTPS mit CodeCommit (empfohlen)
<a name="git-credentials-code-commit"></a>

Bei GIT-Anmeldeinformationen erstellen Sie einen statischen Benutzernamen und ein Passwort für Ihre IAM-Benutzer und verwenden dann diese Anmeldeinformationen für HTTPS-Verbindungen. Sie können diese Anmeldeinformationen mit einem Drittanbieter-Tool oder einer integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) verwenden, die statische Git-Anmeldeinformationen unterstützt.

Da diese Anmeldeinformationen für alle unterstützten Betriebssysteme universell gültig und mit den meisten Systemen zur Verwaltung von Anmeldeinformationen, Entwicklungsumgebungen und anderen Tools zur Softwareentwicklung kompatibel sind, wird diese Methode bevorzugt. Sie können das Passwort für Git-Anmeldeinformationen jederzeit zurücksetzen. Sie können die Anmeldeinformationen auch deaktivieren oder löschen, wenn Sie sie nicht mehr benötigen.

**Anmerkung**  
Sie können nicht Ihren eigenen Benutzernamen oder das Passwort für Git-Anmeldeinformationen wählen. IAM generiert diese Anmeldeinformationen für Sie, um sicherzustellen, dass sie den Sicherheitsstandards für Repositorys entsprechen AWS und die Repositorys in sichern. CodeCommit Sie können die Anmeldeinformationen nur einmal herunterladen, unmittelbar nachdem sie generiert worden sind. Stellen Sie sicher, dass Sie die Anmeldeinformationen an einem sicheren Ort speichern. Falls erforderlich, können Sie das Passwort jederzeit zurücksetzen, allerdings funktionieren dann alle mit dem alten Passwort konfigurierten Verbindungen nicht mehr. Sie müssen die Verbindungen mit dem neuen Passwort neu konfigurieren, bevor Sie eine Verbindung herstellen können.

Weitere Informationen finden Sie im folgenden Thema: 
+ Informationen zum Erstellen eines IAM-Benutzers finden Sie unter [Erstellen Sie einen IAM-Benutzer in Ihrem AWS-Konto](id_users_create.md). 
+ Informationen zum Generieren und Verwenden von Git-Anmeldeinformationen finden Sie unter [Für HTTPS-Benutzer CodeCommit, die Git-Anmeldeinformationen verwenden](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html) im *AWS CodeCommit Benutzerhandbuch*. 

**Anmerkung**  
Wenn Sie den Namen eines IAM-Benutzers ändern, nachdem die Git-Anmeldeinformationen generiert wurden, werden der Benutzername und die Git-Anmeldeinformationen nicht automatisch geändert. Der Benutzername und das Passwort bleiben gleich und sind weiterhin gültig. 

**So aktualisieren Sie servicespezifische Anmeldeinformationen**

1. Erstellen Sie, zusätzlich zu den bereits verwendeten, einen zweiten Satz servicespezifischer Anmeldeinformationen.

1. Aktualisieren Sie alle Ihre Anwendungen für die Nutzung der neuen Anmeldeinformationen und vergewissern Sie sich, dass die Anwendungen funktionieren.

1. Ändern Sie den Status der ursprünglichen Anmeldeinformationen in "Inaktiv".

1. Stellen Sie sicher, dass alle Ihre Anwendungen weiterhin funktionieren.

1. Löschen Sie die inaktiven, servicespezifischen Anmeldeinformationen.

## Verwenden Sie SSH-Schlüssel und SSH mit CodeCommit
<a name="ssh-keys-code-commit"></a>

Mit SSH-Verbindungen erstellen Sie öffentliche und private Schlüsseldateien auf Ihrem lokalen Computer, die Git CodeCommit verwenden und für die SSH-Authentifizierung verwenden. Verknüpfen Sie den öffentlichen Schlüssel mit Ihrem IAM-Benutzer und speichern Sie den privaten Schlüssel auf Ihrem lokalen Computer ab. Weitere Informationen finden Sie im folgenden Thema: 
+ Informationen zum Erstellen eines IAM-Benutzers finden Sie unter [Erstellen Sie einen IAM-Benutzer in Ihrem AWS-Konto](id_users_create.md). 
+ Um einen öffentlichen SSH-Schlüssel zu erstellen und ihn mit einem IAM-Benutzer zu verknüpfen, siehe [Für SSH-Verbindungen unter Linux, macOS oder Unix](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-ssh-unixes.html) oder siehe [Für SSH-Verbindungen unter Windows](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-ssh-windows.html) im *AWS CodeCommit Benutzerhandbuch*. 

**Anmerkung**  
Der öffentliche Schlüssel muss in ssh-rsa-Format oder PEM-Format verschlüsselt sein. Die Mindest-Bit-Länge des öffentlichen Schlüssels beträgt 2048 Bit und die Maximallänge beträgt 16384 Bit. Dies ist von der Größe der hochgeladenen Datei unabhängig. Sie können beispielsweise einen 2048-Bit-Schlüssel erstellen, und die ausgegebene PEM-Datei ist 1679 Byte lang. Wenn Sie den öffentlichen Schlüssel in einem anderen Format oder einer anderen Größe bereitstellen, wird eine Fehlermeldung angezeigt, dass das Schlüsselformat ungültig ist.

## Verwende HTTPS mit dem AWS CLI Credential Helper und CodeCommit
<a name="access-keys-code-commit"></a>

Als Alternative zu HTTPS-Verbindungen mit Git-Anmeldeinformationen können Sie Git erlauben, eine kryptografisch signierte Version Ihrer IAM-Benutzeranmeldedaten oder Ihrer Amazon EC2 EC2-Instance-Rolle zu verwenden, wann immer Git sich authentifizieren muss, um mit AWS Repositorys zu interagieren. CodeCommit Dies ist die einzige Verbindungsmethode für CodeCommit Repositorys, für die kein IAM-Benutzer erforderlich ist. Dies ist auch die einzige Methode, die mit Verbundzugriff und temporären Anmeldeinformationen funktioniert. Weitere Informationen finden Sie im folgenden Thema:
+ Weitere Informationen zum Verbundzugriff finden Sie unter [Identitätsanbieter und Verbund zu AWS](id_roles_providers.md) und [Zugriff für extern authentifizierte Benutzer gewähren (Identitätsverbund)](id_roles_common-scenarios_federated-users.md). 
+ Weitere Informationen zu temporären Anmeldeinformationen finden Sie unter [Temporäre IAM Sicherheitsanmeldeinformationen](id_credentials_temp.md) und [Temporärer Zugriff auf CodeCommit-Repositorys](https://docs.aws.amazon.com/codecommit/latest/userguide/temporary-access.html). 

Der AWS CLI Credential Helper ist nicht mit anderen Credential Helper-Systemen wie Keychain Access oder Windows Credential Management kompatibel. Wenn Sie HTTPS-Verbindungen mit dem Credential Helper für Anmeldeinformationen konfigurieren, sind weitere Einstellungen zu beachten. Weitere Informationen finden Sie unter [Für HTTPS-Verbindungen unter Linux, macOS oder Unix mit dem AWS CLI Credential Helper](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-unixes.html) oder [HTTPS-Verbindungen unter Windows mit dem AWS CLI Credential Helper](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-windows.html) im *AWS CodeCommit Benutzerhandbuch*.

# Verwaltung von Serverzertifikaten in IAM
<a name="id_credentials_server-certs"></a>

*Um HTTPS-Verbindungen zu Ihrer Website oder Anwendung in zu aktivieren AWS, benötigen Sie ein SSL/TLS-Serverzertifikat.* Für Zertifikate in einer Region, die von AWS Certificate Manager (ACM) unterstützt wird, empfehlen wir die Verwendung von für Bereitstellung und Verwaltung Ihrer Server-Zertifikate. In nicht unterstützten Regionen müssen Sie IAM für die Verwaltung der Zertifikate verwenden. Informationen darüber, welche Regionen ACM unterstützt, finden Sie unter [AWS Certificate Manager -Endpunkte und -Kontingente](https://docs.aws.amazon.com/general/latest/gr/acm.html) im *Allgemeine AWS-Referenz*.

**Wichtig**  
Für die Bereitstellung und Verwaltung von Serverzertifikaten empfehlen wir ACM zu verwenden. Mit ACM können Sie ein Zertifikat anfordern oder ein vorhandenes ACM- oder externes Zertifikat für Ressourcen bereitstellen. AWS Die von ACM bereitgestellten Zertifikate sind kostenlos und werden automatisch verlängert. In einer [unterstützten Region](https://docs.aws.amazon.com/general/latest/gr/acm.html) können Sie mit ACM Serverzertifikate über die Konsole oder programmgesteuert verwalten. Weitere Informationen zu ACM finden Sie im [https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html). Weitere Informationen zum Anfordern eines [-Zertifikats finden Sie unter ](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html)Anfordern eines öffentlichen Zertifikats[ oder ](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html)Anfordern eines privaten Zertifikats *AWS Certificate Manager im *. Weitere Informationen zum Importieren von Zertifikaten von Drittanbietern in ACM finden Sie unter [Importieren von Zertifikaten](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) im *AWS Certificate Manager -Benutzerhandbuch*.

Verwenden Sie IAM als Zertifikatmanager nur für die Unterstützung von HTTPS-Verbindungen in einer Region, die nicht [von ACM unterstützt](https://docs.aws.amazon.com/general/latest/gr/acm.html) wird. IAM bietet eine sichere Verschlüsselungsmethode für Ihre privaten Schlüssel und speichert die verschlüsselte Version in einem SSL-Zertifikatspeicher in IAM. IAM unterstützt die Bereitstellung von Serverzertifikaten in allen Regionen, Sie müssen Ihr Zertifikat jedoch von einem externen Anbieter beziehen, damit Sie es verwenden können. AWS ACM-Zertifikate können nicht in IAM hochgeladen werden. Außerdem ist es nicht möglich, Zertifikate auf der IAM-Konsole zu verwalten.

Weitere Informationen zum Hochladen von Drittanbieterzertifikaten in IAM finden Sie in den folgenden Themen.

**Topics**
+ [

## Laden Sie ein Serverzertifikat (AWS API) hoch
](#upload-server-certificate)
+ [

## AWS API-Operationen für Serverzertifikate
](#id_credentials_server-certs-api)
+ [

## Fehlerbehebung bei Serverzertifikaten
](#server-certificate-troubleshooting)

## Laden Sie ein Serverzertifikat (AWS API) hoch
<a name="upload-server-certificate"></a>

Um ein Serverzertifikat in IAM hochzuladen, müssen Sie das Zertifikat bereitstellen und dessen privaten Schlüssel verwalten. Wenn das Zertifikat nicht selbstsigniert ist, müssen Sie auch eine Zertifikatskette bereitstellen. (Zum Hochladen eines selbstsignierten Zertifikats benötigen Sie keine Zertifikatskette.) Bevor Sie ein Zertifikat hochladen, stellen Sie sicher, dass folgende Voraussetzungen erfüllt sind:
+ Das Zertifikat muss zum Zeitpunkt des Hochladens gültig sein. Sie können ein Zertifikat nicht vor Beginn des Gültigkeitszeitraums (das Datum `NotBefore` des Zertifikats) oder nach Ablauf der Gültigkeit (das Datum `NotAfter` des Zertifikats) hochladen.
+ Der private Schlüssel muss unverschlüsselt sein. Sie können keinen privaten Schlüssel hochladen, der durch ein Passwort oder eine Passphrase geschützt ist. Informationen zum Entschlüsseln von verschlüsselten privaten Schlüsseln finden Sie unter [Fehlerbehebung bei Serverzertifikaten](#server-certificate-troubleshooting).
+ Das Zertifikat, der private Schlüssel und die Zertifikatskette müssen PEM-kodiert sein. Informationen zum Konvertieren dieser Elemente ins PEM-Format finden Sie unter [Fehlerbehebung bei Serverzertifikaten](#server-certificate-troubleshooting).

Um die [IAM-API](https://docs.aws.amazon.com/IAM/latest/APIReference/) zum Hochladen eines Zertifikats zu verwenden, senden Sie eine [UploadServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UploadServerCertificate.html)Anfrage. Im folgenden Beispiel wird gezeigt, wie Sie dies mit dem [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) durchführen. In diesem Beispiel wird Folgendes angenommen:
+ Das PEM-kodierte Zertifikat ist in einer Datei mit dem Namen `Certificate.pem` gespeichert.
+ Das PEM-kodierte Zertifikatkette ist in einer Datei mit dem Namen `CertificateChain.pem` gespeichert.
+ Das PEM-kodierte Zertifikat ist in einer Datei mit dem Namen `PrivateKey.pem` gespeichert.
+ (Optional) Sie möchten das Serverzertifikat mit einem Schlüsselwertpaar kennzeichnen. Sie können beispielsweise den Tag-Schlüssel `Department` und den Tag-Wert `Engineering` hinzufügen, um Ihnen bei der Identifizierung und Organisation Ihrer Zertifikate zu helfen.

Um den folgenden Beispielbefehl zu verwenden, ersetzen Sie diese Dateinamen durch Ihre eigenen. *ExampleCertificate*Ersetzen Sie es durch einen Namen für Ihr hochgeladenes Zertifikat. Wenn Sie das Zertifikat taggen möchten, ersetzen Sie das Schlüssel-Wert-Paar *ExampleKey* und das *ExampleValue* Tag-Schlüssel-Wert-Paar durch Ihre eigenen Werte. Geben Sie den Befehl durchgehend in einer Zeile ein. Das folgende Beispiel enthält Zeilenumbrüche und zusätzliche Leerzeichen, um das Lesen zu vereinfachen.

```
aws iam upload-server-certificate --server-certificate-name ExampleCertificate
                                    --certificate-body file://Certificate.pem
                                    --certificate-chain file://CertificateChain.pem
                                    --private-key file://PrivateKey.pem
                                    --tags '{"Key": "ExampleKey", "Value": "ExampleValue"}'
```

Wenn der vorherige Befehl erfolgreich ausgeführt wurde, werden Metadaten zum hochgeladenen Zertifikat einschließlich dessen [Amazon-Ressourcennamen (ARN)](reference_identifiers.md#identifiers-arns), dem Anzeigenamen, der ID, dem Ablaufdatum, Tags usw. zurückgegeben.

**Anmerkung**  
Wenn Sie ein Serverzertifikat zur Verwendung mit Amazon hochladen CloudFront, müssen Sie mit der `--path` Option einen Pfad angeben. Der Pfad muss mit `/cloudfront` beginnen und mit einem Schrägstrich enden (z. B. `/cloudfront/test/`).

Um das zum Hochladen eines Zertifikats AWS Tools for Windows PowerShell zu verwenden, verwenden Sie [Publish- IAMServer Certificate](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Publish-IAMServerCertificate.html&tocid=Publish-IAMServerCertificate).

## AWS API-Operationen für Serverzertifikate
<a name="id_credentials_server-certs-api"></a>

Verwenden Sie die folgenden Befehle, um Serverzertifikate anzuzeigen, mit Tags zu versehen, umzubenennen und zu löschen.
+ Wird verwendet [GetServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServerCertificate.html), um ein Zertifikat abzurufen. Diese Anfrage gibt das Zertifikat, die Zertifikatskette (sofern eine hochgeladen wurde) und Metadaten zum Zertifikat zurück.
**Anmerkung**  
Sie können private Schlüssel nach dem Hochladen nicht mehr aus IAM herunterladen oder abrufen.
+ Verwenden Sie [Get- IAMServer Certificate](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Get-IAMServerCertificate.html&tocid=Get-IAMServerCertificate), um ein Zertifikat abzurufen.
+ Dient [ListServerCertificates](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListServerCertificates.html)zum Auflisten Ihrer hochgeladenen Serverzertifikate. Die Anfrage gibt eine Liste zurück, die Metadaten zu jedem Zertifikat enthält.
+ Verwenden Sie [Get- IAMServer Certificates](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Get-IAMServerCertificates.html&tocid=Get-IAMServerCertificates), um Ihre hochgeladenen Serverzertifikate aufzulisten.
+ Wird verwendet [TagServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagServerCertificate.html), um ein vorhandenes Serverzertifikat zu kennzeichnen. 
+ Wird verwendet [UntagServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagServerCertificate.html), um die Markierung eines Serverzertifikats aufzuheben.
+ Wird verwendet [UpdateServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServerCertificate.html), um ein Serverzertifikat umzubenennen oder seinen Pfad zu aktualisieren.

   Das folgende Beispiel zeigt, wie Sie dies mit dem AWS CLI tun können.

  Um den folgenden Beispielbefehl zu verwenden, ersetzen Sie den alten und neuen Zertifikatnamen und den Zertifikatspfad und geben Sie den Befehl durchgehend in einer Zeile ein. Das folgende Beispiel enthält Zeilenumbrüche und zusätzliche Leerzeichen, um das Lesen zu vereinfachen.

  ```
  aws iam update-server-certificate --server-certificate-name ExampleCertificate
                                      --new-server-certificate-name CloudFrontCertificate
                                      --new-path /cloudfront/
  ```

  Um ein Serverzertifikat AWS Tools for Windows PowerShell umzubenennen oder seinen Pfad zu aktualisieren, verwenden Sie [Update- IAMServer Certificate](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Update-IAMServerCertificate.html&tocid=Update-IAMServerCertificate).
+ Wird verwendet [DeleteServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServerCertificate.html), um ein Serverzertifikat zu löschen. 

  Verwenden Sie [Remove — Certificate, AWS Tools for Windows PowerShell um ein IAMServer Serverzertifikat](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Remove-IAMServerCertificate.html&tocid=Remove-IAMServerCertificate) zu löschen.

## Fehlerbehebung bei Serverzertifikaten
<a name="server-certificate-troubleshooting"></a>

Bevor Sie ein Zertifikat in IAM hochladen können, müssen Sie sicherstellen, dass das Zertifikat, der private Schlüssel und die Zertifikatskette PEM-kodiert sind. Sie müssen außerdem dafür sorgen, dass der private Schlüssel nicht verschlüsselt ist. Sehen Sie sich die folgenden Beispiele an.

**Example Beispiel für ein PEM-kodiertes Zertifikat**  

```
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
```

**Example Beispiel eines PEM-kodierten, unverschlüsselten privaten Schlüssels**  

```
-----BEGIN RSA PRIVATE KEY-----
Base64-encoded private key
-----END RSA PRIVATE KEY-----
```

**Example PEM-kodierte Zertifikatkette**  
Eine Zertifikatkette enthält ein oder mehrere Zertifikate. Sie können Ihre Zertifikatdateien mit einem Texteditor, dem Kopierbefehl in Windows oder dem cat-Befehl in Linux zu einer Kette verknüpfen. Wenn Sie mehrere Zertifikate einbeziehen, muss jedes Zertifikat das vorhergehende Zertifikat zertifizieren. Dazu müssen Sie die Zertifikate verketten, darunter das Zertifikat der Stammzertifizierungsstelle als letztes.  
Das folgende Beispiel enthält drei Zertifikate, Ihre Zertifikatkette enthält möglicherweise jedoch mehr oder weniger Zertifikate.  

```
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
```

Wenn diese Elemente nicht im richtigen Format zum Hochladen in IAM vorliegen, können Sie sie mit [OpenSSL](https://openssl.org/) ins richtige Format konvertieren.

**So konvertieren Sie ein Zertifikat oder eine Zertifikatskette von DER zu PEM**  
Verwenden Sie den Befehl [OpenSSL **x509**](https://openssl.org/docs/manmaster/man1/x509.html) wie im folgenden Beispiel. Ersetzen Sie im folgenden Beispielbefehl `Certificate.der` durch den Namen der Datei, die das DER-kodierte Zertifikat enthält. Ersetzen Sie `Certificate.pem` durch den gewünschten Namen der Ausgabedatei, die das PEM-codierte Zertifikat enthalten soll.  

```
openssl x509 -inform DER -in Certificate.der -outform PEM -out Certificate.pem
```
 

**So konvertieren Sie einen privaten Schlüssel von DER zu PEM**  
Verwenden Sie den Befehl [OpenSSL **rsa**](https://openssl.org/docs/manmaster/man1/rsa.html) wie im folgenden Beispiel. Ersetzen Sie im folgenden Beispielbefehl `PrivateKey.der` durch den Namen der Datei, die den DER-kodierten privaten Schlüssel enthält. Ersetzen Sie `PrivateKey.pem` durch den gewünschten Namen der Ausgabedatei, die den PEM-codierten privaten Schlüssel enthalten soll.  

```
openssl rsa -inform DER -in PrivateKey.der -outform PEM -out PrivateKey.pem
```
 

**So entschlüsseln Sie einen verschlüsselten privaten Schlüssel (Entfernen eines Passworts oder einer Passphrase)**  
Verwenden Sie den Befehl [OpenSSL **rsa**](https://openssl.org/docs/manmaster/man1/rsa.html) wie im folgenden Beispiel. Um den folgenden Beispielbefehl zu verwenden, ersetzen Sie `EncryptedPrivateKey.pem` durch den Namen der Datei, die den verschlüsselten privaten Schlüssel enthält. Ersetzen Sie `PrivateKey.pem` durch den gewünschten Namen der Ausgabedatei, die den PEM-codierten unverschlüsselten privaten Schlüssel enthalten soll.  

```
openssl rsa -in EncryptedPrivateKey.pem -out PrivateKey.pem
```
 

**So konvertieren Sie ein Zertifikat-Bundle von PKCS\$112 (PFX) zu PEM**  
Verwenden Sie den Befehl [OpenSSL **pkcs12**](https://openssl.org/docs/manmaster/man1/pkcs12.html) wie im folgenden Beispiel. Ersetzen Sie im folgenden Beispielbefehl `CertificateBundle.p12` durch den Namen der Datei, die das PKCS\$112-kodierte Zertifikat-Bundle enthält. Ersetzen Sie `CertificateBundle.pem` durch den gewünschten Namen der Ausgabedatei, die das PEM-codierte Zertifikat-Bundle enthalten soll.  

```
openssl pkcs12 -in CertificateBundle.p12 -out CertificateBundle.pem -nodes
```
 

**So konvertieren Sie ein Zertifikat-Bundle von PKCS\$17 zu PEM**  
Verwenden Sie den Befehl [OpenSSL **pkcs7**](https://openssl.org/docs/manmaster/man1/pkcs7.html) wie im folgenden Beispiel. Ersetzen Sie im folgenden Beispielbefehl `CertificateBundle.p7b` durch den Namen der Datei, die das PKCS\$17-kodierte Zertifikat-Bundle enthält. Ersetzen Sie `CertificateBundle.pem` durch den gewünschten Namen der Ausgabedatei, die das PEM-codierte Zertifikat-Bundle enthalten soll.  

```
openssl pkcs7 -in CertificateBundle.p7b -print_certs -out CertificateBundle.pem
```

# IAM-Benutzergruppen
<a name="id_groups"></a>

Eine IAM-[*Gruppe*](#id_groups) ist eine Auswahl von IAM-Benutzern. Mithilfe von Gruppen können Sie Berechtigungen für mehrere Benutzern angeben, was die Verwaltung der Berechtigungen für diese Benutzer erleichtert. Zum Beispiel können Sie eine Gruppe mit dem Namen *Administratoren* erstellen und dieser Gruppe die für Administratoren üblichen Berechtigungen erteilen. Jeder Benutzer in der Gruppe verfügt automatisch über *Admins*-Gruppenberechtigungen. Wenn ein neuer Benutzer Ihrer Organisation beitritt und Administratorrechte benötigt, können die entsprechenden Berechtigungen zuweisen, indem Sie den Benutzer zur *Admins*-Benutzergruppe hinzufügen. Wenn eine Person in Ihrem Unternehmen die Stelle wechselt, können Sie, anstatt die Berechtigungen des Benutzers zu bearbeiten, ihn aus den alten IAM-Gruppen entfernen und ihn den entsprechenden neuen IAM-Gruppen hinzufügen. 

Sie können eine identitätsbasierte Richtlinie an eine Benutzergruppe anfügen, so dass alle Benutzer in der Benutzergruppe die Berechtigungen der Richtlinie erhalten. Sie können eine Benutzergruppe nicht als `Principal` in einer Richtlinie (z. B. einer ressourcenbasierten Richtlinie) identifizieren, da sich Gruppen auf Berechtigungen und nicht auf die Authentifizierung beziehen, während Prinzipale authentifizierte IAM-Entitäten sind. Weitere Informationen zu Richtlinientypen finden Sie unter [Identitätsbasierte Richtlinien und ressourcenbasierte Richtlinien](access_policies_identity-vs-resource.md).

Im Folgenden finden Sie einige wichtige Merkmale von IAM-Gruppen:
+ Eine Gruppe kann viele Benutzer enthalten und ein Benutzer kann mehreren Gruppen angehören.
+ Benutzergruppen können nicht verschachtelt werden. Sie können nur Benutzer, nicht andere IAM-Gruppen enthalten.
+ Es gibt keine Standard-Benutzergruppe, die automatisch alle Benutzer im AWS-Konto-Konto enthält. Wenn Sie eine solche Gruppe haben möchten, müssen Sie sie erstellen und ihr jeden neuen Benutzer zuweisen.
+ Die Anzahl und Größe der IAM-Ressourcen in einer AWS-Konto, z. B. die Anzahl der Gruppen und die Anzahl der Gruppen, denen ein Benutzer angehören kann, sind begrenzt. Weitere Informationen finden Sie unter [IAM und Kontingente AWS STS](reference_iam-quotas.md).

Die folgende Abbildung zeigt ein einfaches Beispiel für ein kleines Unternehmen. Der Unternehmenseigentümer erstellt eine `Admins`-Gruppe für Benutzer, um andere Benutzer zu erstellen und zu verwalten, während das Unternehmen wächst. Die `Admins`-Benutzergruppe erstellt eine `Developers`-Benutzergruppe und eine `Test`-Benutzergruppe. Jede dieser IAM-Gruppen besteht aus Benutzern (Menschen und Anwendungen), die mit AWS (Jim, Brad, DevApp 1 usw.) interagieren. Jeder Benutzer verfügt über individuelle Anmeldeinformationen. In diesem Beispiel gehört jeder Benutzer zu einer einzelnen Gruppe. Benutzer können jedoch mehreren IAM-Gruppen angehören.

![\[Beispiel für eine Beziehung zwischen AWS-Konten Benutzern und IAM-Gruppen\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/Relationship_Between_Entities_Example.diagram.png)


# Erstellen von IAM-Gruppen
<a name="id_groups_create"></a>

**Anmerkung**  
Als [bewährte Methode](best-practices.md) empfehlen wir, dass menschliche Benutzer für den Zugriff mit temporären Anmeldeinformationen einen Verbund mit einem Identitätsanbieter AWS verwenden müssen. Wenn Sie die bewährten Methoden befolgen, verwalten Sie keine IAM-Benutzer und -Gruppen. Stattdessen werden Ihre Benutzer und Gruppen außerhalb von AWS Ressourcen verwaltet AWS und können als *föderierte Identität* darauf zugreifen. Eine föderierte Identität ist ein Benutzer aus Ihrem Unternehmensbenutzerverzeichnis, einem Web-Identitätsanbieter, dem AWS Directory Service, dem Identity Center-Verzeichnis oder einem beliebigen Benutzer, der mithilfe von Anmeldeinformationen, die über eine Identitätsquelle bereitgestellt wurden, auf AWS Dienste zugreift. Verbundidentitäten verwenden die von ihrem Identitätsanbieter definierten Gruppen. Wenn Sie dies verwenden AWS IAM Identity Center, finden Sie unter [Identitäten in IAM Identity Center verwalten](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-sso.html) im *AWS IAM Identity Center Benutzerhandbuch* Informationen zum Erstellen von Benutzern und Gruppen in IAM Identity Center.

Sie erstellen IAM-Gruppen, um Zugriffsberechtigungen für mehrere Benutzer mit ähnlichen Rollen oder Verantwortlichkeiten zu verwalten. Indem Sie Richtlinien an diese Gruppen anfügen, können Sie Berechtigungen für ganze Benutzergruppen gewähren oder entziehen. Dies vereinfacht die Verwaltung von Sicherheitsrichtlinien, weil Änderungen, die Sie an den Berechtigungen einer Gruppe vornehmen, automatisch auf alle Mitglieder dieser Gruppe angewendet werden, wodurch eine konsistente Zugriffskontrolle sichergestellt ist. Nachdem Sie die Gruppe erstellt haben, weisen Sie der Gruppe basierend auf dem Typ der Aktion, die die Benutzer in der Gruppe erwartungsgemäß ausführen sollen, Berechtigungen zu und fügen Sie dann IAM-Benutzer zur Gruppe hinzu.

Weitere Informationen über die Berechtigungen, die zum Erstellen einer IAM-Gruppe erforderlich sind, finden Sie unter [Erforderliche Berechtigungen für den Zugriff auf IAM-Ressourcen](access_permissions-required.md). 

## So erstellen Sie eine IAM-Gruppe und fügen Richtlinien an
<a name="id_groups_create-section-1"></a>

------
#### [ Console ]

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 **Groups (Gruppen)** und dann **Gruppe erstellen**.

1. Geben Sie unter **Benutzergruppenname** den Namen der Gruppe ein.
**Anmerkung**  
Die Anzahl und Größe der IAM-Ressourcen in einem AWS Konto sind begrenzt. Weitere Informationen finden Sie unter [IAM und Kontingente AWS STS](reference_iam-quotas.md). Gruppennamen können eine Kombination aus bis zu 128 Buchstaben, Ziffern und den folgenden Zeichen enthalten: Plus (\$1), Gleichheitszeichen (=), Komma (,), Punkt (.), at-Zeichen (@), Unterstrich (\$1) und Bindestrich (-). Namen müssen innerhalb eines Kontos eindeutig sein. Es wird hierbei nicht zwischen Groß- und Kleinschreibung unterschieden. Beispielsweise können Sie keine Gruppen erstellen, die **ADMINS** bzw. **admins** heißen.

1. Aktivieren Sie in der Liste der Benutzer das Kontrollkästchen für jeden Benutzer, den Sie der Gruppe hinzufügen möchten.

1. Aktivieren Sie in der Liste der Richtlinien das Kontrollkästchen für die jeweilige Richtlinie, die Sie auf alle Mitglieder der Gruppe anwenden möchten.

1. Wählen Sie **Create group** (Gruppe erstellen) aus.

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

Führen Sie den folgenden Befehl aus:
+ [aws iam create-group](https://docs.aws.amazon.com/cli/latest/reference/iam/create-group.html)

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ [CreateGroup](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateGroup.html)

------

# Anzeigen von IAM-Gruppen
<a name="id_groups_manage_list"></a>

Sie können alle IAM-Gruppen in Ihrem Konto auflisten, die Benutzer in einer Benutzergruppe auflisten und die IAM-Gruppen auflisten, zu denen ein Benutzer gehört. Wenn Sie die CLI oder API verwenden, können Sie alle IAM-Gruppen mit einem bestimmten Pfadpräfix auflisten.

------
#### [ Console ]

Auflisten aller IAM-Gruppen in Ihrem Konto:
+ Wählen Sie im Navigationsbereich die Option **Benutzergruppen** aus.

Auflisten der IAM-Benutzer in einer bestimmten IAM-Gruppe:
+ Klicken Sie im Navigationsbereich auf **Groups oder Users**. Wählen Sie dann den Namen der Gruppe aus, um deren Detailseite zu öffnen. Überprüfen Sie die Registerkarte **Benutzer**, um die Gruppenmitgliedschaft zu sehen.

Auflisten aller IAM-Gruppen, denen ein Benutzer angehört:
+ Klicken Sie im Navigationsbereich auf **Users (Benutzer)**. Wählen Sie dann den Benutzernamen aus, um die Benutzerdetailseite zu öffnen. Wählen Sie die Registerkarte **Gruppen** aus, um eine Liste der Gruppen zu sehen, denen der Benutzer angehört.

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

Auflisten aller IAM-Gruppen in Ihrem Konto:
+ [aws iam list-groups](https://docs.aws.amazon.com/cli/latest/reference/iam/list-groups.html)

Auflisten der Benutzer in einer bestimmten IAM-Gruppe:
+ [aws iam get-group](https://docs.aws.amazon.com/cli/latest/reference/iam/get-group.html)

Auflisten aller IAM-Gruppen, denen ein Benutzer angehört:
+ [war ich list-groups-for-user](https://docs.aws.amazon.com/cli/latest/reference/iam/list-groups-for-user.html)

------
#### [ API ]

Auflisten aller IAM-Gruppen in Ihrem Konto:
+ [ListGroups](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListGroups.html)

Auflisten der Benutzer in einer bestimmten IAM-Gruppe:
+ [GetGroup](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetGroup.html)

Auflisten aller IAM-Gruppen, denen ein Benutzer angehört:
+ [ListGroupsForUser](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListGroupsForUser.html)

------

# Bearbeiten von Benutzern in IAM-Gruppen
<a name="id_groups_manage_add-remove-users"></a>

Verwenden Sie IAM-Gruppen, um dieselben Berechtigungsrichtlinien gleichzeitig auf mehrere Benutzer anzuwenden. Sie können dann Benutzer zu einer IAM-Gruppe hinzufügen oder aus dieser entfernen. Dies ist nützlich, wenn neue Mitarbeiter in Ihrem Unternehmen eingestellt werden oder dieses wieder verlassen.

## Überprüfen des Richtlinienzugriffs
<a name="groups-remove_prerequisites"></a>

Bevor Sie eine Gruppe entfernen, überprüfen Sie auf der Seite mit den Gruppendetails die Mitglieder (IAM-Benutzer) der Gruppe, die an die Gruppe angefügten Richtlinien auf der Registerkarte **Berechtigungen** und die letzte Service-Level-Aktivität auf der Registerkarte **Letzter Zugriff**. Dadurch wird verhindert, dass einem Prinzipal (Person oder Anwendung), der den Zugriff verwendet, unbeabsichtigt der Zugriff entzogen wird. Weitere Informationen zum Anzeigen der Informationen zum letzten Zugriff finden Sie unter [Verfeinern Sie die Berechtigungen für AWS die Verwendung der zuletzt abgerufenen Informationen](access_policies_last-accessed.md).

## Hinzufügen eines IAM-Benutzers zu einer IAM-Gruppe
<a name="groups-add-remove-console"></a>

------
#### [ Console ]

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 die Option **Benutzergruppen** und dann den Namen der Gruppe aus.

1. Wählen Sie die Registerkarte **Users** und anschließend die Option **Add Users to Group**. Markieren Sie das Kontrollkästchen neben den Benutzern, die Sie hinzufügen möchten.

1. Wählen Sie **Add Users (Benutzer hinzufügen)**.

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

Führen Sie den folgenden Befehl aus:
+ `[aws iam add-user-to-group](https://docs.aws.amazon.com/cli/latest/reference/iam/add-user-to-group.html)`

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ `[AddUserToGroup](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AddUserToGroup.html)`

------

## Entfernen eines IAM-Benutzers aus einer IAM-Gruppe
<a name="id_groups_manage_add-remove-users-section-1"></a>

------
#### [ Console ]

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 die Option **Benutzergruppen** und dann den Namen der Gruppe aus.

1. Wählen Sie die Registerkarte **Users**. Aktivieren Sie das Kontrollkästchen neben den Benutzern, die Sie entfernen möchten, und wählen Sie dann **Benutzer entfernen**.

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

Führen Sie den folgenden Befehl aus:
+ `[aws iam remove-user-from-group](https://docs.aws.amazon.com/cli/latest/reference/iam/remove-user-from-group.html)`

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ `[RemoveUserFromGroup](https://docs.aws.amazon.com/IAM/latest/APIReference/API_RemoveUserFromGroup.html)`

------

# Zuordnen einer Richtlinie zu einer IAM-Benutzergruppe
<a name="id_groups_manage_attach-policy"></a>

Sie können einer Benutzergruppe eine [AWS verwaltete Richtlinie](access_policies_managed-vs-inline.md#aws-managed-policies) — d. h. eine von vordefinierte Richtlinie AWS— zuordnen, wie in den folgenden Schritten erläutert. Um eine vom Kunden verwaltete Richtlinie anzuhängen, d. h. eine Richtlinie mit von Ihnen erstellten benutzerdefinierten Berechtigungen, müssen Sie die Richtlinie zunächst erstellen. Weitere Informationen zum Erstellen von kundenverwalteten Richtlinien finden Sie unter [Benutzerdefinierte IAM-Berechtigungen mit vom Kunden verwalteten Richtlinien definieren](access_policies_create.md). 

Weitere Informationen zu Berechtigungen und Richtlinien finden Sie unter [Zugriffsmanagement für AWS Ressourcen](access.md). 

## Anfügen einer Richtlinie an eine IAM-Gruppe
<a name="id_groups_manage_attach-policy-section-1"></a>

------
#### [ Console ]

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 die Option **Benutzergruppen** und dann den Namen der Gruppe aus.

1. Wählen Sie die Registerkarte **Berechtigungen**.

1. Wählen Sie **Berechtigungen hinzufügen** aus und wählen Sie dann **Richtlinien anfügen** aus.

1. Die aktuellen Richtlinien, die der Benutzergruppe zugeordnet sind, werden in der **Liste Aktuelle Berechtigungsrichtlinien** angezeigt. Aktivieren Sie in der Liste der **Richtlinien für andere Berechtigungen** das Kontrollkästchen neben den Namen der zuzuordnenden Richtlinien. Über das Menü Filter und das Suchfeld können Sie die Richtlinienliste filtern.

1. Wählen Sie die Richtlinie aus, die Sie an Ihre IAM-Gruppe anfügen möchten, und wählen Sie **Richtlinien anfügen** aus.

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

Führen Sie den folgenden Befehl aus:
+ `[aws iam attach-group-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-group-policy.html)`

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ `[AttachGroupPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachGroupPolicy.html)`

------

# IAM-Benutzergruppe umbenennen
<a name="id_groups_manage_rename"></a>

Wenn Sie den Namen oder den Pfad einer Gruppe ändern, geschieht Folgendes: 
+ Alle Richtlinien, die der Gruppe zugewiesen sind, verbleiben bei ihr unter dem neuen Namen.
+ Alle der Gruppe zugeordneten Benutzer bleiben unter dem neuen Namen erhalten.
+ Die eindeutige ID der Gruppe bleibt unverändert. Weitere Informationen zu Unique IDs finden Sie unter[Eindeutige Bezeichner](reference_identifiers.md#identifiers-unique-ids). 

In IAM werden die Richtlinien, die auf die Gruppe als Ressource verweisen, nicht automatisch mit dem neuen Namen aktualisiert. Dies müssen Sie manuell vornehmen. Daher müssen Sie beim Umbenennen einer Benutzergruppe vorsichtig vorgehen. Bevor Sie die Gruppe umbenennen, müssen Sie manuell alle Richtlinien prüfen, um diejenigen Richtlinien zu ermitteln, in denen der Name dieser Gruppe erwähnt wird. Angenommen, Bob ist der Leiter der Testabteilung der Organisation. Bob hat eine Richtlinie an seine IAM-Benutzer-Entity angefügt, mit der er Benutzer in die Testgruppe einfügen und aus dieser entfernen kann. Wenn ein Administrator den Namen der Gruppe (oder den Gruppenpfad) ändert, muss der Administrator auch die Bob zugeordnete Richtlinie an den neuen Namen oder Pfad anpassen. Andernfalls kann Bob keine Benutzer mehr zu der Gruppe hinzufügen oder daraus entfernen. 

**Finden der Richtlinien, die auf eine IAM-Gruppe als eine Ressource verweisen:**

1. Wählen Sie im Navigationsbereich der IAM-Konsole **Policies** (Richtlinien).

1. Sortieren Sie nach der Spalte **Typ**, um Ihre **vom Kunden verwalteten** benutzerdefinierten Richtlinien zu finden.

1. Wählen Sie Edit policy (Richtlinie bearbeiten), um den Namen der Gruppe in der Richtlinie zu ändern.

1. Klicken Sie auf die Registerkarte **Permissions** (Berechtigungen) und anschließend auf **Summary** (Übersicht).

1. Wählen Sie **IAM** aus der Liste der Services aus, falls vorhanden.

1. Suchen Sie nach dem Namen Ihrer Gruppe in der Spalte **Resource (Ressource)**.

1. Wählen Sie **Edit** (Bearbeiten), um den Namen der Gruppe in der Richtlinie zu ändern.

## So ändern Sie den Namen einer IAM-Gruppe
<a name="id_groups_manage_rename-section-1"></a>

------
#### [ Console ]

1. Wählen Sie im Navigationsbereich die Option **Benutzergruppen** und dann den Gruppennamen aus.

1. Wählen Sie **Bearbeiten** aus. Geben Sie den neuen Benutzergruppennamen ein, und wählen Sie dann **Speichern Sie die Änderungen**.

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

Führen Sie den folgenden Befehl aus:
+ [aws iam update-group](https://docs.aws.amazon.com/cli/latest/reference/iam/update-group.html)

------
#### [ API ]

Rufen Sie die folgende Operation auf:
+ [UpdateGroup](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateGroup.html)

------

# Löschen einer IAM-Gruppe.
<a name="id_groups_manage_delete"></a>

Wenn Sie eine IAM-Gruppe in der Konsole löschen, entfernt die Konsole automatisch alle Gruppenmitglieder, trennt alle angefügten verwalteten Richtlinien und löscht alle Inlinerichtlinien. Da IAM jedoch Richtlinien, die sich auf die IAM-Gruppe als Ressource beziehen, nicht automatisch löscht, müssen Sie beim Löschen einer IAM-Gruppe vorsichtig sein. Bevor Sie Ihre IAM-Gruppe löschen, überprüfen Sie Ihre Richtlinien manuell, um alle Richtlinien zu finden, die die Gruppe namentlich erwähnen. John, der Leiter des Testteams, verfügt beispielsweise über eine Richtlinie, die an seine IAM-Benutzerentität angefügt ist und ihm das Hinzufügen und Entfernen von Benutzern aus der Test-Benutzergruppe erlaubt. Wenn ein Administrator die Gruppe löscht, muss er auch die an John angefügte Richtlinie löschen. Andernfalls bleiben, wenn der Administrator die gelöschte Gruppe neu erstellt und ihr denselben Namen gibt, die Berechtigungen von John bestehen, auch wenn er das Test-Team verlassen hat.

Wenn Sie hingegen die CLI, das SDK oder die API zum Löschen einer Benutzergruppe verwenden, entfernen Sie zunächst die Benutzer in der Gruppe. Anschließend löschen Sie alle in die IAM-Gruppe eingebetteten Inline-Richtlinien. Als Nächstes trennen Sie alle verwalteten Richtlinien, die der Gruppe angefügt sind. Dann löschen Sie die Gruppe selbst.

------
#### [ Console ]

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 auf **Groups oder Users**.

1. Aktivieren Sie in der Liste der IAM-Gruppen das Kontrollkästchen neben den Namen der zu löschenden IAM-Gruppen. Sie können das Suchfeld verwenden, um die Liste der IAM-Gruppen nach Typ, Berechtigungen und Gruppenname zu filtern.

1. Wählen Sie **Löschen** aus.

1. Wenn Sie eine einzelne Gruppe löschen möchten, geben Sie im Bestätigungsfeld den Gruppennamen ein und wählen dann **Löschen**. Wenn Sie mehrere Gruppen löschen möchten, geben Sie die Anzahl der zu löschenden IAM-Gruppen ein, gefolgt von **user groups**, und wählen Sie **Löschen** aus. Wenn Sie beispielsweise drei Gruppen löschen möchten, geben Sie **3 **user groups**** ein.

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

1. Entfernen Sie alle Benutzer aus der IAM-Gruppe.
   + [aws iam get-group](https://docs.aws.amazon.com/cli/latest/reference/iam/get-group.html) (um die Liste der Benutzer in der IAM-Gruppe abzurufen) und [aws iam remove-user-from-group (um einen Benutzer aus der IAM-Gruppe](https://docs.aws.amazon.com/cli/latest/reference/iam/remove-user-from-group.html) zu entfernen)

1. Löschen Sie alle einbetteten Inlinerichtlinien in der IAM-Gruppe.
   + [aws iam list-group-policies](https://docs.aws.amazon.com/cli/latest/reference/iam/list-group-policies.html) (um eine Liste der Inline-Richtlinien der IAM-Gruppe abzurufen) und [aws iam delete-group-policy (um die Inline-Richtlinien der IAM-Gruppe](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-group-policy.html) zu löschen)

1. Trennen Sie alle der IAM-Gruppe angefügten verwalteten Richtlinien.
   + [aws iam list-attached-group-policies](https://docs.aws.amazon.com/cli/latest/reference/iam/list-attached-group-policies.html) (um eine Liste der verwalteten Richtlinien abzurufen, die der IAM-Gruppe zugeordnet sind) und [aws iam detach-group-policy (um eine verwaltete Richtlinie von der IAM-Gruppe](https://docs.aws.amazon.com/cli/latest/reference/iam/detach-group-policy.html) zu trennen)

1. Löschen Sie die IAM-Gruppe.
   + [aws iam delete-group](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-group.html)

------
#### [ API ]

1. Entfernen Sie alle Benutzer aus der IAM-Gruppe.
   + [GetGroup](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetGroup.html)(um die Liste der Benutzer in der IAM-Gruppe abzurufen) und [RemoveUserFromGroup](https://docs.aws.amazon.com/IAM/latest/APIReference/API_RemoveUserFromGroup.html)(um einen Benutzer aus der IAM-Gruppe zu entfernen)

1. Löschen Sie alle einbetteten Inlinerichtlinien in der IAM-Gruppe.
   + [ListGroupPolicies](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListGroupPolicies.html)(um eine Liste der Inline-Richtlinien der IAM-Gruppe abzurufen) und [DeleteGroupPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteGroupPolicy.html)(um die Inline-Richtlinien der IAM-Gruppe zu löschen)

1. Trennen Sie alle der IAM-Gruppe angefügten verwalteten Richtlinien.
   + [ListAttachedGroupPolicies](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedGroupPolicies.html)(um eine Liste der verwalteten Richtlinien abzurufen, die der IAM-Gruppe zugeordnet sind) und [DetachGroupPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DetachGroupPolicy.html)(um eine verwaltete Richtlinie von der IAM-Gruppe zu trennen)

1. Löschen Sie die IAM-Gruppe.
   + [DeleteGroup](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteGroup.html)

------

# IAM-Rollen
<a name="id_roles"></a>

Eine IAM-*Rolle* ist eine IAM-Identität, die Sie in Ihrem Konto mit bestimmten Berechtigungen erstellen können. Eine IAM-Rolle ist einem IAM-Benutzer ähnlich, weil es sich um eine AWS -Identität mit Berechtigungsrichtlinien handelt, die festlegen, welche Aktionen die Identität in AWS ausführen kann und welche nicht. Eine Rolle ist jedoch nicht einer einzigen Person zugeordnet, sondern kann von allen Personen angenommen werden, die diese Rolle benötigen. Einer Rolle sind außerdem keine standardmäßigen, langfristigen Anmeldeinformationen (Passwörter oder Zugriffsschlüssel) zugeordnet. Wenn Sie eine Rolle übernehmen, erhalten Sie stattdessen temporäre Anmeldeinformationen für Ihre Rollensitzung.

Sie können Rollen verwenden, um den Zugriff an Benutzer, Anwendungen oder Dienste zu delegieren, die normalerweise keinen Zugriff auf Ihre AWS Ressourcen haben. Möglicherweise möchten Sie Benutzern in Ihrem AWS Konto Zugriff auf Ressourcen gewähren, über die sie normalerweise nicht verfügen, oder Benutzern in einem Konto AWS-Konto Zugriff auf Ressourcen in einem anderen Konto gewähren. Oder Sie möchten einer mobilen App die Nutzung von AWS Ressourcen ermöglichen, aber keine AWS Schlüssel in die App einbetten (wo sie schwierig zu aktualisieren sein können und Benutzer sie möglicherweise extrahieren können). Manchmal möchten Sie Benutzern AWS Zugriff gewähren, für die bereits Identitäten außerhalb von definiert wurden AWS, z. B. in Ihrem Unternehmensverzeichnis. Oder Sie können auch Drittanbietern Zugriff auf Ihr Konto gewähren, sodass sie eine Prüfung Ihrer Ressourcen ausführen können.

In diesen Szenarien können Sie den Zugriff auf AWS Ressourcen mithilfe einer *IAM-Rolle* delegieren. Dieser Abschnitt bietet eine Einführung in Rollen und in die verschiedenen Verwendungsmöglichkeiten, wann und wie Sie unter den Methoden auswählen können und wie Sie Rollen erstellen, verwalten, annehmen und löschen bzw. zu diesen wechseln können.

**Anmerkung**  
Wenn Sie Ihre Rollen zum ersten Mal erstellen AWS-Konto, werden standardmäßig keine Rollen erstellt. Wenn Sie Ihrem Konto Services hinzufügen, können sie zur Unterstützung ihrer Anwendungsfälle serviceverknüpfte Rollen hinzufügen.  
 Eine serviceverknüpfte Rolle ist eine Art von Servicerolle, die mit einer AWS-Service verknüpft ist. Der Service kann die Rolle übernehmen, um eine Aktion in Ihrem Namen auszuführen. Dienstbezogene Rollen werden in Ihrem Dienst angezeigt AWS-Konto und gehören dem Dienst. Ein IAM-Administrator kann die Berechtigungen für Service-verknüpfte Rollen anzeigen, aber nicht bearbeiten.   
Bevor Sie die serviceverknüpften Rollen löschen können, müssen Sie zunächst die zugehörigen Ressourcen löschen. Dies schützt Ihre -Ressourcen, da Sie nicht versehentlich die Berechtigung für den Zugriff auf die Ressourcen entfernen können.  
Informationen darüber, welche Services die Verwendung von serviceverknüpften Rollen unterstützen, finden Sie unter [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md). Suchen Sie nach den Services, für die **Ja** in der Spalte **Serviceverknüpfte Rolle** angegeben ist. Wählen Sie über einen Link **Ja** aus, um die Dokumentation zu einer serviceverknüpften Rolle für diesen Service anzuzeigen.

**Topics**
+ [

## Erstellen eines IAM-Benutzers (anstatt eine Rolle)
](#id_which-to-choose)
+ [

## Rollenbegriffe und -konzepte
](#id_roles_terms-and-concepts)
+ [

## Weitere Ressourcen
](#id_roles_additional-resources)
+ [

# Das Confused-Deputy-Problem
](confused-deputy.md)
+ [

# Gängige Szenarien für IAM-Rollen
](id_roles_common-scenarios.md)
+ [

# Erstellung einer IAM-Rolle
](id_roles_create.md)
+ [

# IAM-Rollen-Verwaltung
](id_roles_manage.md)
+ [

# Methoden, um eine Rolle zu übernehmen
](id_roles_manage-assume.md)

## Erstellen eines IAM-Benutzers (anstatt eine Rolle)
<a name="id_which-to-choose"></a>

Wir empfehlen, IAM-Benutzer nur für Anwendungsfälle zu verwenden, die durch den Identitätsverbund nicht unterstützt werden. Einige der Anwendungsfälle umfassen Folgendes:
+ **Workloads, die IAM-Rollen nicht verwenden können** – Sie könnten einen Workload von einem Speicherort ausführen, der auf AWS zugreifen muss. In einigen Situationen können Sie IAM-Rollen nicht verwenden, um temporäre Anmeldeinformationen bereitzustellen, z. B. für WordPress Plugins. Verwenden Sie in diesen Situationen langfristige IAM-Benutzerzugriffsschlüssel für diesen Workload, um sich bei AWS zu authentifizieren.
+ ** AWS Drittanbieter-Clients** — Wenn Sie Tools verwenden, die den Zugriff mit IAM Identity Center nicht unterstützen, z. B. AWS Drittanbieter-Clients oder Anbieter, die nicht auf gehostet werden AWS, verwenden Sie langfristige IAM-Benutzerzugriffsschlüssel.
+ **AWS CodeCommit Zugriff** — Wenn Sie Ihren Code CodeCommit zum Speichern verwenden, können Sie einen IAM-Benutzer mit SSH-Schlüsseln oder dienstspezifischen Anmeldeinformationen verwenden, um sich bei Ihren Repositorys CodeCommit zu authentifizieren. Wir empfehlen Ihnen, dies zusätzlich zu einem Benutzer im IAM Identity Center für die normale Authentifizierung zu verwenden. Benutzer in IAM Identity Center sind die Personen in Ihrer Belegschaft, die Zugriff auf Ihre oder Ihre AWS-Konten Cloud-Anwendungen benötigen. Um Benutzern Zugriff auf Ihre CodeCommit Repositorys zu gewähren, ohne IAM-Benutzer zu konfigurieren, können Sie das Hilfsprogramm konfigurieren. **git-remote-codecommit** Weitere Informationen zu IAM und CodeCommit finden Sie unter. [IAM-Anmeldeinformationen für CodeCommit: Git-Anmeldeinformationen, SSH-Schlüssel und AWS Zugriffsschlüssel](id_credentials_ssh-keys.md) Weitere Informationen zur Konfiguration des **git-remote-codecommit** Dienstprogramms finden Sie im *AWS CodeCommit Benutzerhandbuch* unter [Herstellen einer Verbindung zu AWS CodeCommit Repositorys mit wechselnden Anmeldeinformationen](https://docs.aws.amazon.com/codecommit/latest/userguide/temporary-access.html#temporary-access-configure-credentials).
+ **Zugriff auf Amazon Keyspaces (für Apache Cassandra)** – In einer Situation, in der Sie Benutzer im IAM Identity Center nicht verwenden können, z. B. zu Testzwecken für die Cassandra-Kompatibilität, können Sie einen IAM-Benutzer mit dienstspezifischen Anmeldeinformationen verwenden, um sich bei Amazon Keyspaces zu authentifizieren. Benutzer in IAM Identity Center sind die Personen in Ihrer Belegschaft, die Zugriff auf Ihre AWS-Konten oder Ihre Cloud-Anwendungen benötigen. Sie können auch mithilfe temporärer Anmeldeinformationen eine Verbindung zu Amazon Keyspaces herstellen. Weitere Informationen finden Sie unter [Verwendung temporärer Anmeldeinformationen für die Verbindung zu Amazon Keyspaces mithilfe einer IAM-Rolle und des SigV4-Plugins](https://docs.aws.amazon.com/keyspaces/latest/devguide/access.credentials.html#temporary.credentials.IAM) im *Amazon Keyspaces (für Apache Cassandra)-Entwicklerhandbuch*.
+ **Notfallzugriff** – In einer Situation, in der Sie keinen Zugriff auf Ihren Identitätsanbieter haben und in Ihrem AWS-Konto Maßnahmen ergreifen müssen. Die Einrichtung von IAM-Benutzern für den Notfallzugriff kann Teil Ihres Resilienzplans sein. Wir empfehlen Ihnen, die Anmeldeinformationen für den Notfallbenutzer genau zu kontrollieren und sie mit Multi-Faktor-Authentifizierung (MFA) zu sichern.

## Rollenbegriffe und -konzepte
<a name="id_roles_terms-and-concepts"></a>

Im Folgenden finden Sie einige grundlegende Begriffe, die Ihnen bei den ersten Schritten mit Rollen helfen.

****Rolle****  
Eine IAM-Identität, die Sie in Ihrem Konto erstellen können und die über bestimmte Berechtigungen verfügt. Es gibt gewisse Ähnlichkeiten zwischen einer IAM-Rolle und einem IAM-Benutzer. Sowohl Rollen als auch Benutzer sind AWS -Identitäten mit Berechtigungsrichtlinien, die bestimmen, was die Identität in AWS tun kann und was nicht. Eine Rolle ist jedoch nicht einer einzigen Person zugeordnet, sondern kann von allen Personen angenommen werden, die diese Rolle benötigen. Einer Rolle sind außerdem keine standardmäßigen, langfristigen Anmeldeinformationen (Passwörter oder Zugriffsschlüssel) zugeordnet. Wenn Sie eine Rolle übernehmen, erhalten Sie stattdessen temporäre Anmeldeinformationen für Ihre Rollensitzung.  
Rollen können von folgenden Personen übernommen werden:  
+ Ein IAM-Benutzer in demselben AWS-Konto oder einem anderen AWS-Konto
+ IAM-Rollen im selben Konto
+ Dienstprinzipale zur Verwendung mit AWS Diensten und Funktionen wie:
  + Dienste, mit denen Sie Code auf Rechendiensten ausführen können, wie Amazon EC2 oder AWS Lambda
  + Features, die in Ihrem Namen Aktionen an Ihren Ressourcen ausführen, wie z. B. die Amazon-S3-Objektreplikation
  + Services, die temporäre Sicherheitsanmeldedaten für Ihre Anwendungen bereitstellen, die außerhalb von ausgeführt werden AWS, wie z. B. IAM Roles Anywhere oder Amazon ECS Anywhere
+ Ein externer Benutzer, der von einem externen Identitätsanbieter (IdP) authentifiziert wurde, der mit SAML 2.0 oder OpenID Connect kompatibel ist

****AWS Servicerolle****  
 Eine Servicerolle ist eine [IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html), die ein Service annimmt, um Aktionen in Ihrem Namen auszuführen. Ein IAM-Administrator kann eine Servicerolle innerhalb von IAM erstellen, ändern und löschen. Weitere Informationen finden Sie unter [Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) im *IAM-Benutzerhandbuch*. 

****AWS Servicebezogene Rolle****  
 Eine dienstbezogene Rolle ist eine Art von Servicerolle, die mit einer verknüpft ist. AWS-Service Der Service kann die Rolle übernehmen, um eine Aktion in Ihrem Namen auszuführen. Dienstbezogene Rollen werden in Ihrem Dienst angezeigt AWS-Konto und gehören dem Dienst. Ein IAM-Administrator kann die Berechtigungen für Service-verknüpfte Rollen anzeigen, aber nicht bearbeiten.   
Wenn Sie einen Service bereits verwenden, wenn er mit der Unterstützung serviceverknüpfter Rollen beginnt, erhalten Sie möglicherweise eine E-Mail zur Benachrichtigung über die neue Rolle in Ihrem Konto. In diesem Fall erstellt der Service die serviceverknüpfte Rolle automatisch in Ihrem Konto. Sie müssen keine Aktion zum Unterstützen dieser Rolle durchführen und Sie sollten sie nicht manuell löschen. Weitere Informationen finden Sie unter [In meinem AWS Konto wurde eine neue Rolle angezeigt](troubleshoot_roles.md#troubleshoot_roles_new-role-appeared).
Informationen darüber, welche Services die Verwendung von serviceverknüpften Rollen unterstützen, finden Sie unter [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md). Suchen Sie nach den Services, für die **Ja** in der Spalte **Serviceverknüpfte Rolle** angegeben ist. Wählen Sie über einen Link **Ja** aus, um die Dokumentation zu einer serviceverknüpften Rolle für diesen Service anzuzeigen. Weitere Informationen finden Sie unter [Erstellen einer serviceverknüpften Rolle](id_roles_create-service-linked-role.md).

****Verketten von Rollen****  
Das Verketten von Rollen tritt auf, wenn Sie eine Rolle verwenden, um eine zweite Rolle anzunehmen. Sie können die Rollenverkettung über die oder die AWS-Managementkonsole API durchführen, indem Sie die AWS CLI Rollen wechseln. Zum Beispiel: `RoleA` verfügt über die Berechtigung `RoleB` anzunehmen. Sie können Benutzer1 die Übernahme ermöglichen, `RoleA` indem Sie ihre langfristigen Benutzeranmeldedaten im AssumeRole API-Vorgang verwenden. Diese gibt die kurzfristigen Anmeldeinformationen von `RoleA` zurück. Für das Verketten von Rollen können Sie die kurzfristigen Anmeldeinformationen von `RoleA` verwenden, um User1 zu ermöglichen `RoleB` anzunehmen.  
Wenn Sie eine Rolle übernehmen, können Sie ein Sitzungs-Tag übergeben und dieses als transitiv festlegen. Transitive Sitzungs-Tags werden an alle nachfolgenden Sitzungen in einer Rollenkette übergeben. Weitere Informationen zu Sitzungs-Tags finden Sie unter [Sitzungs-Tags übergeben AWS STS](id_session-tags.md).  
Durch die Rollenverkettung wird Ihre AWS-Managementkonsole Rollensitzung AWS CLI oder Ihre AWS API-Rollensitzung auf maximal eine Stunde begrenzt. Das gilt unabhängig von der für einzelne Rollen konfigurierten maximalen Sitzungsdauer. Wenn Sie den [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API-Vorgang verwenden, um eine Rolle anzunehmen, können Sie die Dauer Ihrer Rollensitzung mit dem `DurationSeconds` Parameter angeben. Sie können einen Parameterwert von bis zu 43200 Sekunden (12 Stunden) angeben, abhängig von der Einstellung [maximale Sitzungsdauer](id_roles_update-role-settings.md#id_roles_update-session-duration) für Ihre Rolle. Wenn Sie eine Rolle durch Verkettung übernehmen und für den Parameter `DurationSeconds` einen Wert größer als eine Stunde angeben, schlägt die Operation jedoch fehl.  
Hinweise zum Wechseln zu einer Rolle in der AWS-Managementkonsole finden Sie unter[Von einem Benutzer zu einer IAM-Rolle wechseln (Konsole)](id_roles_use_switch-role-console.md).

****Delegierung****  
Die Erteilung von Berechtigungen für jemanden, um den Zugriff auf Ressourcen zu gewähren, die Sie kontrollieren. Die Delegierung beinhaltet die Einrichtung einer Vertrauensstellung zwischen zwei Konten. Das erste Konto ist Eigentümer der Ressource (das vertrauensvolle Konto). Das zweite Konto enthält die Benutzer, die auf die Ressource zugreifen müssen (das vertrauenswürdige Konto). Die vertrauenswürdigen und vertrauensvollen Konten können Folgende sein:  
+ Das gleiche Konto.
+ Separate Konten, die beide von Ihrer Organisation kontrolliert werden.
+ Zwei Konten im Besitz von unterschiedlichen Organisationen.
Zum Delegieren einer Berechtigung für den Zugriff auf eine Ressource [erstellen Sie eine IAM-Rolle](id_roles_create_for-user.md) im vertrauenden Konto, der zwei Richtlinien angefügt sind. Die *Berechtigungsrichtlinie* erteilt dem Benutzer der Rolle die erforderlichen Berechtigungen zum Ausführen der vorgesehenen Aufgaben auf der Ressource. Die *Vertrauensrichtlinie* gibt an, welche vertrauenswürdigen Kontomitglieder die Rolle übernehmen dürfen.  
Wenn Sie eine Vertrauensrichtlinie erstellen, können Sie keinen Platzhalter (\$1) als Teil eines ARN im Prinzipalelement angeben. Die Vertrauensrichtlinie ist an die Rolle im vertrauenden Konto angefügt und eine Hälfte der Berechtigungen. Die andere Hälfte ist eine Berechtigungsrichtlinie, die dem Benutzer im vertrauenswürdigen Konto angefügt ist und [zulässt, dass ein Benutzer zur Rolle wechselt bzw. diese übernimmt](id_roles_use_permissions-to-switch.md). Ein Benutzer, der eine Rolle übernimmt, gibt vorübergehend seine eigenen Berechtigungen auf und übernimmt stattdessen die Berechtigungen der Rolle. Wenn der Benutzer die Rolle beendet oder nicht mehr verwendet, werden die ursprünglichen Benutzerberechtigungen wiederhergestellt. Ein zusätzlicher Parameter namens [external ID](id_roles_common-scenarios_third-party.md#id_roles_third-party_external-id) kann helfen, die sichere Verwendung von Rollen zwischen Konten sicherzustellen, die nicht von der gleichen Organisation kontrolliert werden.

****Vertrauensrichtlinie****  
Ein [JSON-Richtliniendokument](reference_policies_grammar.md), in dem Sie die Auftraggeber definieren, denen Sie es *anvertrauen*, die Rolle zu übernehmen. Eine Rollenvertrauensrichtlinie ist eine erforderliche [ressourcenbasierte Richtlinie](access_policies.md#policies_resource-based) die einer Rolle in IAM angefügt ist. Zu den [Auftraggeber](reference_policies_elements_principal.md), die Sie in der Vertrauensrichtlinie angeben können, gehören Benutzer, Rollen, Konten und Services. Weitere Informationen finden Sie unter [Verwendung von Vertrauensrichtlinien in IAM-Rollen](https://aws.amazon.com/blogs//security/how-to-use-trust-policies-with-iam-roles/) im *AWS -Blog zum Thema Sicherheit*.

****Rolle für kontoübergreifenden Zugriff****  
Eine Rolle gewährt Ressourcen in einem Konto Zugriff auf einen vertrauenswürdigen Auftraggeber in einem anderen Konto. Rollen stellen die primäre Möglichkeit dar, um kontoübergreifendem Zugriff zu gewähren. Bei einigen AWS Diensten können Sie jedoch eine Richtlinie direkt an eine Ressource anhängen (anstatt eine Rolle als Proxy zu verwenden). Diese werden als ressourcenbasierte Richtlinien bezeichnet und Sie können sie verwenden, um anderen Benutzern AWS-Konto Zugriff auf die Ressource zu gewähren. Einige dieser Ressourcen umfassen Amazon-S3-Buckets (Simple Storage Service), Amazon Glacier Tresore, Amazon-SNS-Themen (Simple Notification Service) und Amazon-SQS-Warteschlangen (Simple Queue Service). Weitere Informationen darüber, welche Services ressourcenbasierte Richtlinien unterstützen, finden Sie unter [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md). Weitere Informationen zu ressourcenbasierten Richtlinien finden Sie unter [Kontoübergreifender Zugriff auf Ressourcen in IAM](access_policies-cross-account-resource-access.md).

## Weitere Ressourcen
<a name="id_roles_additional-resources"></a>

Mithilfe der folgenden Ressourcen erfahren Sie mehr über die IAM-Terminologie im Zusammenhang mit IAM-Rollen.
+ **Principals** sind Entitäten AWS , die Aktionen ausführen und auf Ressourcen zugreifen können. Ein Principal kann ein Root-Benutzer des AWS-Kontos, ein IAM-Benutzer oder eine Rolle sein. Ein Principal, der die Identität eines AWS Dienstes repräsentiert, ist ein [Dienstprinzipal](reference_policies_elements_principal.md#principal-services). Verwenden Sie das Prinzipal-Element in Vertrauensrichtlinien für Rollen, um die Prinzipale zu definieren, denen Sie die Übernahme der Rolle anvertrauen.

   Weitere Informationen und Beispiele zu Prinzipale, denen Sie die Übernahme einer Rolle erlauben können, finden Sie unter [AWS JSON-Richtlinienelemente: Principal](reference_policies_elements_principal.md). 
+ Ein **Identitätsverbund** schafft eine Vertrauensbeziehung zwischen einem externen Identitätsanbieter und AWS. Sie können Ihren vorhandenen Anbieter für OpenID Connect (OIDC) oder Security Assertion Markup Language (SAML) 2.0 verwenden, um zu verwalten, wer auf AWS -Ressourcen zugreifen kann. Wenn Sie OIDC und SAML 2.0 verwenden, um eine Vertrauensbeziehung zwischen diesen externen Identitätsanbietern und zu konfigurieren AWS , wird dem Benutzer eine IAM-Rolle zugewiesen. Der Benutzer erhält auch temporäre Anmeldeinformationen, die ihm den Zugriff auf Ihre AWS -Ressourcen ermöglichen.

  Weitere Informationen zu Verbundprinzipalen finden Sie unter [Identitätsanbieter und Verbund zu AWS](id_roles_providers.md).
+ **Verbundprinzipale** sind vorhandene Identitäten aus Ihrem Unternehmensbenutzerverzeichnis oder einem Directory Service OIDC-Anbieter. AWS [weist einem Verbundprinzipal eine Rolle zu, wenn der Zugriff über einen Identitätsanbieter angefordert wird.](id_roles_providers.md)

  Weitere Informationen zu den SAML- und OIDC-Verbundprinzipalen finden Sie unter [Verbundbenutzersitzungen und Rollen](introduction_access-management.md#intro-access-roles).
+ **Berechtigungsrichtlinien** sind identitätsbasierte Richtlinien, die definieren, welche Aktionen und Ressourcen die Rolle verwenden kann. Das Dokument wird entsprechend den Regeln der IAM-Richtliniensprache geschrieben. 

  Weitere Informationen finden Sie unter [IAM-JSON-Richtlinienreferenz](reference_policies.md).
+ **Berechtigungsgrenzen** sind ein erweitertes Feature, bei dem Sie Richtlinien verwenden, um die maximalen Berechtigungen einzuschränken, die eine identitätsbasierte Richtlinie einer Rolle gewähren kann. Sie können eine Berechtigungsgrenze nicht auf eine servicegebundene Rolle anwenden.

  Weitere Informationen finden Sie unter [Berechtigungsgrenzen für IAM-Entitäten](access_policies_boundaries.md).

# Das Confused-Deputy-Problem
<a name="confused-deputy"></a>

Das Problem des verwirrten Stellvertreters ist ein Sicherheitsproblem, bei dem eine Entität, die keine Berechtigung zur Durchführung einer Aktion hat, eine privilegiertere Entität zur Durchführung der Aktion zwingen kann. Um dies zu verhindern, AWS stellt Tools bereit, die Ihnen helfen, Ihr Konto zu schützen, wenn Sie Dritten (bekannt als *kontoübergreifender* Zugriff) oder anderen AWS Diensten (bekannt als *dienstübergreifender* Zugriff) Zugriff auf Ressourcen in Ihrem Konto gewähren.

Manchmal müssen Sie möglicherweise einer dritten Partei Zugriff auf Ihre AWS Ressourcen gewähren (Delegiertenzugriff). Sie entscheiden sich beispielsweise dafür, ein Drittanbieter namens Example Corp mit der Überwachung Ihrer Kosten AWS-Konto und der Kostenoptimierung zu beauftragen. Um Ihre täglichen Ausgaben verfolgen zu können, muss Example Corp auf Ihre AWS Ressourcen zugreifen. Example Corp überwacht zudem viele weitere AWS-Konten anderer Kunden. Sie können eine IAM-Rolle verwenden, um eine vertrauenswürdige Beziehung zwischen Ihrem Konto AWS-Konto und dem Example Corp-Konto aufzubauen. Ein wichtiger Faktor hierbei ist die *externe ID*, eine optionale Kennung, mit der Sie in Vertrauensrichtlinien von IAM-Rollen festlegen können, wer die Rolle übernehmen kann. Die Hauptfunktion des externen Ausweises besteht darin, das Problem des verwirrten Stellvertreters zu lösen und zu verhindern.

Einige AWS Dienste (Aufrufdienste) verwenden ihren AWS Dienstprinzipal, um auf AWS Ressourcen anderer AWS Dienste (sogenannte Dienste) zuzugreifen. Bei einigen dieser Dienstinteraktionen können Sie Anrufdienste so konfigurieren, dass sie mit den Ressourcen eines aufgerufenen Dienstes in einem anderen Dienst kommunizieren AWS-Konto. Ein Beispiel hierfür ist die Konfiguration AWS CloudTrail , um in einen zentralen Amazon S3 S3-Bucket zu schreiben, der sich in einem anderen befindet AWS-Konto. Dem aufrufenden Dienst CloudTrail wird mithilfe der Richtlinie des S3-Buckets Zugriff auf Ihren S3-Bucket gewährt, indem eine Allow-Anweisung für hinzugefügt wird`cloudtrail.amazonaws.com`.

Wenn ein AWS Dienstprinzipal von einem aufrufenden Dienst auf eine Ressource von einem aufgerufenen Dienst zugreift, autorisiert die Ressourcenrichtlinie des aufgerufenen Dienstes nur den AWS Dienstprinzipal und nicht den Akteur, der den aufrufenden Dienst konfiguriert hat. Beispielsweise könnte ein S3-Bucket, der dem CloudTrail Service Principal ohne Bedingungen vertraut, CloudTrail Logs von dem empfangen AWS-Konten , den ein vertrauenswürdiger Administrator konfiguriert hat, aber auch CloudTrail Logs von einem nicht autorisierten Akteur in seinem Bucket AWS-Konto, sofern dieser den Namen des S3-Buckets kennt.

Das Problem des verwirrten Stellvertreters entsteht, wenn ein Akteur das Vertrauen des Dienstprinzipals eines AWS Dienstes nutzt, um Zugriff auf Ressourcen zu erhalten, auf die er eigentlich keinen Zugriff haben sollte.

## Vermeidung des Problems des verwirrten Stellvertreters (kontoübergreifend)
<a name="mitigate-confused-deputy"></a>

In der nachfolgenden Abbildung wird das verwirrte Stellvertreter-Problem dargestellt.

![\[Beschreibung eines Problems des verwirrten Stellvertreters\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/confuseddeputyproblem2.png)


In diesem Szenario wird von Folgendem ausgegangen:
+ **AWS 1** ist dein AWS-Konto.
+ **AWS 1: ExampleRole** ist eine Rolle in Ihrem Konto. Über die Vertrauensrichtlinie dieser Rolle wird das AWS -Konto von Example Corp angegeben und kann somit die Rolle übernehmen.

Es passiert Folgendes:

1. Wenn Sie beginnen, den Service von Example Corp zu nutzen, geben Sie den ARN **AWS 1: ExampleRole** an Example Corp.

1. Example Corp verwendet diesen Rollen-ARN, um temporäre Sicherheitsanmeldeinformationen für den Zugriff auf Ressourcen in Ihrem zu erhalten AWS-Konto. Sie machen Example Corp also zu Ihrem "Stellvertreter", der in Ihrem Namen handeln darf.

1. Ein anderer AWS Kunde beginnt ebenfalls, den Service von Example Corp zu nutzen, und dieser Kunde stellt auch den ARN **AWS 1 zur Verfügung: ExampleRole** für Example Corp zur Nutzung. Vermutlich hat der andere Kunde die **AWS 1:** gelernt oder erratenExampleRole, was kein Geheimnis ist.

1. Wenn der andere Kunde Example Corp bittet, auf AWS Ressourcen in seinem Konto zuzugreifen (was es vorgibt), verwendet Example Corp **AWS 1:**, ExampleRole um auf Ressourcen in Ihrem Konto zuzugreifen.

So kann der andere Kunde unautorisiert Zugriff auf Ihre Ressourcen erlangen. Da der Kunde Example Corp dahingehend manipuliert hat, unwissentlich auf Ihre Ressourcen zuzugreifen, ist Beispielunternehmen nun ein "verwirrter Stellvertreter".

Example Corp vermeidet dieses Problem zum Beispiel, indem sie verlangt, in der Vertrauensrichtlinie der Rolle eine `ExternalId`-Bedingungsprüfung aufzunehmen. Example Corp generiert zum Beispiel einen einzigartigen`ExternalId`-Wert für jeden Kunden und verwendet diesen Wert in seiner Anforderung, um die Rolle zu übernehmen. Der `ExternalId`-Wert muss unter den Kunden von Example Corp eindeutig sein und von Example Corp kontrolliert werden, nicht von seinen Kunden. Deshalb erhalten Sie diese ID auch von Example Corp und können sie nicht selbst erstellen. Dadurch wird verhindert, dass Example Corp ein verwirrter Stellvertreter ist und Zugriff auf die AWS Ressourcen eines anderen Kontos gewährt.

Stellen Sie sich in unserem Szenario vor, dass Ihre eindeutige ID beim Example Corp 12345 lautet und die ID des anderen Kunden 67890. Die IDs sind für dieses Szenario vereinfacht. Im Allgemeinen sind diese Identifikatoren. GUIDs Angenommen, diese IDs sind innerhalb des Kundenstamms von Example Corp eindeutig und es handelt sich um sinnvolle externe ID-Werte. 

Example Corp teilt Ihnen den externen ID-Wert 12345 mit. Sie fügen nun ein `Condition`-Element zur Vertrauensrichtlinie der Rolle hinzu, dessen [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#condition-keys-sts](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#condition-keys-sts)-Wert 12345 lauten muss. Beispiel:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Principal": {
      "AWS": "Example Corp's AWS Account ID"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
      "StringEquals": {
        "sts:ExternalId": "12345"
      }
    }
  }
}
```

------

Das Condition-Element in dieser Richtlinie ermöglicht es Example Corp, die Rolle nur zu übernehmen, wenn der AssumeRole API-Aufruf den externen ID-Wert 12345 enthält. Example Corp stellt sicher, dass jedes Mal, wenn es eine Rolle im Namen eines Kunden übernimmt, immer den externen ID-Wert dieses Kunden in den AssumeRole Anruf mit einbezieht. Selbst wenn ein anderer Kunde Example Corp Ihren ARN zur Verfügung stellt, kann er nicht kontrollieren, welche externe ID Example Corp in seiner Anfrage an Example Corp angibt AWS. So wird verhindert, dass nicht autorisierte Kunden Zugriff auf Ihre Ressourcen erhalten.

Das folgende Diagramm verdeutlicht dieses Konzept.

![\[Vermeiden des Problems des verwirrten Stellvertreters\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/confuseddeputymitigation2.png)


1. Wenn Sie den Service von Example Corp nutzen, geben Sie wie bisher den ARN **AWS 1: ExampleRole** an Example Corp. weiter.

1.  Wenn Example Corp diesen Rollen-ARN verwendet, um die Rolle **AWS 1:** anzunehmenExampleRole, nimmt Example Corp Ihre externe ID (12345) in den AssumeRole API-Aufruf auf. Die externe ID entspricht der Vertrauensrichtlinie der Rolle, sodass der AssumeRole API-Aufruf erfolgreich ist und Example Corp temporäre Sicherheitsanmeldedaten für den Zugriff auf Ressourcen in Ihrem erhält. AWS-Konto

1. Ein anderer AWS Kunde beginnt ebenfalls, den Service von Example Corp zu nutzen, und wie zuvor stellt dieser Kunde auch den ARN von **AWS 1 zur Verfügung: ExampleRole** für Example Corp zur Nutzung. 

1. Aber dieses Mal, wenn Example Corp versucht, die Rolle **AWS 1:** anzunehmenExampleRole, gibt es die externe ID an, die dem anderen Kunden zugeordnet ist (67890). Der andere Kunde hat keinen Einfluss darauf. Example Corp gibt dies an, da die Anforderung zur Verwendung der Rolle von dem anderen Kunden stammte und 67890 somit die Umstände angibt, unter denen Example Corp handelt. Da Sie der Vertrauensrichtlinie **AWS 1:** eine Bedingung mit Ihrer eigenen externen ID (12345) hinzugefügt habenExampleRole, schlägt der AssumeRole API-Aufruf fehl. Der andere Kunde wird daran gehindert, unbefugten Zugriff auf Ressourcen in Ihrem Konto zu erhalten (gekennzeichnet durch das rote "X" in der Grafik).

Die externe ID verhindert, dass andere Kunden Example Corp manipuliert, und unwissentlich Zugriff auf Ihre Ressourcen gewährt. 

## Vermeidung des Problems des verwirrten Stellvertreters (dienstübergreifend)
<a name="cross-service-confused-deputy-prevention"></a>

Das folgende Diagramm veranschaulicht das dienstübergreifende Confused Deputy Problem anhand des Interaktionsbeispiels CloudTrail und Amazon S3, bei dem ein nicht autorisierter Akteur CloudTrail Protokolle in einen Amazon S3 S3-Bucket schreibt, auf den er nicht zugreifen darf.

![\[Einem nicht autorisierten Akteur wird mithilfe des CloudTrail Service Principals Zugriff auf einen Amazon S3 S3-Bucket in einem anderen Konto gewährt.\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/cross-service-confused-deputy1.png)


Um zu verhindern, dass ein unberechtigter Akteur das Vertrauen eines AWS Auftraggebers ausnutzt, um sich Zugriff auf Ihre Ressourcen zu verschaffen, geben AWS Service Principals Informationen über die AWS Ressource und die AWS Organisation an AWS-Konto, für die sie handeln.

Diese Informationen sind in globalen Zustandsschlüsselwerten verfügbar, die in einer Ressourcenrichtlinie oder einer Ressourcenkontrollrichtlinie für Anfragen von AWS Service Principals verwendet werden können. Wir empfehlen[aws:SourceArn](reference_policies_condition-keys.md#condition-keys-sourcearn),, [aws:SourceAccount](reference_policies_condition-keys.md#condition-keys-sourceaccount)[aws:SourceOrgID](reference_policies_condition-keys.md#condition-keys-sourceorgid), oder [aws:SourceOrgPaths](reference_policies_condition-keys.md#condition-keys-sourceorgpaths) in Ihren Ressourcenrichtlinien zu verwenden, wenn einem AWS Service Principal die Erlaubnis erteilt wurde, auf eine Ihrer Ressourcen zuzugreifen. Mit diesen Bedingungsschlüsseln können Sie in Ihren Ressourcen- oder Ressourcensteuerungsrichtlinien testen, ob AWS Service Principals, die auf Ihre Ressourcen zugreifen, dies im Namen von AWS Ressourcen tun AWS-Konten, oder ob AWS Organizations Sie es erwarten.
+ Verwenden Sie diese Option`aws:SourceArn`, um einem AWS Service Principal den Zugriff auf Ihre Ressourcen im Namen einer bestimmten Ressource zu ermöglichen, z. B. einer bestimmten AWS CloudTrail Route oder AppStream Flotte.
+ Wird verwendet`aws:SourceAccount`, um einem AWS Service Principal den Zugriff auf Ihre Ressourcen im Namen einer bestimmten Person zu ermöglichen AWS-Konto.
+ Wird verwendet`aws:SourceOrgID`, um einem AWS Service Principal den Zugriff auf Ihre Ressourcen im Namen eines bestimmten Benutzers zu ermöglichen AWS Organizations.
+ Wird verwendet`aws:SourceOrgPaths`, um AWS Service Principal den Zugriff auf Ihre Ressourcen für einen bestimmten AWS Organizations Pfad zu ermöglichen.

Das folgende Diagramm zeigt das dienstübergreifende Szenario „Confused Deputy“, wenn eine Ressource mit dem `aws:SourceAccount` globalen Bedingungskontextschlüssel konfiguriert ist und ein nicht autorisierter Akteur aus einem anderen Konto versucht, auf AWS Ressourcen zuzugreifen, auf die er keinen Zugriff haben soll.

![\[Einem nicht autorisierten Akteur wird mithilfe des CloudTrail Service Principals der Zugriff auf einen Amazon S3 S3-Bucket in einem anderen Konto verweigert.\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/cross-service-confused-deputy2.png)


Mit der Verwendung der globalen Bedingungsschlüssel `aws:SourceArn`, `aws:SourceAccount`, `aws:SourceOrgID` und `aws:SourceOrgPaths` in einer Richtlinie können Sie sicherstellen, dass Service-Prinzipale in Ihrem Namen auf Ihre Ressourcen zugreifen. Wir empfehlen, diese Bedingungsschlüssel immer dann zu verwenden, wenn einem AWS Service Principal Zugriff auf eine Ihrer Ressourcen gewährt wird. 

**Anmerkung**  
Bei einigen AWS-Service Interaktionen gibt es zusätzliche Kontrollmöglichkeiten, um vor dienstübergreifenden Problemen mit verwirrten Stellvertretern zu schützen, die den Benutzerzugriff auf eine Ressource testen. Wenn beispielsweise eine KMS-Schlüsselzuweisung an einen ausgestellt wird AWS-Service, AWS KMS verwendet der Verschlüsselungskontext, der mit der Ressource verknüpft ist, und die Schlüsselzuweisung zum Schutz vor dienstübergreifenden Problemen mit verwirrtem Stellvertreter.  
Weitere Informationen zu servicespezifischen Mechanismen, die dazu beitragen, serviceübergreifende Confused-Deputy-Risiken zu vermeiden, sowie zur Unterstützung von `aws:SourceArn`, `aws:SourceAccount`, `aws:SourceOrgID` und `aws:SourceOrgPaths` finden Sie in der Dokumentation der von Ihnen verwendeten Services.

## Serviceübergreifender Confused-Deputy-Schutz mithilfe ressourcenbasierter Richtlinien
<a name="cross-service-confused-deputy-prevention-resource"></a>

Die folgende Beispielrichtlinie gewährt dem Service Principal `cloudtrail.amazonaws.com` Zugriff auf den Amazon S3 S3-Bucket arn:aws:s3: ::amzn-s3-demo-bucket1, nur wenn der Service Principal im Namen von 111122223333 handelt. AWS-Konto 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CloudTrailAclCheck",
            "Effect": "Allow",
            "Principal": {"Service": "cloudtrail.amazonaws.com"},
            "Action": "s3:GetBucketAcl",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                }
            }
        },
        {
            "Sid": "AWSCloudTrailWrite",
            "Effect": "Allow",
            "Principal": {"Service": "cloudtrail.amazonaws.com"},
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/[optionalPrefix]/Logs/myAccountID/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                }
            }
        }
    ]
}
```

------

Diese Beispiel-Bucket-Richtlinie gewährt dem Service Principal nur dann `appstream.amazonaws.com` Zugriff auf das Powershell-Skript examplefile.psh in s3://amzn-s3-demo-bucket2, wenn er im Namen der angegebenen AppStream Amazon-Flotte handelt, indem er den Flottenarn mit angibt. `aws:SourceArn`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "appstream.amazonaws.com"
                ]
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket2/examplefile.psh",
            "Condition": {
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:appstream:us-east-1:111122223333:fleet/ExampleFleetName"
                } 
            }
        }
    ]
}
```

------

## Serviceübergreifender Confused-Deputy-Schutz mithilfe von Ressourcen-Kontrollrichtlinien
<a name="cross-service-confused-deputy-prevention-resource-control"></a>

Mithilfe von Resource Control Policies (RCP) können Sie dienstübergreifende Confused Deputy Controls auf unterstützte Ressourcen anwenden. AWS-Services RCPs ermöglichen es Ihnen, dienststellenübergreifende Kontrollen für verwirrte Stellvertreter zentral auf Ihre Ressourcen anzuwenden. Sie können Bedingungsschlüssel verwenden AWS Organizations, die `aws:SourceOrgId` an Ihre Organisationseinheiten (OU) oder AWS-Konten in Ihrer Organisation RCPs angehängt sind, ohne bestimmte ressourcenbasierte Richtlinien `aws:SourceOrgPaths` mit Anweisungen versehen zu müssen. Weitere Informationen zu RCPs und unterstützten Diensten finden Sie unter [Richtlinien zur Ressourcenkontrolle (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) im *AWS Organizations Benutzerhandbuch*.

Im folgenden Beispiel verweigert RCP AWS Service Principals den Zugriff auf Amazon S3 S3-Buckets in Ihren Mitgliedskonten, wenn der Wert ungleich o- `aws:SourceOrgID` ist. ExampleOrg In der ressourcenbasierten Richtlinie des S3-Buckets muss eine entsprechende Zulassung enthalten sein, damit AWS-Service Prinzipale mit einem Wert gleich o- zugelassen werden können. `SourceOrgID` ExampleOrg

Diese Richtlinie wendet die Steuerung nur auf Anfragen von Service-Prinzipalen (`"Bool": {"aws:PrincipalIsAWSService": "true"}`) an, bei denen der Schlüssel `aws:SourceAccount` vorhanden ist (`"Null": {"aws:SourceAccount": "false"}`), sodass Service-Integrationen, für die die Verwendung des Bedingungsschlüssels nicht erforderlich ist, und Aufrufe Ihrer Prinzipale nicht betroffen sind. Wenn der Bedingungsschlüssel `aws:SourceAccount` im Anfragekontext vorhanden ist, wird die Null-Bedingung als wahr ausgewertet, wodurch `aws:SourceOrgID` erzwungen wird. Wir verwenden `aws:SourceAccount` anstelle von `aws:SourceOrgID` im Null-Bedingungsoperator, sodass die Kontrolle auch dann gilt, wenn die Anfrage von einem Konto stammt, das keiner Organisation angehört.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "RCPEnforceConfusedDeputyProtectionForS3",
      "Effect": "Deny",
      "Principal": "*",
      "Action": [
        "s3:*"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEqualsIfExists": {
          "aws:SourceOrgID": "o-ExampleOrg"
        },
        "Null": {
          "aws:SourceAccount": "false"
        },
        "Bool": {
          "aws:PrincipalIsAWSService": "true"
        }
      }
    }
  ]
}
```

------

# Gängige Szenarien für IAM-Rollen
<a name="id_roles_common-scenarios"></a>

Wie bei den meisten AWS Funktionen haben Sie generell zwei Möglichkeiten, eine Rolle zu verwenden: interaktiv in der IAM-Konsole oder programmgesteuert mit den AWS CLI Tools für Windows PowerShell oder der API.
+ IAM-Benutzer in Ihrem Konto können mithilfe der IAM-Konsole eine Rolle *wechseln*, um vorübergehend die Berechtigungen der Rolle in der Konsole zu verwenden. Die Benutzer verlieren ihre ursprünglichen Berechtigungen und übernehmen die Berechtigungen der zugewiesenen Rolle. Wenn der Benutzer die Rolle verlässt, werden die ursprünglichen Berechtigungen wiederhergestellt.
+ Eine Anwendung oder ein Service, der von AWS (wie Amazon EC2) angeboten wird, kann eine Rolle *übernehmen*, indem sie temporäre Sicherheitsanmeldedaten für eine Rolle anfordert, an die programmatische Anfragen gestellt werden können. AWS Wenn Sie eine Rolle auf diese Weise verwenden, müssen Sie keine langfristigen Anmeldeinformationen für jede Entität teilen oder pflegen (indem Sie beispielsweise einen IAM-Benutzer erstellen), die Zugriff auf eine Ressource benötigt.

**Anmerkung**  
In diesem Handbuch stellen die Ausdrücke *zu einer Rolle wechseln* und *eine Rolle übernehmen* Synonyme dar.

Die einfachste Möglichkeit zur Verwendung von Rollen besteht darin, Ihren IAM-Benutzern Berechtigungen zum Wechseln der Rollen zu gewähren, die Sie in Ihrem oder einem anderen AWS-Konto erstellen. Sie können Rollen auf einfache Weise mit der IAM-Konsole wechseln, um Berechtigungen zu verwenden, über die die Rollen normalerweise nicht verfügen sollen, und dann die Rolle verlassen, um diese Berechtigungen zu entziehen. So können Sie den *versehentlichen* Zugriff auf oder die Änderung von sensible Ressourcen vermeiden.

Für komplexere Verwendungen von Rollen, z. B. Gewähren des Zugriffs auf externe Anwendungen und Services, rufen Sie das `AssumeRole`-API auf. Dieser API-Aufruf gibt einen Satz temporärer Anmeldeinformationen zurück, die die Anwendung in nachfolgenden API-Aufrufen verwenden kann. Aktionen, die mit den temporären Anmeldeinformationen aufgerufen werden, verfügen nur über die von der zugewiesenen Rolle gewährten Berechtigungen. Eine Anwendung muss die Rolle nicht wie der Benutzer über die Konsole "verlassen". Die Anwendung verwendet einfach nicht mehr die temporären Anmeldeinformationen und führt die Aufrufe nunmehr mit den ursprünglichen Anmeldeinformationen durch.

Verbundbenutzer melden sich mit den Anmeldeinformationen eines Identitätsanbieters (IdP) an. AWS stellt dann dem vertrauenswürdigen IdP temporäre Anmeldeinformationen zur Verfügung, die an den Benutzer weitergegeben werden, damit er sie in nachfolgende AWS Ressourcenanfragen einbezieht. Diese Anmeldeinformationen enthalten die Berechtigungen für die zugewiesene Rolle.

Dieser Abschnitt enthält eine Übersicht über die folgenden Szenarien:
+ [Gewähren Sie einem IAM-Benutzer in einem Konto AWS-Konto , das Sie besitzen, Zugriff auf Ressourcen in einem anderen Konto, das Sie besitzen](id_roles_common-scenarios_aws-accounts.md)
+ [Bereitstellen des Zugriffs auf nicht- AWS -Workloads](id_roles_common-scenarios_non-aws.md)
+ [Gewähren Sie den IAM-Benutzern in AWS-Konten von Dritten Zugriff](id_roles_common-scenarios_third-party.md)
+ [Ermöglichen Sie den Zugriff auf Dienste, die von AWS to AWS resources angeboten werden](id_roles_common-scenarios_services.md)
+ [Gewähren Sie den Zugriff für extern authentifizierte Benutzer (Identitätsverbund)](id_roles_common-scenarios_federated-users.md)

# Zugriff für einen IAM-Benutzer in einem anderen AWS-Konto , den Sie besitzen
<a name="id_roles_common-scenarios_aws-accounts"></a>

Sie können Ihren IAM-Benutzern die Erlaubnis erteilen, zu Rollen innerhalb Ihrer eigenen AWS-Konto oder zu Rollen zu wechseln, die in anderen Rollen definiert sind AWS-Konten , die Ihnen gehören. 

**Anmerkung**  
Wenn Sie den Zugriff auf ein Konto gewähren möchten, das Sie nicht besitzen oder kontrollieren, finden Sie weitere Informationen unter [Zugriff auf AWS-Konten Eigentum Dritter](id_roles_common-scenarios_third-party.md) im weiteren Verlauf in diesem Thema. 

Angenommen, Sie haben Amazon EC2-Instances, die für die Organisation sehr wichtig sind. Statt Benutzern die Berechtigung zu erteilen, solche Instances zu beenden, können Sie eine Rolle mit diesen Berechtigungen erstellen. Erlauben Sie dann den Administratoren, zu jener Rolle zu wechseln, wenn sie eine Instance beenden müssen. Dadurch werden den Instances folgende Schutzebenen hinzugefügt:
+ Sie müssen Ihren Benutzern explizit die Berechtigung zur Übernahme der Rolle erteilen.
+ Ihre Benutzer müssen aktiv zu der Rolle wechseln, indem sie die AWS-Managementkonsole oder AWS API verwenden, AWS CLI oder die Rolle übernehmen.
+ Sie können die Multi-Factor Authentication (MFA) zur Rolle hinzufügen, sodass nur die Benutzer, die sich mit einem MFA-Gerät anmelden, die Rolle übernehmen können. Weitere Informationen dazu, wie Sie eine Rolle konfigurieren, sodass von den Benutzern, die die Rolle übernehmen müssen, zunächst eine Multi-Factor Authentication (MFA) verlangt wird, finden Sie unter [Sicherer API-Zugriff mit MFA](id_credentials_mfa_configure-api-require.md).

Wir empfehlen diese Herangehensweise, um das das *Prinzip der geringsten Zugriffsrechte* durchzusetzen. Das bedeutet, dass erweiterte Berechtigungen nur in Zeiten gewährt werden, in denen diese zur Durchführung bestimmter Aufgaben benötigt werden. Mit den Rollen können Sie versehentliche Änderungen an sensiblen Umgebungen verhindern, vor allem in Verbindung mit der [-Überwachung](cloudtrail-integration.md), um sicherzustellen, dass Rollen nur bei Bedarf verwendet werden.

Wenn Sie eine Rolle für diesen Zweck erstellen, geben Sie in der Vertrauensrichtlinie der Rolle im `Principal`-Element die IDs der Konten an, für deren Benutzer Sie Zugriffsberechtigungen erteilen müssen. Anschließend können Sie bestimmten Benutzern in den anderen Konten Berechtigungen erteilen, um zu dieser Rolle zu wechseln. Informationen darüber, ob Auftraggeber in Konten außerhalb Ihrer Vertrauenszone (vertrauenswürdige Organisation oder Konto) Zugriff zur Annahme Ihrer Rollen haben, finden Sie unter [Was ist IAM Access Analyzer?](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html).

Ein Benutzer in einem Konto kann zu einer Rolle in demselben oder einem anderen Konto wechseln. Während die Rolle verwendet wird, können die Benutzer nur die Aktionen durchführen und auf die Ressourcen zugreifen, die von der Rolle zugelassen sind. Die ursprünglichen Berechtigungen der Benutzer sind ausgesetzt. Wenn der Benutzer die Rolle verlässt, werden die ursprünglichen Benutzerberechtigungen wiederhergestellt.

## Beispielszenario mit getrennten Entwicklungs- und Produktionskonten
<a name="id_roles_common-scenarios_aws-accounts-example"></a>

Stellen Sie sich vor, Ihr Unternehmen verfügt über mehrere AWS-Konten , um eine Entwicklungsumgebung von einer Produktionsumgebung zu isolieren. Benutzer im Entwicklungskonto müssen gelegentlich auf Ressourcen im Produktionskonto zugreifen. Sie benötigen beispielsweise kontoübergreifenden Zugriff, wenn Sie ein Update aus der Entwicklungsumgebung in die Produktionsumgebung übernehmen wollen. Auch wenn Sie verschiedene Identitäten (und Passwörter) für die Benutzer, die in beiden Konten arbeiten, erstellen könnten, erschwert das Verwalten von Anmeldeinformationen für mehrere Konten die Identitätsverwaltung. In der folgenden Abbildung werden alle Benutzer im Development-Konto verwaltet. Einige Entwickler benötigen jedoch eingeschränkten Zugriff auf das Production-Konto. Das Development-Konto verfügt über zwei Gruppen: Tester und Entwickler und jede Gruppe hat ihre eigene Richtlinie.

![\[Verwenden Sie eine Rolle zum Delegieren von Berechtigungen für einen Benutzer in einem anderen Konto\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/roles-usingroletodelegate.png)


1. Im Produktionskonto verwendet ein Administrator IAM, um die `UpdateApp`-Rolle in diesem Konto zu erstellen. Der Administrator definiert in der Rolle eine Vertrauensrichtlinie, in der das Development-Konto als `Principal` angegeben wird, was bedeutet, dass autorisierte Benutzer aus dem Development-Konto die Rolle `UpdateApp` verwenden dürfen. Der Administrator definiert auch eine Berechtigungsrichtlinie für die Rolle, die festlegt, welche Rollenbenutzer Lese- und Schreibberechtigungen für den Amazon S3`productionapp`-Bucket namens erhalten.

   Der Administrator gibt die entsprechenden Informationen dann an Benutzer weiter, die die Rolle übernehmen müssen. Diese Informationen sind die Kontonummer und der Name der Rolle (für AWS Konsolenbenutzer) oder der Amazon-Ressourcenname (ARN) (für AWS CLI unseren AWS API-Zugriff). Der Rollen-ARN könnte wie `arn:aws:iam::123456789012:role/UpdateApp` aussehen, wobei die Rolle `UpdateApp` benannt ist und die Rolle unter der Kontonummer 123456789012 erstellt wurde.
**Anmerkung**  
Der Administrator kann optional die Rolle konfigurieren, sodass von den Benutzern, die die Rolle übernehmen müssen, zunächst eine Multi-Factor Authentication (MFA) verlangt wird. Weitere Informationen finden Sie unter [Sicherer API-Zugriff mit MFA](id_credentials_mfa_configure-api-require.md). 

1. Der Administrator gewährt den Mitgliedern der Entwicklergruppe im Entwicklungskonto die Berechtigungen, um zur betreffenden Rolle wechseln zu können. Dazu wird der Entwicklergruppe die Erlaubnis erteilt, die AWS -Security-Token-Service (AWS STS) `AssumeRole` -API für die `UpdateApp` Rolle aufzurufen. Alle IAM-Benutzer der Entwickler-Gruppe im Development-Konto können nun zur Rolle `UpdateApp` im Production-Konto wechseln. Andere Benutzer, die sich nicht in der Entwickler-Gruppe befinden, haben keine Berechtigung, um zur Rolle zu wechseln, und sind folglich nicht in der Lage, auf den S3-Bucket im Production-Konto zuzugreifen.

1. Der Benutzer fordert den Wechsel zur Rolle an:
   + AWS Konsole: Der Benutzer wählt den Kontonamen in der Navigationsleiste und wählt „**Rolle wechseln**“. Der Benutzer gibt die Konto-ID (oder Alias) und den Namen der Rolle an. Alternativ kann der Benutzer auf einen Link in der vom Administrator gesendeten E-Mail klicken. Der Link leitet den Benutzer zur Seite **Switch Role (Rolle wechseln)** weiter, in der die Details bereits ausgefüllt sind.
   + AWS API/AWS CLI: Ein Benutzer in der Gruppe Entwickler des Entwicklungskontos ruft die `AssumeRole` Funktion auf, um Anmeldeinformationen für die `UpdateApp` Rolle abzurufen. Der Benutzer übergibt den ARN der Rolle `UpdateApp` als Teil des Aufrufs. Eine vom Benutzer in der Tester-Gruppe gestellte gleiche Anforderung schlägt fehl, weil die Tester keine Berechtigung zum Aufruf von `AssumeRole` für den ARN der Rolle `UpdateApp` haben.

1. AWS STS gibt temporäre Anmeldeinformationen zurück:
   + AWS Konsole: AWS STS überprüft die Anfrage anhand der Vertrauensrichtlinie der Rolle, um sicherzustellen, dass die Anfrage von einer vertrauenswürdigen Entität stammt (was es ist: das Entwicklungskonto). AWS STS Gibt nach der Überprüfung [temporäre Sicherheitsanmeldedaten](https://docs.aws.amazon.com/STS/latest/UsingSTS/Welcome.html) an die AWS Konsole zurück.
   + API/CLI: AWS STS überprüft die Anfrage anhand der Vertrauensrichtlinie der Rolle, um sicherzustellen, dass die Anfrage von einer vertrauenswürdigen Entität stammt (was es ist: das Entwicklungskonto). AWS STS Gibt nach der Überprüfung [temporäre Sicherheitsanmeldedaten an die Anwendung](https://docs.aws.amazon.com/STS/latest/UsingSTS/Welcome.html) zurück.

1. Die temporären Anmeldeinformationen ermöglichen den Zugriff auf die AWS Ressource:
   + AWS Konsole: Die AWS Konsole verwendet die temporären Anmeldeinformationen im Namen des Benutzers für alle nachfolgenden Konsolenaktionen, in diesem Fall zum Lesen und Schreiben in den `productionapp` Bucket. Die Konsole kann auf keine anderen Ressourcen im Production-Konto zurückgreifen. Wenn der Benutzer die Rolle verlässt, erhält er seine ursprünglichen Berechtigungen, über die er vor dem Wechseln der Rolle verfügt hat, zurück.
   + API/CLI: Die Anwendung verwendet die temporären Anmeldeinformationen, um den Bucket `productionapp` zu aktualisieren. Mit den temporären Sicherheitsanmeldeinformationen kann die Anwendung nur Lese- und Schreibvorgänge im Bucket `productionapp` ausführen und auf keine anderen Ressourcen im Production-Konto zugreifen. Die Anwendung muss die Rolle nicht verlassen, sondern unterlässt stattdessen die Verwendung der temporären Anmeldeinformationen und verwendet in den nachfolgenden API-Aufrufen die ursprünglichen Anmeldeinformationen.

## Weitere Ressourcen
<a name="id_roles_common-scenarios_more-info"></a>

Weitere Informationen finden Sie hier:
+ [IAM-Tutorial: Delegieren Sie den Zugriff über AWS Konten hinweg mithilfe von IAM-Rollen](tutorial_cross-account-with-roles.md)

# Zugriff für AWS Nicht-Workloads
<a name="id_roles_common-scenarios_non-aws"></a>

[Eine [IAM-Rolle](id_roles.md) ist ein Objekt in AWS Identity and Access Management (IAM), dem Berechtigungen zugewiesen wurden.](access_policies.md) Wenn Sie [diese Rolle mit einer IAM-Identität oder einer Identität von außerhalb übernehmen](id_roles_manage-assume.md) AWS, erhalten Sie temporäre Sicherheitsanmeldedaten für Ihre Rollensitzung. Möglicherweise laufen Workloads in Ihrem Rechenzentrum oder einer anderen Infrastruktur außerhalb dieser Infrastruktur AWS , die auf Ihre AWS Ressourcen zugreifen muss. Anstatt langfristige Zugriffsschlüssel zu erstellen, zu verteilen und zu verwalten, können Sie Roles Anywhere (IAM AWS Identity and Access Management Roles Anywhere) verwenden, um Ihre Nicht-Workloads zu authentifizieren. AWS IAM Roles Anywhere verwendet X.509-Zertifikate Ihrer Zertifizierungsstelle (CA), um Identitäten zu authentifizieren und den Zugriff auf sichere Weise AWS-Services mit den temporären Anmeldeinformationen zu ermöglichen, die von einer IAM-Rolle bereitgestellt werden.

**So verwenden Sie IAM Roles Anywhere**

1. Richten Sie eine CA mit [AWS Private Certificate Authority](https://docs.aws.amazon.com/privateca/latest/userguide/PcaWelcome.html) ein oder verwenden Sie eine CA aus Ihrer eigenen PKI-Infrastruktur.

1. Nachdem Sie eine Zertifizierungsstelle eingerichtet haben, erstellen Sie in IAM Roles Anywhere ein Objekt, das *Vertrauensanker* genannt wird. Dieser Anker stellt für die Authentifizierung Vertrauen zwischen IAM Roles Anywhere und Ihrer Zertifizierungsstelle her.

1. Anschließend können Sie Ihre vorhandenen IAM-Rollen konfigurieren oder neue Rollen erstellen, die dem IAM-Roles-Anywhere-Dienst vertrauen.

1. Authentifizieren Sie Ihre AWS Nicht-Workloads mit IAM Roles Anywhere mithilfe des Trust Anchor. AWS gewährt der IAM-Rolle, die Zugriff auf Ihre Ressourcen hat, temporäre Anmeldeinformationen, die keine AWS Workloads sind. AWS 

## Weitere Ressourcen
<a name="id_roles_non-aws_additional_resources"></a>

In den folgenden Ressourcen erfahren Sie mehr über die Bereitstellung des Zugriffs auf Workloads, die nicht von AWS stammen.
+ Weitere Informationen zum Konfigurieren von IAM Roles Anywhere finden Sie unter [Was ist AWS Identity and Access Management Roles Anywhere](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/introduction.html) im *IAM-Roles-Anywhere-Benutzerhandbuch*.
+ Informationen zum Einrichten einer Infrastruktur für öffentliche Schlüssel (PKI) für IAM Roles Anywhere finden Sie unter [IAM Roles Anywhere mit einer externen Zertifizierungsstelle](https://aws.amazon.com/blogs/) im *AWS -Sicherheits-Blog*.

# Zugriff auf AWS-Konten Eigentum Dritter
<a name="id_roles_common-scenarios_third-party"></a>

Wenn Dritte Zugriff auf die AWS Ressourcen Ihrer Organisation benötigen, können Sie Rollen verwenden, um den Zugriff auf diese Ressourcen zu delegieren. Zum Beispiel könnte ein externer Benutzer einen Service zur Verwaltung Ihrer AWS -Ressourcen anbieten. Mit IAM-Rollen können Sie diesen Dritten Zugriff auf Ihre AWS Ressourcen gewähren, ohne Ihre AWS Sicherheitsanmeldedaten weitergeben zu müssen. Stattdessen kann der Drittanbieter auf Ihre AWS Ressourcen zugreifen, indem er eine Rolle übernimmt, die Sie in Ihrem AWS-Konto erstellen. Informationen darüber, ob Auftraggeber in Konten außerhalb Ihrer Vertrauenszone (vertrauenswürdige Organisation oder Konto) Zugriff zur Annahme Ihrer Rollen haben, finden Sie unter [Was ist IAM Access Analyzer?](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html).

Externe Benutzer müssen Ihnen die folgenden Informationen bereitstellen, damit Sie eine von ihnen übernehmbare Rolle erstellen können:
+ **Die AWS-Konto ID des Drittanbieters**. Sie legen diese AWS-Konto -ID als Prinzipal fest, wenn Sie die Vertrauensrichtlinie für die Rolle definieren.
+ **Eine externe ID zur eindeutigen Zuordnung der Rolle**. Die externe ID kann eine beliebige geheime Kennung sein, die Ihnen und dem Drittanbieter bekannt ist. Sie können beispielsweise eine Rechnungs-ID zwischen Ihnen und dem externen Benutzer verwenden. Benutzen Sie aber keine leicht zu erratenden Zeichenfolgen wie den Namen oder die Telefonnummer des externen Benutzers. Sie müssen diese ID festlegen, wenn Sie die Vertrauensrichtlinie für die Rolle definieren. Der externe Benutzer muss diese ID angeben, wenn er die Rolle übernimmt.
+ **Die Berechtigungen, die der externe Benutzer benötigt, um mit Ihren AWS -Ressourcen arbeiten zu können**. Sie müssen diese Berechtigungen festlegen, wenn Sie die Berechtigungsrichtlinie für die Rolle definieren. Diese Richtlinie bestimmt, welche Aktionen der externe Benutzer ausführen darf und auf welche Ressourcen er Zugriff hat.

Nachdem Sie die Rolle erstellt haben, müssen Sie dem externen Benutzer den Amazon Resource Name (ARN) der Rolle mitteilen. Dieser benötigt den ARN der Rolle, um sie übernehmen zu können.

**Wichtig**  
Wenn Sie Dritten Zugriff auf Ihre AWS Ressourcen gewähren, können diese auf jede Ressource zugreifen, die Sie in der Richtlinie angeben. Die vom externen Benutzer genutzten Ressourcen werden Ihnen in Rechnung gestellt. Stellen Sie sicher, dass Sie die Nutzung Ihrer Ressourcen sinnvoll einschränken.

## Extern IDs für den Zugriff durch Dritte
<a name="id_roles_third-party_external-id"></a>

Eine externe ID ermöglicht dem Benutzer, der die Rolle übernimmt, die Umstände anzugeben, unter denen er agiert. Außerdem kann der Kontoinhaber die Umstände festlegen, unter denen die Rolle angenommen werden kann. Die primäre Funktion des externen Ausweises besteht darin, [Das Confused-Deputy-Problem](confused-deputy.md) zu lösen und zu verhindern.

**Wichtig**  
AWS behandelt die externe ID nicht als geheim. Nachdem Sie ein Geheimnis wie ein Zugriffsschlüsselpaar oder ein Passwort erstellt haben AWS, können Sie es nicht erneut anzeigen. Die externe ID für eine Rolle kann von jedem gesehen werden, der berechtigt ist, die Rolle anzusehen. 

## Wann sollte ich die externe ID verwenden?
<a name="external-id-use"></a>

Verwenden Sie in folgenden Situationen eine externe ID:
+ Sie sind AWS-Konto Eigentümer und haben eine Rolle für einen Drittanbieter konfiguriert, der zusätzlich zu Ihrer Rolle AWS-Konten auf andere zugreift. Sie sollten den Dritten um eine externe ID bitten, die er mit angeben muss, wenn er Ihre Rolle annimmt. Dann führen Sie eine Prüfung durch, um zu testen, ob diese externe ID in der Vertrauensrichtlinie Ihrer Rolle vorhanden ist. Auf diese Weise wird sichergestellt, dass die externe Partei Ihre Rolle nur annehmen kann, wenn sie in Ihrem Namen handelt.
+ Sie sind wie Beispielunternehmen in unserem vorherigen Szenario in einer Position, in der Sie Rollen für verschiedene Kunden annehmen, Sie sollten jedem Kunden eine eindeutige externe ID zuweisen und Ihre Kunden anweisen, die externe ID in die Vertrauensrichtlinie ihrer Rolle aufzunehmen. Anschließend müssen Sie in allen Anforderungen, in der Sie Rollen annehmen möchten, die korrekte externe ID angeben.

  Sie verfügen wahrscheinlich bereits über eine eindeutige ID für jeden Kunden, die Sie als externe ID verwenden können. Bei der externen ID handelt es sich nicht um einen Wert, den Sie explizit erstellen oder separat nur für diesen Zweck nachverfolgen müssen.

  Geben Sie die externe ID in allen `AssumeRole`-API-Aufrufen an. Wenn Sie von einem Kunden einen Rollen-ARN erhalten, testen Sie darüber hinaus mit und ohne die korrekte externe ID, ob Sie die Rolle annehmen können. Wenn Sie die Rolle ohne die korrekte externe ID annehmen können, speichern Sie den Rollen-ARN des Kunden nicht in Ihrem System. Warten Sie, bis der Kunde die Vertrauensrichtlinie der Rolle aktualisiert hat und eine Überprüfung der externen ID vornimmt. So helfen Sie Ihren Kunden, sich korrekt zu verhalten und sich selbst und Ihr Unternehmen vor dem Problem des verwirrten Stellvertreters zu schützen.

## Beispielszenario mit Verwendung einer externen ID
<a name="id_roles_third-party_example"></a>

Nehmen wir zum Beispiel an, Sie beschließen, ein Drittanbieter namens Example Corp mit der Überwachung Ihrer Kosten AWS-Konto und der Kostenoptimierung zu beauftragen. Um Ihre täglichen Ausgaben verfolgen zu können, muss Example Corp auf Ihre AWS Ressourcen zugreifen. Example Corp überwacht zudem viele weitere AWS -Konten anderer Kunden.

Gewähren Sie Example Corp keinen Zugriff auf einen IAM-Benutzer und dessen langfristige Anmeldeinformationen in Ihrem AWS -Konto. Verwenden Sie stattdessen eine IAM-Rolle und deren temporäre Sicherheitsanmeldeinformationen. Eine IAM-Rolle bietet einen Mechanismus, mit dem Dritte auf Ihre AWS Ressourcen zugreifen können, ohne langfristige Anmeldeinformationen (z. B. einen IAM-Benutzerzugriffsschlüssel) weitergeben zu müssen.

Etablieren Sie mithilfe einer IAM-Rolle eine Vertrauensbeziehung zwischen Ihrem AWS-Konto und dem Konto von Example Corp. Nachdem diese Beziehung hergestellt wurde, kann ein Mitglied des Example Corp-Kontos die AWS -Security-Token-Service [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API aufrufen, um temporäre Sicherheitsanmeldedaten zu erhalten. Die Mitglieder von Example Corp können die Anmeldeinformationen dann verwenden, um auf AWS Ressourcen in Ihrem Konto zuzugreifen. 

**Anmerkung**  
Weitere Informationen zu den AssumeRole und anderen AWS API-Vorgängen, die Sie aufrufen können, um temporäre Sicherheitsanmeldedaten zu erhalten, finden Sie unter[AWS STS Referenzen vergleichen](id_credentials_sts-comparison.md).

Nachfolgend ist dieses Szenario detaillierter aufgeschlüsselt:

1. Sie beauftragen Beispielunternehmen und diese erstellen eine eindeutige Kunden-ID für Sie. Sie stellen Ihnen diese eindeutige Kunden-ID und ihre AWS-Konto Nummer zur Verfügung. Sie benötigen diese Informationen, um im nächsten Schritt eine IAM-Rolle zu erstellen. 
**Anmerkung**  
Example Corp kann einen beliebigen Zeichenkettenwert für die verwenden ExternalId, sofern dieser für jeden Kunden eindeutig ist. Es kann sich dabei um eine Kundenkontonummer oder eine zufällige Zeichenfolge handeln, solange nicht für zwei Kunden derselbe Wert verwendet wird. Diese Nummer muss nicht geheim gehalten werden. Example Corp muss den ExternalId Wert jedem Kunden zur Verfügung stellen. Wichtig dabei ist, dass diese ID von Unternehmen XY und ***nicht*** von den Kunden generiert wird, um sicherzustellen, dass jede externe ID einzigartig ist.

1. Sie melden sich an AWS und erstellen eine IAM-Rolle, die Example Corp Zugriff auf Ihre Ressourcen gewährt. Wie bei allen IAM-Rollen verfügt die Rolle über zwei Richtlinien, eine Berechtigungsrichtlinie und eine Vertrauensrichtlinie. Über die Vertrauensrichtlinie der Rolle wird festgelegt, wer die Rolle annehmen kann. In unserem Beispielszenario gibt die Richtlinie die AWS-Konto Anzahl von Example Corp als an`Principal`. Dies ermöglicht Identitäten dieses Kontos, die Rolle anzunehmen. Außerdem fügen Sie der Vertrauensrichtlinie ein `[Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition)`-Element hinzu. Mit diesem `Condition` wird der Kontextschlüssel `ExternalId` getestet, um sicherzustellen, dass er mit der eindeutigen Kunden-ID von Beispielunternehmen übereinstimmt.

   ```
       "Principal": {"AWS": "Example Corp's AWS-Konto ID"},
       "Condition": {"StringEquals": {"sts:ExternalId": "Unique ID Assigned by Example Corp"}}
   ```

1. In der Berechtigungsrichtlinie der Rolle ist festgelegt, welche Berechtigungen mit der Rolle verliehen werden. Sie können zum Beispiel festlegen, dass die Rolle nur die Verwaltung Ihrer Amazon EC2- und Amazon RDS-Ressourcen erlaubt, nicht aber die Verwaltung Ihrer IAM-Benutzer oder -Gruppen. In unserem Beispielszenario können Sie Beispielunternehmen über die Berechtigungsrichtlinie schreibgeschützten Zugriff auf sämtliche Ressourcen in Ihrem Konto gewähren.

1. Nachdem Sie die Rolle erstellt haben, stellen Sie Beispielunternehmen den Amazon-Ressourcennamen (ARN) der Rolle bereit.

1. Wenn Example Corp auf Ihre AWS Ressourcen zugreifen muss, ruft jemand aus dem Unternehmen die AWS `sts:AssumeRole` API auf. Der Aufruf beinhaltet den ARN der Rolle, die übernommen werden soll, und den ExternalId Parameter, der ihrer Kunden-ID entspricht.

Wenn die Anfrage von jemandem stammt, der Example Corp's verwendet AWS-Konto, und wenn der Rollen-ARN und die externe ID korrekt sind, ist die Anfrage erfolgreich. Anschließend werden temporäre Sicherheitsanmeldedaten bereitgestellt, mit denen Example Corp auf die AWS Ressourcen zugreifen kann, die Ihre Rolle zulässt.

Anders ausgedrückt, wenn eine Rollenrichtlinie eine externe ID enthält, muss jemand, der die Rolle annehmen möchte, als Auftraggeber in der Rolle angegeben sein und muss die korrekte externe ID angeben.

## Wichtige Punkte für externe IDs
<a name="id_roles_third-party_key-points"></a>
+ In einer Umgebung mit mehreren Mandanten, in der Sie mehrere Kunden mit unterschiedlichen AWS Konten unterstützen, empfehlen wir, jeweils eine externe ID zu verwenden. AWS-Konto Diese ID sollte eine zufällige Zeichenfolge sein, die von der Drittpartei generiert wird.
+ Um zu verlangen, dass der Drittanbieter beim Übernehmen einer Rolle eine externe ID bereitstellt, aktualisieren Sie die Vertrauensrichtlinie der Rolle mit der externen ID Ihrer Wahl.
+ Wenn Sie eine externe ID angeben möchten, wenn Sie eine Rolle übernehmen, verwenden Sie die AWS API AWS CLI oder, um diese Rolle anzunehmen. Weitere Informationen finden Sie unter [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)STS-API-Vorgang oder [STS-Befehlsübernahme-CLI-Vorgang](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html).
+ Der Wert `ExternalId` muss mindestens 2 Zeichen und darf höchstens 1.224 Zeichen lang sein. Der Wert muss alphanumerisch sein ohne Leerzeichen. Er kann auch die folgenden Zeichen enthalten: Pluszeichen (\$1), Gleichheitszeichen (=), Komma (,), Punkt (.), At-Zeichen (@), Doppelpunkt (:), Schrägstrich (/) und Bindestrich (-).

## Weitere Ressourcen
<a name="id_roles_third-party_additional_resources"></a>

Die folgenden Ressourcen können Ihnen dabei helfen, mehr über die Bereitstellung des Zugriffs auf AWS-Konten im Besitz von Drittanbieter zu erfahren.
+ Informationen darüber, wie Sie anderen erlauben können, Aktionen in Ihrem System auszuführen AWS-Konto, finden Sie unter. [Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien erstellen](id_roles_create_for-custom.md)
+ Informationen dazu, wie Sie die Berechtigung zum Wechseln zu einer Rolle gewähren, finden Sie unter [Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel](id_roles_use_permissions-to-switch.md)
+ Informationen dazu, wie Sie temporäre Sicherheitsanmeldedaten erstellen und vertrauenswürdigen Benutzern zur Verfügung stellen, [Berechtigungen für temporäre Sicherheits-Anmeldeinformationen](id_credentials_temp_control-access.md).

# Zugang zu einem AWS Service
<a name="id_roles_common-scenarios_services"></a>

Bei vielen AWS Diensten müssen Sie mithilfe von Rollen steuern, auf welche Dienste zugreifen können. Eine Rolle, die ein Service übernimmt, um Aktionen in Ihrem Namen durchzuführen, wird als [Servicerolle](id_roles.md#iam-term-service-role) bezeichnet. Wenn eine Rolle einem speziellen Zweck für einen Service dient, kann sie als [serviceverknüpfte Rolle](id_roles.md#iam-term-service-linked-role) kategorisiert werden. In der [AWS -Dokumentation](https://docs.aws.amazon.com/) für die einzelnen Services finden Sie Informationen dazu, ob der jeweilige Service Rollen verwendet und wie dem Service eine Rolle zur Nutzung zugewiesen wird.

Einzelheiten zum Erstellen einer Rolle zur Delegierung des Zugriffs auf einen von angebotenen Dienst finden Sie AWS unter[Erstellen Sie eine Rolle, um Berechtigungen an einen AWS Dienst zu delegieren](id_roles_create_for-service.md).

# Zugriff für extern authentifizierte Benutzer gewähren (Identitätsverbund)
<a name="id_roles_common-scenarios_federated-users"></a>

Ihre Benutzer haben möglicherweise bereits Identitäten außerhalb von AWS, z. B. in Ihrem Unternehmensverzeichnis. Wenn diese Benutzer mit AWS Ressourcen arbeiten müssen (oder mit Anwendungen arbeiten müssen, die auf diese Ressourcen zugreifen), benötigen diese Benutzer auch AWS Sicherheitsanmeldeinformationen. Sie können mithilfe einer IAM-Rolle Berechtigungen für Benutzer festlegen, deren Identität in einem Verbund Ihres Unternehmens oder eines externen Identitätsanbieters (IdP) vereinigt ist.

**Anmerkung**  
Als bewährte Sicherheitsmethode empfehlen wir, den Benutzerzugriff in [IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/what-is.html) mit einem Identitätsverbund zu verwalten, anstatt IAM-Benutzer zu erstellen. Informationen zu bestimmten Situationen, in denen ein IAM-Benutzer erforderlich ist, finden Sie unter [Wann sollte ein IAM-Benutzer (anstelle einer Rolle) erstellt werden?](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_which-to-choose).

## Zusammenführung von Benutzern einer mobilen oder webbasierten Anwendung mit Amazon Cognito
<a name="id_roles_common-scenarios_federated-users-cognito"></a>

Wenn Sie eine mobile oder webbasierte App erstellen, die auf AWS Ressourcen zugreift, benötigt die App Sicherheitsanmeldedaten, um programmatische Anfragen an sie stellen zu können. AWS Für die meisten mobilen Anwendungsszenarien empfehlen wir die Verwendung von [Amazon Cognito](https://aws.amazon.com/cognito/). Sie können diesen Dienst mit dem [AWS Mobile SDK for iOS](https://aws.amazon.com/sdkforios/) und dem [AWS Mobile SDK for Android und Fire OS](https://aws.amazon.com/sdkforandroid/) verwenden, um eindeutige Identitäten für Benutzer zu erstellen und sie für einen sicheren Zugriff auf Ihre AWS Ressourcen zu authentifizieren. Amazon Cognito unterstützt die Identitätsanbieter, die im nächsten Abschnitt aufgeführt werden, sowie die [vom Entwickler authentifizierten Identitäten](https://aws.amazon.com/blogs/mobile/amazon-cognito-announcing-developer-authenticated-identities) und nicht authentifizierten Zugriff (Gast). Amazon Cognito stellt auch API-Operationen für die Synchronisierung von Benutzerdaten bereit, sodass diese erhalten bleiben, wenn die Benutzer zwischen Geräten wechseln. Weitere Informationen finden Sie unter [Amazon Cognito für mobile Apps](id_federation_common_scenarios.md#id_roles_providers_oidc_cognito). 

## Vereinigen von Benutzern in einem Verbund mit öffentlichen Identitätsdienstanbietern oder OpenID Connect
<a name="id_roles_common-scenarios_federated-users-openId"></a>

Verwenden Sie möglichst Amazon Cognito für mobile und webbasierte Anwendungsszenarien. Amazon Cognito erledigt den Großteil der behind-the-scenes Arbeit mit öffentlichen Identitätsanbieterdiensten für Sie. Es funktioniert mit den gleichen Drittanbieterservices und unterstützt auch anonyme Anmeldungen. Bei anspruchsvolleren Szenarien können Sie jedoch direkt mit einem Drittanbieterservice arbeiten, wie Login with Amazon, Facebook, Google oder einem mit OpenID Connect (OIDC) kompatiblen Identitätsanbieter. Weitere Informationen zur Verwendung des OIDC-Verbunds mithilfe eines dieser Services finden Sie unter [OIDC-Verbund](id_roles_providers_oidc.md).

## Vereinigen von Benutzern in einem Verbund mit SAML 2.0
<a name="id_roles_common-scenarios_federated-users-saml20"></a>

Wenn Ihre Organisation bereits ein Identity Provider-Softwarepaket verwendet, das SAML 2.0 (Security Assertion Markup Language 2.0) unterstützt, können Sie Vertrauen zwischen Ihrer Organisation als Identity Provider (IdP) und AWS als Service Provider aufbauen. Anschließend können Sie SAML verwenden, um Ihren Benutzern föderiertes Single Sign-On (SSO) AWS-Managementkonsole oder Verbundzugriff zum Aufrufen von API-Vorgängen bereitzustellen. AWS Wenn Ihr Unternehmen beispielsweise Microsoft Active Directory und Active Directory Federation Services verwendet, können Sie dies mit SAML 2 in einem Verbund vereinigen. Weitere Informationen zum Verbund von Benutzern mit SAML 2.0 finden Sie unter [SAML 2.0-Föderation](id_roles_providers_saml.md).

## Vereinigen von Benutzern in einem Verbund durch Erstellen einer benutzerdefinierten Identity Broker-Anwendung
<a name="id_roles_common-scenarios_federated-users-idbroker"></a>

Wenn Ihre Identitätsquelle nicht mit SAML 2.0 kompatibel ist, können Sie eine benutzerdefinierte Identity Broker-Anwendung erstellen, um eine ähnliche Funktion durchzuführen. Die Brokeranwendung authentifiziert Benutzer, fordert temporäre Anmeldeinformationen für Benutzer an und stellt sie dann dem AWS Benutzer für den Zugriff auf Ressourcen zur Verfügung. AWS 

Beispielsweise hat Example Corp. viele Mitarbeiter, die interne Anwendungen ausführen müssen, die auf die Ressourcen des AWS Unternehmens zugreifen. Die Mitarbeiter verfügen bereits über Identitäten im Identitäts- und Authentifizierungssystem des Unternehmens und das Beispielunternehmen möchte keinen separaten IAM-Benutzer für jeden Mitarbeiter erstellen.

Bob ist Entwickler bei Example Corp. Um internen Anwendungen von Example Corp. den Zugriff auf die AWS Ressourcen des Unternehmens zu ermöglichen, entwickelt Bob eine benutzerdefinierte Identity Broker-Anwendung. Die Anwendung überprüft, ob Mitarbeiter beim vorhandenen Identitäts- und Authentifizierungssystem des Beispielunternehmens angemeldet sind, das möglicherweise LDAP, Active Directory oder ein anderes System nutzt. Die Identity Broker-Anwendung ruft dann die temporären Anmeldeinformationen für die Mitarbeiter ab. Dieses Szenario ähnelt dem vorherigen Szenario (eine mobile App, die ein benutzerdefiniertes Authentifizierungssystem verwendet), mit der Ausnahme, dass die Anwendungen, die Zugriff auf AWS Ressourcen benötigen, alle innerhalb des Unternehmensnetzwerks ausgeführt werden und das Unternehmen über ein vorhandenes Authentifizierungssystem verfügt.

Zum Abrufen von temporären Sicherheitsanmeldeinformationen ruft die Identity Broker-Anwendung entweder `AssumeRole` oder `GetFederationToken` auf, je nachdem, wie Bob die Richtlinien für die Benutzer verwalten möchte und wann die temporären Anmeldeinformationen ablaufen sollen. (Weitere Informationen zu den Unterschieden zwischen diesen API-Operationen finden Sie unter [Temporäre IAM Sicherheitsanmeldeinformationen](id_credentials_temp.md) und [Berechtigungen für temporäre Sicherheits-Anmeldeinformationen](id_credentials_temp_control-access.md).) Der Aufruf gibt temporäre Sicherheitsanmeldeinformationen zurück, die aus einer AWS Zugriffsschlüssel-ID, einem geheimen Zugriffsschlüssel und einem Sitzungstoken bestehen. Die Identity Broker-Anwendung stellt diese temporären Sicherheitsanmeldeinformationen der internen Unternehmensanwendung zur Verfügung. Die Anwendung kann dann die temporären Anmeldeinformationen für direkte Aufrufe an AWS verwenden. Die Anwendung speichert die Anmeldeinformationen bis zum Ablaufdatum zwischen und fordert dann einen neuen Satz temporärer Anmeldeinformationen an. Die folgende Abbildung veranschaulicht dieses Szenario.

![\[Beispiel für einen Workflow mit einer benutzerdefinierten Identity Broker-Anwendung\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/enterprise-authentication-with-identity-broker-application.diagram.png)


Dieses Szenario hat folgende Attribute:
+ Die Identity Broker-Anwendung hat die Berechtigung, auf die STS-API (Security Token Service) von IAM zuzugreifen, um temporäre Sicherheitsanmeldeinformationen zu erstellen.
+ Die Identity Broker-Anwendung kann überprüfen, ob die Mitarbeiter im vorhandenen Authentifizierungssystem authentifiziert sind.
+ Benutzer können eine temporäre URL abrufen, über die sie auf die AWS Managementkonsole zugreifen können (was als Single Sign-On bezeichnet wird).

Weitere Informationen zum Erstellen von temporären Sicherheitsanmeldeinformationen finden Sie unter [AWS STS Referenzen vergleichen](id_credentials_sts-comparison.md). Weitere Informationen zu SAML-Verbundprinzipalen, die Zugriff auf die AWS Management Console erhalten, finden Sie unter. [Aktivieren des Zugriffs von SAML 2.0-Verbundprinzipalen auf AWS-Managementkonsole](id_roles_providers_enable-console-saml.md)

# Erstellung einer IAM-Rolle
<a name="id_roles_create"></a>

Um eine Rolle zu erstellen, können Sie die AWS-Managementkonsole AWS CLI, die Tools für Windows oder die PowerShell IAM-API verwenden.

Wenn Sie die verwenden AWS-Managementkonsole, führt Sie ein Assistent durch die Schritte zum Erstellen einer Rolle. Der Assistent hat leicht unterschiedliche Schritte, je nachdem, ob Sie eine Rolle für einen AWS Dienst, für einen oder für einen AWS-Konto SAML- oder OIDC-Verbundprinzipal erstellen.

**Rollen für IAM-Benutzer**  
Erstellen Sie diese Rolle, um Berechtigungen innerhalb Ihrer Rollen AWS-Konto oder an Rollen zu delegieren, die in anderen Rollen definiert sind, die Ihnen gehören. AWS-Konten Ein Benutzer in einem Konto kann zu einer Rolle in demselben oder einem anderen Konto wechseln. Während die Rolle verwendet wird, können die Benutzer nur die Aktionen durchführen und auf die Ressourcen zugreifen, die von der Rolle zugelassen sind. Die ursprünglichen Berechtigungen der Benutzer sind ausgesetzt. Wenn der Benutzer die Rolle verlässt, werden die ursprünglichen Benutzerberechtigungen wiederhergestellt.

Weitere Informationen finden Sie unter [Erstellen einer Rolle zum Erteilen von Berechtigungen an einen IAM-Benutzer](id_roles_create_for-user.md).

Weitere Informationen zum Erstellen von Rollen für den kontenübergreifenden Zugriff finden Sie unter [Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien erstellen](id_roles_create_for-custom.md).

**Rollen für Dienste AWS**  
Erstellen Sie diese Rolle, um Berechtigungen an einen Service zu delegieren, der in Ihrem Namen Aktionen ausführen kann. Eine [Servicerolle](id_roles.md#iam-term-service-role), die Sie an einen Service übergeben, muss über eine IAM-Richtlinie mit den Berechtigungen verfügen, die es dem Service ermöglichen, mit diesem Service verbundene Aktionen auszuführen. Für jeden AWS -Service werden unterschiedliche Berechtigungen benötigt.

Weitere Informationen zum Erstellen von Servicerollen finden Sie unter [Erstellen Sie eine Rolle, um Berechtigungen an einen AWS Dienst zu delegieren](id_roles_create_for-service.md).

Weitere Informationen zum Erstellen serviceverknüpfter Rollen finden Sie unter [Erstellen einer serviceverknüpften Rolle](id_roles_create-service-linked-role.md).

**Rollen für den Identitätsverbund**  
Erstellen Sie diese Rolle, um Berechtigungen an Benutzer zu delegieren, die bereits über Identitäten außerhalb von AWS verfügen. Wenn Sie einen -Identitätsanbieter verwenden, müssen Sie keinen eigenen Anmeldecode schreiben oder eigene Benutzeridentitäten verwalten. Ihre externen Benutzer melden sich über einen IdP an, und Sie können diesen externen Identitäten Berechtigungen zur Nutzung von AWS Ressourcen in Ihrem Konto erteilen. Identitätsanbieter tragen zur Sicherheit Ihres AWS Kontos bei, da Sie keine langfristigen Sicherheitsanmeldedaten wie Zugriffsschlüssel verteilen oder in Ihre Anwendung einbetten müssen.

Weitere Informationen finden Sie unter [Erstellen einer Rolle für einen externen Identitätsanbieter](id_roles_create_for-idp.md).

# Erstellen einer Rolle zum Erteilen von Berechtigungen an einen IAM-Benutzer
<a name="id_roles_create_for-user"></a>

Sie können IAM-Rollen verwenden, um Zugriff auf Ihre AWS Ressourcen zu gewähren. *Mit IAM-Rollen können Sie Vertrauensbeziehungen zwischen Ihrem vertrauenswürdigen Konto und anderen * AWS vertrauenswürdigen* Konten einrichten.* Das vertrauende Konto besitzt die Ressource, auf die zugegriffen werden soll, und das vertrauenswürdige Konto enthält die Benutzer, die Zugriff auf die Ressource erhalten müssen. Es ist jedoch möglich, dass ein anderes Konto eine Ressource in Ihrem Konto besitzt. Beispielsweise kann das Vertrauenskonto dem vertrauenswürdigen Konto erlauben, neue Ressourcen zu erstellen, z. B. neue Objekte in einem Amazon-S3-Bucket. In diesem Fall besitzt das Konto, das die Ressource erstellt, die Ressource und steuert, wer auf sie zugreifen kann.

Nachdem Sie die Vertrauensstellung erstellt haben, kann ein IAM-Benutzer oder eine Anwendung aus dem vertrauenswürdigen Konto den API-Vorgang AWS -Security-Token-Service (AWS STS) [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)verwenden. Dieser Vorgang stellt temporäre Sicherheitsanmeldedaten bereit, die den Zugriff auf AWS Ressourcen in Ihrem Konto ermöglichen.

Sie können die beiden Konten steuern oder das Konto mit den Benutzern kann von einem Drittanbieter gesteuert werden. Wenn es sich bei dem anderen Konto mit den Benutzern um ein Konto handelt, AWS-Konto das Sie nicht kontrollieren, können Sie das `externalId` Attribut verwenden. Die externe ID kann ein beliebiges Wort oder eine beliebige Zahl sein, das bzw. die zwischen Ihnen und dem Administrator des Drittanbieter-Kontos vereinbart wurde. Durch diese Option wird der Vertrauensrichtlinie automatisch eine Bedingung hinzugefügt, mit der der Benutzer die Rolle nur dann übernehmen kann, wenn die Anforderung die richtige `sts:ExternalID` enthält. Weitere Informationen finden Sie unter [Zugriff auf AWS-Konten Eigentum Dritter](id_roles_common-scenarios_third-party.md).

Weitere Informationen zur Verwendung von Rollen zum Delegieren von Berechtigungen finden Sie unter [Rollenbegriffe und -konzepte](id_roles.md#id_roles_terms-and-concepts). Informationen zur Verwendung einer Servicerolle zum Erlauben des Zugriffs auf Ressourcen in Ihrem Konto durch Services finden Sie unter [Erstellen Sie eine Rolle, um Berechtigungen an einen AWS Dienst zu delegieren](id_roles_create_for-service.md).

## Erstellen einer IAM-Rolle (Konsole)
<a name="roles-creatingrole-user-console"></a>

Sie können das verwenden AWS-Managementkonsole , um eine Rolle zu erstellen, die ein IAM-Benutzer übernehmen kann. Gehen Sie beispielsweise davon aus, dass Ihr Unternehmen über mehrere Systeme verfügt AWS-Konten , um eine Entwicklungsumgebung von einer Produktionsumgebung zu isolieren. Allgemeine Informationen zum Erstellen einer Rolle, mit der Benutzer im Entwicklungskonto auf Ressourcen in der Produktionsumgebung zugreifen können, finden Sie unter [Beispielszenario mit getrennten Entwicklungs- und Produktionskonten](id_roles_common-scenarios_aws-accounts.md#id_roles_common-scenarios_aws-accounts-example).

**Mindestberechtigungen**  
Für die folgenden Schritte sind mindestens folgende IAM-Berechtigungen erforderlich:  
`access-analyzer:ValidatePolicy`
`iam:AttachRolePolicy`
`iam:CreatePolicy`
`iam:CreateRole`
`iam:GetAccountSummary`
`iam:GetPolicy`
`iam:GetPolicyVersion`
`iam:GetRole`
`iam:ListAccountAliases`
`iam:ListAttachedRolePolicies`
`iam:ListOpenIDConnectProviders`
`iam:ListPolicies`
`iam:ListRolePolicies`
`iam:ListRoles`
`iam:ListRoleTags`
`iam:ListSAMLProviders`

------
#### [ Console ]

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 Konsole auf **Roles (Rollen)** und wählen Sie dann **Create role (Rolle erstellen)**.

1. Wählen Sie den Rollentyp **AWS-Konto**.

1. Um eine Rolle für Ihr Konto zu erstellen, wählen Sie **This account** (Dieses Konto) aus. Um eine Rolle für ein anderes Konto zu erstellen, wählen Sie **Anderes AWS-Konto** und geben Sie die **Konto-ID** ein, der Sie Zugriff auf Ihre Ressourcen gewähren möchten.

   Der Administrator des angegebenen Kontos kann die Berechtigung erteilen, diese Rolle für alle IAM-Benutzer in diesem Konto zu übernehmen. Hierzu fügt der Administrator eine Richtlinie an den Benutzer oder eine Gruppe an, mit der die Berechtigung für die Aktion `sts:AssumeRole` gewährt wird. Diese Richtlinie muss den ARN der Rolle als `Resource` angeben. 

1. Wenn Sie Benutzern Berechtigungen von einem Konto gewähren, das Sie nicht kontrollieren, und die Benutzer diese Rolle programmgesteuert übernehmen, wählen Sie **Require external ID** (Externe ID fordern). Die externe ID kann ein beliebiges Wort oder eine beliebige Zahl sein, das bzw. die zwischen Ihnen und dem Administrator des Drittanbieter-Kontos vereinbart wurde. Durch diese Option wird der Vertrauensrichtlinie automatisch eine Bedingung hinzugefügt, mit der der Benutzer die Rolle nur dann übernehmen kann, wenn die Anforderung die richtige `sts:ExternalID` enthält. Weitere Informationen finden Sie unter [Zugriff auf AWS-Konten Eigentum Dritter](id_roles_common-scenarios_third-party.md).
**Wichtig**  
Wenn Sie diese Option wählen, wird der Zugriff auf die Rolle nur über die AWS CLI Tools für Windows oder die PowerShell AWS API eingeschränkt. Das liegt daran, dass Sie die AWS Konsole nicht verwenden können, um zu einer Rolle zu wechseln, deren Vertrauensrichtlinie eine `externalId` Bedingung enthält. Sie können jedoch diese Art des Zugriffs programmgesteuert erstellen, indem Sie mithilfe des relevanten SDK ein Skript oder eine Anwendung schreiben. Weitere Informationen hierzu und ein Beispielskript finden Sie unter [How to Enable Cross-Account Access to the AWS-Managementkonsole](https://aws.amazon.com/blogs/security/how-to-enable-cross-account-access-to-the-aws-management-console) im Blog zur AWS -Sicherheit.

1. Wenn Sie die Rolle auf Benutzer beschränken möchten, die sich über Multifaktor-Authentifizierung (MFA) anmelden, wählen Sie **Require MFA (MFA erforderlich)**. Dadurch wird eine Bedingung zur Vertrauensrichtlinie der Rolle hinzugefügt, mit der geprüft wird, ob eine MFA-Anmeldung vorliegt. Ein Benutzer, der die Rolle übernehmen möchte, muss sich mit einem temporären Einmalkennwort von einem konfigurierten MFA-Gerät aus anmelden. Benutzer ohne MFA-Authentifizierung können die Rolle nicht übernehmen. Weitere Informationen zu MFA finden Sie unter [AWS Multi-Faktor-Authentifizierung in IAM](id_credentials_mfa.md).

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

1. IAM enthält eine Liste der AWS verwalteten und kundenverwalteten Richtlinien in Ihrem Konto. Wählen Sie die Richtlinie aus, die für die Berechtigungsrichtlinie verwendet werden soll, oder wählen **Create policy (Richtlinie erstellen)**, um eine neue Registerkarte im Browser zu öffnen und eine vollständig neue Richtlinie zu erstellen. Weitere Informationen finden Sie unter [Erstellen von IAM-Richtlinien](access_policies_create-console.md#access_policies_create-start). Nachdem Sie die Richtlinie erstellt haben, schließen Sie die Registerkarte und kehren zur ursprünglichen Registerkarte zurück. Aktivieren Sie das Kontrollkästchen neben den Berechtigungsrichtlinien, über die jeder, der die Rolle übernimmt, verfügen soll. Wenn Sie es vorziehen, zu diesem Zeitpunkt keine Richtlinien auszuwählen, können Sie sie der Rolle später hinzufügen. Standardmäßig hat eine Rolle keine Berechtigungen.

1. (Optional) Legen Sie eine [Berechtigungsgrenze](access_policies_boundaries.md) fest. Dies ist ein erweitertes Feature. 

   Öffnen Sie den Abschnitt **Set permissions boundary (Berechtigungsgrenze festlegen)** und wählen Sie **Use a permissions boundary to control the maximum role permissions (Eine Berechtigungsgrenze verwenden, um die maximalen Rollenberechtigungen zu steuern)**. Wählen Sie die Richtlinie aus, die für eine Berechtigungsgrenze verwendet werden soll.

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

1. Geben Sie unter **Role name (Rollenname)** einen Namen für Ihre Rolle ein. Rollennamen müssen innerhalb Ihres AWS-Konto Unternehmens eindeutig sein. Wenn ein Rollenname in einer Richtlinie oder als Teil eines ARN verwendet wird, muss die Groß-/Kleinschreibung des Rollennamens beachtet werden. Wenn Kunden in der Konsole ein Rollenname angezeigt wird, beispielsweise während des Anmeldevorgangs, wird die Groß-/Kleinschreibung des Rollennamens nicht beachtet. Da verschiedene Entitäten möglicherweise auf die Rolle verweisen, können Sie den Namen der Rolle nach der Erstellung nicht mehr bearbeiten.

1. (Optional) Geben Sie im Feld **Description** (Beschreibung) eine Beschreibung für die neue Rolle ein.

1. Wählen Sie in den Abschnitten **Step 1: Select trusted entities** (Schritt 1: Vertrauenswürdige Entitäten auswählen) oder **Step 2: Add permissions** (Schritt 2: Berechtigungen hinzufügen) die Option **Edit** (Bearbeiten) aus, um die Anwendungsfälle und Berechtigungen für die Rolle zu bearbeiten. Sie werden zu den vorherigen Seiten zurückgeleitet, um die Änderungen vorzunehmen.

1. (Optional) Fügen Sie der Rolle Metadaten hinzu, indem Sie Tags als Schlüssel-Wert-Paare anfügen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter [Tags für AWS Identity and Access Management Ressourcen](id_tags.md).

1. Prüfen Sie die Rolle und klicken Sie dann auf **Rolle erstellen**.
**Wichtig**  
Dies ist allerdings nur der erste Teil der erforderlichen Konfiguration. Sie müssen auch einzelnen Benutzern in den vertrauenswürdigen Konten die Berechtigung geben, in die Rolle in der Konsole zu wechseln oder die Rolle programmgesteuert zu übernehmen. Weitere Informationen zu diesem Schritt finden Sie unter [Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel](id_roles_use_permissions-to-switch.md).

------

## Erstellen einer IAM-Rolle (AWS CLI)
<a name="roles-creatingrole-user-cli"></a>

Das Erstellen einer Rolle aus dem AWS CLI umfasst mehrere Schritte. Wenn Sie die Konsole verwenden, um eine Rolle zu erstellen, werden viele der Schritte für Sie erledigt, aber mit der müssen AWS CLI Sie jeden Schritt explizit selbst ausführen. Sie müssen die Rolle erstellen und ihr dann eine Berechtigungsrichtlinie zuweisen. Optional können Sie auch die [Berechtigungsgrenze](access_policies_boundaries.md) für Ihre Rolle festlegen.

**So erstellen Sie eine Rolle für kontoübergreifenden Zugriff (AWS CLI)**

1. Erstellen Sie eine Rolle: [aws iam create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html)

1. Fügen Sie der Rolle eine Richtlinie für verwaltete Berechtigungen hinzu: [aws iam attach-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html)

    oder

   Erstellen Sie eine Inline-Berechtigungsrichtlinie für die Rolle: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html) iam put-role-policy

1. (Optional) Fügen Sie der Rolle benutzerdefinierte Attribute durch Zuweisen von Tags hinzu: [aws iam tag-role](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-role.html)

   Weitere Informationen finden Sie unter [Verwaltung von Tags in IAM-Rollen (AWS CLI oder AWS API)](id_tags_roles.md#id_tags_roles_procs-cli-api).

1. (Optional) Legen Sie die [Berechtigungsgrenze](access_policies_boundaries.md) für die Rolle fest: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-permissions-boundary.html) iam put-role-permissions-boundary

   Eine Berechtigungsgrenze bestimmt die maximalen Berechtigungen, die eine Rolle haben kann. Bei den Berechtigungsgrenzen handelt es sich um eine erweiterte AWS Funktion.

Das folgende Beispiel zeigt die ersten beiden und häufigsten Schritte zum Anlegen einer kontenübergreifenden Rolle in einer einfachen Umgebung. Dieses Beispiel erlaubt jedem Benutzer im `123456789012`-Konto, die Rolle zu übernehmen und den `example_bucket`-Amazon S3 Bucket anzuzeigen. In diesem Beispiel wird auch davon ausgegangen, dass Sie einen Client-Computer mit Windows verwenden und bereits die Befehlszeilenschnittstelle mit Ihren Konto-Anmeldeinformationen und der Region konfiguriert haben. Weitere Informationen finden Sie unter [Konfiguration der AWS Befehlszeilenschnittstelle](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).

In diesem Beispiel nehmen Sie die folgende Vertrauensrichtlinie in den ersten Befehl auf, wenn Sie die Rolle erstellen. Diese Vertrauensrichtlinie gestattet Benutzern im `123456789012`-Konto, die Rolle unter Verwendung der `AssumeRole`-Operation anzunehmen, aber nur, wenn der Benutzer über die Parameter `SerialNumber` und `TokenCode` eine MFA-Authentifizierung bereitstellt. Weitere Informationen zu MFA finden Sie unter [AWS Multi-Faktor-Authentifizierung in IAM](id_credentials_mfa.md).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {
          "Effect": "Allow",
          "Principal": { "AWS": "arn:aws:iam::123456789012:root" },
          "Action": "sts:AssumeRole",
          "Condition": { "Bool": { "aws:MultiFactorAuthPresent": "true" } }
      }
  ]
}
```

------

**Wichtig**  
Wenn Ihr `Principal`-Element einen ARN für eine bestimmte IAM-Rolle oder einen bestimmten IAM-Benutzer enthält, wird dieser ARN beim Speichern der Richtlinie in eine eindeutige Auftraggeber-ID umgewandelt wird. Auf diese Weise wird das Risiko reduziert, dass jemand seine Berechtigungen durch Entfernen und Neuerstellen der Rolle oder des Benutzers erweitert. Normalerweise wird diese ID nicht in der Konsole angezeigt, da bei der Anzeige der Vertrauensrichtlinie auch eine Rückumwandlung zum ARN erfolgt. Wenn Sie die Rolle oder den Benutzer jedoch löschen, wird die Prinzipal-ID in der Konsole angezeigt, da sie nicht mehr einem ARN zugeordnet werden AWS kann. Wenn Sie also einen Benutzer oder eine Rolle löschen und neu erstellen, auf die beide im `Principal`-Element einer Vertrauensrichtlinie verwiesen wird, müssen Sie die Rolle bearbeiten, um den ARN zu ersetzen.

Wenn Sie den zweiten Befehl verwenden, müssen Sie der Rolle eine vorhandene verwaltete Richtlinie hinzufügen. Die folgende Berechtigungsrichtlinie erlaubt jedem, der die Rolle übernimmt, nur die Aktion `ListBucket` auf dem `example_bucket`-Amazon S3-Bucket durchzuführen.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {
          "Effect": "Allow",
          "Action": "s3:ListBucket",
          "Resource": "arn:aws:s3:::example_bucket"
      }
  ]
}
```

------

Um diese `Test-UserAccess-Role`-Rolle zu erstellen, müssen Sie zunächst die vorherige Vertrauensrichtlinie mit den Namen `trustpolicyforacct123456789012.json` im `policies`-Ordner in Ihrem lokalen `C:`-Laufwerk speichern. Speichern Sie dann die vorherige Berechtigungsrichtlinie als vom Kunden verwaltete Richtlinie in Ihrer AWS-Konto mit dem Namen`PolicyForRole`. Sie können dann die folgenden Befehle verwenden, um die Rolle zu erstellen und die verwaltete Richtlinie hinzuzufügen.

```
# Create the role and attach the trust policy file that allows users in the specified account to assume the role.
$ aws iam create-role --role-name Test-UserAccess-Role --assume-role-policy-document file://C:\policies\trustpolicyforacct123456789012.json

# Attach the permissions policy (in this example a managed policy) to the role to specify what it is allowed to do.
$ aws iam attach-role-policy --role-name Test-UserAccess-Role --policy-arn arn:aws:iam::123456789012:policy/PolicyForRole
```

**Wichtig**  
Dies ist allerdings nur der erste Teil der erforderlichen Konfiguration. Sie müssen auch einzelnen Benutzern im vertrauenswürdigen Konto Berechtigungen zum Wechseln der Rolle erteilen. Weitere Informationen zu diesem Schritt finden Sie unter [Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel](id_roles_use_permissions-to-switch.md).

Nachdem Sie die Rolle erstellt und ihr Berechtigungen zur Ausführung von AWS Aufgaben oder zum Zugriff auf AWS Ressourcen erteilt haben, können alle Benutzer im `123456789012` Konto die Rolle übernehmen. Weitere Informationen finden Sie unter [Zu einer IAM-Rolle wechseln (AWS CLI)](id_roles_use_switch-role-cli.md).

## Eine IAM-Rolle (AWS API) erstellen
<a name="roles-creatingrole-user-api"></a>

Das Erstellen einer Rolle über die AWS API umfasst mehrere Schritte. Wenn Sie eine Rolle mithilfe der Konsole erstellen, werden viele Schritte automatisch abgeschlossen. In API müssen Sie diese Schritte jedoch manuell ausführen. Sie müssen die Rolle erstellen und ihr dann eine Berechtigungsrichtlinie zuweisen. Optional können Sie auch die [Berechtigungsgrenze](access_policies_boundaries.md) für Ihre Rolle festlegen.

**Um eine Rolle im Code (AWS API) zu erstellen**

1. Eine Rolle erstellen: [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)

   Für die Vertrauensrichtlinie der Rolle können Sie einen Dateispeicherort angeben.

1. Fügen Sie der Rolle eine verwaltete Berechtigungsrichtlinie hinzu: [AttachRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachRolePolicy.html)

   oder

   Erstellen Sie eine Inline-Berechtigungsrichtlinie für die Rolle: [PutRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePolicy.html)
**Wichtig**  
Dies ist allerdings nur der erste Teil der erforderlichen Konfiguration. Sie müssen auch einzelnen Benutzern im vertrauenswürdigen Konto Berechtigungen zum Wechseln der Rolle erteilen. Weitere Informationen zu diesem Schritt finden Sie unter [Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel](id_roles_use_permissions-to-switch.md).

1. (Optional) Fügen Sie dem Benutzer benutzerdefinierte Attribute hinzu, indem Sie Tags anhängen: [TagRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagRole.html)

   Weitere Informationen finden Sie unter [Verwaltung von Tags für IAM-Benutzer (AWS CLI oder AWS API)](id_tags_users.md#id_tags_users_procs-cli-api).

1. (Optional) Legen Sie die [Berechtigungsgrenze](access_policies_boundaries.md) für die Rolle fest: [PutRolePermissionsBoundary](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePermissionsBoundary.html)

   Eine Berechtigungsgrenze bestimmt die maximalen Berechtigungen, die eine Rolle haben kann. Bei den Berechtigungsgrenzen handelt es sich um eine erweiterte AWS Funktion.

Nachdem Sie die Rolle erstellt und ihr Berechtigungen zur Ausführung von AWS Aufgaben oder zum Zugriff auf AWS Ressourcen erteilt haben, müssen Sie den Benutzern im Konto Berechtigungen erteilen, damit sie die Rolle übernehmen können. Weitere Informationen zum Übernehmen einer Rolle finden Sie unter [Zu einer IAM-Rolle (AWS API) wechseln](id_roles_use_switch-role-api.md).

## Erstellen einer IAM-Rolle (AWS CloudFormation)
<a name="roles_creatingrole-user-cloudformation"></a>

Informationen zum Erstellen einer IAM-Rolle in finden Sie in AWS CloudFormation der [Ressourcen- und Eigenschaftenreferenz](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html) sowie in den [Beispielen](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#aws-resource-iam-role--examples) im *AWS CloudFormation Benutzerhandbuch*.

*Weitere Informationen zu IAM-Vorlagen finden Sie unter [AWS Identity and Access Management Vorlagenausschnitte im Benutzerhandbuch](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html). AWS CloudFormationAWS CloudFormation *

# Erstellen Sie eine Rolle, um Berechtigungen an einen AWS Dienst zu delegieren
<a name="id_roles_create_for-service"></a>

Für viele AWS Dienste müssen Sie Rollen verwenden, damit der Dienst in Ihrem Namen auf Ressourcen in anderen Diensten zugreifen kann. Eine Rolle, die ein Service übernimmt, um Aktionen in Ihrem Namen durchzuführen, wird als [Servicerolle](id_roles.md#iam-term-service-role) bezeichnet. Wenn eine Rolle einen speziellen Zweck für einen Service erfüllt, wird sie als [serviceverknüpfte Rolle](id_roles.md#iam-term-service-linked-role) kategorisiert. Informationen zu den Services, die serviceverknüpfte Rollen unterstützen, oder zu Services mit einer Form der temporären Anmeldeinformationen finden Sie unter [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md). Wenn Sie erfahren möchten, wie ein einzelner Service Rollen verwendet, wählen Sie den Servicenamen in der Tabelle aus, um die Dokumentation des jeweiligen Service anzuzeigen.

Beim Festlegen der `PassRole`-Berechtigung sollten Sie darauf achten, dass ein Benutzer keine Rolle übergibt, die über mehr Berechtigungen verfügt, als Sie dem Benutzer gewähren möchten. Zum Beispiel darf Alice möglicherweise keine Amazon-S3-Aktionen ausführen. Wenn Alice einem Service eine Rolle übergeben könnte, der Amazon-S3-Aktionen zulässt, könnte der Service bei der Ausführung des Auftrags Amazon-S3-Aktionen im Namen von Alice durchführen.

Informationen darüber, wie Rollen Ihnen das Delegieren von Berechtigungen erleichtern, finden Sie unter [Rollenbegriffe und -konzepte](id_roles.md#id_roles_terms-and-concepts).

## Servicerollen-Berechtigungen
<a name="id_roles_create_service-permissions"></a>

Sie müssen Berechtigungen konfigurieren, damit eine IAM-Entität (Benutzer oder Rolle) eine serviceverknüpfte Rolle erstellen oder bearbeiten kann.

**Anmerkung**  
Der ARN für eine serviceverknüpfte Rolle enthält einen Service-Prinzipal, der in den folgenden Richtlinien als `SERVICE-NAME.amazonaws.com` angegeben ist. Versuchen Sie nicht, den Service-Prinzipal zu erraten, da es auf Groß- und Kleinschreibung ankommt und das Format je nach AWS -Services variieren kann. Um den Dienstauftraggeber für einen Service zu sehen, sehen Sie sich seine serviceverknüpfte Rollendokumentation an.

**So erlauben Sie einer IAM-Entität das Erstellen einer bestimmten serviceverknüpften Rolle**

Fügen Sie die folgende Richtlinie der IAM-Entität hinzu, um die Servicerolle zu erstellen. Mit dieser Richtlinie können Sie eine Servicerolle für den angegebenen Service und mit einem bestimmten Namen erstellen. Anschließend können Sie verwaltete oder Inline-Richtlinien an die Rolle anfügen. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:CreateRole",
                "iam:PutRolePolicy"
            ],
            "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME"
        }
    ]
}
```

------

**So erlauben Sie einer IAM-Entität das Erstellen einer beliebigen Servicerolle**

AWS empfiehlt, dass Sie nur Administratorbenutzern das Erstellen von Servicerollen gestatten. Eine Person mit Berechtigungen zum Erstellen einer Rolle und zum Anfügen einer Richtlinie kann ihre eigenen Berechtigungen eskalieren. Erstellen Sie stattdessen eine Richtlinie, die es ihnen ermöglicht, nur die Rollen zu erstellen, die sie benötigen. Oder lassen Sie einen Administrator die Servicerolle in ihrem Namen erstellen.

Verwenden Sie die [AdministratorAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AdministratorAccess) AWS verwaltete Richtlinie, um eine Richtlinie anzuhängen, die es einem Administrator ermöglicht AWS-Konto, auf Ihre gesamte Richtlinie zuzugreifen.

**So erlauben Sie einer IAM-Entität das Bearbeiten einer bestimmten Servicerolle**

Fügen Sie die folgende Richtlinie der IAM-Entität hinzu, um die Servicerolle zu bearbeiten.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EditSpecificServiceRole",
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:DeleteRolePolicy",
                "iam:DetachRolePolicy",
                "iam:GetRole",
                "iam:GetRolePolicy",
                "iam:ListAttachedRolePolicies",
                "iam:ListRolePolicies",
                "iam:PutRolePolicy",
                "iam:UpdateRole",
                "iam:UpdateRoleDescription"
            ],
            "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME"
        },
        {
            "Sid": "ViewRolesAndPolicies",
            "Effect": "Allow",
            "Action": [
                "iam:GetPolicy",
                "iam:ListRoles"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**So erlauben Sie einer IAM-Entität das Löschen einer bestimmten Servicerolle**

Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, um die angegebene Servicerolle zu löschen.

```
{
    "Effect": "Allow",
    "Action": "iam:DeleteRole",
    "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME"
}
```

**So erlauben Sie einer IAM-Entität das Löschen einer beliebigen Servicerolle**

AWS empfiehlt, dass Sie nur Administratorbenutzern das Löschen von Servicerollen gestatten. Erstellen Sie stattdessen eine Richtlinie, mit der sie nur die Rollen löschen können, die sie benötigen, oder dass ein Administrator die Servicerolle in ihrem Namen löscht.

Verwenden Sie die [AdministratorAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AdministratorAccess) AWS verwaltete Richtlinie, um eine Richtlinie anzuhängen, die es einem Administrator ermöglicht AWS-Konto, auf Ihre gesamte Richtlinie zuzugreifen.

## Eine Rolle für einen AWS Dienst (Konsole) erstellen
<a name="roles-creatingrole-service-console"></a>

Sie können den verwenden AWS-Managementkonsole , um eine Rolle für einen Dienst zu erstellen. Da einige Services mehrere Servicerollen unterstützen, finden Sie in der [AWS -Dokumentation](https://docs.aws.amazon.com/) für Ihren Service Informationen dazu, welcher Anwendungsfall auszuwählen ist. Sie können erfahren, wie Sie der Rolle die erforderlichen Vertrauens- und Berechtigungsrichtlinien zuweisen, damit der Service die Rolle in Ihrem Namen zuordnen kann. Die Schritte, mit denen Sie die Berechtigungen für Ihre Rolle steuern können, hängen davon ab, wie der Service die Anwendungsfälle definiert und ob Sie eine servicegebundene Rolle anlegen.

------
#### [ Console ]

**So erstellen Sie eine Rolle für eine AWS-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 unter **Service oder Anwendungsfall** einen Service und anschließend den Anwendungsfall aus. Die Anwendungsfälle werden vom Dienst so definiert, dass sie die Vertrauensrichtlinie beinhalten, die für den Dienst erforderlich ist.

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

1. Bei **Berechtigungsrichtlinien** hängen die Optionen vom ausgewählten Anwendungsfall ab:
   + Wenn der Service die Berechtigungen für die Rolle definiert, können Sie keine Berechtigungsrichtlinien auswählen.
   + Wählen Sie aus einer begrenzten Anzahl von Berechtigungsrichtlinien.
   + Wählen Sie aus allen Berechtigungsrichtlinien.
   + Wählen Sie keine Berechtigungsrichtlinien aus, erstellen Sie die Richtlinien, nachdem die Rolle erstellt wurde, und fügen Sie die Richtlinien dann der Rolle an.

1. (Optional) Legen Sie eine [Berechtigungsgrenze](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) fest. Dies ist ein erweitertes Feature, das für Servicerollen verfügbar ist, aber nicht für servicegebundene Rollen.

   1. Öffnen Sie den Abschnitt **Berechtigungsgrenze festlegen** und wählen Sie dann **Eine Berechtigungsgrenze verwenden, um die maximalen Rollenberechtigungen zu steuern** aus. 

      IAM enthält eine Liste der AWS verwalteten und kundenverwalteten Richtlinien in Ihrem Konto.

   1. Wählen Sie die Richtlinie aus, die für eine Berechtigungsgrenze verwendet werden soll.

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

1. Für den **Rollennamen** hängen die Optionen vom Service ab:
   + Wenn der Name der Rolle durch den Service definiert wird, können Sie den Namen der Rolle nicht bearbeiten.
   + Wenn der Service ein Präfix für den Rollennamen definiert, können Sie ein optionales Suffix eingeben.
   + Wenn der Service den Rollennamen nicht definiert, können Sie der Rolle einen Namen geben.
**Wichtig**  
Beachten Sie beim Benennen einer Rolle Folgendes:  
Rollennamen müssen innerhalb Ihres AWS-Konto Unternehmens eindeutig sein und können nicht von Fall zu Fall eindeutig sein.  
Erstellen Sie beispielsweise keine Rollen mit dem Namen **PRODROLE** und **prodrole**. Wenn ein Rollenname in einer Richtlinie oder als Teil einer ARN verwendet wird, muss die Groß-/Kleinschreibung des Rollennamens beachtet werden. Wenn ein Rollenname den Kunden jedoch in der Konsole angezeigt wird, z. B. während des Anmeldevorgangs, wird die Groß-/Kleinschreibung des Rollennamens nicht beachtet.
Sie können den Namen der Rolle nach ihrer Erstellung nicht mehr bearbeiten, da andere Entitäten möglicherweise auf die Rolle verweisen.

1. (Optional) Geben Sie unter **Beschreibung** eine Beschreibung für die neue Rolle ein.

1. (Optional) Um die Anwendungsfälle und Berechtigungen für die Rolle zu bearbeiten, wählen Sie in den Abschnitten **Schritt 1: Vertrauenswürdige Entitäten auswählen** oder **Schritt 2: Berechtigungen hinzufügen** die Option **Bearbeiten**.

1. (Optional) Fügen Sie Tags als Schlüssel-Wert-Paare hinzu, um die Identifizierung, Organisation oder Suche nach der Rolle zu vereinfachen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter [Tags für AWS Identity and Access Management Ressourcen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) im *IAM-Benutzerhandbuch*.

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

------

## Erstellen einer Rolle für einen Service (AWS CLI)
<a name="roles-creatingrole-service-cli"></a>

Das Erstellen einer Rolle aus dem AWS CLI umfasst mehrere Schritte. Wenn Sie die Konsole verwenden, um eine Rolle zu erstellen, werden viele der Schritte für Sie erledigt, aber mit der müssen AWS CLI Sie jeden Schritt explizit selbst ausführen. Sie müssen die Rolle erstellen und ihr dann eine Berechtigungsrichtlinie zuweisen. Wenn der Service, mit dem Sie arbeiten, Amazon EC2 ist, müssen Sie außerdem ein Instance-Profil erstellen und die Rolle diesem Profil hinzufügen. Optional können Sie auch die [Berechtigungsgrenze](access_policies_boundaries.md) für Ihre Rolle festlegen.

**Um eine Rolle für einen AWS Dienst aus dem zu erstellen AWS CLI**

1. Mit dem folgenden Befehl `[create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html)` wird eine Rolle mit dem Namen *Test-Rolle* erstellt und ihr eine Vertrauensrichtlinie zugewiesen:

   `aws iam create-role --role-name Test-Role --assume-role-policy-document file://Test-Role-Trust-Policy.json`

1. Fügen Sie der Rolle eine Richtlinie für verwaltete Berechtigungen hinzu: [aws iam attach-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html).

   Mit dem folgenden Befehl `attach-role-policy` wird beispielsweise die verwaltete AWS -Richtlinie namens `ReadOnlyAccess` an die IAM-Rolle namens `ReadOnlyRole` angehängt:

   `aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess --role-name ReadOnlyRole`

    oder

   Erstellen Sie eine Inline-Berechtigungsrichtlinie für die Rolle: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html) iam put-role-policy

   Informationen zum Hinzufügen einer Inline-Berechtigungsrichtlinie finden Sie im folgenden Beispiel:

    `aws iam put-role-policy --role-name Test-Role --policy-name ExamplePolicy --policy-document file://AdminPolicy.json`

1. (Optional) Fügen Sie der Rolle benutzerdefinierte Attribute durch Zuweisen von Tags hinzu: [aws iam tag-role](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-role.html)

   Weitere Informationen finden Sie unter [Verwaltung von Tags in IAM-Rollen (AWS CLI oder AWS API)](id_tags_roles.md#id_tags_roles_procs-cli-api).

1. (Optional) Legen Sie die [Berechtigungsgrenze](access_policies_boundaries.md) für die Rolle fest: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-permissions-boundary.html) iam put-role-permissions-boundary

   Eine Berechtigungsgrenze bestimmt die maximalen Berechtigungen, die eine Rolle haben kann. Bei den Berechtigungsgrenzen handelt es sich um eine erweiterte AWS Funktion.

Wenn Sie die Rolle mit Amazon EC2 oder einem anderen AWS Service verwenden möchten, der Amazon EC2 verwendet, müssen Sie die Rolle in einem Instanzprofil speichern. Ein Instance-Profil ist ein Container für eine Rolle, der beim Start an eine Amazon EC2-Instance angefügt werden kann. Ein Instance-Profil kann nur eine -Rolle enthalten und dieses Limit kann nicht erhöht werden. Wenn Sie die Rolle mithilfe von erstellen AWS-Managementkonsole, wird das Instance-Profil mit demselben Namen wie die Rolle für Sie erstellt. Weitere Informationen zu Instance-Profilen finden Sie unter [Verwendung von Instance-Profilen](id_roles_use_switch-role-ec2_instance-profiles.md). Informationen zum Starten einer EC2-Instance mit einer Rolle finden Sie unter [Steuern des Zugriffs auf Amazon-EC2-Ressourcen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html#UsingIAMrolesWithAmazonEC2Instances) im *Amazon-EC2-Benutzerhandbuch*.

**So erstellen Sie ein Instance-Profil und speichern die Rolle darin (AWS CLI)**

1. Erstellen Sie ein Instanzprofil: [aws iam create-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/create-instance-profile.html)

1. Fügen Sie die Rolle dem Instanzprofil hinzu: [aws add-role-to-instance iam](https://docs.aws.amazon.com/cli/latest/reference/iam/add-role-to-instance-profile.html) -profile

Der folgende AWS CLI Beispiel-Befehlssatz veranschaulicht die ersten beiden Schritte zum Erstellen einer Rolle und zum Anhängen von Berechtigungen. Es zeigt auch die beiden Schritte zum Anlegen eines Instance-Profils und zum Hinzufügen der Rolle zum Profil. Diese Beispielvertrauensrichtlinie erlaubt dem Amazon EC2-Service, die Rolle zu übernehmen und den `example_bucket`–Amazon S3-Bucket anzuzeigen. In diesem Beispiel wird auch davon ausgegangen, dass Sie einen Client-Computer mit Windows ausführen und bereits die Befehlszeilenschnittstelle mit den Anmeldeinformationen und der Region für Ihr Konto konfiguriert haben. Weitere Informationen finden Sie unter [Konfiguration der AWS Befehlszeilenschnittstelle](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).

In diesem Beispiel nehmen Sie die folgende Vertrauensrichtlinie in den ersten Befehl auf, wenn Sie die Rolle erstellen. Diese Vertrauensrichtlinie gestattet dem Amazon EC2-Service, die Rolle zu übernehmen. 

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

****  

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

------

Wenn Sie den zweiten Befehl verwenden, müssen Sie der Rolle eine Berechtigungsrichtlinie hinzufügen. Die folgende Beispiel-Berechtigungsrichtlinie gestattet der Rolle nur, die `ListBucket`-Aktion für den `example_bucket` Amazon S3-Bucket auszuführen.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "s3:ListBucket",
    "Resource": "arn:aws:s3:::example_bucket"
  }
}
```

------

Um diese `Test-Role-for-EC2`-Rolle zu erstellen, müssen Sie zuvor die vorhergehende Vertrauensrichtlinie mit dem Namen `trustpolicyforec2.json` und die vorherige Berechtigungsrichtlinie mit dem Namen `permissionspolicyforec2.json` im `policies`-Verzeichnis Ihres lokalen `C:`-Laufwerks speichern. Mit den folgenden Befehlen können Sie dann die Rolle erstellen, die Richtlinie hinzufügen, das Instance-Profil erstellen und die Rolle dem Instance-Profil hinzufügen.

```
# Create the role and attach the trust policy that allows EC2 to assume this role.
$ aws iam create-role --role-name Test-Role-for-EC2 --assume-role-policy-document file://C:\policies\trustpolicyforec2.json

# Embed the permissions policy (in this example an inline policy) to the role to specify what it is allowed to do.
$ aws iam put-role-policy --role-name Test-Role-for-EC2 --policy-name Permissions-Policy-For-Ec2 --policy-document file://C:\policies\permissionspolicyforec2.json

# Create the instance profile required by EC2 to contain the role
$ aws iam create-instance-profile --instance-profile-name EC2-ListBucket-S3

# Finally, add the role to the instance profile
$ aws iam add-role-to-instance-profile --instance-profile-name EC2-ListBucket-S3 --role-name Test-Role-for-EC2
```

Wenn Sie die EC2-Instance starten, geben Sie den Namen des Instance-Profils auf der Seite „**Instanzdetails konfigurieren**“ an, wenn Sie die AWS Konsole verwenden. Wenn Sie den CLI-Befehl `aws ec2 run-instances` verwenden, legen Sie den `--iam-instance-profile`-Parameter fest.

## Eine Rolle für einen Dienst (AWS API) erstellen
<a name="roles-creatingrole-service-api"></a>

Das Erstellen einer Rolle über die AWS API umfasst mehrere Schritte. Wenn Sie eine Rolle mithilfe der Konsole erstellen, werden viele Schritte automatisch abgeschlossen. In API müssen Sie diese Schritte jedoch manuell ausführen. Sie müssen die Rolle erstellen und ihr dann eine Berechtigungsrichtlinie zuweisen. Wenn der Service, mit dem Sie arbeiten, Amazon EC2 ist, müssen Sie außerdem ein Instance-Profil erstellen und die Rolle diesem Profil hinzufügen. Optional können Sie auch die [Berechtigungsgrenze](access_policies_boundaries.md) für Ihre Rolle festlegen.

**Um eine Rolle für einen AWS Dienst (AWS API) zu erstellen**

1. Erstellen Sie eine Rolle: [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)

   Für die Vertrauensrichtlinie der Rolle können Sie einen Dateispeicherort angeben.

1. Fügen Sie der Rolle eine Richtlinie für verwaltete Berechtigungen hinzu: [AttachRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachRolePolicy.html)

    oder

   Erstellen Sie eine Inline-Berechtigungsrichtlinie für die Rolle: [PutRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePolicy.html)

1. (Optional) Fügen Sie dem Benutzer benutzerdefinierte Attribute hinzu, indem Sie Tags anhängen: [TagRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagRole.html)

   Weitere Informationen finden Sie unter [Verwaltung von Tags für IAM-Benutzer (AWS CLI oder AWS API)](id_tags_users.md#id_tags_users_procs-cli-api).

1. (Optional) Legen Sie die [Berechtigungsgrenze](access_policies_boundaries.md) für die Rolle fest: [PutRolePermissionsBoundary](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePermissionsBoundary.html)

   Eine Berechtigungsgrenze bestimmt die maximalen Berechtigungen, die eine Rolle haben kann. Bei den Berechtigungsgrenzen handelt es sich um eine erweiterte AWS Funktion.

Wenn Sie die Rolle mit Amazon EC2 oder einem anderen AWS Service verwenden möchten, der Amazon EC2 verwendet, müssen Sie die Rolle in einem Instanzprofil speichern. Ein Instance-Profil ist ein Container für eine Rolle. Jedes Instance-Profil kann nur eine Rolle enthalten und dieses Limit kann nicht erhöht werden. Wenn Sie die Rolle in der erstellen AWS-Managementkonsole, wird das Instance-Profil für Sie mit demselben Namen wie die Rolle erstellt. Weitere Informationen zu Instance-Profilen finden Sie unter [Verwendung von Instance-Profilen](id_roles_use_switch-role-ec2_instance-profiles.md). Informationen zum Starten einer Amazon-EC2-Instance mit einer Rolle finden Sie unter [Steuern des Zugriffs auf Amazon-EC2-Ressourcen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html#UsingIAMrolesWithAmazonEC2Instances) im *Amazon-EC2-Benutzerhandbuch*. 

**Um ein Instanzprofil zu erstellen und die Rolle darin zu speichern (AWS API)**

1. Erstellen Sie ein Instanzprofil: [CreateInstanceProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateInstanceProfile.html)

1. Fügen Sie die Rolle dem Instanzprofil hinzu: [AddRoleToInstanceProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AddRoleToInstanceProfile.html)

# Erstellen einer serviceverknüpften Rolle
<a name="id_roles_create-service-linked-role"></a>

Eine serviceverknüpfte Rolle ist ein spezieller Typ von IAM-Rolle, der direkt mit einem AWS -Service verknüpft ist. Dienstbezogene Rollen sind vom Dienst vordefiniert und enthalten alle Berechtigungen, die der Dienst benötigt, um andere AWS Dienste in Ihrem Namen aufzurufen. Der verknüpfte Service definiert auch, wie Sie eine serviceverknüpfte Rolle erstellen, ändern und löschen. Ein Service kann die Rolle automatisch erstellen oder löschen. Er kann Ihnen erlauben, die Rolle als Teil eines Assistenten oder Prozesses im Service zu erstellen, zu ändern oder zu löschen. Oder es kann erforderlich sein, dass Sie IAM zum Erstellen oder Löschen der Rolle verwenden. Unabhängig von der Methode erleichtern serviceverknüpfte Rollen den Prozess der Einrichtung eines Services, da Sie dem Service keine manuellen Berechtigungen für die Ausführung von Aktionen in Ihrem Namen hinzufügen müssen.

**Anmerkung**  
Denken Sie daran, dass sich Servicerollen von serviceverknüpften Rollen unterscheiden. Eine Servicerolle ist eine [IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html), die ein Service annimmt, um Aktionen in Ihrem Namen auszuführen. Ein IAM-Administrator kann eine Servicerolle innerhalb von IAM erstellen, ändern und löschen. Weitere Informationen finden Sie unter [Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) im *IAM-Benutzerhandbuch*. Eine dienstbezogene Rolle ist eine Art von Servicerolle, die mit einer verknüpft ist. AWS-Service Der Service kann die Rolle übernehmen, um eine Aktion in Ihrem Namen auszuführen. Dienstbezogene Rollen werden in Ihrem Dienst angezeigt AWS-Konto und gehören dem Dienst. Ein IAM-Administrator kann die Berechtigungen für Service-verknüpfte Rollen anzeigen, aber nicht bearbeiten. 

Der verknüpfte Service definiert die Berechtigungen seiner serviceverknüpften Rollen. Sofern keine andere Konfiguration festgelegt wurde, kann nur dieser Service die Rollen zuordnen. Die definierten Berechtigungen umfassen die Vertrauens- und Berechtigungsrichtlinie. Diese Berechtigungsrichtlinie kann keinen anderen IAM-Entitäten zugewiesen werden.

Bevor Sie die Rollen löschen können, müssen Sie zunächst die zugehörigen Ressourcen löschen. So wird sichergestellt, dass Sie nicht versehentlich die Berechtigung für den Zugriff auf die Ressourcen entfernen. 

**Tipp**  
Informationen darüber, welche Services die Verwendung von serviceverknüpften Rollen unterstützen, finden Sie unter [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md). Suchen Sie nach den Services, für die **Ja** in der Spalte **Serviceverknüpfte Rolle** angegeben ist. Wählen Sie über einen Link **Ja** aus, um die Dokumentation zu einer serviceverknüpften Rolle für diesen Service anzuzeigen.

## Berechtigungen von serviceverknüpften Rollen
<a name="service-linked-role-permissions"></a>

Sie müssen Berechtigungen für eine IAM-Entität konfigurieren (z. B. Benutzer oder Rolle), damit der Benutzer eine serviceverknüpfte Rolle erstellen oder bearbeiten kann.

**Anmerkung**  
Der ARN für eine serviceverknüpfte Rolle enthält einen Dienstauftraggeber, der in den nachfolgenden Richtlinien als `SERVICE-NAME.amazonaws.com` angegeben ist. Versuchen Sie nicht, den Dienstprinzipal zu erraten, da er zwischen Groß- und Kleinschreibung unterscheidet und das Format je nach AWS Dienst variieren kann. Um den Dienstauftraggeber für einen Service zu sehen, sehen Sie sich seine serviceverknüpfte Rollendokumentation an.

**So erlauben Sie einer IAM-Entität das Erstellen einer bestimmten serviceverknüpften Rolle**

Fügen Sie die folgende Richtlinie der IAM-Entität hinzu, um die serviceverknüpfte Rolle zu erstellen.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::*:role/aws-service-role/SERVICE-NAME.amazonaws.com/SERVICE-LINKED-ROLE-NAME-PREFIX*",
            "Condition": {"StringLike": {"iam:AWSServiceName": "SERVICE-NAME.amazonaws.com"}}
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy"
            ],
            "Resource": "arn:aws:iam::*:role/aws-service-role/SERVICE-NAME.amazonaws.com/SERVICE-LINKED-ROLE-NAME-PREFIX*"
        }
    ]
}
```

------

**So erlauben Sie einer IAM-Entität das Erstellen einer beliebigen serviceverknüpften Rolle**

Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, um eine serviceverknüpfte Rolle oder eine beliebige Servicerolle zu erstellen, die die benötigten Richtlinien enthält. Diese Richtlinienanweisung gewährt der IAM-Entität nicht, der Rolle eine Richtlinie anzufügen.

```
{
    "Effect": "Allow",
    "Action": "iam:CreateServiceLinkedRole",
    "Resource": "arn:aws:iam::*:role/aws-service-role/*"
}
```

**So erlauben Sie einer IAM-Entität das Bearbeiten der Beschreibung von beliebigen Servicerollen**

Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, um die Beschreibung einer serviceverknüpften Rolle oder einer beliebigen Servicerolle zu bearbeiten.

```
{
    "Effect": "Allow",
    "Action": "iam:UpdateRoleDescription",
    "Resource": "arn:aws:iam::*:role/aws-service-role/*"
}
```

**So erlauben Sie einer IAM-Entität das Löschen einer bestimmten serviceverknüpften Rolle**

Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die die serviceverknüpfte Rolle löschen soll.

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/SERVICE-NAME.amazonaws.com/SERVICE-LINKED-ROLE-NAME-PREFIX*"
}
```

**So erlauben Sie einer IAM-Entität das Löschen einer beliebigen serviceverknüpften Rolle**

Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die eine serviceverknüpfte Rolle löschen muss, aber keine Servicerolle.

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/*"
}
```

**So erlauben Sie einer IAM-Entität, eine vorhandene Rolle den Service zu übergeben**

Bei einigen AWS Diensten können Sie eine bestehende Rolle an den Dienst übergeben, anstatt eine neue dienstbezogene Rolle zu erstellen. Um dies zu tun, benötigt ein Benutzer Berechtigungen für das *Übergeben der Rolle* an den Service. Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die eine Rolle übergeben soll. Diese Richtlinienanweisung ermöglicht außerdem der Entität, eine Liste der Rollen anzuzeigen, aus denen sie die zu übergebende Rolle auswählen kann. Weitere Informationen finden Sie unter [Erteilen Sie einem Benutzer die Erlaubnis, eine Rolle an einen AWS Dienst zu übergeben](id_roles_use_passrole.md).

```
{
  "Sid": "PolicyStatementToAllowUserToListRoles",
  "Effect": "Allow",
  "Action": ["iam:ListRoles"],
  "Resource": "*"
},
{
  "Sid": "PolicyStatementToAllowUserToPassOneSpecificRole",
  "Effect": "Allow",
  "Action": [ "iam:PassRole" ],
  "Resource": "arn:aws:iam::account-id:role/my-role-for-XYZ"
}
```

## Indirekte Berechtigungen mit serviceverknüpfte Rollen
<a name="create-service-linked-role-permissions-transfer"></a>

Die Berechtigungen einer serviceverknüpften Rolle können indirekt auf andere Benutzer und Rollen übertragen werden. Wenn eine dienstverknüpfte Rolle von einem AWS Dienst verwendet wird, kann diese dienstverknüpfte Rolle ihre eigenen Berechtigungen verwenden, um andere Dienste aufzurufen. AWS Das bedeutet, dass Benutzer und Rollen mit Berechtigungen zum Aufrufen eines Services, der eine serviceverknüpfte Rolle verwendet, möglicherweise indirekten Zugriff auf Services haben, auf die über diese serviceverknüpfte Rolle zugegriffen werden kann.

Wenn Sie beispielsweise eine Amazon-RDS-DB-Instance erstellen, wird automatisch eine [serviceverknüpfte Rolle für RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAM.ServiceLinkedRoles.html) erstellt, falls noch keine vorhanden ist. Diese servicebezogene Rolle ermöglicht es RDS, Amazon EC2, Amazon SNS, Amazon CloudWatch Logs und Amazon Kinesis in Ihrem Namen aufzurufen. Wenn Sie Benutzern und Rollen in Ihrem Konto erlauben, RDS-Datenbanken zu ändern oder zu erstellen, können sie möglicherweise indirekt mit Amazon EC2-, Amazon SNS-, Amazon CloudWatch Logs-Protokollen und Amazon Kinesis Kinesis-Ressourcen interagieren, indem sie RDS aufrufen, da RDS seine dienstbezogene Rolle für den Zugriff auf diese Ressourcen verwenden würde.

### Methoden zum Erstellen einer serviceverknüpfte Rolle
<a name="create-service-linked-role"></a>

Die Vorgehensweise zum Erstellen einer serviceverknüpften Rolle hängt vom Service ab. In einigen Fällen müssen Sie die serviceverknüpfte Rolle nicht manuell erstellen. Wenn Sie beispielsweise eine bestimmte Aktion (z. B. das Erstellen einer Ressource) im Service durchführen, erstellt der Service die serviceverknüpfte Rolle eventuell für Sie. Wenn Sie über einen Service verwenden, bevor dieser serviceverknüpfte Rollen unterstützt, hat der Service die Rolle eventuell bereits automatisch in Ihrem Konto erstellt. Weitere Informationen hierzu finden Sie unter [In meinem AWS Konto wurde eine neue Rolle angezeigt](troubleshoot_roles.md#troubleshoot_roles_new-role-appeared).

In anderen Fällen unterstützt der Service möglicherweise das manuelle Erstellen einer serviceverknüpften Rolle mit der Servicekonsole, einer API oder der CLI. Informationen darüber, welche Services die Verwendung von serviceverknüpften Rollen unterstützen, finden Sie unter [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md). Suchen Sie nach den Services, für die **Ja** in der Spalte **Serviceverknüpfte Rolle** angegeben ist. Um zu erfahren, ob der Service das Erstellen der serviceverknüpften Rolle unterstützt, wählen Sie den Link **Yes** aus, um die Dokumentation zur serviceverknüpften Rolle dieses Services anzuzeigen.

Wenn der Service das Erstellen der Rolle nicht unterstützt, können Sie IAM verwenden, um die serviceverknüpfte Rolle zu erstellen.

**Wichtig**  
Serviceverknüpfte Rollen werden Ihrem Limit für [IAM-Rollen in einem AWS-Konto](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entities) zugerechnet. Wenn Sie Ihr Limit erreicht haben, können Sie jedoch trotzdem serviceverknüpfte Rollen in Ihrem Konto erstellen. Nur serviceverknüpfte Rollen können das Limit überschreiten.

### Erstellen einer serviceverknüpften Rolle (Konsole)
<a name="create-service-linked-role-iam-console"></a>

Bevor Sie eine serviceverknüpfte Rolle in IAM erstellen, müssen Sie ermitteln, ob der verknüpfte Service serviceverknüpfte Rollen automatisch erstellt und ob Sie die Rolle über die Konsole, eine API oder die CLI des Services erstellen können.<a name="create-service-linked-role-iam-console"></a>

**So erstellen Sie eine serviceverknüpfte Rolle (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. Wählen Sie im Navigationsbereich der IAM Console **Roles** (Rollen) aus. Wählen Sie anschließend **Create role** (Rolle erstellen) aus.

1. Wählen Sie den Rollentyp **AWS -Service**.

1. Wählen Sie den Anwendungsfall für den Service. Anwendungsfälle werden durch den Service definiert, damit die für den Service erforderliche Vertrauensrichtlinie enthalten ist. Wählen Sie anschließend **Weiter**.

1. Wählen Sie Berechtigungsrichtlinien aus, die Sie an die Rolle anfügen möchten. Je nach ausgewähltem Anwendungsfall führt der Service einen der folgenden Schritte aus:
   + Definieren der Berechtigungen für die Rolle.
   + Erlaubt Ihnen die Auswahl aus einem begrenzten Satz von Berechtigungen.
   + Erlaubt Ihnen die Auswahl aus beliebigen Berechtigungen.
   + Sie dürfen zu diesem Zeitpunkt noch keine Richtlinien auswählen. Erstellen Sie die Richtlinien später und fügen Sie diese dann an die Rolle an.

   Aktivieren Sie das Kontrollkästchen neben der Richtlinie, die der Rolle die gewünschten Berechtigungen zuweist, und wählen Sie dann **Weiter** aus. 
**Anmerkung**  
Die festgelegten Berechtigungen sind für alle Entitäten verfügbar, die die Rolle verwenden. Standardmäßig hat eine Rolle keine Berechtigungen.

1. Für **Role name (Rollenname)** werden die Anpassungsmöglichkeiten für den Rollennamen durch den Service festgelegt. Wenn der Service den Namen der Rolle definiert, kann diese Option nicht bearbeitet werden. In anderen Fällen kann der Service ein Präfix für die Rolle festlegen und Ihnen das Eingeben eines optionalen Suffixes erlauben.

   Geben Sie, wenn möglich, ein Suffix für den Rollennamen ein, das dem Standardnamen hinzugefügt wird. Dieses Suffix hilft Ihnen, den Zweck dieser Rolle zu identifizieren. Rollennamen müssen innerhalb Ihres AWS -Kontos eindeutig sein. Sie werden nicht nach Groß- und Kleinschreibung unterschieden. z. B. können Sie keine Rollen erstellen, die **<service-linked-role-name>\$1SAMPLE** bzw. **<service-linked-role-name>\$1sample** heißen. Da möglicherweise verschiedene Entitäten auf die Rolle verweisen, kann der Rollenname nach der Erstellung nicht bearbeitet werden.

1. (Optional:) Bearbeiten Sie für **Description** (Beschreibung) die Beschreibung der neuen serviceverknüpften Rolle.

1. Sie können während der Erstellung keine Tags an servicegebundene Rollen anfügen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter [Tags für AWS Identity and Access Management Ressourcen](id_tags.md).

1. Prüfen Sie die Rolle und klicken Sie dann auf **Rolle erstellen**.

### Erstellen einer serviceverknüpften Rolle (AWS CLI)
<a name="create-service-linked-role-iam-cli"></a>

Bevor Sie eine serviceverknüpfte Rolle in IAM erstellen, müssen Sie ermitteln, ob der verknüpfte Service serviceverknüpfte Rollen automatisch erstellt und ob Sie die Rolle über die CLI des Services erstellen können. Wenn die Service-CLI nicht unterstützt wird, verwenden Sie IAM-Befehle zum Erstellen einer serviceverknüpften Rolle mit der Vertrauensrichtlinie und den enthaltenen Richtlinien, die der Service benötigt, um die Rolle zuzuweisen.

**So erstellen Sie eine serviceverknüpfte Rolle (AWS CLI)**

Führen Sie den folgenden Befehl aus:

```
aws iam [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) --aws-service-name SERVICE-NAME.amazonaws.com
```

### Eine serviceverknüpfte Rolle (AWS API) erstellen
<a name="create-service-linked-role-iam-api"></a>

Bevor Sie eine serviceverknüpfte Rolle in IAM erstellen, müssen Sie ermitteln, ob der verknüpfte Service serviceverknüpfte Rollen automatisch erstellt und ob Sie die Rolle über die API des Services erstellen können. Wenn die Service-API nicht unterstützt wird, können Sie die AWS API verwenden, um eine dienstbezogene Rolle mit der Vertrauensrichtlinie und den Inline-Richtlinien zu erstellen, die der Dienst benötigt, um die Rolle zu übernehmen.

**Um eine dienstbezogene Rolle (AWS API) zu erstellen**

Verwenden Sie den [CreateServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html)-API-Aufruf. Geben Sie in der Anforderung einen Servicenamen im Format `SERVICE_NAME_URL.amazonaws.com` an. 

Zum Erstellen der serviceverknüpften Rolle **Lex Bots** verwenden Sie z. B. `lex.amazonaws.com`.

# Erstellen einer Rolle für einen externen Identitätsanbieter
<a name="id_roles_create_for-idp"></a>

Sie können Identitätsanbieter verwenden, anstatt IAM-Benutzer in Ihrem AWS-Konto zu erstellen. Mit einem Identitätsanbieter (IdP) können Sie Ihre Benutzeridentitäten außerhalb von verwalten AWS und diesen externen Benutzeridentitäten Berechtigungen für den Zugriff auf AWS Ressourcen in Ihrem Konto erteilen. Weitere Informationen zu Verbund- und Identitätsanbietern finden Sie unter [Identitätsanbieter und Verbund zu AWS](id_roles_providers.md).

## Erstellen von Rollen für OIDC- und SAML-Verbundprinzipale (Konsole)
<a name="roles-creatingrole-federated-users-console"></a>

Die Vorgehensweise zur Erstellung einer Rolle hängt von den gewählten Drittanbietern ab:
+ Informationen zu OpenID Connect (OIDC) finden Sie unter [Rollen für OpenID-Connect-Verbund erstellen (Konsole)](id_roles_create_for-idp_oidc.md).
+ Weitere Informationen über SAML 2.0 finden Sie unter [Rollen für den SAML 2.0-Verbund erstellen (Konsole)](id_roles_create_for-idp_saml.md).

## Erstellen von Rollen für den Zugriff durch Verbundbenutzer (AWS CLI)
<a name="roles-creatingrole-identityprovider-cli"></a>

Die Schritte zum Erstellen einer Rolle für die unterstützten Identitätsanbieter (OIDC oder SAML) aus der AWS CLI sind identisch. Der Unterschied liegt im Inhalt der Vertrauensrichtlinie, die Sie in den notwendigen Schritten erstellen. Beginnen Sie mit den im Abschnitt **Voraussetzungen** beschriebenen Schritten für den verwendeten Anbietertyp:
+ Weitere Informationen über OIDC-Anbieter finden Sie unter [Voraussetzungen für das Erstellen einer Rolle für OIDC](id_roles_create_for-idp_oidc.md#idp_oidc_Prerequisites).
+ Weitere Informationen über SAML-Anbieter finden Sie unter [Voraussetzungen für das Erstellen einer Rolle für SAML](id_roles_create_for-idp_saml.md#idp_saml_Prerequisites).

Das Erstellen einer Rolle aus dem AWS CLI umfasst mehrere Schritte. Wenn Sie die Konsole verwenden, um eine Rolle zu erstellen, werden viele der Schritte für Sie erledigt, aber mit der müssen AWS CLI Sie jeden Schritt explizit selbst ausführen. Sie müssen die Rolle erstellen und ihr dann eine Berechtigungsrichtlinie zuweisen. Optional können Sie auch die [Berechtigungsgrenze](access_policies_boundaries.md) für Ihre Rolle festlegen.

**Um eine Rolle zu erstellen (AWS CLI)**

1. Erstellen Sie eine Rolle: [aws iam create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html)

1. Fügen Sie der Rolle eine Berechtigungsrichtlinie hinzu: [aws iam attach-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html)

    oder

   Erstellen Sie eine Inline-Berechtigungsrichtlinie für die Rolle: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html) iam put-role-policy

1. (Optional) Fügen Sie der Rolle benutzerdefinierte Attribute durch Zuweisen von Tags hinzu: [aws iam tag-role](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-role.html)

   Weitere Informationen finden Sie unter [Verwaltung von Tags in IAM-Rollen (AWS CLI oder AWS API)](id_tags_roles.md#id_tags_roles_procs-cli-api).

1. (Optional) Legen Sie die [Berechtigungsgrenze](access_policies_boundaries.md) für die Rolle fest: [aws](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-permissions-boundary.html) iam put-role-permissions-boundary

   Eine Berechtigungsgrenze bestimmt die maximalen Berechtigungen, die eine Rolle haben kann. Bei den Berechtigungsgrenzen handelt es sich um eine erweiterte AWS Funktion.

Das folgende Beispiel zeigt die ersten beiden und häufigsten Schritte zum Anlegen einer Identitätsanbieter-Rolle in einer einfachen Umgebung. Dieses Beispiel erlaubt jedem Benutzer im `123456789012`-Konto, die Rolle zu übernehmen und den `example_bucket`-Amazon S3 Bucket anzuzeigen. In diesem Beispiel wird auch davon ausgegangen, dass Sie den AWS CLI auf einem Computer unter Windows ausführen und den bereits AWS CLI mit Ihren Anmeldeinformationen konfiguriert haben. Weitere Informationen finden Sie unter [Konfigurieren der AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).

Das folgende Beispiel einer Vertrauensrichtlinie ist für eine mobile Anwendung vorgesehen, wenn sich der Benutzer mit Amazon Cognito anmeldet. *us-east:12345678-ffff-ffff-ffff-123456*Stellt in diesem Beispiel die von Amazon Cognito zugewiesene Identitätspool-ID dar.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Sid": "RoleForCognito",
        "Effect": "Allow",
        "Principal": {"Federated": "cognito-identity.amazonaws.com"},
        "Action": "sts:AssumeRoleWithWebIdentity",
        "Condition": {"StringEquals": {"cognito-identity.amazonaws.com:aud": "us-east:12345678-ffff-ffff-ffff-123456"}}
    }
}
```

------

Die folgende Berechtigungsrichtlinie erlaubt jedem, der die Rolle übernimmt, nur die Aktion `ListBucket` auf dem `example_bucket`-Amazon S3-Bucket durchzuführen.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "s3:ListBucket",
    "Resource": "arn:aws:s3:::example_bucket"
  }
}
```

------

Um diese `Test-Cognito-Role`-Rolle zu erstellen, müssen Sie zuvor die vorhergehende Vertrauensrichtlinie mit dem Namen `trustpolicyforcognitofederation.json` und die vorherige Berechtigungsrichtlinie mit dem Namen `permspolicyforcognitofederation.json` im `policies`-Ordner Ihres lokalen `C:`-Laufwerks speichern. Sie können dann die folgenden Befehle verwenden, um die Rolle zu erstellen und die eingebundene Richtlinie hinzuzufügen.

```
# Create the role and attach the trust policy that enables users in an account to assume the role.
$ aws iam create-role --role-name Test-Cognito-Role --assume-role-policy-document file://C:\policies\trustpolicyforcognitofederation.json

# Attach the permissions policy to the role to specify what it is allowed to do.
aws iam put-role-policy --role-name Test-Cognito-Role --policy-name Perms-Policy-For-CognitoFederation --policy-document file://C:\policies\permspolicyforcognitofederation.json
```

## Eine Rolle für den Verbundzugriff (AWS API) erstellen
<a name="roles-creatingrole-identityprovider-api"></a>

Die Schritte zum Erstellen einer Rolle für die unterstützten Identitätsanbieter (OIDC oder SAML) aus der AWS CLI sind identisch. Der Unterschied liegt im Inhalt der Vertrauensrichtlinie, die Sie in den notwendigen Schritten erstellen. Beginnen Sie mit den im Abschnitt **Voraussetzungen** beschriebenen Schritten für den verwendeten Anbietertyp:
+ Weitere Informationen über OIDC-Anbieter finden Sie unter [Voraussetzungen für das Erstellen einer Rolle für OIDC](id_roles_create_for-idp_oidc.md#idp_oidc_Prerequisites).
+ Weitere Informationen über SAML-Anbieter finden Sie unter [Voraussetzungen für das Erstellen einer Rolle für SAML](id_roles_create_for-idp_saml.md#idp_saml_Prerequisites).

**Um eine Rolle (AWS API) zu erstellen**

1. Eine Rolle erstellen: [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)

1. Fügen Sie der Rolle eine Berechtigungsrichtlinie hinzu: [AttachRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachRolePolicy.html)

    oder

   Erstellen Sie eine Inline-Berechtigungsrichtlinie für die Rolle: [PutRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePolicy.html)

1. (Optional) Fügen Sie dem Benutzer benutzerdefinierte Attribute hinzu, indem Sie Tags anhängen: [TagRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagRole.html)

   Weitere Informationen finden Sie unter [Verwaltung von Tags für IAM-Benutzer (AWS CLI oder AWS API)](id_tags_users.md#id_tags_users_procs-cli-api).

1. (Optional) Legen Sie die [Berechtigungsgrenze](access_policies_boundaries.md) für die Rolle fest: [PutRolePermissionsBoundary](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePermissionsBoundary.html)

   Eine Berechtigungsgrenze bestimmt die maximalen Berechtigungen, die eine Rolle haben kann. Bei den Berechtigungsgrenzen handelt es sich um eine erweiterte AWS Funktion.

# Rollen für OpenID-Connect-Verbund erstellen (Konsole)
<a name="id_roles_create_for-idp_oidc"></a>

Sie können die föderierten Identitätsanbieter von OpenID Connect (OIDC) verwenden, anstatt Benutzer in Ihrem zu erstellen AWS Identity and Access Management . AWS-Konto Mit einem Identitätsanbieter (IdP) können Sie Ihre Benutzeridentitäten außerhalb von verwalten AWS und diesen externen Benutzeridentitäten Berechtigungen für den Zugriff auf AWS Ressourcen in Ihrem Konto erteilen. Weitere Informationen zu Federation und IdPs finden Sie unter. [Identitätsanbieter und Verbund zu AWS](id_roles_providers.md)

## Voraussetzungen für das Erstellen einer Rolle für OIDC
<a name="idp_oidc_Prerequisites"></a>

Bevor Sie eine Rolle für den OIDC-Verbund erstellen können, müssen Sie zunächst die folgenden erforderlichen Schritte ausführen.<a name="oidc-prereqs"></a>

**So erstellen Sie eine Rolle für den OIDC-Verbund**

1. Melden Sie sich bei einem oder mehreren Services an, die eine Verbund-OIDC-Identität anbieten. Wenn Sie eine App erstellen, die Zugriff auf Ihre AWS Ressourcen benötigt, konfigurieren Sie Ihre App auch mit den Anbieterinformationen. Wenn Sie dies tun, erhalten Sie vom Anbieter eine Anwendungs- oder Zielgruppen-ID, die für Ihre Anwendung eindeutig ist. (Unterschiedliche Anbieter verwenden unterschiedliche Terminologie für diesen Prozess. In diesem Handbuch wird der Begriff *configure*, um Ihre App beim Anbieter zu identifizieren.) Sie können mehrere Anwendungen bei jedem Anbieter oder mehrere Anbieter mit einer einzigen Anwendung konfigurieren. Informationen zur Verwendung der Identitätsanbieter finden Sie im Folgendem:
   + [Login with Amazon-Entwicklerzentrum](https://login.amazon.com/)
   + [Add Facebook Login to Your App or Website](https://developers.facebook.com/docs/facebook-login/v2.1) auf der Facebook-Entwickler-Website.
   + [Verwenden von OAuth 2.0 für die Anmeldung (OpenID Connect)](https://developers.google.com/accounts/docs/OAuth2Login) auf der Google-Entwicklerseite.

1. <a name="idpoidcstep2"></a>Nachdem Sie die erforderlichen Informationen vom Identitätsanbieter erhalten haben, erstellen Sie einen Identitätsanbieter in IAM. Weitere Informationen finden Sie unter [OpenID Connect (OIDC)-Identitätsanbieter in IAM erstellen](id_roles_providers_create_oidc.md).
**Wichtig**  
Wenn Sie einen OIDC-Identitätsanbieter von Google, Facebook oder Amazon Cognito verwenden, erstellen Sie keinen separaten IAM-Identitätsanbieter in der AWS-Managementkonsole. Diese OIDC-Identitätsanbieter sind bereits integriert AWS und stehen Ihnen zur Nutzung zur Verfügung. Überspringen Sie diesen Schritt, und wechseln Sie im folgenden Schritt zum Erstellen neuer Rollen mit Ihrem Identitätsanbieter.

1. Bereiten Sie die Richtlinien für die Rolle vor, die von den über einen Identitätsanbieter authentifizierten Benutzern übernommen werden sollen. Wie bei jeder Rolle enthält eine Rolle für eine mobile App zwei Richtlinien. Eine ist die Vertrauensrichtlinie, die angibt, wer die Rolle übernehmen kann. Die andere ist die Berechtigungsrichtlinie, die die AWS -Aktionen und -Ressourcen angibt, auf die die mobile App Zugriff hat oder nicht.

   Für das Internet empfehlen wir IdPs, [Amazon Cognito](https://aws.amazon.com/cognito/) zur Verwaltung von Identitäten zu verwenden. In diesem Fall verwenden Sie eine Vertrauensrichtlinie, ähnlich wie in diesem Beispiel.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Principal": {"Federated": "cognito-identity.amazonaws.com"},
           "Action": "sts:AssumeRoleWithWebIdentity",
           "Condition": {
               "StringEquals": {"cognito-identity.amazonaws.com:aud": "us-east-2:12345678-abcd-abcd-abcd-123456"},
               "ForAnyValue:StringLike": {"cognito-identity.amazonaws.com:amr": "unauthenticated"}
           }
       }
   }
   ```

------

   Ersetzen Sie `us-east-2:12345678-abcd-abcd-abcd-123456` durch die Identitätspool-ID, die Amazon Cognito Ihnen zuweist.

   Wenn Sie einen OIDC-IdP manuell konfigurieren, müssen Sie beim Erstellen der Vertrauensrichtlinie drei Werte verwenden, die sicherstellen, dass nur Ihre App die Rolle übernehmen kann:
   + Verwenden Sie für das Element `Action` die Aktion `sts:AssumeRoleWithWebIdentity`.
   + Verwenden Sie für das Element `Principal` die Zeichenfolge `{"Federated":providerUrl/providerArn}`.
     + Bei einigen gängigen OIDCs handelt es sich um IdPs eine URL. `providerUrl` Die folgenden Beispiele enthalten Methoden zur Angabe des Prinzips für einige häufig verwendete Methoden: IdPs

       `"Principal":{"Federated":"cognito-identity.amazonaws.com"}`

       `"Principal":{"Federated":"www.amazon.com"}`

       `"Principal":{"Federated":"graph.facebook.com"}`

       `"Principal":{"Federated":"accounts.google.com"}`
     + Verwenden Sie für andere OIDC-Anbieter den Amazon-Ressourcenname (ARN) des OIDC-Identitätsanbieters, den Sie in [Step 2](#idpoidcstep2) erstellt haben, wie im folgenden Beispiel:

       `"Principal":{"Federated":"arn:aws:iam::123456789012:oidc-provider/server.example.com"}`
   + Verwenden Sie für das Element `Condition` eine Bedingung `StringEquals`, um die Berechtigungen einzuschränken. Testen Sie die Identitätspool-ID für Amazon Cognito) oder die App-ID für andere Anbieter. Die Identitätspool-ID sollte mit der App-ID übereinstimmen, die Sie bei der Konfiguration der App mit dem Identitätsanbieter erhalten haben. Diese Übereinstimmung zwischen den IDs stellt sicher, dass die Anfrage von Ihrer App stammt.
**Anmerkung**  
IAM-Rollen für Amazon Cognito-Identitätspools vertrauen darauf, dass der Service-Prinzipal `cognito-identity.amazonaws.com` die Rolle übernimmt. Rollen dieses Typs müssen mindestens einen Bedingungsschlüssel enthalten, um die Anzahl der Prinzipale einzuschränken, die die Rolle übernehmen können.  
Für Amazon-Cognito-Identitätspools, die [kontenübergreifende IAM-Rollen](access_policies-cross-account-resource-access.md) übernehmen, gelten zusätzliche Überlegungen. Die Vertrauensrichtlinien dieser Rollen müssen den Service-Prinzipal `cognito-identity.amazonaws.com` akzeptieren und den Bedingungsschlüssel `aud` enthalten, um die Rollenübernahme auf Benutzer aus Ihren vorgesehenen Identitätspools zu beschränken. Eine Richtlinie, die Amazon-Cognito-Identitätspools ohne diese Bedingung vertraut, birgt das Risiko, dass ein Benutzer aus einem nicht vorgesehenen Identitätspool die Rolle übernehmen kann. Weitere Informationen finden Sie unter [Vertrauensrichtlinien für IAM-Rollen in der grundlegenden (klassischen) Authentifizierung](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#trust-policies) im *Amazon-Cognito-Entwicklerhandbuch*.

     Erstellen Sie ein Bedingungselement ähnlich einem der folgenden Beispiele, je nach dem von Ihnen verwendeten Identitätsanbieter: 

     `"Condition": {"StringEquals": {"cognito-identity.amazonaws.com:aud": "us-east:12345678-ffff-ffff-ffff-123456"}}`

     `"Condition": {"StringEquals": {"www.amazon.com:app_id": "amzn1.application-oa2-123456"}}`

     `"Condition": {"StringEquals": {"graph.facebook.com:app_id": "111222333444555"}}`

     `"Condition": {"StringEquals": {"accounts.google.com:aud": "66677788899900pro0"}}`

     Verwenden Sie für OIDC-Anbieter die vollqualifizierte URL des OIDC-Identitätsanbieters mit dem Kontextschlüssel `aud` wie im folgenden Beispiel: 

     `"Condition": {"StringEquals": {"server.example.com:aud": "appid_from_oidc_idp"}}`
**Anmerkung**  
Die Werte für den Prinzipal in der Vertrauensrichtlinie für die Rolle sind spezifisch für einen Identitätsanbieter. Eine Rolle für OIDC kann nur einen Prinzipal angeben. Wenn sich Benutzer in einer mobilen App über mehrere Identitätsanbieter anmelden können, müssen Sie daher für jeden Identitätsanbieter den Sie unterstützen möchten, eine separate Rolle erstellen. Erstellen Sie separate Vertrauensrichtlinien für jeden Identitätsanbieter.

   Wenn sich ein Benutzer über eine mobile App bei Login with Amazon anmeldet, würde das folgende Beispiel einer Vertrauensrichtlinie gelten. Stellt im Beispiel die App-ID *amzn1.application-oa2-123456* dar, die Amazon zuweist, als Sie die App mithilfe von Login with Amazon konfiguriert haben.

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

****  

   ```
   {
         "Version":"2012-10-17",		 	 	 
         "Statement": [{
             "Sid": "RoleForLoginWithAmazon",
             "Effect": "Allow",
             "Principal": {"Federated": "www.amazon.com"},
             "Action": "sts:AssumeRoleWithWebIdentity",
             "Condition": {"StringEquals": {"www.amazon.com:app_id": "amzn1.application-oa2-123456"}}
         }]
     }
   ```

------

   Wenn ein Benutzer eine mobile App verwendet, um sich von Facebook aus anzumelden, würde das folgende Beispiel einer Vertrauensrichtlinie gelten. Stellt in diesem Beispiel die App-ID *111222333444555* dar, die Facebook zuweist.

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

****  

   ```
   {
         "Version":"2012-10-17",		 	 	 
         "Statement": [{
             "Sid": "RoleForFacebook",
             "Effect": "Allow",
             "Principal": {"Federated": "graph.facebook.com"},
             "Action": "sts:AssumeRoleWithWebIdentity",
             "Condition": {"StringEquals": {"graph.facebook.com:app_id": "111222333444555"}}
         }]
     }
   ```

------

   Wenn ein Benutzer eine mobile App verwendet, um sich von Google aus anzumelden, würde das folgende Beispiel einer Vertrauensrichtlinie gelten. Stellt in diesem Beispiel die App-ID *666777888999000* dar, die Google zuweist.

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

****  

   ```
   {
         "Version":"2012-10-17",		 	 	 
         "Statement": [{
             "Sid": "RoleForGoogle",
             "Effect": "Allow",
             "Principal": {"Federated": "accounts.google.com"},
             "Action": "sts:AssumeRoleWithWebIdentity",
             "Condition": {"StringEquals": {"accounts.google.com:aud": "666777888999000"}}
         }]
     }
   ```

------

   Wenn ein Benutzer eine mobile App verwendet, um sich von Amazon Cognito aus anzumelden, würde das folgende Beispiel einer Vertrauensrichtlinie gelten. Stellt in diesem Beispiel die Identitätspool-ID *us-east:12345678-ffff-ffff-ffff-123456* dar, die Amazon Cognito zuweist.

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

****  

   ```
   {
         "Version":"2012-10-17",		 	 	 
         "Statement": [{
             "Sid": "RoleForCognito",
             "Effect": "Allow",
             "Principal": {"Federated": "cognito-identity.amazonaws.com"},
             "Action": "sts:AssumeRoleWithWebIdentity",
             "Condition": {"StringEquals": {"cognito-identity.amazonaws.com:aud": "us-east:12345678-ffff-ffff-ffff-123456"}}
         }]
     }
   ```

------

## Erstellen einer Rolle für OIDC
<a name="idp_oidc_Create"></a>

Nach dem Erstellen der vorbereitenden Schritte können Sie nun die Rolle in IAM erstellen. *Für anerkannte Shared OpenID Connect (OIDC) -Identitätsanbieter (IdPs) erfordert IAM eine explizite Bewertung bestimmter Ansprüche in JSON Web Tokens (JWTs), die als Identity-Provider-Kontrollen bezeichnet werden.* *Weitere Informationen darüber, welche IdPs OIDC über Steuerelemente für Identitätsanbieter verfügen, finden Sie unter.* [Identitätsanbieter-Kontrollen für gemeinsame OIDC-Anbieter](id_roles_providers_oidc_secure-by-default.md)

Im folgenden Verfahren wird beschrieben, wie Sie die Rolle für den OIDC-Verbund in der AWS-Managementkonsole erstellen. Informationen zum Erstellen einer Rolle über die AWS API AWS CLI oder finden Sie in den Verfahren unter. [Erstellen einer Rolle für einen externen Identitätsanbieter](id_roles_create_for-idp.md)

**Wichtig**  
Wenn Sie Amazon Cognito verwenden, verwenden Sie die Amazon-Cognito-Konsole, um die Rollen einzurichten. Verwenden Sie andernfalls zum Erstellen von Rollen für den OIDC-Verbund die IAM-Konsole.

**So erstellen Sie eine IAM-Rolle für den OIDC-Verbund**

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 **Rollen** und dann **Rolle erstellen**.

1. **Wählen Sie **Web-Identität** als vertrauenswürdigen Entitätstyp aus und klicken Sie auf Weiter**.

1. Wählen Sie für **Identity provider** (Identitätsanbieter), den Identitätsanbieter für Ihre Rolle: 
   + Wenn Sie eine Rolle für einen einzelnen Web-Identitätsanbieter erstellen, wählen Sie **Login with Amazon**, **Facebook** oder **Google**. 
**Anmerkung**  
Sie müssen für jeden Identitätsanbieter, den Sie unterstützen möchten, eine eigene Rolle erstellen.
   + Wenn Sie eine erweiterte Szenario-Rolle für Amazon Cognito erstellen möchten, wählen Sie **Amazon Cognito**. 
**Anmerkung**  
Sie müssen eine Rolle manuell erstellen, um sie mit Amazon Cognito zu verwenden, wenn Sie an einem erweiterten Szenario arbeiten. Andernfalls kann Amazon Cognito Rollen für Sie erstellen. Weitere Informationen zu Amazon Cognito finden Sie unter [Identitätspools (verbundene Identitäten)](https://docs.aws.amazon.com/cognito/latest/developerguide/external-identity-providers.html) im *Amazon-Cognito-Entwicklerhandbuch*. 
   + Wenn Sie eine Rolle für GitHub Actions erstellen möchten, müssen Sie zunächst den GitHub OIDC-Anbieter zu IAM hinzufügen. **Nachdem Sie den GitHub OIDC-Anbieter zu IAM hinzugefügt haben, wählen Sie token.actions.githubusercontent.com.** 
**Anmerkung**  
Informationen zur Konfiguration, dem OIDC-Anbieter als föderierte Identität AWS zu vertrauen GitHub, finden Sie unter [GitHub Dokumente — Konfiguration von OpenID Connect in](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services) Amazon Web Services. Informationen zu bewährten Methoden zur Beschränkung des Zugriffs für Rollen, die mit dem IAM-IdP für verknüpft sind GitHub, finden Sie [Konfiguration einer Rolle für den GitHub OIDC-Identitätsanbieter](#idp_oidc_Create_GitHub) auf dieser Seite.
   + Wenn Sie eine Rolle für HashiCorp Cloud Platform (HCP) Terraform erstellen möchten, müssen Sie zunächst den Terraform OIDC-Anbieter zu IAM hinzufügen. Nachdem Sie den Terraform-OIDC-Anbieter zu IAM hinzugefügt haben, rufen Sie **app.terraform.io** ab. 
**Wichtig**  
IAM-Rollen für HashiCorp Cloud Platform (HCP) Der Terraform OIDC-Anbieter muss den IAM-Bedingungsschlüssel,, in der Rollenvertrauensrichtlinie auswerten. `app.terraform.io:sub` Dieser Bedingungsschlüssel begrenzt, welche HCP Terraform-Organisationen, Projekte, Arbeitsbereiche oder Ausführungsphasen die Rolle übernehmen können. Ohne diesen Bedingungsschlüssel gewährt Ihre Vertrauensrichtlinie den Zugriff auf Ihre Rolle und AWS Ressourcen durch Identitäten außerhalb Ihrer Organisation, was nicht dem Prinzip der geringsten Rechte entspricht.   
Wenn Sie eine Rollenvertrauensrichtlinie für eine Rolle festlegen oder ändern, die dem HCP Terraform OIDC-Anbieter in Ihrem AWS Konto zugeordnet ist, aber den IAM-Bedingungsschlüssel `app.terraform.io:sub` nicht auswerten, erhalten Sie eine Fehlermeldung. Darüber hinaus lehnt AWS STS Autorisierungsanfragen ab, wenn Ihre Rollenvertrauensrichtlinie diesen Bedingungsschlüssel nicht auswertet.

1. Die angeforderten Informationen variieren je nach dem ausgewählten OIDC-Anbieter.
   + Geben Sie die Kennung für Ihre Anwendung ein. Die Marierung der Kennung ist abhängig von dem von Ihnen gewählten Anbieter:
     + Wenn Sie eine Rolle für Login with Amazon erstellen, geben Sie die App-ID in das Feld **Application ID** (Anwendungs-ID) ein.
     + Wenn Sie eine Rolle für Facebook erstellen, geben Sie die App-ID in das Feld **Application ID** (Anwendungs-ID) ein.
     + Wenn Sie eine Rolle für Google erstellen, geben Sie die App-ID in das Feld **Audience** (Zielgruppe) ein.
     + Wenn Sie eine Rolle für Amazon Cognito erstellen, geben Sie die ID des Identitäten-Pools, den Sie für Ihre Amazon-Cognito-Anwendungen erstellt haben, im Feld **Identity Pool ID** (Identitäten-Pool-ID) ein.
   + Wenn Sie eine Rolle für GitHub Actions erstellen möchten, geben Sie die folgenden Details ein:
     + Wählen Sie für **Audience (Zielgruppe)** `sts.amazonaws.com`.
     + Geben Sie für **GitHub Organisation** den Namen der GitHub Organisation ein. Der Name der GitHub Organisation ist erforderlich und muss alphanumerisch sein und Bindestriche (-) enthalten. Sie können keine Platzhalterzeichen (\$1 und?) verwenden im Namen der GitHub Organisation.
     + (Optional) Geben Sie für **GitHub Repository** den GitHub Repository-Namen ein. Wenn Sie keinen Wert angeben, wird standardmäßig ein Platzhalter (`*`) verwendet.
     + (Optional) Geben Sie für **GitHub Branch** den GitHub Branch-Namen ein. Wenn Sie keinen Wert angeben, wird standardmäßig ein Platzhalter (`*`) verwendet.
   + Wenn Sie eine Rolle für HashiCorp Cloud Platform (HCP) Terraform erstellen möchten, geben Sie die folgenden Details ein:
     + Wählen Sie für **Audience (Zielgruppe)** `aws.workload.identity`.
     + Geben Sie unter **Organisation** den Namen der Organisation eingeben. Sie können für alle Organisationen ein Platzhalterzeichen (`*`) angeben.
     + Geben Sie bei **Projekt** den Projektnamen ein. Sie können für alle Projekte ein Platzhalterzeichen (`*`) angeben.
     + Geben Sie unter **Arbeitsbereich** den Namen für den Arbeitsbereich ein. Sie können für alle Arbeitsbereiche ein Platzhalterzeichen (`*`) angeben.
     + Geben Sie für **Ausführungsphase** den Namen der Ausführungsphase ein. Sie können für alle Ausführungsphasen ein Platzhalterzeichen (`*`) angeben.

1. (Optional:) Wählen Sie unter **Bedingung (optional)** die Option **Bedingung hinzufügen** aus, um weitere Bedingungen zu erstellen, die erfüllt werden müssen, damit Benutzer Ihrer Anwendung die durch die Rolle erteilten Berechtigungen verwenden können. Sie können beispielsweise eine Bedingung hinzufügen, die den Zugriff auf AWS Ressourcen nur für eine bestimmte IAM-Benutzer-ID gewährt. Sie können Bedingungen auch der Vertrauensrichtlinie hinzufügen, nachdem die Rolle erstellt wurde. Weitere Informationen finden Sie unter [Rollenvertrauensrichtlinie aktualisieren](id_roles_update-role-trust-policy.md).

1. Überprüfen Sie Ihre OIDC-Informationen und klicken Sie dann auf **Weiter**.

1. IAM enthält eine Liste der AWS verwalteten und kundenverwalteten Richtlinien in Ihrem Konto. Wählen Sie die Richtlinie aus, die für die Berechtigungsrichtlinie verwendet werden soll, oder wählen Sie **Create policy** (Richtlinie erstellen), um eine neue Registerkarte im Browser zu öffnen und eine neue Richtlinie von Grund auf zu erstellen. Weitere Informationen finden Sie unter [Erstellen von IAM-Richtlinien](access_policies_create-console.md#access_policies_create-start). Nachdem Sie die Richtlinie erstellt haben, schließen Sie die Registerkarte und kehren zur ursprünglichen Registerkarte zurück. Aktivieren Sie das Kontrollkästchen neben den Berechtigungsrichtlinien, die OIDC-Benutzer haben sollen. Wenn Sie es vorziehen, zu diesem Zeitpunkt keine Richtlinien auszuwählen, können Sie sie der Rolle später hinzufügen. Standardmäßig hat eine Rolle keine Berechtigungen.

1. (Optional) Legen Sie eine [Berechtigungsgrenze](access_policies_boundaries.md) fest. Dies ist ein erweitertes Feature.

   Öffnen Sie den Abschnitt **Permissions boundary** (Berechtigungsgrenze) und wählen Sie **Use a permissions boundary to control the maximum role permissions** (Eine Berechtigungsgrenze verwenden, um die maximalen Rollen-Berechtigungen zu steuern). Wählen Sie die Richtlinie aus, die für eine Berechtigungsgrenze verwendet werden soll.

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

1. Geben Sie für **Role name** (Rollenname) einen Rollennamen ein. Rollennamen müssen innerhalb Ihres AWS-Konto Unternehmens eindeutig sein. Dabei wird zwischen Groß- und Kleinschreibung nicht unterschieden. Zum Beispiel können Sie keine Rollen erstellen, die sowohl **PRODROLE** als auch **prodrole** heißen. Da andere AWS Ressourcen möglicherweise auf die Rolle verweisen, können Sie den Namen der Rolle nicht bearbeiten, nachdem Sie sie erstellt haben.

1. (Optional) Geben Sie im Feld **Description** (Beschreibung) eine Beschreibung für die neue Rolle ein.

1. Um die Anwendungsfälle und Berechtigungen für die Rolle zu bearbeiten, wählen Sie in den Abschnitten **Step 1: Select trusted entities** (Schritt 1: Vertrauenswürdige Entitäten auswählen) oder **Step 2: Add permissions** (Schritt 2: Berechtigungen hinzufügen) die Option **Edit** (Bearbeiten). 

1. (Optional) Wenn Sie der Rolle Metadaten hinzufügen möchten, fügen Sie Tags als Schlüssel-Wert-Paare an. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter [Tags für AWS Identity and Access Management Ressourcen](id_tags.md).

1. Prüfen Sie die Rolle und klicken Sie dann auf **Rolle erstellen**.

## Konfiguration einer Rolle für den GitHub OIDC-Identitätsanbieter
<a name="idp_oidc_Create_GitHub"></a>

Wenn Sie GitHub als OpenID Connect (OIDC) Identity Provider (IdP) verwenden, empfiehlt es sich, die Entitäten einzuschränken, die die dem IAM-IdP zugeordnete Rolle übernehmen können. Wenn Sie eine Bedingungserklärung in die Vertrauensrichtlinie aufnehmen, können Sie die Rolle auf eine bestimmte GitHub Organisation, ein Repository oder eine Branche beschränken. Sie können den Bedingungsschlüssel `token.actions.githubusercontent.com:sub` mit Bedingungsoperatoren für Zeichenfolgen verwenden, um den Zugriff einzuschränken. Wir empfehlen, die Bedingung auf eine bestimmte Gruppe von Repositorys oder Zweigen innerhalb Ihrer GitHub Organisation zu beschränken. Informationen zur Konfiguration, um dem OIDC als föderierte Identität AWS zu vertrauen GitHub, finden Sie unter [GitHub Dokumente — Konfiguration von OpenID Connect in](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services) Amazon Web Services. 

Wenn Sie GitHub Umgebungen in Aktionsworkflows oder in OIDC-Richtlinien verwenden, empfehlen wir dringend, der Umgebung Schutzregeln hinzuzufügen, um zusätzliche Sicherheit zu gewährleisten. Verwenden Sie Bereitstellungsverzweigungen und -Tags, um einzuschränken, welche Verzweigungen und Tags in der Umgebung bereitgestellt werden können. Weitere Informationen zur Konfiguration von Umgebungen mit Schutzregeln finden Sie unter [Deployment Branches and Tags](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-branches-and-tags) im Artikel GitHub *Umgebungen für die Bereitstellung verwenden*.

Wenn GitHub der OIDC-IdP der vertrauenswürdige Principal für Ihre Rolle ist, überprüft IAM die Bedingung der Rollenvertrauensrichtlinie, um sicherzustellen, dass der Bedingungsschlüssel vorhanden `token.actions.githubusercontent.com:sub` ist und dass sein Wert nicht nur ein Platzhalterzeichen (\$1 und?) oder null. IAM führt diese Prüfung durch, wenn die Vertrauensrichtlinie erstellt oder aktualisiert wird. Wenn der Bedingungsschlüssel `token.actions.githubusercontent.com:sub` nicht vorhanden ist oder der Schlüsselwert die genannten Wertkriterien nicht erfüllt, schlägt die Anforderung fehl und gibt einen Fehler zurück.

**Wichtig**  
Wenn Sie den Bedingungsschlüssel nicht `token.actions.githubusercontent.com:sub` auf eine bestimmte Organisation oder ein bestimmtes Repository beschränken, können GitHub Aktionen von Organisationen oder Repositorys, auf die Sie keinen Einfluss haben, Rollen übernehmen, die dem GitHub IAM-IdP in Ihrem Konto zugeordnet sind. AWS 

Das folgende Beispiel für eine Vertrauensrichtlinie beschränkt den Zugriff auf die definierte GitHub Organisation, das Repository und die Filiale. Der `token.actions.githubusercontent.com:sub` Wert des Bedingungsschlüssels im folgenden Beispiel ist das Standardformat für den Betreffwert, das von dokumentiert wird GitHub.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::012345678910:oidc-provider/token.actions.githubusercontent.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "token.actions.githubusercontent.com:aud": "sts.amazonaws.com",
          "token.actions.githubusercontent.com:sub": "repo:GitHubOrg/GitHubRepo:ref:refs/heads/GitHubBranch"
        }
      }
    }
  ]
}
```

------

Die folgende Beispielbedingung beschränkt den Zugriff auf die definierte GitHub Organisation und das definierte Repository, gewährt jedoch Zugriff auf alle Zweige innerhalb des Repositorys.

```
"Condition": {
  "StringEquals": {
          "token.actions.githubusercontent.com:aud": "sts.amazonaws.com"
  },
  "StringLike": {    
    "token.actions.githubusercontent.com:sub": "repo:GitHubOrg/GitHubRepo:*"
  }
}
```

Die folgende Beispielbedingung beschränkt den Zugriff auf jedes Repository oder jede Filiale innerhalb der definierten GitHub Organisation. Wir empfehlen, dass Sie den Bedingungsschlüssel `token.actions.githubusercontent.com:sub` auf einen bestimmten Wert beschränken, der den Zugriff auf GitHub Aktionen innerhalb Ihrer GitHub Organisation einschränkt.

```
"Condition": {
  "StringEquals": {
          "token.actions.githubusercontent.com:aud": "sts.amazonaws.com"
  },
  "StringLike": {    
    "token.actions.githubusercontent.com:sub": "repo:GitHubOrg/*"
  }
}
```

Weitere Informationen zu den OIDC-Verbundschlüsseln, die für Bedingungsprüfungen in Richtlinien verfügbar sind, finden Sie unter [Verfügbare Schlüssel für den AWS OIDC-Verbund](reference_policies_iam-condition-keys.md#condition-keys-wif).

# Rollen für den SAML 2.0-Verbund erstellen (Konsole)
<a name="id_roles_create_for-idp_saml"></a>

 Sie können den SAML 2.0-Verbund verwenden, anstatt IAM-Benutzer in Ihrem zu erstellen. AWS-Konto Mit einem Identitätsanbieter (IdP) können Sie Ihre Benutzeridentitäten außerhalb von verwalten AWS und diesen externen Benutzeridentitäten Berechtigungen für den Zugriff auf AWS Ressourcen in Ihrem Konto erteilen. Weitere Informationen zu Verbund- und Identitätsanbietern finden Sie unter [Identitätsanbieter und Verbund zu AWS](id_roles_providers.md).

**Anmerkung**  
Um die Verbundstabilität zu verbessern, empfehlen wir, dass Sie Ihren IdP und Ihren AWS -Verbund so konfigurieren, dass mehrere SAML-Anmeldeendpunkte unterstützt werden. Einzelheiten finden Sie im AWS Sicherheitsblogartikel [How to use regional SAML](https://aws.amazon.com/blogs//security/how-to-use-regional-saml-endpoints-for-failover) endpoints for Failover.

## Voraussetzungen für das Erstellen einer Rolle für SAML
<a name="idp_saml_Prerequisites"></a>

Bevor Sie eine Rolle für den SAML-2.0-Verbund erstellen können, müssen Sie zunächst folgende Schritte ausführen.<a name="saml-prereqs"></a>

**So erstellen Sie eine Rolle für den SAML 2.0-Verbund**

1. <a name="idpsamlstep1"></a>Bevor Sie eine Rolle für den SAML-basierten Verbund erstellen, müssen Sie einen SAML-Anbieter in IAM erstellen. Weitere Informationen finden Sie unter [Erstellen eines SAML-Identitätsanbieters in IAM](id_roles_providers_create_saml.md).

1. Bereiten Sie die Richtlinien für die Rolle vor, die von den über SAML 2.0 authentifizierten Benutzern übernommen werden sollen. Wie bei jeder Rolle enthält eine Rolle für den SAML-Verbund zwei Richtlinien. Eine davon ist die Vertrauensrichtlinie, die angibt, wer die Rolle übernehmen kann. Die andere ist die IAM-Berechtigungsrichtlinie, die festlegt, auf welche AWS Aktionen und Ressourcen dem SAML-Verbundprinzipal der Zugriff gewährt oder verweigert wird.

   Wenn Sie die Vertrauensrichtlinie für Ihre Rolle erstellen, müssen Sie drei Werte verwenden, um sicherzustellen, dass nur Ihre Anwendung die Rolle übernehmen kann:
   + Verwenden Sie für das Element `Action` die Aktion `sts:AssumeRoleWithSAML`.
   + Verwenden Sie für das Element `Principal` die Zeichenfolge `{"Federated":ARNofIdentityProvider}`. Ersetzen Sie `ARNofIdentityProvider` mit dem ARN des [SAML-Identitätsanbieters](id_roles_providers_saml.md), den Sie in [Step 1](#idpsamlstep1) erstellt haben.
   + Verwenden Sie für das `Condition`-Element eine `StringEquals`-Bedingung, um zu prüfen, ob das `saml:aud`-Attribut aus der SAML-Antwort mit der URL übereinstimmt, die Ihr Browser bei der Anmeldung an der Konsole anzeigt. Diese Anmelde-Endpunkt-URL ist das SAML-Empfängerattribut Ihres Identitätsanbieters. Sie können die Anmeldung URLs innerhalb bestimmter Regionen einbeziehen. AWS empfiehlt, regionale Endpunkte anstelle des globalen Endpunkts zu verwenden, um die Ausfallsicherheit des Verbunds zu verbessern. Eine Liste möglicher *region-code* Werte finden Sie in der Spalte **Region** unter [AWS Anmeldeendpunkte](https://docs.aws.amazon.com/general/latest/gr/signin-service.html).

     Wenn die SAML-Verschlüsselung erforderlich ist, muss die Anmelde-URL die eindeutige Bezeichnung enthalten, die AWS Ihrem SAML-Anbieter zuweist. Sie können die eindeutige ID anzeigen, indem Sie den Identitätsanbieter in der IAM-Konsole auswählen, der die Detailseite anzeigen soll.

     `https://region-code.signin.aws.amazon.com/saml/acs/IdP-ID`

   Das folgende Beispiel ist auf eine Vertrauensrichtlinie für einen verbundenen SAML-Benutzer ausgelegt:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Action": "sts:AssumeRoleWithSAML",
           "Principal": {
               "Federated": "arn:aws:iam::111122223333:saml-provider/PROVIDER-NAME"
           },
           "Condition": {
               "StringEquals": {
                   "SAML:aud": "https://region-code.signin.aws.amazon.com/saml"
               }
           }
       }
   }
   ```

------

   Ersetzen Sie den Haupt-ARN durch den tatsächlichen ARN für den SAML-Anbieter, den Sie in IAM erstellt haben. Er enthält Ihre eigene Konto-ID und den Namen des Anbieters. 

## Erstellen einer Rolle für SAML
<a name="idp_saml_Create"></a>

Nachdem Sie die erforderlichen Schritte durchgeführt haben, können Sie die Rolle für den SAML-basierten Verbund anlegen. 

**So erstellen Sie eine Rolle für den SAML-basierten Verbund**

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 **Roles (Rollen)** und wählen Sie dann **Create role (Rolle erstellen)**.

1. Wählen Sie den Rollentyp **SAML 2.0-Verbund**.

1. Wählen Sie für **Select a SAML provider** (Einen SAML-Anbieter auswählen) den Anbieter für die Rolle. 

1. Wählen Sie die Zugriffsebenen-Methode SAML 2.0. 
   + Wählen Sie **Nur programmatischen Zugriff zulassen** aus, um eine Rolle zu erstellen, die programmgesteuert über die API oder übernommen werden kann. AWS AWS CLI
   + Wählen Sie **Programmatischen AWS-Managementkonsole Zugriff zulassen aus, um eine Rolle zu erstellen, die programmgesteuert und** von der aus übernommen werden kann. AWS-Managementkonsole

   Die erstellten Rollen ähneln einander, aber die Rolle, die auch über die Konsole übernommen werden kann, enthält eine Vertrauensrichtlinie mit einer bestimmten Bedingung. Diese Bedingung stellt ausdrücklich sicher, dass die SAML-Zielgruppe (`SAML:aud`-Attribut) auf den AWS -Anmeldeendpunkt für den SAML-Anbieter verweist.

1. Das Verfahren zur Definition von Attributen ist je nach Zugriffstyp unterschiedlich.
   + Wenn Sie eine Rolle für den programmgesteuerten Zugriff erstellen, wählen Sie ein Attribut aus der Liste **Attribute**. Geben Sie dann im Feld **Value** (Wert) einen Wert ein, der in die Rolle aufgenommen werden soll. Dadurch wird der Rollenzugriff auf die Benutzer des Identitätsanbieters beschränkt, deren SAML-Authentifizierungsantwort (Zusicherung) das angegebene Attribut enthält. Sie müssen mindestens ein Attribut angeben, um sicherzustellen, dass Ihre Rolle auf eine Benutzeruntergruppe in Ihrer Organisation beschränkt ist. 
   + Wenn Sie eine Rolle für Programmatic und AWS-Managementkonsole Access erstellen, definiert der Abschnitt **Anmelde-Endpunkte** die URL, die Ihr Browser bei der Anmeldung an der Konsole anzeigt. Dieser Endpunkt ist das SAML-Empfängerattribut Ihres Identitätsanbieters, das dem [`saml:aud`](reference_policies_iam-condition-keys.md#condition-keys-saml)-Kontextschlüssel zugeordnet ist. Weitere Informationen finden Sie unter [Konfigurieren von SAML-Assertionen für die Authentifizierungsreaktion](id_roles_providers_create_saml_assertions.md).

     1. Wählen Sie **Regionale Endpunkte** oder **Nicht-regionale Endpunkte**. Wir empfehlen, mehrere regionale SAML-Anmelde-Endpunkte zu verwenden, um die Ausfallsicherheit des Verbunds zu verbessern.

     1. Wählen Sie **unter Regionen** die Regionen aus, die Ihr SAML-Anbieter für die Anmeldung unterstützt. AWS 

     1.  Damit die **Anmeldung URLs eindeutige Kennungen enthält**, wählen Sie aus, ob die Anmeldeendpunkte die eindeutigen Kennungen enthalten, die Ihrem SAML-Identitätsanbieter zugewiesen wurden AWS . Diese Option ist für verschlüsselte SAML-Assertionen erforderlich. Weitere Informationen finden Sie unter [SAML 2.0-Föderation](id_roles_providers_saml.md).

1. Um der Vertrauensrichtlinie weitere attributbezogene Bedingungen hinzuzufügen, wählen Sie **Bedingung (optional)**, wählen Sie die zusätzliche Bedingung aus und geben Sie einen Wert an. 
**Anmerkung**  
In der Liste sind die am häufigsten verwendeten SAML-Attribute aufgeführt. IAM unterstützt weitere Attribute, die Sie zum Erstellen von Bedingungen verwenden können. Eine Liste der unterstützten Attribute finden Sie unter [Verfügbare Schlüssel für SAML-Verbund](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#condition-keys-saml). Wenn Sie eine nicht in der Liste enthaltene Bedingung für ein unterstütztes SAML-Attribut benötigen, können Sie diese Bedingung manuell hinzufügen. Bearbeiten Sie dazu die Vertrauensrichtlinie, nachdem Sie die Rolle erstellt haben.

1.  Überprüfen Sie Ihre SAML-2.0-Vertrauensinformationen und wählen Sie dann **Next** (Weiter). 

1. IAM enthält eine Liste der verwalteten und AWS kundenverwalteten Richtlinien in Ihrem Konto. Wählen Sie die Richtlinie aus, die für die Berechtigungsrichtlinie verwendet werden soll, oder wählen Sie **Create policy** (Richtlinie erstellen), um eine neue Registerkarte im Browser zu öffnen und eine neue Richtlinie von Grund auf zu erstellen. Weitere Informationen finden Sie unter [Erstellen von IAM-Richtlinien](access_policies_create-console.md#access_policies_create-start). Nachdem Sie die Richtlinie erstellt haben, schließen Sie die Registerkarte und kehren zur ursprünglichen Registerkarte zurück. Aktivieren Sie das Kontrollkästchen neben den Berechtigungsrichtlinien, über die SAML-Verbundbenutzer verfügen sollen. Wenn Sie es vorziehen, zu diesem Zeitpunkt keine Richtlinien auszuwählen, können Sie sie der Rolle später hinzufügen. Standardmäßig hat eine Rolle keine Berechtigungen.

1. (Optional) Legen Sie eine [Berechtigungsgrenze](access_policies_boundaries.md) fest. Dies ist ein erweitertes Feature.

   Öffnen Sie den Abschnitt **Permissions boundary** (Berechtigungsgrenze) und wählen Sie **Use a permissions boundary to control the maximum role permissions** (Eine Berechtigungsgrenze verwenden, um die maximalen Rollen-Berechtigungen zu steuern). Wählen Sie die Richtlinie aus, die für eine Berechtigungsgrenze verwendet werden soll.

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

1. Wählen Sie **Weiter: Prüfen** aus.

1. Geben Sie für **Rollenname** einen Rollennamen ein. Rollennamen müssen innerhalb Ihres AWS-Konto Unternehmens eindeutig sein. Sie werden nicht nach Groß- und Kleinschreibung unterschieden. z. B. können Sie keine Rollen erstellen, die **PRODROLE** bzw. **prodrole** heißen. Da andere AWS Ressourcen möglicherweise auf die Rolle verweisen, können Sie den Namen der Rolle nicht bearbeiten, nachdem sie erstellt wurde. 

1. (Optional) Geben Sie im Feld **Description** (Beschreibung) eine Beschreibung für die neue Rolle ein.

1. Wählen Sie in den Abschnitten **Step 1: Select trusted entities** (Schritt 1: Vertrauenswürdige Entitäten auswählen) oder **Step 2: Add permissions** (Schritt 2: Berechtigungen hinzufügen) die Option **Edit** (Bearbeiten) aus, um die Anwendungsfälle und Berechtigungen für die Rolle zu bearbeiten. 

1. (Optional) Fügen Sie der Rolle Metadaten hinzu, indem Sie Tags als Schlüssel-Wert-Paare anfügen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter [Tags für AWS Identity and Access Management Ressourcen](id_tags.md).

1. Prüfen Sie die Rolle und klicken Sie dann auf **Rolle erstellen**.

Nachdem Sie die Rolle erstellt haben, vervollständigen Sie schließlich die SAML-Vertrauensstellung, indem Sie die Software Ihres Identitätsanbieters mit Informationen zu AWS konfigurieren. Diese Informationen umfassen die Rollen, die Ihre SAML-Verbundbenutzer verwenden sollen. Dies wird als Konfiguration der Vertrauensstellung zwischen Ihrem Identitätsanbieter und AWS bezeichnet. Weitere Informationen finden Sie unter [Konfigurieren Ihres SAML 2.0-IdP mit der Vertrauensstellung der vertrauenden Seite und Hinzufügen von Anträgen](id_roles_providers_create_saml_relying-party.md). 

# Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien erstellen
<a name="id_roles_create_for-custom"></a>

Sie können eine benutzerdefinierte Vertrauensrichtlinie erstellen, um den Zugriff zu delegieren und anderen die Ausführung von Aktionen in Ihrem AWS-Konto zu ermöglichen. Weitere Informationen finden Sie unter [Erstellen von IAM-Richtlinien](access_policies_create-console.md#access_policies_create-start).

Weitere Informationen zur Verwendung von Rollen zum Delegieren von Berechtigungen finden Sie unter [Rollenbegriffe und -konzepte](id_roles.md#id_roles_terms-and-concepts).

## Erstellen einer IAM-Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole)
<a name="roles-creatingrole-custom-trust-policy-console"></a>

Sie können die verwenden AWS-Managementkonsole , um eine Rolle zu erstellen, die ein IAM-Benutzer übernehmen kann. Gehen Sie beispielsweise davon aus, dass Ihr Unternehmen über mehrere Systeme verfügt AWS-Konten , um eine Entwicklungsumgebung von einer Produktionsumgebung zu isolieren. Allgemeine Informationen zum Erstellen einer Rolle, mit der Benutzer im Entwicklungskonto auf Ressourcen in der Produktionsumgebung zugreifen können, finden Sie unter [Beispielszenario mit getrennten Entwicklungs- und Produktionskonten](id_roles_common-scenarios_aws-accounts.md#id_roles_common-scenarios_aws-accounts-example).

**Erstellen einer Rolle mithilfe einer benutzerdefinierten Vertrauensrichtlinie (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 Konsole auf **Roles (Rollen)** und wählen Sie dann **Create role (Rolle erstellen)**.

1. Wählen Sie den Rollentyp **Custom trust policy** (Benutzerdefinierte Vertrauensrichtlinie).

1. Geben Sie im Abschnitt **Custom trust policy** (Benutzerdefinierte Vertrauensrichtlinie) die benutzerdefinierte Vertrauensrichtlinie für die Rolle ein, oder fügen Sie sie ein. Weitere Informationen finden Sie unter [Erstellen von IAM-Richtlinien](access_policies_create-console.md#access_policies_create-start).

1. Beheben Sie alle Sicherheitswarnungen, Fehler oder allgemeinen Warnungen, die während der [Richtlinien-Validierung](access_policies_policy-validator.md) erzeugt wurden, und wählen Sie dann **Next** (Weiter).

1. (Optional) Legen Sie eine [Berechtigungsgrenze](access_policies_boundaries.md) fest. Dies ist ein erweitertes Feature, das für Servicerollen verfügbar ist, aber nicht für servicegebundene Rollen.

   Öffnen Sie den Abschnitt **Permissions boundary** (Berechtigungsgrenze) und wählen Sie **Use a permissions boundary to control the maximum role permissions** (Eine Berechtigungsgrenze verwenden, um die maximalen Rollenberechtigungen zu steuern). IAM enthält eine Liste der AWS verwalteten und kundenverwalteten Richtlinien in Ihrem Konto. Wählen Sie die Richtlinie aus, die für eine Berechtigungsgrenze verwendet werden soll.

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

1. Für **Role name (Rollenname)** werden die Anpassungsmöglichkeiten für den Rollennamen durch den Service festgelegt. Wenn der Service den Namen der Rolle definiert, kann diese Option nicht bearbeitet werden. In anderen Fällen kann der Service ein Präfix für die Rolle festlegen und Ihnen das Eingeben eines optionalen Suffixes erlauben. Beim einigen Services können Sie den gesamten Namen Ihrer Rolle angeben.

   Geben Sie, wenn möglich, einen Rollennamen oder ein Rollennamen-Suffix ein. Rollennamen müssen innerhalb Ihres AWS-Konto Unternehmens eindeutig sein. Sie werden nicht nach Groß- und Kleinschreibung unterschieden. z. B. können Sie keine Rollen erstellen, die **PRODROLE** bzw. **prodrole** heißen. Da andere AWS Ressourcen möglicherweise auf die Rolle verweisen, können Sie den Namen der Rolle nicht bearbeiten, nachdem sie erstellt wurde.

1. (Optional) Geben Sie unter **Role description** (Rollenbeschreibung) eine Beschreibung für die neue Rolle ein.

1. (Optional) Wählen Sie **Bearbeiten** im Abschnitt **Schritt 1: Vertrauenswürdige Entitäten auswählen** oder **Schritt 2: Berechtigungen hinzufügen**, um die benutzerdefinierte Richtlinie und die Berechtigungen für die Rolle zu bearbeiten. 

1. (Optional) Fügen Sie der Rolle Metadaten hinzu, indem Sie Tags als Schlüssel-Wert-Paare anfügen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter [Tags für AWS Identity and Access Management Ressourcen](id_tags.md).

1. Prüfen Sie die Rolle und klicken Sie dann auf **Rolle erstellen**.

# Beispiele für Richtlinien zum Delegieren des Zugriffs
<a name="id_roles_create_policy-examples"></a>

Die folgenden Beispiele zeigen, wie Sie einen AWS-Konto Zugriff auf die Ressourcen in einem anderen zulassen oder gewähren können AWS-Konto. Informationen zum Erstellen einer IAM-Richtlinie mithilfe dieser Beispiel-JSON-Richtliniendokumente finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

**Topics**
+ [

## Verwenden Sie Rollen, um den Zugriff auf die Ressourcen anderer AWS-Konto Ressourcen zu delegieren
](#example-delegate-xaccount-rolesapi)
+ [

## Verwenden einer Richtlinie zum Delegieren des Zugriffs auf Services
](#id_roles_create_policy-examples-access-to-services)
+ [

## Verwendung einer ressourcenbasierten Richtlinie zur Delegation des Zugriffs auf einen Amazon S3-Bucket in einem anderen Konto
](#example-delegate-xaccount-S3)
+ [

## Verwendung einer ressourcenbasierten Richtlinie zur Delegation des Zugriffs auf eine Amazon SQS-Warteschlange in einem anderen Konto
](#example-delegate-xaccount-SQS)
+ [

## Delegieren des Zugriffs ist nicht möglich, wenn dem Konto der Zugriff verweigert wird
](#example-delegate-xaccount-SQS-denied)

## Verwenden Sie Rollen, um den Zugriff auf die Ressourcen anderer AWS-Konto Ressourcen zu delegieren
<a name="example-delegate-xaccount-rolesapi"></a>

 Ein Tutorial, das zeigt, wie Sie mithilfe von IAM-Rollen Benutzern in einem Konto Zugriff auf AWS Ressourcen gewähren, die sich in einem anderen Konto befinden, finden Sie unter. [IAM-Tutorial: Delegieren Sie den Zugriff über AWS Konten hinweg mithilfe von IAM-Rollen](tutorial_cross-account-with-roles.md) 

**Wichtig**  
Sie können den ARN für eine bestimmte Rolle oder einen bestimmten Benutzer in das `Principal`-Element einer rollenbasierten Vertrauensrichtlinie einschließen. Wenn Sie die Richtlinie speichern, AWS wandelt sie den ARN in eine eindeutige Prinzipal-ID um. Auf diese Weise wird das Risiko reduziert, dass jemand seine Berechtigungen durch Entfernen und Neuerstellen der Rolle oder des Benutzers erweitert. Normalerweise wird diese ID nicht in der Konsole angezeigt, da bei der Anzeige der Vertrauensrichtlinie auch eine Rückumwandlung zum ARN erfolgt. Wenn Sie jedoch die Rolle oder den Benutzer löschen, wird die Beziehung aufgehoben. Die Richtlinie wird nicht mehr angewendet, selbst wenn Sie den Benutzer oder die Rolle neu erstellen, da die Auftraggeber-ID der neuen Rolle nicht mit der in der Vertrauensrichtlinie gespeicherten ID übereinstimmt. In diesem Fall wird die Prinzipal-ID in der Konsole angezeigt, da sie nicht mehr einem ARN zugeordnet werden AWS kann. Das Ergebnis: Wenn Sie einen Benutzer oder eine Rolle löschen und neu erstellen, auf die beide im `Principal`-Element einer Vertrauensrichtlinie verwiesen wird, müssen Sie die Rolle bearbeiten, um den ARN zu ersetzen. Beim Speichern der Richtlinie wird dieser ARN in die neue Auftraggeber-ID umgewandelt.

## Verwenden einer Richtlinie zum Delegieren des Zugriffs auf Services
<a name="id_roles_create_policy-examples-access-to-services"></a>

Das folgende Beispiel zeigt eine Richtlinie, die einer Rolle angefügt werden kann. Die Richtlinie ermöglicht es zwei Diensten, Amazon EMR und AWS Data Pipeline, die Rolle zu übernehmen. Die Services können dann sämtliche Aufgaben ausführen, zu denen die Rolle infolge der zugewiesenen Berechtigungsrichtlinie berechtigt ist (nicht dargestellt). Geben Sie zur Angabe von mehreren Dienstauftraggeber nicht zwei `Service`-Elemente an. Sie können nur ein Element angeben. Verwenden Sie stattdessen ein Array mit mehreren Dienstauftraggeber als Wert eines einzelnen `Service`-Elements.

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

****  

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

------

## Verwendung einer ressourcenbasierten Richtlinie zur Delegation des Zugriffs auf einen Amazon S3-Bucket in einem anderen Konto
<a name="example-delegate-xaccount-S3"></a>

In diesem Beispiel verwendet Konto A eine ressourcenbasierte Richtlinie (eine Amazon S3-[Bucket-Richtlinie](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucketPolicies.html)), um dem Konto B vollen Zugriff auf den S3-Bucket in Konto A zu gewähren. Konto B erstellt dann eine IAM-Benutzerrichtlinie, um diesen Zugriff auf den Bucket in Konto A auf einen Benutzer im Konto B zu delegieren. 

Die S3-Bucket-Richtlinie in Konto A sieht beispielsweise folgendermaßen. In diesem Beispiel heißt der S3-Bucket von Konto A *amzn-s3-demo-bucket* und die Kontonummer von Konto B lautet 111122223333. In der Richtlinie werden keine einzelnen Benutzer oder Gruppen in Konto B angegeben, nur das Konto selbst.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "AccountBAccess1",
    "Effect": "Allow",
    "Principal": {"AWS": "111122223333"},
    "Action": "s3:*",
    "Resource": [
      "arn:aws:s3:::amzn-s3-demo-bucket",
      "arn:aws:s3:::amzn-s3-demo-bucket/*"
    ]
  }
}
```

------

Alternativ kann Konto A Amazon S3 [Access Control Lists (ACLs)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3_ACLs_UsingACLs.html) verwenden, um Konto B Zugriff auf einen S3-Bucket oder ein einzelnes Objekt innerhalb eines Buckets zu gewähren. In diesem Fall besteht der einzige Unterschied darin, wie Konto A dem Konto B die Zugriffsberechtigung erteilt. Konto B verwendet unverändert eine Richtlinie, um den Zugriff an eine IAM-Gruppe in Konto B zu delegieren, wie im nächsten Teil des Beispiels beschrieben. Weitere Informationen zur Zugriffkontrolle auf S3-Buckets und Objekte finden Sie unter [Access Control](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingAuthAccess.html) im *Benutzerhandbuch für Amazon Simple Storage Service*. 

Das Administrator von Konto B erstellt möglicherweise die folgende Beispielrichtlinie. Die Richtlinie gewährt Lesezugriff auf eine Gruppe oder einen Benutzer in Konto B. Die vorhergehende Richtlinie gewährt Zugriff auf Konto B. Einzelne Gruppen und Benutzer in Konto B haben jedoch erst Zugriff auf die Ressource, nachdem eine Gruppen- oder Benutzerrichtlinie explizit Berechtigungen für die Ressource gewährt hat. Die Berechtigungen in dieser Richtlinie können nur eine Untermenge der Berechtigungen in der vorhergehenden kontoübergreifenden Richtlinie sein. Konto B kann seinen Gruppen und Benutzern nicht mehr Berechtigungen erteilen, als jene, die das Konto A dem Konto B in der ersten Richtlinie erteilt hat. In dieser Richtlinie werden im Element `Action` explizit nur die Aktionen `List` zugelassen und das Element `Resource` in dieser Richtlinie stimmt mit der `Resource` in der von Konto A eingesetzten Bucketrichtlinie überein.

Zur Implementierung dieser Richtlinie verwendet Konto B IAM, um sie dem entsprechenden Benutzer (oder der entsprechenden Gruppe) in Konto B anzufügen. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "s3:List*",
    "Resource": [
      "arn:aws:s3:::amzn-s3-demo-bucket",
      "arn:aws:s3:::amzn-s3-demo-bucket/*"
    ]
  }
}
```

------

## Verwendung einer ressourcenbasierten Richtlinie zur Delegation des Zugriffs auf eine Amazon SQS-Warteschlange in einem anderen Konto
<a name="example-delegate-xaccount-SQS"></a>

Im folgenden Beispiel verfügt Konto A über eine Amazon SQS-Warteschlange, die eine der Warteschlange angefügte ressourcenbasierte Richtlinie verwendet, um dem Konto B Zugriff auf die Warteschlange zu gewähren. Konto B verwendet dann eine IAM-Gruppenrichtlinie zum Delegieren des Zugriffs an eine Gruppe in Konto B. 

Die folgende Beispielrichtlinie für eine Warteschlange erteilt Konto B die Berechtigung, `SendMessage`- und `ReceiveMessage`-Aktionen in der Warteschlange des Kontos A mit dem Namen *queue1* ausschließlich am 30. November 2014 zwischen 12:00 und 15:00 Uhr auszuführen. Die Kontonummer des Kontos B lautet 1111-2222-3333. Konto A verwendet Amazon SQS zum Implementieren dieser Richtlinie. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Principal": {"AWS": "111122223333"},
    "Action": [
      "sqs:SendMessage",
      "sqs:ReceiveMessage"
    ],
    "Resource": ["arn:aws:sqs:*:123456789012:queue1"],
    "Condition": {
      "DateGreaterThan": {"aws:CurrentTime": "2014-11-30T12:00Z"},
      "DateLessThan": {"aws:CurrentTime": "2014-11-30T15:00Z"}
    }
  }
}
```

------

Die Richtlinie für das Delegieren des Zugriffs auf eine Gruppe in Konto B könnte folgendermaßen aussehen. Konto B verwendet IAM, um die Richtlinie einer Gruppe (oder einem Benutzer) anzufügen. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "sqs:*",
    "Resource": "arn:aws:sqs:*:123456789012:queue1"
  }
}
```

------

Im vorangegangenen Beispiel der IAM-Benutzerrichtlinie verwendet Konto B einen Platzhalter, um seinem Benutzer Zugriff auf alle Amazon SQS-Aktionen in der Warteschlange von Konto A zu gewähren. Konto B kann den Zugriff jedoch nur in dem Umfang delegieren, in dem Konto B Zugriff gewährt wurde. Die Gruppe in Konto B, die über die zweite Richtlinie verfügt, kann nur zwischen 12:00 Uhr und 15:00 Uhr am 30. November 2014 auf die Warteschlange zugreifen. Der Benutzer kann nur die Aktionen `SendMessage` und `ReceiveMessage` ausführen, wie in der Amazon SQS-Warteschlangenrichtlinie von Konto A definiert. 

## Delegieren des Zugriffs ist nicht möglich, wenn dem Konto der Zugriff verweigert wird
<a name="example-delegate-xaccount-SQS-denied"></a>

An AWS-Konto kann den Zugriff auf die Ressourcen eines anderen Kontos nicht delegieren, wenn das andere Konto den Zugriff auf das übergeordnete Konto des Benutzers ausdrücklich verweigert hat. Die Zugriffsverweigerung wird den Benutzern in diesem Konto propagiert, unabhängig davon, ob diese Benutzer über Richtlinien verfügen, die ihnen Zugriffsberechtigungen erteilen.

In Konto A ist beispielsweise eine Bucketrichtlinie für den S3-Bucket in Konto A definiert, die dem Konto B den Zugriff auf den Bucket in Konto A explizit verweigert. Andererseits enthält Konto B eine IAM-Benutzerrichtlinie, die einem Benutzer in Konto B den Zugriff auf den Bucket in Konto A gewährt. Die explizite Zugriffsverweigerung auf den S3-Bucket in Konto A wird den Benutzern in Konto B propagiert. Sie überschreibt die IAM-Benutzerrichtlinie, die dem Benutzer in Konto B die Zugriffsberechtigung erteilt (weitere Informationen, wie Berechtigungen ausgewertet werden, finden Sie unter ). [Auswertungslogik für Richtlinien](reference_policies_evaluation-logic.md).) 

Die Richtlinie des Buckets in Konto A sieht beispielsweise folgendermaßen. In diesem Beispiel heißt der S3-Bucket von Konto A *amzn-s3-demo-bucket* und die Kontonummer von Konto B lautet 1111-2222-3333. Konto A verwendet Amazon S3; zum Implementieren dieser Richtlinie. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "AccountBDeny",
    "Effect": "Deny",
    "Principal": {"AWS": "111122223333"},
    "Action": "s3:*",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
  }
}
```

------

Diese explizite Zugriffsverweigerung überschreibt alle Richtlinien in Konto B, die zum Zugriff auf den S3-Bucket in Konto A berechtigen. 

# IAM-Rollen-Verwaltung
<a name="id_roles_manage"></a>

Bevor ein Benutzer, Anwendungen oder Services eine von Ihnen erstellte Rolle verwenden können, müssen Sie Berechtigungen zum Wechseln zu dieser Rolle erteilen. Sie können jede Richtlinie verwenden, die Gruppen oder Benutzern angefügt ist, um die erforderlichen Berechtigungen zu gewähren. In diesem Abschnitt wird beschrieben, wie Sie Benutzern die Berechtigung zur Verwendung einer Rolle gewähren. Außerdem wird erklärt, wie der Benutzer über die Tools für Windows AWS-Managementkonsole PowerShell, die AWS Command Line Interface (AWS CLI) und die [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API zu einer Rolle wechseln kann.

**Wichtig**  
Wenn Sie die Rolle programmgesteuert anstatt in der IAM-Konsole erstellen, haben Sie die Möglichkeit, einen `Path` mit bis zu 512 Zeichen und einen `RoleName` mit bis zu 64 Zeichen hinzuzufügen. Wenn Sie jedoch beabsichtigen, eine Rolle mit der Funktion „**Rolle wechseln**“ in der zu verwenden AWS-Managementkonsole, dann die Kombination `Path` und `RoleName` darf 64 Zeichen nicht überschreiten.

**Topics**
+ [

## Anzeigen des Rollenzugriffs
](#roles-modify_prerequisites)
+ [

## Generieren einer Richtlinie basierend auf Zugriffsinformationen
](#roles-modify_gen-policy)
+ [

# Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel
](id_roles_use_permissions-to-switch.md)
+ [

# Erteilen Sie einem Benutzer die Erlaubnis, eine Rolle an einen AWS Dienst zu übergeben
](id_roles_use_passrole.md)
+ [

# Temporäre Sicherheitsanmeldeinformationen der IAM-Rolle widerrufen
](id_roles_use_revoke-sessions.md)
+ [

# Serviceverknüpfte Rolle aktualisieren
](id_roles_update-service-linked-role.md)
+ [

# Rollenvertrauensrichtlinie aktualisieren
](id_roles_update-role-trust-policy.md)
+ [

# Berechtigungen für eine Rolle aktualisieren
](id_roles_update-role-permissions.md)
+ [

# Aktualisieren der Einstellungen für eine Rolle
](id_roles_update-role-settings.md)
+ [

# Rollen oder Instance-Profile löschen
](id_roles_manage_delete.md)

## Anzeigen des Rollenzugriffs
<a name="roles-modify_prerequisites"></a>

Bevor Sie die Berechtigungen für eine Rolle ändern, sollten Sie ihre kürzliche Service-Level-Aktivität überprüfen. Das ist wichtig, da Sie keinem Auftraggeber (Person oder Anwendung) einen noch verwendeten Zugriff entziehen möchten. Weitere Informationen zum Anzeigen der Informationen zum letzten Zugriff finden Sie unter [Verfeinern Sie die Berechtigungen für AWS die Verwendung der zuletzt abgerufenen Informationen](access_policies_last-accessed.md).

## Generieren einer Richtlinie basierend auf Zugriffsinformationen
<a name="roles-modify_gen-policy"></a>

Manchmal können Sie einer IAM-Entität (Benutzer oder Rolle) Berechtigungen erteilen, die über das hinausgehen, was diese benötigen. Um Ihnen beim Verfeinern der Berechtigungen zu helfen, können Sie eine IAM-Richtlinie generieren, die auf der Zugriffsaktivität für eine Entity basiert. IAM Access Analyzer überprüft Ihre AWS CloudTrail Protokolle und generiert eine Richtlinienvorlage, die die Berechtigungen enthält, die von der Entität in dem von Ihnen angegebenen Zeitraum verwendet wurden. Sie können die Vorlage verwenden, um eine verwaltete Richtlinie mit definierten Berechtigungen zu erstellen und sie dann an die IAM-Rolle anzuhängen. Auf diese Weise gewähren Sie nur die Berechtigungen, die der Benutzer oder die Rolle benötigt, um mit AWS Ressourcen für Ihren speziellen Anwendungsfall zu interagieren. Weitere Informationen finden Sie unter [Richtliniengenerierung für IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html).

# Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel
<a name="id_roles_use_permissions-to-switch"></a>

Wenn ein Administrator eine Rolle [für kontenübergreifenden Zugriff erstellt](id_roles_create_for-user.md), richtet er eine Vertrauensstellung zwischen dem Konto, zu dem die Rolle gehört, sowie den Ressourcen (vertrauendes Konto) und dem Konto ein, das die Benutzer enthält (vertrauenswürdiges Konto). Zu diesem Zweck gibt der Administrator des vertrauenswürdigen Kontos die Nummer des vertrauenswürdigen Kontos als `Principal` in der Vertrauensrichtlinie der Rolle an. Dadurch kann jeder Benutzer im vertrauenswürdigen Konto *potenziell* die Rolle übernehmen. Zum Abschließen der Konfiguration muss der Administrator des vertrauenswürdigen Kontos bestimmten Gruppen oder Benutzern in diesem Konto die Berechtigung zum Wechseln zu der Rolle erteilen.

**So erteilen Sie die Berechtigung zum Wechseln einer Rolle**

1. Erstellen Sie als Administrator des vertrauenswürdigen Kontos eine neue Richtlinie für den Benutzer, oder bearbeiten Sie eine bestehende Richtlinie, um die erforderlichen Elemente hinzuzufügen. Details hierzu finden Sie unter [Erstellen oder Bearbeiten der Richtlinie](#roles-usingrole-createpolicy).

1. Wählen Sie dann, wie Sie die Rolleninformationen freigeben möchten: 
   + **Link zur Rolle:** Sie können den Benutzern einen Link zusenden, mit dem sie zur Seite **Switch Role (Rolle wechseln)** gelangen, auf der sämtliche Angaben bereits ausgefüllt sind. 
   + **Konto-ID oder Alias:** Geben Sie jedem Benutzer den Rollennamen sowie die Konto-ID-Nummer oder den Konto-Alias. Der Benutzer öffnet dann die Seite **Switch Role (Rolle wechseln)** und gibt die Details manuell ein. 

   Details hierzu finden Sie unter [Bereitstellen von Informationen an den Benutzer](#roles-usingrole-giveuser).

Beachten Sie, dass Sie die Rollen nur wechseln können, wenn Sie sich als IAM-Benutzer, als SAML-Verbundrolle oder mit einer Web-Identitäts-Verbundrolle anmelden. Sie können keine Rollen wechseln, wenn Sie als Root-Benutzer des AWS-Kontos angemeldet sind.

**Wichtig**  
Sie können die Rollen in nicht AWS-Managementkonsole zu einer Rolle wechseln, für die ein [ExternalId](id_roles_common-scenarios_third-party.md#id_roles_third-party_external-id)Wert erforderlich ist. Sie können nur zu einer solchen Rolle wechseln, indem Sie die [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)-API aufrufen, die den `ExternalId`-Parameter unterstützt.

**Hinweise**  
In diesem Thema werden die Richtlinien für einen *Benutzer* erörtert, da Sie letztendlich einem Benutzer die Berechtigungen zum Erledigen einer Aufgabe erteilen. Wir raten Ihnen jedoch davon ab, einem einzelnen Benutzer direkt Berechtigungen zu erteilen. Wenn ein Benutzer eine Rolle annimmt, werden ihm die mit dieser Rolle verknüpften Berechtigungen zugewiesen.
Wenn Sie die Rollen in der wechseln AWS-Managementkonsole, verwendet die Konsole immer Ihre ursprünglichen Anmeldeinformationen, um den Switch zu autorisieren. Dies gilt unabhängig davon, ob Sie sich als IAM-Benutzer, als SAML-verbundene Rolle oder mit einer Web-Identität verbundenen Rolle anmelden. Wenn Sie beispielsweise zu RoleA wechseln, verwendet IAM; die Anmeldeinformationen Ihres ursprünglichen Benutzers oder Ihrer verbundenen Rolle, um festzustellen, ob Sie RoleA annehmen dürfen. Wenn Sie dann versuchen, zu RolleB zu wechseln, *während Sie RolleA verwenden*, werden Ihre **ursprünglichen** Benutzer- oder Verbundrollen-Anmeldeinformationen verwendet, um Ihren Versuch zu autorisieren. Die Anmeldeinformationen für RoleA werden für diese Aktion nicht verwendet.

**Topics**
+ [

## Erstellen oder Bearbeiten der Richtlinie
](#roles-usingrole-createpolicy)
+ [

## Bereitstellen von Informationen an den Benutzer
](#roles-usingrole-giveuser)

## Erstellen oder Bearbeiten der Richtlinie
<a name="roles-usingrole-createpolicy"></a>

Eine Richtlinie, die dem Benutzer die Berechtigung zum Übernehmen einer Rolle gewährt, muss eine Anweisung enthalten, die für folgende Komponenten `Allow` gewährt: 
+ `sts:AssumeRole`-Aktion
+ Amazon-Ressourcenname (ARN) der Rolle in einem `Resource`Element

Benutzer, die diese Richtlinie erhalten, dürfen die Rolle der aufgelisteten Ressource wechseln (entweder über eine Gruppenmitgliedschaft oder direkt angehängt).

**Anmerkung**  
Wenn `Resource` auf `*` gesetzt ist, kann der Benutzer jede Rolle in jedem Konto übernehmen, das dem Konto des Benutzers vertraut. (Mit anderen Worten, die Vertrauensrichtlinie der Rolle gibt das Konto des Benutzers als `Principal` an). Als bewährte Methode empfehlen wir, dass Sie das [Prinzip der Mindestberechtigung](http://en.wikipedia.org/wiki/Principle_of_least_privilege) anwenden und den vollständigen ARN nur für die Rollen festlegen, die der Benutzer benötigt.

Das folgende Beispiel zeigt eine Richtlinie, mit der der Benutzer Rollen in nur einem Konto übernehmen kann. Zudem verwendet die Richtlinie einen Platzhalter (\$1), um anzugeben, dass der Benutzer nur zu einer Rolle wechseln kann, wenn der Rollenname mit den Buchstaben `Test` beginnt.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Resource": "arn:aws:iam::111122223333:role/Test*"
    }
}
```

------

**Anmerkung**  
Die Berechtigungen, die die Rolle dem Benutzer gewährt, werden nicht zu den Berechtigungen addiert, die dem Benutzer bereits gewährt wurden. Wenn ein Benutzer zu einer Rolle wechselt, verzichtet er vorübergehend auf seine ursprünglichen Berechtigungen und erhält die Berechtigungen, die durch die Rolle gewährt werden. Wenn der Benutzer die Rolle beendet, werden die ursprünglichen Benutzerberechtigungen automatisch wiederhergestellt. Angenommen, die Berechtigungen des Benutzers erlauben die Arbeit mit Amazon EC2-Instaces, aber die Berechtigungsrichtlinie der Rolle gewährt diese Berechtigungen nicht. In diesem Fall kann der Benutzer, während er die Rolle verwendet, nicht mit Amazon EC2-Instances in der Konsole arbeiten. Darüber hinaus funktionieren über `AssumeRole` abgerufene temporäre Anmeldeinformationen nicht programmgesteuert mit Amazon EC2-Instances.

## Bereitstellen von Informationen an den Benutzer
<a name="roles-usingrole-giveuser"></a>

Nachdem Sie eine Rolle erstellt und dem Benutzer die Berechtigungen zum Wechseln zu dieser Rolle gewährt haben, müssen Sie dem Benutzer Folgendes bereitstellen:
+ Der Name der Rolle
+ Konto-ID oder Kontoalias mit der Rolle

Sie können den Vorgang für Ihre Benutzer erleichtern, indem Sie ihnen einen Link zusenden, der mit der Konto-ID und dem Rollennamen vorkonfiguriert ist. Sie können den Link zur Rolle sehen, nachdem Sie den Assistenten zum **Erstellen einer Rolle** abgeschlossen haben, indem Sie das Banner **Rolle anzeigen** auswählen oder auf der Seite **Rollenübersicht** für jede kontoübergreifende Rolle klicken.

Sie können auch das folgende Format verwenden, um den Link manuell zu erstellen. Ersetzen Sie die beiden Parameter in der Anforderung durch Ihre Konto-ID bzw. den Alias und den Rollennamen.

`https://signin.aws.amazon.com/switchrole?account=your_account_ID_or_alias&roleName=optional_path/role_name`

Wir empfehlen Ihnen, Ihre Benutzer zum Thema [Von einem Benutzer zu einer IAM-Rolle wechseln (Konsole)](id_roles_use_switch-role-console.md) weiterzuleiten, um sie schrittweise durch den Prozess zu führen. Zur Behebung typischer Probleme beim Übernehmen einer Rolle vgl. [Ich kann eine Rolle nicht übernehmen](troubleshoot_roles.md#troubleshoot_roles_cant-assume-role).

**Überlegungen**
+ Wenn Sie die Rolle programmatisch erstellen, können Sie einen Pfad und einen Namen angeben. In diesem Fall müssen Sie Ihren Benutzern den vollständigen Pfad und den Rollennamen zur Eingabe auf der Seite **Switch Role (Rolle wechseln)** der AWS-Managementkonsole bereitstellen. Beispiel: `division_abc/subdivision_efg/role_XYZ`.
+ Wenn Sie die Rolle programmatisch erstellen, können Sie einen `Path` von bis zu 512 Zeichen und einen `RoleName` hinzufügen. Er kann eine Länge von bis zu 64 Zeichen umfassen. Um jedoch eine Rolle mit der Funktion „**Rolle wechseln**“ in der zu verwenden AWS-Managementkonsole, darf die Kombination `Path` 64 Zeichen `RoleName` nicht überschreiten.
+ Aus Sicherheitsgründen können Sie in den [AWS CloudTrail Protokollen nachlesen](cloudtrail-integration.md#cloudtrail-integration_signin-tempcreds), wer eine Aktion in ausgeführt hat AWS. Sie können den `sts:SourceIdentity`-Bedingungsschlüssel in der Rollenvertrauensrichtlinie verwenden, damit Benutzer einen Sitzungsnamen angeben müssen, wenn sie eine Rolle übernehmen. Sie können beispielsweise verlangen, dass IAM-Benutzer ihren eigenen Benutzernamen als Sitzungsnamen angeben. Auf diese Weise können Sie feststellen, welcher Benutzer eine bestimmte Aktion in AWS ausgeführt hat. Weitere Informationen finden Sie unter [`sts:SourceIdentity`](reference_policies_iam-condition-keys.md#ck_sourceidentity). Sie können auch [`sts:RoleSessionName`](reference_policies_iam-condition-keys.md#ck_rolesessionname) verwenden, um von den Benutzern zu verlangen, dass sie einen Sitzungsnamen angeben, wenn sie eine Rolle übernehmen. Auf diese Weise können Sie zwischen Rollensitzungen unterscheiden, wenn eine Rolle von verschiedenen Auftraggeber verwendet wird.

# Erteilen Sie einem Benutzer die Erlaubnis, eine Rolle an einen AWS Dienst zu übergeben
<a name="id_roles_use_passrole"></a>

Um viele AWS Dienste zu konfigurieren, müssen Sie dem Dienst eine IAM-Rolle *übergeben*. Dies erlaubt dem Service, später die Rolle anzunehmen und in Ihrem Auftrag Aktionen durchzuführen. Für die meisten Services müssen Sie die Rolle nur einmal während der Einrichtung an den Service übergeben, und nicht jedes Mal, wenn der Service die Rolle annimmt. Angenommen, es wird eine Anwendung auf einer Amazon EC2-Instance ausgeführt. Diese Anwendung erfordert temporäre Anmeldeinformationen zur Authentifizierung und Berechtigungen für die Autorisierung der Anwendung, damit diese Aktionen in AWS durchführen kann. Wenn Sie die Anwendung einrichten, müssen Sie eine Rolle an Amazon EC2 übergeben, die mit der Instance verwendet wird, die diese Anmeldeinformationen bereitstellt. Sie definieren die Berechtigungen für die Anwendungen, die in dieser Instance ausgeführt werden, indem Sie der Rolle eine IAM-Richtlinie anfügen. Die Anwendung nimmt die Rolle immer an, wenn die Aktionen im Rahmen der Rolle ausgeführt werden.

Um eine Rolle (und ihre Berechtigungen) an einen AWS Dienst zu übergeben, muss ein Benutzer über die erforderlichen Berechtigungen verfügen, um *die Rolle an den Dienst weiterzugeben*. So können Administratoren sicherstellen, dass nur berechtigte Benutzer einen Service mit einer Rolle konfigurieren können, über die Berechtigungen verliehen werden. Damit ein Benutzer eine Rolle an einen AWS Dienst übergeben kann, müssen Sie dem IAM-Benutzer, der Rolle oder der Gruppe des Benutzers die `PassRole` entsprechende Berechtigung erteilen.

**Warnung**  
Sie können die `PassRole` Berechtigung nur verwenden, um eine IAM-Rolle an einen Dienst zu übergeben, der dasselbe AWS Konto verwendet. Um eine Rolle in Konto A an einen Service in Konto B zu übergeben, müssen Sie zunächst eine IAM-Rolle in Konto B erstellen, die die Rolle von Konto A übernehmen kann. Anschließend kann die Rolle in Konto B an den Service übergeben werden. Details hierzu finden Sie unter [Kontoübergreifender Zugriff auf Ressourcen in IAM](access_policies-cross-account-resource-access.md).
Versuchen Sie nicht zu kontrollieren, wer eine Rolle weitergeben kann, indem Sie die Rolle taggen und dann den `ResourceTag`-Bedingungsschlüssel in einer Richtlinie mit der `iam:PassRole`-Aktion verwenden. Dieser Ansatz führt nicht zu zuverlässigen Ergebnissen.

Beim Festlegen der `PassRole`-Berechtigung sollten Sie darauf achten, dass ein Benutzer keine Rolle übergibt, die über mehr Berechtigungen verfügt, als Sie dem Benutzer gewähren möchten. Zum Beispiel darf Alice möglicherweise keine Amazon-S3-Aktionen ausführen. Wenn Alice einem Service eine Rolle übergeben könnte, der Amazon-S3-Aktionen zulässt, könnte der Service bei der Ausführung des Auftrags Amazon-S3-Aktionen im Namen von Alice durchführen.

Wenn Sie eine serviceverknüpfte Rolle angeben, müssen Sie zudem über die Berechtigung verfügen, diese Rolle an den Service übergeben. Einige Services erstellen automatisch eine serviceverknüpfte Rolle in Ihrem Konto, wenn Sie eine Aktion in diesem Service durchführen. Zum Beispiel erstellt Amazon EC2 Auto Scaling die serviceverknüpfte Rolle `AWSServiceRoleForAutoScaling` für Sie, wenn Sie das erste Mal eine Auto-Scaling-Gruppe erstellen. Wenn Sie versuchen, die Berechtigung anzugeben, wenn Sie eine Auto-Scaling-Gruppe erstellen, und Sie haben keine `iam:PassRole`-Berechtigung, erhalten Sie einen Fehler. Wenn Sie die Rolle nicht explizit angeben, ist die `iam:PassRole`-Berechtigung nicht erforderlich, und standardmäßig wird die `AWSServiceRoleForAutoScaling`-Rolle für alle Operationen verwendet, die für diese Gruppe ausgeführt werden. Informationen dazu, welche Services serviceverknüpfte Rollen unterstützen, finden Sie unter [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md). Um zu erfahren, welche Services automatisch eine serviceverknüpfte Rolle erstellen, wenn Sie eine Aktion in diesem Service durchführen, wählen Sie den Link **Yes (Ja)** und zeigen Sie die serviceverknüpfte Rollendokumentation für den Service an.

Ein Benutzer kann einen Rollen-ARN als Parameter in einer API-Operation übergeben, die die Rolle für die Zuweisung von Berechtigungen für den Service verwendet. Der Service überprüft dann, ob der betreffende Benutzer über die Berechtigung `iam:PassRole` verfügt. Damit der Benutzer nur genehmigte Rollen übergeben kann, können Sie die Berechtigung `iam:PassRole` mit dem Element `Resources` der IAM-Richtlinienanweisung filtern. 

Sie können das `Condition` Element in einer JSON-Richtlinie verwenden, um den Wert von Schlüsseln zu testen, die im Anforderungskontext aller AWS Anfragen enthalten sind. Weitere Informationen zur Verwendung von Bedingungsschlüsseln in einer Richtlinie finden Sie unter [IAM-JSON-Richtlinienelemente: Condition](reference_policies_elements_condition.md). Der `iam:PassedToService`-Bedingungsschlüssel kann verwendet werden, um den Auftraggeber des Dienstes anzugeben, an den eine Rolle übergeben werden kann. Weitere Informationen zur Verwendung des `iam:PassedToService` Bedingungsschlüssels in einer Richtlinie finden Sie unter [iam: PassedToService](reference_policies_iam-condition-keys.md#ck_PassedToService).

**Beispiel 1**  
Angenommen, Sie möchten einem Benutzer die Berechtigung verleihen, beim Starten einer Instance beliebige genehmigte Rollen an den Amazon-EC2-Service zu übergeben. Dafür sind drei Elemente nötig:
+ Eine IAM-*Berechtigungsrichtlinie*, die der Rolle zugeordnet ist und über die festgelegt wird, was mit der Rolle getan werden kann. Weisen Sie nur Berechtigungen für Aktionen zu, die für die Rolle erforderlich sind, und nur für die Ressourcen, die von der Rolle für diese Aktionen benötigt werden. Sie können eine AWS verwaltete oder vom Kunden erstellte IAM-Berechtigungsrichtlinie verwenden.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": {
          "Effect": "Allow",
          "Action": [ "A list of the permissions the role is allowed to use" ],
          "Resource": [ "A list of the resources the role is allowed to access" ]
      }
  }
  ```

------
+ Eine *Vertrauensrichtlinie* für die Rolle, die es dem Service ermöglicht, die Rolle anzunehmen. Sie können beispielsweise der Rolle mit der Aktion `UpdateAssumeRolePolicy` die folgende Vertrauensrichtlinie zuweisen. Über diese Vertrauensrichtlinie kann Amazon EC2 die Rolle und deren Berechtigungen verwenden.

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

****  

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

------
+ Eine IAM-*Berechtigungsrichtlinie*, die dem IAM-Benutzer zugeordnet ist und diesem ermöglicht, nur genehmigte Rollen zu übergeben. Sie fügen normalerweise `iam:GetRole` zu `iam:PassRole`, damit der Benutzer die Details weitergeben kann. In diesem Beispiel kann der Benutzer nur Rollen weitergeben, die im angegebenen Konto mit Namen vorhanden sind, die mit `EC2-roles-for-XYZ-` beginnen:

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "iam:GetRole",
                  "iam:PassRole"
              ],
              "Resource": "arn:aws:iam::111122223333:role/EC2-roles-for-XYZ-*"
          }
      ]
  }
  ```

------

Der Benutzer kann jetzt eine Amazon EC2-Instance mit einer zugewiesenen Rolle starten. Anwendungen auf der Instance können über die Metadaten des Instance-Profils auf temporäre Anmeldeinformationen für die Rolle zugreifen. Die der Rolle zugeordneten Berechtigungsrichtlinien legen fest, welche Aktionen die Instance ausführen kann. 

**Beispiel 2**  
Amazon Relational Database Service (Amazon RDS) unterstützt die Feature namens **„Verbesserte Überwachung“**. Mit dieses Feature kann Amazon RDS eine Datenbank-Instance mithilfe eines Agenten überwachen. Es ermöglicht Amazon RDS auch, Metriken in Amazon Logs zu CloudWatch protokollieren. Um dieses Feature zu aktivieren, müssen Sie eine Servicerolle erstellen, um Amazon RDS die Berechtigung zum Überwachen und Speichern von Metriken in Ihren Protokollen zu gewähren. 

**So erstellen Sie eine IAM-Rolle für Enhanced Monitoring in Amazon RDS**

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 **Roles (Rollen)** und anschließend **Create role (Rolle erstellen)**.

1. Wählen Sie den Rollentyp **AWS Service** und dann für **Anwendungsfälle für andere AWS-Services** den **RDS-Dienst** aus. Wählen Sie **RDS – Enhanced Monitoring** (RDS – erweiterte Überwachung) und **Next** (Weiter) aus.

1. Wählen Sie die **RDSEnhancedMonitoringRoleAmazon-Berechtigungsrichtlinie** aus.

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

1. Geben Sie unter **Role name** (Rollenname) einen Rollennamen ein, der Ihnen hilft, den Zweck dieser Rolle zu identifizieren. Rollennamen müssen innerhalb Ihres Unternehmens eindeutig sein AWS-Konto. Wenn ein Rollenname in einer Richtlinie oder als Teil eines ARN verwendet wird, muss die Groß-/Kleinschreibung des Rollennamens beachtet werden. Wenn Kunden in der Konsole ein Rollenname angezeigt wird, beispielsweise während des Anmeldevorgangs, wird die Groß-/Kleinschreibung des Rollennamens nicht beachtet. Da verschiedene Entitäten möglicherweise auf die Rolle verweisen, können Sie den Namen der Rolle nach der Erstellung nicht mehr bearbeiten.

1. (Optional) Geben Sie unter **Role description** (Rollenbeschreibung) eine Beschreibung für die neue Rolle ein.

1. (Optional) Fügen Sie dem Benutzer Metadaten hinzu, indem Sie Markierungen als Schlüssel-Wert-Paare anfügen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter [Tags für AWS Identity and Access Management Ressourcen](id_tags.md).

1. Prüfen Sie die Rolle und klicken Sie dann auf **Rolle erstellen**.

Der Rolle wird automatisch eine Vertrauensrichtlinie zugewiesen, die dem Service `monitoring.rds.amazonaws.com` die Berechtigung zum Übernehmen der Rolle gewährt. Nun kann Amazon RDS; alle durch die Richtlinie `AmazonRDSEnhancedMonitoringRole` gewährten Aktionen ausführen.

Der Benutzer, der auf Enhanced Monitoring zugreifen soll, benötigt eine Richtlinie wie die folgende, die eine Anweisung enthält, die es dem Benutzer ermöglicht, die RDS-Rollen aufzulisten und eine Anweisung, die es dem Benutzer ermöglicht, die Rolle zu übergeben. Verwenden Sie Ihre Kontonummer und ersetzen Sie den Rollennamen durch den Namen, den Sie in Schritt 6 eingegeben haben.

```
    {
      "Sid": "PolicyStatementToAllowUserToListRoles",
      "Effect": "Allow",
      "Action": ["iam:ListRoles"],
      "Resource": "*"
    },
    {
        "Sid": "PolicyStatementToAllowUserToPassOneSpecificRole",
        "Effect": "Allow",
        "Action": [ "iam:PassRole" ],
        "Resource": "arn:aws:iam::account-id:role/RDS-Monitoring-Role"
    }
```

Sie können diese Anweisung mit Anweisungen in einer anderen Richtlinie kombinieren oder eine eigene Richtlinie dafür erstellen. Um stattdessen festzulegen, dass der Benutzer jede Rolle übergeben kann, die mit `RDS-` beginnt, ersetzen Sie wie folgt den Rollennamen im Ressourcen-ARN durch einen Platzhalter.

```
        "Resource": "arn:aws:iam::account-id:role/RDS-*"
```

## `iam:PassRole`Aktionen in AWS CloudTrail Protokollen
<a name="id_roles_use_passrole_logs"></a>

 `PassRole`ist kein API-Aufruf. `PassRole`ist eine Berechtigung, was bedeutet, dass keine CloudTrail Protokolle für IAM `PassRole` generiert werden. Um zu überprüfen, welche Rollen an welche AWS-Services übergeben wurden CloudTrail, müssen Sie das CloudTrail Protokoll überprüfen, das die AWS Ressource, der die Rolle zugewiesen wurde, erstellt oder geändert hat. Beispielsweise wird eine Rolle bei ihrer Erstellung an eine AWS Lambda Funktion übergeben. Das Protokoll für die `CreateFunction`-Aktion zeigt eine Aufzeichnung der Rolle, die an die Funktion übergeben wurde. 

# Temporäre Sicherheitsanmeldeinformationen der IAM-Rolle widerrufen
<a name="id_roles_use_revoke-sessions"></a>

**Warnung**  
Wenn Sie die Schritte auf dieser Seite befolgen, wird allen Benutzern mit aktuellen Sitzungen, die durch Übernahme der Rolle erstellt wurden, der Zugriff auf alle AWS Aktionen und Ressourcen verweigert. Dies kann dazu führen, dass Benutzer nicht gespeicherte Arbeit verlieren.

Wenn Sie Benutzern den Zugriff auf die AWS-Managementkonsole mit einer langen Sitzungsdauer (z. B. 12 Stunden) gestatten, laufen ihre temporären Anmeldeinformationen nicht so schnell ab. Wenn Benutzer versehentlich ihre Anmeldeinformationen nicht autorisierten Dritten preisgeben, haben diese für die Dauer der Sitzung entsprechenden Zugriff. Sie können jedoch sofort alle Berechtigungen für die Anmeldeinformationen der Rolle widerrufen, die vor einem bestimmten Zeitpunkt ausgestellt wurden, wenn dies erforderlich ist. Alle temporären Anmeldeinformationen für diese Rolle, die vor dem angegebenen Zeitpunkt ausgestellt wurden, werden ungültig. Dies zwingt alle Benutzer, sich erneut zu authentifizieren und neue Anmeldeinformationen anfordern.

 

**Anmerkung**  
Die Sitzung für eine *[serviceverknüpfte Rolle](id_roles.md#iam-term-service-linked-role)* können Sie nicht widerrufen.

Wenn Sie mithilfe des in diesem Thema beschriebenen Verfahrens Berechtigungen für eine Rolle entziehen, AWS fügt der Rolle eine neue Inline-Richtlinie hinzu, die alle Berechtigungen für alle Aktionen verweigert. Sie enthält eine Bedingung, die die Einschränkungen nur dann anwendet, wenn der Benutzer die Rolle *vor* dem Zeitpunkt übernommen hat, zu dem Sie die Berechtigungen widerrufen. Wenn der Benutzer die Rolle übernimmt, *nachdem* Sie die Berechtigungen entzogen haben, dann gilt die Zugriffsverweigerungsrichtlinie nicht für diesen Benutzer.

Weitere Informationen zum Verweigern des Zugriffs finden Sie unter [Deaktivieren von Berechtigungen für temporäre Sicherheitsanmeldeinformationen](id_credentials_temp_control-access_disable-perms.md).

**Wichtig**  
Diese Zugriffsverweigerungsrichtlinie gilt für alle Benutzer der angegebenen Rolle, nicht nur für diejenigen mit Konsolensitzungen mit längerer Dauer.

## Mindestberechtigungen für das Entziehen von Sitzungsberechtigungen einer Rolle
<a name="revoke-session-permissions"></a>

Um einer Rolle Sitzungsberechtigungen erfolgreich zu entziehen, müssen Sie über die `PutRolePolicy`-Berechtigung für die Rolle verfügen. Auf diese Weise können Sie der Rolle die Inline-Richtlinie `AWSRevokeOlderSessions` anfügen.

## Widerrufen von Sitzungsberechtigungen
<a name="revoke-session"></a>

Sie können die Sitzungsberechtigungen einer Rolle widerrufen, um jedem Benutzer, der die Rolle übernommen hat, sämtliche Berechtigungen zu verweigern.

**Anmerkung**  
Sie können in IAM keine Rollen bearbeiten, die aus Berechtigungssätzen des IAM Identity Center erstellt wurden. Sie müssen die aktive Berechtigungssatz-Sitzung für einen Benutzer im IAM Identity Center widerrufen. Weitere Informationen finden Sie unter [Widerrufen aktiver IAM-Rollensitzungen, die durch Berechtigungssätze erstellt wurden](https://docs.aws.amazon.com/singlesignon/latest/userguide/useraccess.html#revoke-user-permissions) im *Benutzerhandbuch zum IAM Identity Center*.

**So verweigern Sie sofort sämtliche Berechtigungen für alle aktuellen Benutzer der Anmeldeinformationen der Rolle**

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 **Rollen** und anschließend den Namen (nicht das Kontrollkästchen) der Rolle aus, deren Berechtigungen Sie widerrufen möchten.

1. Klicken Sie auf der Seite **Summary (Übersicht)** für die ausgewählte Rolle auf die Registerkarte **Revoke sessions (Sitzungen widerrufen)**.

1. Wählen Sie auf der Registerkarte **Revoke sessions (Sitzungen widerrufen)** die Option **Revoke active sessions (Aktive Sitzungen widerrufen)**.

1. AWS fordert Sie auf, die Aktion zu bestätigen. Aktivieren Sie das Kontrollkästchen **Ich bestätige, dass ich alle aktiven Sitzungen für diese Rolle widerrufe.** und wählen Sie im Dialogfeld **Aktive Sitzungen widerrufen** aus.

   IAM fügt der Rolle dann eine Richtlinie mit dem Namen `AWSRevokeOlderSessions` hinzu. Wenn Sie **Aktive Sitzungen widerrufen** auswählen, verweigert die Richtlinie allen Benutzern, die die Rolle in der Vergangenheit sowie etwa 30 Sekunden in der Zukunft übernommen haben, den Zugriff. Diese zukünftige Zeitwahl berücksichtigt die Verzögerung bei der Umsetzung der Richtlinie, um eine neue Sitzung zu bearbeiten, die vor Inkrafttreten der aktualisierten Richtlinie in einer bestimmten Region erworben oder erneuert wurde. Benutzer, die die Rolle mehr als ca. 30 Sekunden nach der Auswahl von „Aktive Sitzungen widerrufen“ übernehmen, sind hiervon nicht betroffen. Um zu erfahren, warum Änderungen nicht immer sofort sichtbar sind, siehe [Änderungen, die ich vornehme, sind nicht immer direkt sichtbar](troubleshoot.md#troubleshoot_general_eventual-consistency). 

**Anmerkung**  
Wenn Sie später erneut die Option **Aktive Sitzungen widerrufen** auswählen, wird der Datums- und Zeitstempel in der Richtlinie aktualisiert und alle Berechtigungen für Benutzer, die die Rolle vor der neu angegebenen Zeit übernommen haben, werden erneut verweigert.

Gültige Benutzer, deren Sitzungen auf diese Weise aufgehoben wurden, benötigen temporäre Anmeldeinformationen für eine neue Sitzung, um weiterarbeiten zu können. Die Anmeldeinformationen werden AWS CLI zwischengespeichert, bis sie ablaufen. Um die CLI zu zwingen, zwischengespeicherte Anmeldeinformationen, die nicht mehr gültig sind, zu löschen und zu aktualisieren, führen Sie einen der folgenden Befehle aus:

**Linux, macOS oder Unix**

```
$ rm -r ~/.aws/cli/cache
```

**Windows**

```
C:\> del /s /q %UserProfile%\.aws\cli\cache
```

## Widerrufen von Sitzungsberechtigungen vor einem bestimmten Zeitpunkt
<a name="revoke-session-policy"></a>

 Sie können Sitzungsberechtigungen auch jederzeit Ihrer Wahl widerrufen, indem Sie das SDK AWS CLI oder das SDK verwenden, um einen Wert für den `aws:TokenIssueTime` Schlüssel im Condition-Element einer Richtlinie anzugeben. 

Diese Richtlinie verweigert alle Berechtigungen, wenn der Wert von `aws:TokenIssueTime` vor dem angegebenen Datum und der angegebenen Uhrzeit liegt. Der Wert von `aws:TokenIssueTime` entspricht der präzisen Uhrzeit, zu der die temporären Sicherheitsanmeldeinformationen erstellt wurden. Der `aws:TokenIssueTime` Wert ist nur im Kontext von AWS Anfragen vorhanden, die mit temporären Sicherheitsanmeldedaten signiert wurden. Daher wirkt sich die Deny-Anweisung in der Richtlinie nicht auf Anfragen aus, die mit den langfristigen Anmeldeinformationen des IAM-Benutzers signiert wurden.

Diese Richtlinie kann auch einer Rolle zugeordnet werden. In diesem Fall wirkt sich die Richtlinie nur auf die temporären Sicherheitsanmeldeinformationen aus, die vor dem angegebenen Datum und der angegebenen Uhrzeit von der Rolle erstellt wurden.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Deny",
    "Action": "*",
    "Resource": "*",
    "Condition": {
      "DateLessThan": {"aws:TokenIssueTime": "2014-05-07T23:47:00Z"}
    }
  }
}
```

------

Gültige Benutzer, deren Sitzungen auf diese Weise aufgehoben wurden, benötigen temporäre Anmeldeinformationen für eine neue Sitzung, um weiterarbeiten zu können. Die Anmeldeinformationen werden AWS CLI zwischengespeichert, bis sie ablaufen. Um die CLI zu zwingen, zwischengespeicherte Anmeldeinformationen, die nicht mehr gültig sind, zu löschen und zu aktualisieren, führen Sie einen der folgenden Befehle aus:

**Linux, macOS oder Unix**

```
$ rm -r ~/.aws/cli/cache
```

**Windows**

```
C:\> del /s /q %UserProfile%\.aws\cli\cache
```

# Serviceverknüpfte Rolle aktualisieren
<a name="id_roles_update-service-linked-role"></a>

Die Vorgehensweise zum Bearbeiten einer serviceverknüpften Rolle hängt vom Service ab. Einige Services erlauben möglicherweise das Bearbeiten der Berechtigungen für eine serviceverknüpfte Rolle über die Servicekonsole, eine API oder die CLI. Da möglicherweise verschiedene Entitäten auf die Rolle verweisen, kann der Rollenname nach der Erstellung einer serviceverknüpften Rolle nicht bearbeitet werden. Sie können die Beschreibung beliebiger Rollen über die IAM-Konsole, eine API oder die CLI bearbeiten.

Informationen darüber, welche Services die Verwendung von serviceverknüpften Rollen unterstützen, finden Sie unter [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md). Suchen Sie nach den Services, für die **Ja** in der Spalte **Serviceverknüpfte Rolle** angegeben ist. Um zu erfahren, ob der Service das Bearbeiten der serviceverknüpften Rolle unterstützt, wählen Sie den Link **Yes** aus, um die Dokumentation zur serviceverknüpften Rolle dieses Services anzuzeigen.

## Bearbeiten der Beschreibung einer serviceverknüpften Rolle (Konsole)
<a name="edit-service-linked-role-iam-console"></a>

Sie können die IAM-Konsole für das Bearbeiten der Beschreibung einer serviceverknüpften Rolle verwenden.

**So bearbeiten Sie die Beschreibung einer serviceverknüpften Rolle (Konsole)**

1. Wählen Sie im Navigationsbereich der IAM Console **Roles** (Rollen) aus.

1. Wählen Sie den Namen der zu ändernden Rolle.

1. Wählen Sie neben **Role description** ganz rechts **Edit**. 

1. Geben Sie eine neue Beschreibung im Dialogfeld ein und klicken Sie auf **Save (Speichern)**.

## Bearbeiten der Beschreibung einer serviceverknüpften Rolle (AWS CLI)
<a name="edit-service-linked-role-iam-cli"></a>

Sie können IAM-Befehle von verwenden, AWS CLI um die Beschreibung einer serviceverknüpften Rolle zu bearbeiten.

**So ändern Sie die Beschreibung einer serviceverknüpften Rolle (AWS CLI)**

1. (Optional) Um die aktuelle Beschreibung einer Rolle anzuzeigen, führen Sie die folgenden Befehle aus:

   ```
   aws iam [get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html) --role-name ROLE-NAME
   ```

   Verwenden Sie den Rollennamen, nicht den ARN, um sich auf Rollen mit den CLI-Befehlen zu beziehen. Wenn eine Rolle zum Beispiel folgenden ARN hat: `arn:aws:iam::123456789012:role/myrole`, verweisen Sie auf die Rolle als **myrole**.

1. Um die Beschreibung einer serviceverknüpften Rolle zu aktualisieren, führen Sie den folgenden Befehl aus:

   ```
   aws iam [update-role](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role.html) --role-name ROLE-NAME --description OPTIONAL-DESCRIPTION
   ```

## Bearbeiten einer Beschreibung einer serviceverknüpften Rolle (API)AWS
<a name="edit-service-linked-role-iam-api"></a>

Sie können die AWS API verwenden, um die Beschreibung einer dienstbezogenen Rolle zu bearbeiten.

**Um die Beschreibung einer dienstbezogenen Rolle (AWS API) zu ändern**

1. (Optional:) Um die aktuelle Beschreibung einer Rolle anzuzeigen, rufen Sie die folgende Operation auf und geben den Namen der Rolle an:

   AWS API: [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) 

1. Um die Beschreibung einer Rolle zu ändern, rufen Sie die folgende Operation auf und geben den Namen (sowie optional eine Beschreibung) der Rolle an: 

   AWS API: [UpdateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRole.html) 

# Rollenvertrauensrichtlinie aktualisieren
<a name="id_roles_update-role-trust-policy"></a>

Um zu ändern, wer eine Rolle übernehmen kann, müssen Sie die Vertrauensrichtlinie der Rolle bearbeiten. Sie können die Vertrauensrichtlinie für eine *[serviceverknüpfte Rolle](id_roles.md#iam-term-service-linked-role)* nicht ändern.

**Hinweise**  
Wenn ein Benutzer als Auftraggeber in der Vertrauensrichtlinie einer Rolle aufgeführt ist, aber die Rolle nicht übernehmen kann, überprüfen Sie die [Berechtigungsgrenze](access_policies_boundaries.md) des Benutzers. Wenn eine Berechtigungsgrenze für den Benutzer festgelegt ist, dann muss sie die `sts:AssumeRole`-Aktion zulassen.
Damit Benutzer die aktuelle Rolle innerhalb einer Rollensitzung wieder übernehmen können, geben Sie den Rollen-ARN oder AWS-Konto ARN als Principal in der Rollenvertrauensrichtlinie an. AWS-Services die Rechenressourcen wie Amazon EC2, Amazon ECS, Amazon EKS und Lambda bereitstellen, stellen temporäre Anmeldeinformationen bereit und aktualisieren diese Anmeldeinformationen automatisch. Dadurch wird sichergestellt, dass Sie immer über gültige Anmeldeinformationen verfügen. Für diese Dienste ist es nicht erforderlich, die aktuelle Rolle erneut anzunehmen, um temporäre Anmeldeinformationen zu erhalten. Wenn Sie jedoch beabsichtigen, [Sitzungs-Tags](id_session-tags.md) oder eine [Sitzungsrichtlinie](access_policies.md#policies_session) zu übergeben, müssen Sie die aktuelle Rolle erneut annehmen.


## Aktualisierung einer Rollenvertrauensrichtlinie (Konsole)
<a name="id_roles_update-trust-policy-console"></a>

**Um die Vertrauensrichtlinie einer Rolle in der zu ändern AWS-Managementkonsole**

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 der IAM Console **Roles** (Rollen) aus.

1. Wählen Sie in der Rollenliste in Ihrem Konto den Namen der zu ändernden Rolle.

1. Wählen Sie die Registerkarte **Trust Relationships** (Vertrauensstellungen) und dann **Edit trust policy** (Vertrauensrichtlinie bearbeiten) aus.

1. Bearbeiten Sie die Vertrauensrichtlinie nach Bedarf. Um weitere Auftraggeber hinzuzufügen, die die Rolle übernehmen können, geben Sie sie im `Principal`-Element an. Der folgende Richtlinienausschnitt zeigt beispielsweise, wie AWS-Konten in dem Element auf zwei verwiesen wird: `Principal`

   ```
   "Principal": {
     "AWS": [
       "arn:aws:iam::111122223333:root",
       "arn:aws:iam::444455556666:root"
     ]
   },
   ```

   Wenn Sie einen Auftraggeber in einem anderen Konto angeben, ist das Hinzufügen eines Kontos zur Vertrauensrichtlinie einer Rolle nur die Hälfte der Einrichtung einer kontoübergreifenden Vertrauensbeziehung. Standardmäßig kann kein Benutzer in den vertrauenswürdigen Konten die Rolle übernehmen. Der Administrator für das neue vertrauenswürdige Konto muss den Benutzern die Berechtigung erteilen, die Rolle zu übernehmen. Dazu muss der Administrator eine Richtlinie erstellen oder bearbeiten, die an den Benutzer angehängt ist, um dem Benutzer den Zugriff auf die Aktion `sts:AssumeRole` zu ermöglichen. Weitere Informationen finden Sie im folgenden Verfahren oder unter [Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel](id_roles_use_permissions-to-switch.md).

   Der folgende Richtlinienausschnitt zeigt, wie auf zwei AWS Dienste im Element verwiesen wird: `Principal`

   ```
   "Principal": {
     "Service": [
       "opsworks.amazonaws.com",
       "ec2.amazonaws.com"
     ]
   },
   ```

1. Wenn Sie die Bearbeitung Ihrer Vertrauensrichtlinie abgeschlossen haben, wählen Sie **Update policy** (Richtlinie aktualisieren), um Ihre Änderungen zu speichern.

   Weitere Informationen über die Richtlinienstruktur und -syntax finden Sie unter [Richtlinien und Berechtigungen in AWS Identity and Access Management](access_policies.md) und [Referenz zum IAM-JSON-Richtlinienelement](reference_policies_elements.md).

**So erteilen Sie Benutzern in einem vertrauenswürdigen Konto die Berechtigung zur Verwendung der Rolle (Konsole)**

Weitere Informationen und Details zu dieser Vorgehensweise finden Sie unter [Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel](id_roles_use_permissions-to-switch.md).

1. Melden Sie sich bei dem vertrauenswürdigen externen Anbieter an. AWS-Konto

1. Legen Sie fest, ob die Berechtigungen einem Benutzer oder einer Gruppe angefügt werden. Wählen Sie im Navigationsbereich der IAM-Konsole entsprechend **Users** (Benutzer) oder **Groups** (Gruppen).

1. Wählen Sie den Namen des Benutzers oder der Gruppe aus, der Sie die Zugriffsberechtigung erteilen möchten, und klicken Sie auf die Registerkarte **Permissions (Berechtigungen)**.

1. Führen Sie eine der folgenden Aktionen aus:
   + Um eine vom Kunden verwaltete Richtlinien zu bearbeiten, wählen Sie den Namen der Richtlinie, **Edit policy (Richtlinie bearbeiten)** und die Registerkarte **JSON**. Sie können eine AWS verwaltete Richtlinie nicht bearbeiten. AWS Verwaltete Richtlinien werden mit dem AWS Symbol (![\[Orange cube icon indicating a policy is managed by AWS.\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/policy_icon.png)) angezeigt. Weitere Informationen zum Unterschied zwischen von AWS und vom Kunden verwaltete Richtlinien finden Sie unter [Verwaltete Richtlinien und eingebundene Richtlinien](access_policies_managed-vs-inline.md).
   + Um eine Inlinerichtlinie zu bearbeiten, wählen Sie den Pfeil neben dem Namen der Richtlinie und dann **Edit policy (Richtlinie bearbeiten)**.

1. Fügen Sie im Richtlinien-Editor ein neues `Statement`-Element hinzu, welches folgende Angaben macht:

   ```
   {
     "Effect": "Allow",
     "Action": "sts:AssumeRole",
     "Resource": "arn:aws:iam::ACCOUNT-ID:role/ROLE-NAME"
   }
   ```

   Ersetzen Sie den ARN in der Anweisung durch den ARN der Rolle, die der Benutzer übernehmen kann.

1. Folgen Sie den Anweisungen auf dem Bildschirm, um die Bearbeitung der Richtlinie abzuschließen. 

## Aktualisierung einer Rollenvertrauensrichtlinie (AWS CLI)
<a name="id_roles-update-trust-policy-cli"></a>

Sie können das verwenden AWS CLI , um zu ändern, wer eine Rolle übernehmen kann.

**So ändern Sie eine Rollenvertrauensrichtinie (AWS CLI)**

1. (Optional) Wenn Sie den Namen der Rolle, die Sie ändern möchten, nicht kennen, führen Sie den folgenden Befehl aus, um die Rollen im Konto aufzulisten:
   + [aws iam list-roles](https://docs.aws.amazon.com/cli/latest/reference/iam/list-roles.html)

1. (Optional) Um die aktuelle Vertrauensrichtlinie einer Rolle anzuzeigen, führen Sie den folgenden Befehl aus:
   + [aws iam get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html)

1. Um die vertrauenswürdigen Auftraggeber zu ändern, die auf die Rolle zugreifen können, erstellen Sie eine Textdatei mit der aktualisierten Vertrauensrichtlinie. Sie können zum Erstellen der Richtlinie einen beliebigen Texteditor verwenden.

   Die folgende Vertrauensrichtlinie zeigt, wie auf zwei AWS-Konten im `Principal`-Element verwiesen wird. Auf diese Weise können Benutzer innerhalb von zwei getrennten AWS-Konten Benutzern diese Rolle übernehmen.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Principal": {"AWS": [
               "arn:aws:iam::111122223333:root",
               "arn:aws:iam::444455556666:root"
           ]},
           "Action": "sts:AssumeRole"
       }
   }
   ```

------

   Wenn Sie einen Auftraggeber in einem anderen Konto angeben, ist das Hinzufügen eines Kontos zur Vertrauensrichtlinie einer Rolle nur die Hälfte der Einrichtung einer kontoübergreifenden Vertrauensbeziehung. Standardmäßig kann kein Benutzer in den vertrauenswürdigen Konten die Rolle übernehmen. Der Administrator für das neue vertrauenswürdige Konto muss den Benutzern die Berechtigung erteilen, die Rolle zu übernehmen. Dazu muss der Administrator eine Richtlinie erstellen oder bearbeiten, die an den Benutzer angehängt ist, um dem Benutzer den Zugriff auf die Aktion `sts:AssumeRole` zu ermöglichen. Weitere Informationen finden Sie im folgenden Verfahren oder unter [Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel](id_roles_use_permissions-to-switch.md).

1. Um die soeben erstellte Datei zur Aktualisierung der Vertrauensrichtlinie zu verwenden, führen Sie den folgenden Befehl aus:
   + [war ich update-assume-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/update-assume-role-policy.html)

**So erteilen Sie Benutzern in einem vertrauenswürdigen Konto die Berechtigung zur Verwendung der Rolle (AWS CLI)**

Weitere Informationen und Details zu dieser Vorgehensweise finden Sie unter [Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel](id_roles_use_permissions-to-switch.md).

1. Erstellen Sie eine JSON-Datei, die eine Berechtigungsrichtlinie enthält, die Berechtigungen für die Übernahme der Rolle erteilt. Die folgende Richtlinie enthält beispielsweise die erforderlichen Mindestberechtigungen:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Action": "sts:AssumeRole",
           "Resource": "arn:aws:iam::111122223333:role/ROLE-NAME"
       }
   }
   ```

------

   Ersetzen Sie den ARN in der Anweisung durch den ARN der Rolle, die der Benutzer übernehmen kann.

1. Führen Sie den folgenden Befehl aus, um die JSON-Datei, die die Vertrauensrichtlinie enthält, in IAM hochzuladen:
   + [aws iam create-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html)

   Die Ausgabe dieses Befehls enthält den ARN der Richtlinie. Notieren Sie sich diesen ARN, da Sie ihn zu einem späteren Zeitpunkt brauchen. 

1. Legen Sie fest, welchem Benutzer oder welcher Gruppe Sie die Richtlinie anfügen. Wenn Sie den Namen des betreffenden Benutzers oder der Gruppe nicht kennen, geben Sie einen der folgenden Befehle ein, um die Benutzer oder Gruppen im Konto aufzulisten:
   + [aws iam list-users](https://docs.aws.amazon.com/cli/latest/reference/iam/list-users.html)
   + [aws iam list-groups](https://docs.aws.amazon.com/cli/latest/reference/iam/list-groups.html)

1. Verwenden Sie einen der folgenden Befehle, um die im vorherigen Schritt erstellte Richtlinie an einen Benutzer oder eine Gruppe anzufügen:
   + [war ich attach-user-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-user-policy.html)
   + [war ich attach-group-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-group-policy.html)

## Aktualisierung einer Rollenvertrauensrichtlinie (AWS API)
<a name="id_roles-update-trust-policy-api"></a>

Sie können die AWS API verwenden, um zu ändern, wer eine Rolle übernehmen kann.

**Um eine Vertrauensrichtlinie (AWS API) für Rollen zu ändern**

1. (Optional) Wenn Sie den Namen der Rolle, die Sie ändern möchten, nicht kennen, rufen Sie die folgende Operation auf, um die Rollen im Konto aufzulisten:
   + [ListRoles](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListRoles.html)

1. (Optional) Um die aktuelle Vertrauensrichtlinie einer Rolle anzuzeigen, rufen Sie die folgende Operation auf:
   + [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html)

1. Um die vertrauenswürdigen Auftraggeber zu ändern, die auf die Rolle zugreifen können, erstellen Sie eine Textdatei mit der aktualisierten Vertrauensrichtlinie. Sie können zum Erstellen der Richtlinie einen beliebigen Texteditor verwenden.

   Die folgende Vertrauensrichtlinie zeigt, wie auf zwei AWS-Konten im `Principal`-Element verwiesen wird. Auf diese Weise können Benutzer innerhalb von zwei getrennten AWS-Konten Benutzern diese Rolle übernehmen.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Principal": {"AWS": [
               "arn:aws:iam::111122223333:root",
               "arn:aws:iam::444455556666:root"
           ]},
           "Action": "sts:AssumeRole"
       }
   }
   ```

------

   Wenn Sie einen Auftraggeber in einem anderen Konto angeben, ist das Hinzufügen eines Kontos zur Vertrauensrichtlinie einer Rolle nur die Hälfte der Einrichtung einer kontoübergreifenden Vertrauensbeziehung. Standardmäßig kann kein Benutzer in den vertrauenswürdigen Konten die Rolle übernehmen. Der Administrator für das neue vertrauenswürdige Konto muss den Benutzern die Berechtigung erteilen, die Rolle zu übernehmen. Dazu muss der Administrator eine Richtlinie erstellen oder bearbeiten, die an den Benutzer angehängt ist, um dem Benutzer den Zugriff auf die Aktion `sts:AssumeRole` zu ermöglichen. Weitere Informationen finden Sie im folgenden Verfahren oder unter [Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel](id_roles_use_permissions-to-switch.md).

1. Um die soeben erstellte Datei zur Aktualisierung der Vertrauensrichtlinie zu verwenden, führen Sie die folgende Operation aus:
   + [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html)

**Um Benutzern mit einem vertrauenswürdigen externen Konto die Nutzung der Rolle (AWS API) zu ermöglichen**

Weitere Informationen und Details zu dieser Vorgehensweise finden Sie unter [Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel](id_roles_use_permissions-to-switch.md).

1. Erstellen Sie eine JSON-Datei, die eine Berechtigungsrichtlinie enthält, die Berechtigungen für die Übernahme der Rolle erteilt. Die folgende Richtlinie enthält beispielsweise die erforderlichen Mindestberechtigungen:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Action": "sts:AssumeRole",
           "Resource": "arn:aws:iam::111122223333:role/ROLE-NAME"
       }
   }
   ```

------

   Ersetzen Sie den ARN in der Anweisung durch den ARN der Rolle, die der Benutzer übernehmen kann.

1. Führen Sie die folgende Operation aus, um die JSON-Datei, die die Vertrauensrichtlinie enthält, in IAM hochzuladen:
   + [CreatePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicy.html)

   Die Ausgabe dieser Operation enthält den ARN der Richtlinie. Notieren Sie sich diesen ARN, da Sie ihn zu einem späteren Zeitpunkt brauchen. 

1. Legen Sie fest, welchem Benutzer oder welcher Gruppe Sie die Richtlinie anfügen. Wenn Sie den Namen des betreffenden Benutzers oder der Gruppe nicht kennen, rufen Sie eine der folgenden Operationen auf, um die Benutzer oder Gruppen im Konto aufzulisten:
   + [ListUsers](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html)
   + [ListGroups](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListGroups.html)

1. Rufen Sie eine der folgenden Operationen auf, um die im vorherigen Schritt erstellte Richtlinie an einen Benutzer oder eine Gruppe anzufügen:
   +  API: [AttachUserPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachUserPolicy.html)
   + [AttachGroupPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachGroupPolicy.html)

# Berechtigungen für eine Rolle aktualisieren
<a name="id_roles_update-role-permissions"></a>

Verwenden Sie die folgenden Verfahren, um die Berechtigungsrichtlinien und Berechtigungsgrenzen einer Rolle zu aktualisieren.

## Voraussetzung: Rollenzugriff anzeigen
<a name="roles-modify_prerequisites"></a>

Bevor Sie die Berechtigungen für eine Rolle ändern, sollten Sie ihre kürzliche Service-Level-Aktivität überprüfen. Das ist wichtig, da Sie keinem Auftraggeber (Person oder Anwendung) einen noch verwendeten Zugriff entziehen möchten. Weitere Informationen zum Anzeigen der Informationen zum letzten Zugriff finden Sie unter [Verfeinern Sie die Berechtigungen für AWS die Verwendung der zuletzt abgerufenen Informationen](access_policies_last-accessed.md).

## Aktualisieren der Berechtigungsrichtlinie für eine Rolle
<a name="id_roles_update-role-permissions-policy"></a>

Um die von der Rolle zugelassenen Berechtigungen zu ändern, modifizieren Sie die Berechtigungsrichtlinie (oder Berechtigungsrichtlinien) der Rolle. Sie können die Berechtigungsrichtlinie für eine *[serviceverknüpfte Rolle](id_roles.md#iam-term-service-linked-role)* in IAM nicht ändern. Möglicherweise können Sie die Berechtigungsrichtlinie innerhalb des Service ändern, der von der Rolle abhängt. Um zu überprüfen, ob ein Service dieses Feature unterstützt, lesen Sie [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md) und suchen Sie nach den Services mit **Yes** (Ja) in der Spalte **Service-linked roles** (Serviceverknüpfte Rollen). Wählen Sie über einen Link **Ja** aus, um die Dokumentation zu einer serviceverknüpften Rolle für diesen Service anzuzeigen.

### Aktualisieren einer Rollen-Berechtigungsrichtlinie (Konsole)
<a name="id_roles_update-role-permissions-policy-console"></a>

**So ändern Sie die Berechtigungen einer Rolle (Konsole)**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich der IAM Console **Roles** (Rollen) aus.

1. Wählen Sie den Namen der zu ändernden Rolle aus und klicken Sie anschließend auf die Registerkarte **Permissions (Berechtigungen)**.

1. Führen Sie eine der folgenden Aktionen aus:
   + Um eine vorhandene vom Kunden verwaltete Richtlinien zu bearbeiten, wählen Sie den Namen der Richtlinie und dann **Edit policy (Richtline bearbeiten)**.
**Anmerkung**  
Sie können eine AWS verwaltete Richtlinie nicht bearbeiten. AWS Verwaltete Richtlinien werden mit dem AWS Symbol (![\[Orange cube icon indicating a policy is managed by AWS.\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/policy_icon.png)) angezeigt. Weitere Informationen zum Unterschied zwischen AWS verwalteten Richtlinien und kundenverwalteten Richtlinien finden Sie unter[Verwaltete Richtlinien und eingebundene Richtlinien](access_policies_managed-vs-inline.md). 
   + Um Rolle eine vorhandene verwaltete Richtlinie an die Rolle anzufügen, wählen Sie **Add permissions** (Berechtigungen hinzufügen) und dann **Attach policies** (Richtlinien anfügen).
   + Um eine bestehende Inline-Richtlinie zu bearbeiten, erweitern Sie die Richtlinie und wählen Sie **Edit** (Bearbeiten).
   + Um eine neue Inline-Richtlinie einzubetten, wählen Sie **Add permissions** (Berechtigungen hinzufügen) und dann **Create inline policy** (Inline-Richtlinie erstellen). 
   + Um eine vorhandene Richtlinie aus der Rolle zu entfernen, aktivieren Sie das Kontrollkästchen neben dem Richtliniennamen und wählen Sie dann **Entfernen**.

### Aktualisieren einer Rollen-Berechtigungsrichtlinie (AWS CLI)
<a name="id_roles_update_permissions-policy-cli"></a>

Um die von der Rolle zugelassenen Berechtigungen zu ändern, modifizieren Sie die Berechtigungsrichtlinie (oder Berechtigungsrichtlinien) der Rolle. Sie können die Berechtigungsrichtlinie für eine *[serviceverknüpfte Rolle](id_roles.md#iam-term-service-linked-role)* in IAM nicht ändern. Möglicherweise können Sie die Berechtigungsrichtlinie innerhalb des Service ändern, der von der Rolle abhängt. Um zu überprüfen, ob ein Service dieses Feature unterstützt, lesen Sie [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md) und suchen Sie nach den Services mit **Yes** (Ja) in der Spalte **Service-linked roles** (Serviceverknüpfte Rollen). Wählen Sie über einen Link **Ja** aus, um die Dokumentation zu einer serviceverknüpften Rolle für diesen Service anzuzeigen.

**So ändern Sie die Berechtigungen einer Rolle (AWS CLI)**

1. (Optional) Um die aktuell mit einer Rolle verknüpften Berechtigungen anzuzeigen, führen Sie die folgenden Befehle aus:

   1. [Unser Ziel ist es,](https://docs.aws.amazon.com/cli/latest/reference/iam/list-role-policies.html) Inline-Richtlinien list-role-policies aufzulisten

   1. [aws möchte verwaltete list-attached-role-policies](https://docs.aws.amazon.com/cli/latest/reference/iam/list-attached-role-policies.html) Richtlinien auflisten

1. Der Befehl zum Aktualisieren von Berechtigungen der Rolle unterscheidet sich je nachdem, ob Sie eine verwaltete Inlinerichtlinie aktualisieren.

   Wenn Sie eine verwaltete Richtlinie aktualisieren möchten, führen Sie den folgenden Befehl aus, um eine neue Version der verwalteten Richtlinie zu erstellen:
   + [war ich create-policy-version](https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy-version.html)

   Um eine Inline-Richtlinie zu aktualisieren, führen Sie den folgenden Befehl aus:
   + [war ich put-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html)

### Aktualisierung einer Richtlinie für Rollenberechtigungen (AWS API)
<a name="id_roles_update_permissions-policy-api"></a>

Um die von der Rolle zugelassenen Berechtigungen zu ändern, modifizieren Sie die Berechtigungsrichtlinie (oder Berechtigungsrichtlinien) der Rolle. Sie können die Berechtigungsrichtlinie für eine *[serviceverknüpfte Rolle](id_roles.md#iam-term-service-linked-role)* in IAM nicht ändern. Möglicherweise können Sie die Berechtigungsrichtlinie innerhalb des Service ändern, der von der Rolle abhängt. Um zu überprüfen, ob ein Service dieses Feature unterstützt, lesen Sie [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md) und suchen Sie nach den Services mit **Yes** (Ja) in der Spalte **Service-linked roles** (Serviceverknüpfte Rollen). Wählen Sie über einen Link **Ja** aus, um die Dokumentation zu einer serviceverknüpften Rolle für diesen Service anzuzeigen.

**Um die von einer Rolle (AWS API) erlaubten Berechtigungen zu ändern**

1. (Optional) Um die aktuell mit einer Rolle verknüpften Berechtigungen anzuzeigen, rufen Sie die folgenden Operationen auf:

   1. [ListRolePolicies](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListRolePolicies.html)um Inline-Richtlinien aufzulisten

   1. [ListAttachedRolePolicies](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedRolePolicies.html)um verwaltete Richtlinien aufzulisten

1. Die Operation zum Aktualisieren von Berechtigungen der Rolle unterscheidet sich je nachdem, ob Sie eine verwaltete oder eine Inline-Richtlinie aktualisieren.

   Wenn Sie eine verwaltete Richtlinie aktualisieren möchten, rufen Sie die folgende Operation auf, um eine neue Version der verwalteten Richtlinie zu erstellen:
   + [CreatePolicyVersion](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicyVersion.html)

   Um eine Inline-Richtlinie zu aktualisieren, rufen Sie die folgende Operation auf:
   + [PutRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePolicy.html)

## Aktualisieren der Berechtigungsgrenze für eine Rolle
<a name="id_roles_update-role-permissions-boundary"></a>

Um die maximalen Berechtigungen zu ändern, die für eine Rolle zulässig sind, ändern Sie die [Berechtigungsgrenze](access_policies_boundaries.md) der Rolle.

### Aktualisieren einer Rollen-Berechtigungsgrenze (Konsole)
<a name="id_roles_update-permissions-boundary-console"></a>

**Ändern der Richtlinie zum Festlegen der Berechtigungsgrenze für eine Rolle**

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 **Rollen**.

1. Wählen Sie den Namen der Rolle mit der [Berechtigungsgrenze](access_policies_boundaries.md), die Sie ändern möchten. 

1. Wählen Sie die Registerkarte **Berechtigungen**. Falls erforderlich, öffnen Sie den Abschnitt **Permissions boundary (Berechtigungsgrenze)** und wählen **Change boundary (Grenze ändern)**.

1. Wählen Sie die Richtlinie aus, die Sie für die Berechtigungsgrenze verwenden möchten.

1. Wählen Sie **Change boundary (Grenze ändern)**.

   Ihre Änderungen werden erst wirksam, wenn das nächste Mal jemand diese Rolle annimmt.

### Aktualisieren einer Rollen-Berechtigungsgrenze (AWS CLI)
<a name="id_roles_update_permissions-boundary-cli"></a>

**Ändern der verwalteten Richtlinie zum Festlegen der Berechtigungsgrenze für eine Rolle (AWS CLI)**

1. (Optional) Um die aktuelle [Berechtigungsgrenze](access_policies_boundaries.md) einer Rolle anzuzeigen, führen Sie den folgenden Befehl aus: 
   + [aws iam get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html)

1. Um eine andere verwaltete Richtlinie zum Aktualisieren der Berechtigungsgrenze für eine Rolle zu verwenden, führen Sie den folgenden Befehl aus: 
   + [war ich put-role-permissions-boundary](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-permissions-boundary.html)

   Eine Rolle kann nur eine verwaltete Richtlinie als Berechtigungsgrenze festlegen. Wenn Sie die Berechtigungsgrenze ändern, ändern Sie die maximal zulässigen Berechtigungen für eine Rolle.

### Aktualisierung einer Rollenberechtigungsgrenze (AWS API)
<a name="id_roles_update-permissions-boundary-api"></a>

**Um die verwaltete Richtlinie zu ändern, mit der die Berechtigungsgrenze für eine Rolle festgelegt wurde (AWS API)**

1. (Optional) Um die aktuelle [Berechtigungsgrenze](access_policies_boundaries.md) einer Rolle anzuzeigen, führen Sie die folgende Operation aus: 
   + [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html)

1. Um eine andere verwaltete Richtlinie zum Aktualisieren der Berechtigungsgrenze für eine Rolle zu verwenden, führen Sie die folgende Operation aus: 
   + [PutRolePermissionsBoundary](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePermissionsBoundary.html)

   Eine Rolle kann nur eine verwaltete Richtlinie als Berechtigungsgrenze festlegen. Wenn Sie die Berechtigungsgrenze ändern, ändern Sie die maximal zulässigen Berechtigungen für eine Rolle.

# Aktualisieren der Einstellungen für eine Rolle
<a name="id_roles_update-role-settings"></a>

Verwenden Sie die folgenden Verfahren, um die Beschreibung einer Rolle zu aktualisieren oder die maximale Sitzungsdauer für eine Rolle zu ändern.

## Rollenbeschreibung aktualisieren
<a name="id_roles_update-description"></a>

Um die Beschreibung einer Rolle zu ändern, modifizieren Sie den Text der Beschreibung.

### Aktualisieren einer Rollenbeschreibung (Konsole)
<a name="id_roles_update-description-console"></a>

**So ändern Sie die Beschreibung einer Rolle (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. Wählen Sie im Navigationsbereich der IAM Console **Roles** (Rollen) aus.

1. Wählen Sie den Namen der zu ändernden Rolle.

1. Wählen Sie im Abschnitt **Summary** (Zusammenfassung) **Edit** (Bearbeiten).

1. Geben Sie eine neue Beschreibung im Dialogfeld ein und wählen Sie **Save changes** (Änderungen speichern).

### Aktualisieren einer Rollenbeschreibung (AWS CLI)
<a name="id_roles_update-description-cli"></a>

**So ändern Sie die Beschreibung einer Rolle (AWS CLI)**

1. (Optional) Um die aktuelle Beschreibung einer Rolle anzuzeigen, führen Sie den folgenden Befehl aus:
   + [aws iam get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html)

1. Um die Beschreibung einer Rolle zu aktualisieren, führen Sie den folgenden Befehl mit dem Beschreibungsparameter aus:
   + [aws iam update-role](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role.html)

### Aktualisierung einer Rollenbeschreibung (AWS API)
<a name="id_roles_update-description-api"></a>

**Um die Beschreibung einer Rolle (AWS API) zu ändern**

1. (Optional) Um die aktuelle Beschreibung einer Rolle anzuzeigen, rufen Sie die folgende Operation auf:
   + [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) 

1. Um die Beschreibung einer Rolle zu aktualisieren, rufen Sie die folgende Operation mit dem Beschreibungsparameter auf:
   + [UpdateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRole.html)

## Aktualisieren der maximalen Sitzungsdauer für eine Rolle
<a name="id_roles_update-session-duration"></a>

Um die Einstellung für die maximale Sitzungsdauer für Rollen anzugeben, die über die Konsole, die oder die AWS CLI AWS API übernommen werden, ändern Sie den Einstellungswert für die maximale Sitzungsdauer. Diese Einstellung kann einen Wert zwischen 1 Stunde und 12 Stunden haben. Wenn Sie keinen Wert angeben, wird der maximale Standardwert von einer Stunde angewendet. Diese Einstellung schränkt nicht die Anzahl der Sitzungen ein, die von AWS Diensten angenommen werden.

### Aktualisierung der maximalen Rollensitzungsdauer (Konsole)
<a name="id_roles_update-session-duration-console"></a><a name="id_roles_modify_max-session"></a>

**Um die Einstellung für die maximale Sitzungsdauer für Rollen zu ändern AWS CLI, die über die Konsole oder AWS API (Konsole) übernommen werden**

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 der IAM Console **Roles** (Rollen) aus.

1. Wählen Sie den Namen der zu ändernden Rolle.

1. Wählen Sie im Abschnitt **Summary** (Zusammenfassung), **Edit** (Bearbeiten).

1. Wählen Sie für **Maximum session duration** (Maximale Sitzungsdauer) einen Wert. Alternativ wählen Sie **Custom duration** (Benutzerdefinierte Dauer) und geben einen Wert (in Sekunden) ein.

1. Wählen Sie **Änderungen speichern ** aus.

   Ihre Änderungen werden erst wirksam, wenn das nächste Mal jemand diese Rolle annimmt. Weitere Informationen dazu, wie Sie bestehende Sitzungen für diese Rolle widerrufen, finden Sie unter [Temporäre Sicherheitsanmeldeinformationen der IAM-Rolle widerrufen](id_roles_use_revoke-sessions.md).

In der AWS-Managementkonsole dauern IAM-Benutzersitzungen standardmäßig 12 Stunden. IAM-Benutzer, die in der Konsole die Rolle wechseln, erhalten die maximale Sitzungsdauer der Rolle oder die verbleibende Zeit in der Sitzung des Benutzers, je nachdem, was kürzer ist.

Jeder, der die Rolle über die AWS API AWS CLI oder übernimmt, kann bis zu diesem Maximum eine längere Sitzung beantragen. Die Einstellung `MaxSessionDuration` bestimmt die maximale Dauer der Rollensitzung, die angefordert werden kann.
+  AWS CLI Verwenden Sie den `duration-seconds` Parameter, um eine Sitzungsdauer anzugeben. Weitere Informationen hierzu finden Sie unter [Zu einer IAM-Rolle wechseln (AWS CLI)](id_roles_use_switch-role-cli.md).
+ Verwenden Sie den `DurationSeconds` Parameter, um eine Sitzungsdauer mithilfe der AWS API anzugeben. Weitere Informationen hierzu finden Sie unter [Zu einer IAM-Rolle (AWS API) wechseln](id_roles_use_switch-role-api.md). 

### Aktualisierung der maximalen Rollensitzungsdauer (AWS CLI)
<a name="id_roles_update-session-duration-cli"></a>

**Anmerkung**  
Jeder, der die Rolle von der API AWS CLI oder übernimmt, kann den `duration-seconds` CLI-Parameter oder den `DurationSeconds` API-Parameter verwenden, um eine längere Sitzung anzufordern. Die Einstellung `MaxSessionDuration` bestimmt die maximale Dauer der Rollensitzung, die mit dem `DurationSeconds`-Parameter angefordert werden kann. Wenn Benutzer keinen Wert für den `DurationSeconds`-Parameter angeben, sind ihre Sicherheitsanmeldeinformationen eine Stunde lang gültig.

**Um die Einstellung für die maximale Sitzungsdauer für Rollen zu ändern, die mit AWS CLI (AWS CLI) übernommen werden**

1. (Optional) Um die aktuelle maximale Sitzungsdauer für eine Rolle anzuzeigen, führen Sie den folgenden Befehl aus:
   + [aws iam get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html)

1. Um die maximale Sitzungsdauer einer Rolle zu aktualisieren, führen Sie den folgenden Befehl mit dem CLI-Parameter `max-session-duration` oder dem API-Parameter `MaxSessionDuration` aus:
   + [aws iam update-role](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role.html)

   Ihre Änderungen werden erst wirksam, wenn das nächste Mal jemand diese Rolle annimmt. Weitere Informationen dazu, wie Sie bestehende Sitzungen für diese Rolle widerrufen, finden Sie unter [Temporäre Sicherheitsanmeldeinformationen der IAM-Rolle widerrufen](id_roles_use_revoke-sessions.md).

### Aktualisierung der maximalen Rollensitzungsdauer (AWS API)
<a name="id_roles_update-session-duration-api"></a>

**Anmerkung**  
Jeder, der die Rolle von der API AWS CLI oder übernimmt, kann den `duration-seconds` CLI-Parameter oder den `DurationSeconds` API-Parameter verwenden, um eine längere Sitzung anzufordern. Die Einstellung `MaxSessionDuration` bestimmt die maximale Dauer der Rollensitzung, die mit dem `DurationSeconds`-Parameter angefordert werden kann. Wenn Benutzer keinen Wert für den `DurationSeconds`-Parameter angeben, sind ihre Sicherheitsanmeldeinformationen eine Stunde lang gültig.

**Um die Einstellung für die maximale Sitzungsdauer für Rollen zu ändern, die mithilfe der API (AWS API) übernommen werden**

1. (Optional) Um die aktuelle maximale Sitzungsdauer für eine Rolle anzuzeigen, rufen Sie die folgende Operation auf:
   + [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) 

1. Um die maximale Sitzungsdauer einer Rolle zu aktualisieren, rufen Sie die folgende Operation mit dem CLI-Parameter `max-sessionduration` oder dem API-Parameter `MaxSessionDuration` auf:
   + [UpdateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRole.html)

   Ihre Änderungen werden erst wirksam, wenn das nächste Mal jemand diese Rolle annimmt. Weitere Informationen dazu, wie Sie bestehende Sitzungen für diese Rolle widerrufen, finden Sie unter [Temporäre Sicherheitsanmeldeinformationen der IAM-Rolle widerrufen](id_roles_use_revoke-sessions.md).

# Rollen oder Instance-Profile löschen
<a name="id_roles_manage_delete"></a>

Wenn Sie eine Rolle nicht mehr benötigen, empfehlen wir, dass Sie die Rolle und die zugehörigen Berechtigungen löschen. Auf diese Weise haben Sie keine ungenutzte Entität, die nicht aktiv überwacht oder verwaltet wird. 

Wenn die Rolle einer EC2-Instance zugeordnet wurde, können Sie die Rolle auch aus dem Instance-Profil entfernen und dieses dann löschen.

**Warnung**  
Stellen Sie sicher, dass keine Amazon EC2 Instances mit der Rolle oder dem Instance-Profil ausgeführt werden, die Sie löschen möchten. Wenn Sie eine Rolle oder ein Instanceprofil löschen, das einer laufenden Instance zugeordnet ist, werden alle Anwendungen unterbrochen, die auf der Instance ausgeführt werden.

Wenn Sie eine Rolle nicht dauerhaft löschen möchten, können Sie sie deaktivieren. Ändern Sie dazu die Richtlinien der Rolle und widerrufen Sie dann alle aktuellen Sitzungen. Sie könnten der Rolle beispielsweise eine Richtlinie hinzufügen, die allen den Zugriff verweigert. AWS Sie können die Vertrauensrichtlinie auch bearbeiten, um jeder Person, die versucht, die Rolle zu übernehmen, den Zugriff zu verweigern. Weitere Informationen zum Widerrufen von Sitzungen finden Sie unter [Temporäre Sicherheitsanmeldeinformationen der IAM-Rolle widerrufen](id_roles_use_revoke-sessions.md).

**Topics**
+ [

## Rollenzugriff anzeigen
](#roles-delete_prerequisites)
+ [

## Löschen einer serviceverknüpften Rolle
](#id_roles_manage_delete_slr)
+ [

## Löschen einer IAM-Rolle (Konsole)
](#roles-managingrole-deleting-console)
+ [

## Erstellen einer IAM-Rolle (AWS CLI)
](#roles-managingrole-deleting-cli)
+ [

## Löschen einer IAM-Rolle (AWS API)
](#roles-managingrole-deleting-api)
+ [

## Ähnliche Informationen
](#roles-managingrole-deleting-related-info)

## Rollenzugriff anzeigen
<a name="roles-delete_prerequisites"></a>

Bevor Sie eine Rolle löschen, sollten Sie überprüfen, wann die Rolle zuletzt verwendet wurde. Sie können dazu die AWS-Managementkonsole AWS CLI, oder die AWS API verwenden. Sie sollten sich diese Informationen ansehen, weil Sie nicht jemandem den Zugriff entziehen wollen, der gerade die Rolle verwendet. 

Das Datum der letzten Aktivität der Rolle stimmt möglicherweise nicht mit dem letzten auf der Registerkarte **Letzter Zugriff** gemeldeten Datum überein. Auf der Registerkarte [**Letzter Zugriff**](access_policies_last-accessed-view-data.md) werden Aktivitäten nur für Services gemeldet, die laut der Berechtigungsrichtlinien der Rolle zulässig sind. Das Datum der letzten Aktivität der Rolle beinhaltet den letzten Versuch, auf einen Dienst in zuzugreifen AWS.

**Anmerkung**  
Der Nachverfolgungs-Zeitraum für die letzte Aktivität einer Rolle und die Letzter Zugriff-Daten beinhalten die letzten 400 Tage. Dieser Zeitraum kann kürzer sein, wenn Ihre Region diese Funktionen innerhalb des letzten Jahres zu unterstützen begonnen hat. Die Rolle könnte dann vor mehr als 400 Tagen verwendet worden sein. Weitere Informationen zum Nachverfolgungszeitraum finden Sie unter [Wo werden die AWS zuletzt aufgerufenen Informationen aufgezeichnet](access_policies_last-accessed.md#last-accessed_tracking-period).

**So zeigen Sie an, wann eine Rolle zuletzt verwendet wurde (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. Wählen Sie im Navigationsbereich **Rollen**.

1. Suchen Sie die Zeile der Rolle, deren Aktivität Sie anzeigen möchten. Sie können das Suchfeld verwenden, um die Ergebnisse einzuschränken. Zeigen Sie die Spalte **Last activity (Letzte Aktivität)** an, um die Anzahl der Tage seit der letzten Verwendung der Rolle anzuzeigen. Wenn die Rolle nicht innerhalb des Verfolgungszeitraums verwendet wurde, wird in der Tabelle **None (Keine)**angezeigt. 

1. Wählen Sie den Namen der Rolle, um weitere Informationen anzuzeigen. Die Seite **Summary (Zusammenfassung)** der Rolle enthält auch **Last activity (Letzte Aktivität)**, mit der Anzeige des Datums, an dem die Rolle zuletzt verwendet wurde. Wenn die Rolle innerhalb der letzten 400 Tage nicht verwendet wurde, zeigt **Last activity (Letzte Aktivität)** **Not accessed in the tracking period (Kein Zugriff im nachverfolgungszeitraum)** an.

**So zeigen Sie an, wann eine Rolle zuletzt verwendet wurde (AWS CLI):**  
`[aws iam get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html)` - Führen Sie diesen Befehl aus, um Informationen über eine Rolle, einschließlich des `RoleLastUsed`-Objekts, zurückzugeben. Dieses Objekt enthält die `LastUsedDate` und die `Region`, in denen die Rolle zuletzt verwendet wurde. Wenn `RoleLastUsed` vorhanden ist, aber keinen Wert enthält, wurde die Rolle innerhalb des Verfolgungszeitraums nicht verwendet.

**Um zu sehen, wann eine Rolle zuletzt verwendet wurde (AWS API)**  
`[GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/GetRole.html)` - Rufen Sie diesen Vorgang auf, um Informationen über eine Rolle, einschließlich des `RoleLastUsed`-Objekts, zurückzugeben. Dieses Objekt enthält die `LastUsedDate` und die `Region`, in denen die Rolle zuletzt verwendet wurde. Wenn `RoleLastUsed` vorhanden ist, aber keinen Wert enthält, wurde die Rolle innerhalb des Verfolgungszeitraums nicht verwendet.

## Löschen einer serviceverknüpften Rolle
<a name="id_roles_manage_delete_slr"></a>

Die Methode, die Sie zum Löschen einer serviceverknüpften Rolle verwenden, hängt vom jeweiligen Service ab. In einigen Fällen müssen Sie die serviceverknüpfte Rolle nicht manuell löschen. Wenn Sie beispielsweise eine bestimmte Aktion (z. B. das Entfernen einer Ressource) im Service durchführen, löscht der Service die serviceverknüpfte Rolle eventuell für Sie. In anderen Fällen unterstützt der Service möglicherweise das manuelle Löschen einer serviceverknüpften Rolle mit der Servicekonsole, einer API oder der AWS CLI. 

Lesen Sie die Dokumentation zur *[serviceverknüpften Rolle](id_roles.md#iam-term-service-linked-role)* im verknüpften Service, um zu erfahren, wie Sie die Rolle löschen. Sie können die serviceverknüpften Rollen in Ihrem Konto anzeigen, indem Sie zur IAM-Seite **Roles** der Konsole wechseln. Serviceverknüpfte Rollen werden mit dem Hinweis **(Service-linked role)** in der Spalte **Trusted entities (Vertrauenswürdige Entitäten)** der Tabelle angezeigt. Ein Banner auf der Seite **Summary (Übersicht)** für die Rolle zeigt ebenfalls an, dass es sich um eine serviceverknüpfte Rolle handelt.

Wenn der Service keine Dokumentation zum Löschen der mit dem Service verknüpften Rolle enthält, können Sie die Rolle mithilfe der IAM-Konsole oder der API löschen. AWS CLI

## Löschen einer IAM-Rolle (Konsole)
<a name="roles-managingrole-deleting-console"></a>

Wenn Sie die AWS-Managementkonsole zum Löschen einer Rolle verwenden, trennt IAM automatisch die mit der Rolle verknüpften verwalteten Richtlinien. Außerdem werden alle eingebundenen Richtlinien gelöscht, die mit der Rolle verbunden sind. Außerdem werden alle Amazon-EC2-Instance-Profile gelöscht, die die Rolle enthalten. 

**Wichtig**  
In einigen Fällen kann eine Rolle mit einem Amazon EC2-Instance-Profil verbunden sein, und die Rolle und das Instance-Profil können denselben Namen haben. In diesem Fall können Sie die AWS-Managementkonsole zum Löschen der Rolle und des Instanzprofils verwenden. Diese Verknüpfung erfolgt automatisch für Rollen und Instance-Profile, die Sie in der Konsole erstellen. Wenn Sie die Rolle über Tools für Windows PowerShell oder die AWS API erstellt haben, haben die Rolle und das Instanzprofil möglicherweise unterschiedliche Namen. AWS CLI In diesem Fall können Sie die Konsole nicht zum Löschen verwenden. Stattdessen müssen Sie Tools für Windows oder AWS API verwenden PowerShell, um die Rolle zunächst aus dem Instanzprofil zu entfernen. AWS CLI Sie müssen die Rolle dann in einem separaten Schritt löschen.

**So löschen Sie eine Rolle (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. Wählen Sie im Navigationsbereich **Roles (Rollen)**, und aktivieren Sie dann das Kontrollkästchen neben der Rolle, die Sie löschen möchten. 

1. Wählen Sie oben auf der Seite **Delete role (Rolle löschen)**.

1. Überprüfen Sie im Bestätigungsdialogfeld die Informationen, auf die zuletzt zugegriffen wurde. Darin wird angegeben, wann jede der ausgewählten Rollen zuletzt auf einen AWS Dienst zugegriffen hat. Auf diese Weise können Sie leichter bestätigen, ob die Rolle derzeit aktiv ist. Wenn Sie fortfahren möchten, geben Sie den Namen der Rolle in das Texteingabefeld ein und wählen Sie **Löschen**. Wenn Sie sich sicher sind, können Sie mit dem Löschen fortfahren, auch wenn die Informationen zum letzten Zugriff noch geladen werden.

**Anmerkung**  
Sie können die Konsole nicht verwenden, um ein Instance-Profil zu löschen, es sei denn, es hat denselben Namen wie die Rolle. Außerdem müssen Sie das Instance-Profil im Rahmen des Vorgangs zum Löschen einer Rolle, wie im zuvor genannten Vorgang beschrieben, löschen. Um ein Instanzprofil zu löschen, ohne auch die Rolle zu löschen, müssen Sie die AWS API AWS CLI oder verwenden. Weitere Informationen finden Sie in den folgenden Abschnitten.

## Erstellen einer IAM-Rolle (AWS CLI)
<a name="roles-managingrole-deleting-cli"></a>

Wenn Sie die verwenden, AWS CLI um eine Rolle zu löschen, müssen Sie zuerst die mit der Rolle verknüpften Inline-Richtlinien löschen. Sie müssen auch die mit der Rolle verknüpften verwalteten Richtlinien trennen. Wenn Sie das verbundene Instance-Profil, das die Rolle enthält, löschen möchten, müssen Sie es separat löschen.

**So löschen Sie eine Rolle (AWS CLI)**

1. Wenn Sie den Namen der Rolle, die Sie löschen möchten, nicht kennen, geben Sie den folgenden Befehl ein, um die Rollen in Ihrem Konto aufzulisten:

   ```
   aws iam list-roles
   ```

   Die Liste enthält den Amazon-Ressourcennamen (ARN) jeder Rolle. Verwenden Sie den Rollennamen, nicht den ARN, um sich auf Rollen mit den CLI-Befehlen zu beziehen. Wenn eine Rolle zum Beispiel folgenden ARN hat: `arn:aws:iam::123456789012:role/myrole`, verweisen Sie auf die Rolle als **myrole**.

1. Entfernen Sie die Rolle aus allen Instance-Profilen, mit denen die Rolle verbunden ist.

   1. Um alle Instance-Profile aufzulisten, denen die Rolle zugeordnet ist, geben Sie den folgenden Befehl ein:

      ```
      aws iam list-instance-profiles-for-role --role-name role-name
      ```

   1. Um die Rolle aus einem Instance-Profil zu entfernen, geben Sie den folgenden Befehl für jedes Instance-Profil ein:

      ```
      aws iam remove-role-from-instance-profile --instance-profile-name instance-profile-name --role-name role-name
      ```

1. Löschen Sie alle Richtlinien, die mit der Rolle verbunden sind.

   1. Um alle Inline-Richtlinien aufzulisten, die in der Rolle vorhanden sind, geben Sie den folgenden Befehl ein:

      ```
      aws iam list-role-policies --role-name role-name
      ```

   1. Um jede Inline-Richtlinie aus der Rolle zu löschen, geben Sie den folgenden Befehl für jede Richtlinie ein: 

      ```
      aws iam delete-role-policy --role-name role-name --policy-name policy-name
      ```

   1. Um alle verwalteten Richtlinien aufzulisten, die der Rolle angefügt sind, geben Sie den folgenden Befehl ein:

      ```
      aws iam list-attached-role-policies --role-name role-name
      ```

   1. Um jede verwaltete Richtlinie von der Rolle zu trennen, geben Sie den folgenden Befehl für jede Richtlinie ein: 

      ```
      aws iam detach-role-policy --role-name role-name --policy-arn policy-arn
      ```

1. Geben Sie den folgenden Befehl ein, um die Rolle zu löschen:

   ```
   aws iam delete-role --role-name role-name
   ```

1. Wenn Sie nicht vorhaben, die Instance-Profile, die der Rolle zugeordnet waren, wiederzuverwenden, geben Sie den folgenden Befehl ein, um sie zu löschen:

   ```
   aws iam delete-instance-profile --instance-profile-name instance-profile-name
   ```

## Löschen einer IAM-Rolle (AWS API)
<a name="roles-managingrole-deleting-api"></a>

Wenn Sie über die IAM-API eine Rolle löschen, müssen Sie zuerst die Inline-Richtlinien löschen, die der Rolle zugeordnet sind. Sie müssen auch die mit der Rolle verknüpften verwalteten Richtlinien trennen. Wenn Sie das verbundene Instance-Profil, das die Rolle enthält, löschen möchten, müssen Sie es separat löschen.

**Um eine Rolle (AWS API) zu löschen**

1. Rufen Sie auf, um alle Instanzprofile aufzulisten, denen eine Rolle zugeordnet ist [ListInstanceProfilesForRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListInstanceProfilesForRole.html).

   Rufen Sie an, um die Rolle aus einem Instanzprofil zu entfernen [RemoveRoleFromInstanceProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_RemoveRoleFromInstanceProfile.html). Sie müssen den Rollennamen und den Instance-Profilnamen übergeben. 

   Wenn Sie ein Instanzprofil, das mit der Rolle verknüpft war, nicht wiederverwenden möchten, rufen Sie an, [DeleteInstanceProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteInstanceProfile.html)um es zu löschen.

1. Rufen Sie an, um alle Inline-Richtlinien für eine Rolle aufzulisten [ListRolePolicies](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListRolePolicies.html).

   Rufen Sie an, um Inline-Richtlinien zu löschen, die der Rolle zugeordnet sind [DeleteRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteRolePolicy.html). Sie müssen den Rollennamen und den Inline-Richtliniennamen übergeben. 

1. Rufen Sie an, um alle verwalteten Richtlinien aufzulisten, die einer Rolle zugeordnet sind [ListAttachedRolePolicies](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedRolePolicies.html). 

   Rufen [DetachRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DetachRolePolicy.html)Sie an, um verwaltete Richtlinien, die der Rolle zugeordnet sind, zu trennen. Sie müssen den Rollennamen und den ARN der verwalteten Richtlinie übergeben. 

1. Rufen Sie an [DeleteRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteRole.html), um die Rolle zu löschen.

## Ähnliche Informationen
<a name="roles-managingrole-deleting-related-info"></a>

Allgemeine Informationen zu Instance-Profilen finden Sie unter [Verwendung von Instance-Profilen](id_roles_use_switch-role-ec2_instance-profiles.md).

Allgemeine Informationen zu serviceverknüpften Rollen finden Sie unter [Erstellen einer serviceverknüpften Rolle](id_roles_create-service-linked-role.md).

# Methoden, um eine Rolle zu übernehmen
<a name="id_roles_manage-assume"></a>

Bevor ein Benutzer, Anwendungen oder Services eine von Ihnen erstellte Rolle verwenden können, müssen Sie [Berechtigungen zum Wechseln](id_roles_use_permissions-to-switch.md) zu dieser Rolle erteilen. Sie können jede Richtlinie verwenden, die Gruppen oder Benutzern angefügt ist, um die erforderlichen Berechtigungen zu gewähren. Nachdem die Berechtigungen erteilt wurden, kann der Benutzer eine Rolle über die AWS-Managementkonsole Tools für Windows PowerShell, die AWS Command Line Interface (AWS CLI) und die [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API übernehmen.

**Wichtig**  
Wenn Sie die Rolle programmgesteuert anstatt in der IAM-Konsole erstellen, haben Sie die Möglichkeit, einen `Path` mit bis zu 512 Zeichen und einen `RoleName` mit bis zu 64 Zeichen hinzuzufügen. Wenn Sie jedoch beabsichtigen, eine Rolle mit der Funktion „**Rolle wechseln**“ in der zu verwenden AWS-Managementkonsole, dann die Kombination `Path` und `RoleName` darf 64 Zeichen nicht überschreiten.

Die Methode zur Übernahme der Rolle bestimmt, wer die Rolle übernehmen kann und wie lange die Rollensitzung dauern kann. Bei der Verwendung von `AssumeRole*`-API-Vorgängen ist die von Ihnen angenommene IAM-Rolle die Ressource. Der Benutzer oder die Rolle, der/die `AssumeRole*`-API-Vorgänge aufruft, ist der Prinzipal.

In der folgenden Tabelle werden die Methoden zur Rollenübernahme verglichen.


|  Methode der Übernahme der Rolle |  **Wer die Rolle annehmen kann**  | **Methode zum Festlegen der Lebensdauer der Anmeldeinformationen** |  **Lebensdauer der Anmeldeinformationen (min \$1 max \$1 Standard)**  | 
| --- | --- | --- | --- | 
| AWS-Managementkonsole | Benutzer oder Rollen¹ (durch [Wechseln von Rollen](id_roles_use_switch-role-console.md)) | Maximale Sitzungsdauer auf der Seite -Rollen-Zusammenfassung | 15 Min. \$1 Maximale Sitzungsdauer² \$1 1 Std. | 
| [https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html)-CLI- oder [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)-API-Operation |  Benutzer oder Rolle¹ | duration-seconds CLI- oder DurationSeconds API-Parameter | 15 Min. \$1 Maximale Sitzungsdauer² \$1 1 Std.  | 
| [https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-saml.html](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-saml.html)-CLI- oder [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html)-API-Operation | Jeder Benutzer, der mit SAML authentifiziert wird | duration-seconds CLI- oder DurationSeconds API-Parameter | 15 Min. \$1 Maximale Sitzungsdauer² \$1 1 Std.  | 
| [https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-web-identity.html](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-web-identity.html)-CLI- oder [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)-API-Operation | Jeder Benutzer, der über einen OIDC-Anbieter authentifiziert wurde | duration-seconds CLI- oder DurationSeconds API-Parameter | 15 Min. \$1 Maximale Sitzungsdauer² \$1 1 Std.  | 
| [Konsolen-URL](id_roles_providers_enable-console-custom-url.md) erstellt mit AssumeRole  | Benutzer oder Rolle | SessionDuration HTML-Parameter in der URL | 15 Min. \$1 12 Std. \$1 1 Std.  | 
| [Konsolen-URL](id_roles_providers_enable-console-custom-url.md) erstellt mit AssumeRoleWithSAML  | Jeder Benutzer, der mit SAML authentifiziert wird | SessionDuration HTML-Parameter in der URL | 15 Min. \$1 12 Std. \$1 1 Std. | 
| [Konsolen-URL](id_roles_providers_enable-console-custom-url.md) erstellt mit AssumeRoleWithWebIdentity  | Jeder Benutzer, der über einen OIDC-Anbieter authentifiziert wurde | SessionDuration HTML-Parameter in der URL | 15 Min. \$1 12 Std. \$1 1 Std.  | 

¹ Das Verwenden der Anmeldeinformationen aus einer Rolle, um eine andere Rolle anzunehmen, wird als [Verketten von Rollen](id_roles.md#iam-term-role-chaining) bezeichnet. Wenn Sie das Verketten von Rollen verwenden, ist die Sitzungsdauer der Rolle auf eine Stunde begrenzt. Dies gilt für AWS-Managementkonsole Rollenwechsel AWS CLI und API-Operationen. Diese Einschränkung gilt nicht für die anfängliche Übernahme einer Rolle anhand von Benutzeranmeldedaten oder für Anwendungen, die auf EC2 Amazon-Instances mithilfe von Instance-Profilen ausgeführt werden.

Diese Einstellung kann einen Wert zwischen 1 Stunde und 12 Stunden haben. Weitere Informationen zur maximalen Sitzungsdauer finden Sie unter [IAM-Rollen-Verwaltung](id_roles_manage.md). Diese Einstellung bestimmt die maximale Sitzungsdauer, die Sie anfordern können, wenn Sie die Anmeldeinformationen einer Rolle erhalten. Wenn Sie beispielsweise die API-Operationen [AssumeRole\$1](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) verwenden, um eine Rolle anzunehmen, können Sie mithilfe des `DurationSeconds` Parameters eine Sitzungslänge angeben. Verwenden Sie diesen Parameter, um die Länge der Rollensitzung von 900 Sekunden (15 Minuten) bis zur maximalen Sitzungsdauer für die Rolle anzugeben. IAM-Benutzern wird die für die Rolle festgelegte maximale Sitzungsdauer oder die verbleibende Zeit in der Sitzung des Benutzers gewährt, je nachdem, welcher Wert geringer ist. Angenommen Sie, Sie eine maximale Dauer von 5 Stunden für eine Rolle festlegen. Ein IAM-Benutzer, der 10 Stunden lang bei der Konsole angemeldet wurde (ab dem Standardmaximum von 12), wechselt zur Rolle. Die verfügbare Rollensitzungsdauer beträgt 2 Stunden. Weitere Informationen zum Anzeigen des maximalen Werts für Ihre Rolle finden Sie unter [Aktualisieren der maximalen Sitzungsdauer für eine Rolle](id_roles_update-role-settings.md#id_roles_update-session-duration) weiter unten auf dieser Seite.

**Hinweise**  
Die Einstellung für die maximale Sitzungsdauer beschränkt keine Sitzungen, die von AWS -Services übernommen werden.
Die Anmeldeinformationen für Amazon EC2 IAM-Rollen unterliegen nicht der in der Rolle konfigurierten maximalen Sitzungsdauer.
Damit Benutzer die aktuelle Rolle innerhalb einer Rollensitzung wieder übernehmen können, geben Sie den Rollen-ARN oder AWS-Konto ARN als Principal in der Rollenvertrauensrichtlinie an. AWS-Services die Rechenressourcen wie Amazon EC2, Amazon ECS, Amazon EKS und Lambda bereitstellen, stellen temporäre Anmeldeinformationen bereit und aktualisieren diese Anmeldeinformationen automatisch. Dadurch wird sichergestellt, dass Sie immer über gültige Anmeldeinformationen verfügen. Für diese Dienste ist es nicht erforderlich, die aktuelle Rolle erneut anzunehmen, um temporäre Anmeldeinformationen zu erhalten. Wenn Sie jedoch beabsichtigen, [Sitzungs-Tags](id_session-tags.md) oder eine [Sitzungsrichtlinie](access_policies.md#policies_session) zu übergeben, müssen Sie die aktuelle Rolle erneut annehmen. Informationen zum Ändern einer Rollenvertrauensrichtlinie zum Hinzufügen der Hauptrollen ARN oder AWS-Konto ARN finden Sie unter[Rollenvertrauensrichtlinie aktualisieren](id_roles_update-role-trust-policy.md).

**Topics**
+ [

# Von einem Benutzer zu einer IAM-Rolle wechseln (Konsole)
](id_roles_use_switch-role-console.md)
+ [

# Zu einer IAM-Rolle wechseln (AWS CLI)
](id_roles_use_switch-role-cli.md)
+ [

# Zu einer IAM-Rolle wechseln (Tools für Windows PowerShell)
](id_roles_use_switch-role-twp.md)
+ [

# Zu einer IAM-Rolle (AWS API) wechseln
](id_roles_use_switch-role-api.md)
+ [

# Verwendung einer IAM-Rolle zur Gewährung von Berechtigungen für Anwendungen, die in Amazon-EC2-Instances ausgeführt werden
](id_roles_use_switch-role-ec2.md)
+ [

# Verwendung von Instance-Profilen
](id_roles_use_switch-role-ec2_instance-profiles.md)

# Von einem Benutzer zu einer IAM-Rolle wechseln (Konsole)
<a name="id_roles_use_switch-role-console"></a>

Sie können die Rolle wechseln, wenn Sie sich als IAM-Benutzer, als Benutzer im IAM Identity Center, als SAML-verbundene Rolle oder als Web-Identitätsverbundene Rolle anmelden. Eine *Rolle* gibt eine Reihe von Berechtigungen an, mit denen Sie auf die benötigten AWS Ressourcen zugreifen können. Sie melden sich jedoch nicht bei einer Rolle an, können aber, sobald Sie als IAM-Benutzer angemeldet sind, zu einer IAM-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 finden Sie unter [IAM-Rollen](id_roles.md) und [Erstellung einer IAM-Rolle](id_roles_create.md).

Die Berechtigungen Ihres Benutzers und aller Rollen, zu denen Sie wechseln, sind nicht kumulativ. Es ist nur jeweils ein Satz von Berechtigungen aktiv. Wenn Sie zu einer Rolle wechseln, geben Sie Ihre Benutzerberechtigungen temporär auf und arbeiten mit den Berechtigungen, die der Rolle zugeordnet sind. Wenn Sie die Rolle verlassen, werden Ihre Benutzerberechtigungen automatisch wiederhergestellt.

Wenn Sie in der die Rollen wechseln AWS-Managementkonsole, verwendet die Konsole immer Ihre ursprünglichen Anmeldeinformationen, um den Switch zu autorisieren. Wenn Sie beispielsweise zu Rolle A wechseln, verwendet IAM Ihre ursprünglichen Anmeldeinformationen, um zu bestimmen, ob Sie Rolle A übernehmen dürfen. Wenn Sie dann zu RoleB wechseln, *während Sie RoleA verwenden, verwendet AWS immer noch Ihre **ursprünglichen** Anmeldeinformationen, um den Wechsel zu autorisieren, nicht die Anmeldeinformationen für RoleA*.

**Anmerkung**  
Wenn Sie sich als Benutzer im IAM Identity Center, mit einer SAML-Verbundrolle oder mit einer Web-Identitäts-Verbundrolle anmelden, übernehmen Sie beim Starten Ihrer Sitzung eine IAM-Rolle. Wenn sich beispielsweise ein Benutzer in IAM Identity Center beim AWS Zugriffsportal anmeldet, muss er einen Berechtigungssatz auswählen, der einer Rolle entspricht, bevor er auf Ressourcen zugreifen kann. AWS 

## Rollensitzungen
<a name="id_roles_iam_user-switch-role-sessions"></a>

Wenn Sie die Rollen wechseln, dauert Ihre AWS-Managementkonsole Sitzung standardmäßig 1 Stunde. IAM-Benutzer-Sitzungen dauern standardmäßig 12 Stunden. Für andere Benutzer sind möglicherweise andere Sitzungsdauern definiert. Wenn Sie in der Konsole die Rollen wechseln, wird Ihnen die für Ihre Rolle maximale Sitzungsdauer oder die verbleibende Zeit Ihrer Benutzersitzung zugewiesen (je nachdem, welche Dauer kürzer ist). Eine Verlängerung der Sitzungsdauer ist durch die Übernahme einer Rolle nicht möglich.

Nehmen Sie beispielsweise an, dass eine maximale Sitzungsdauer von 10 Stunden für eine Rolle festgelegt ist. Sie waren 8 Stunden lang bei der Konsole angemeldet, als Sie sich entschieden haben, zur Rolle zu wechseln. Es verbleiben noch 4 Stunden in Ihrer Benutzersitzung. Daher beträgt die zulässige Rollensitzungsdauer 4 Stunden, nicht die maximale Sitzungsdauer von 10 Stunden. Die folgende Tabelle zeigt, wie die Sitzungsdauer für einen IAM-Benutzer beim Wechseln von Rollen in der Konsole ermittelt wird.


| Die verbleibende IAM-Benutzersitzung ist... | Rollensitzungsdauer beträgt… | 
| --- | --- | 
| Maximale Sitzungsdauer unter Rolle | Verbleibende Zeit in Benutzersitzung | 
| Maximale Sitzungsdauer größer als Rolle | Maximale Sitzungsdauer | 
| Gleich der maximalen Sitzungsdauer der Rolle | Maximaler Wert für die Sitzungsdauer (ungefähr) | 

Das Verwenden der Anmeldeinformationen aus einer Rolle, um eine andere Rolle anzunehmen, wird als [Verketten von Rollen](id_roles.md#iam-term-role-chaining) bezeichnet. Wenn Sie das Verketten von Rollen verwenden, ist die Sitzungsdauer auf eine Stunde begrenzt, unabhängig von der Einstellung für die maximale Sitzungsdauer, die für einzelne Rollen konfiguriert wurde. Dies gilt für AWS-Managementkonsole Rollenwechsel AWS CLI und API-Operationen.

**Anmerkung**  
Einige AWS Servicekonsolen können Ihre Rollensitzung nach Ablauf automatisch verlängern, ohne dass Sie etwas unternehmen müssen. Einige werden Sie möglicherweise aufgefordert, Ihre Browserseite neu zu laden, um Ihre Sitzung erneut zu authentifizieren.

## Überlegungen
<a name="id_roles_iam_user-switch-role-considerations"></a>
+ Sie können die Rollen nicht wechseln, wenn Sie sich als anmelden. Root-Benutzer des AWS-Kontos
+ Benutzern muss die Berechtigung zum Rollenwechsel durch die Richtlinie gewährt werden. Detaillierte Anweisungen finden Sie unter [Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel](id_roles_use_permissions-to-switch.md).
+ Sie können die Rollen nicht AWS-Managementkonsole zu einer Rolle wechseln, für die ein [ExternalId](id_roles_common-scenarios_third-party.md#id_roles_third-party_external-id)Wert erforderlich ist. Sie können nur zu einer solchen Rolle wechseln, indem Sie die [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)-API aufrufen, die den `ExternalId`-Parameter unterstützt.

## So wechseln Sie zu einer Rolle
<a name="id_roles_iam_user-switch-role-console-procedure"></a>

1. Folgen Sie dem Anmeldeverfahren, das Ihrem Benutzertyp entspricht, wie im Abschnitt [Anmelden an der AWS-Managementkonsole](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *AWS-Anmeldung -Benutzerhandbuch* beschrieben.

1. Wählen Sie in der AWS-Managementkonsole Navigationsleiste oben rechts Ihren Benutzernamen aus. Es sieht normalerweise so aus: ***username*@ *account\$1ID\$1number\$1or\$1alias***.

1. Wählen Sie eine der folgenden Methoden aus, um Rollen zu wechseln:
   + Wählen Sie **Rolle wechseln** aus.
   + Wenn Sie sich für die Unterstützung mehrerer Sitzungen entschieden haben, wählen Sie **Sitzung hinzufügen** und dann **Rolle wechseln** aus.
**Anmerkung**  
Sie können sich mit bis zu fünf verschiedenen Identitäten gleichzeitig in einem einzigen Webbrowser in der AWS-Managementkonsole anmelden. Details finden Sie im *Handbuch zu den ersten Schritten mit der AWS-Managementkonsole * unter [Anmeldung bei mehreren Konten](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/multisession.html).

1. Geben Sie auf der Seite **Switch Role (Rolle wechseln)** die Konto-ID-Nummer oder den Kontoalias sowie den Namen der Rolle ein, die Sie von Ihrem Administrator erhalten haben.
**Anmerkung**  
Wenn der Administrator die Rolle mit einem Pfad erstellt hat, z. B. `division_abc/subdivision_efg/roleToDoX`, müssen Sie den vollständigen Pfad sowie den Namen im Feld **Role (Rolle)** eingeben. Wenn Sie nur den Rollennamen eingeben oder der kombinierte `Path` und `RoleName` 64 Zeichen überschreiten, schlägt der Wechsel der Rolle fehl. Diese Begrenzung wird durch die Browser-Cookies vorgegeben, in denen der Rollenname gespeichert wird. Wenn dies der Fall ist, wenden Sie sich an Ihren Administrator und bitten Sie Ihn, die Größe des Pfads und Rollennamens zu verringern.

1. (Optional) Sie können einen Anzeigenamen eingeben und eine Anzeigefarbe auswählen, die die Rolle in der Navigationsleiste der Konsole hervorhebt.
   + Geben Sie unter **Anzeigename** den Text ein, der anstelle Ihres Benutzernamens in der Navigationsleiste angezeigt werden soll, wenn diese Rolle aktiv ist. Es wird ein Name basierend auf den Konto- und Rolleninformationen vorgeschlagen. Sie können jedoch einen beliebigen Namen wählen. 
   + Wählen Sie bei **Anzeigefarbe** eine Farbe aus, um den Anzeigenamen hervorzuheben.

   Der Name und die Farbe helfen Ihnen dabei zu erkennen, dass die Rolle aktiv ist und Sie dadurch möglicherweise über andere Berechtigungen verfügen. Sie können beispielsweise für eine Rolle, die Ihnen Zugriff auf die Testumgebung gewährt, den **Display Name (Anzeigename)** **Test** und die **Color (Farbe)** grün auswählen. Für die Rolle, die Ihnen Zugriff auf die Produktionsumgebung gewährt, können Sie den **Display Name (Anzeigename)** **Production** und die **Color (Farbe)** rot auswählen.

1. Wählen Sie **Switch Role**. Ihr Benutzername auf der Navigationsleiste wird durch den Anzeigenamen in der gewählten Farbe ersetzt und Sie können die durch die Rolle gewährten Berechtigungen nutzen.

1. Nachdem Sie die Aufgaben abgeschlossen haben, die die IAM-Rolle erfordern, können Sie zu Ihrer ursprünglichen Sitzung zurückkehren. Dadurch werden die durch die Rolle bereitgestellten zusätzlichen Berechtigungen entfernt und Sie erhalten wieder Ihre Standardberechtigungen.

   1. Klicken Sie in der IAM-Konsole oben rechts in der Navigationsleiste auf **Display Name (Anzeigename)** der Rolle.

   1. Wählen Sie **Zurückwechseln** aus.

      Nehmen wir zum Beispiel an, dass Sie mit der Kontonummer `123456789012` und dem Benutzernamen `Richard` angemeldet sind. Nach der Verwendung der `admin-role`-Rolle können Sie die Verwendung der Rolle beenden und zu Ihren ursprünglichen Berechtigungen zurückkehren. Um die Verwendung der Rolle zu beenden, wählen Sie **Admin-Rolle @ 123456789012** und dann **Zurückwechseln** aus.  
![\[Grafik zum Auffinden der Funktion „Zurückwechseln“, um die Verwendung einer IAM-Rolle zu beenden und zum ursprünglichen Benutzer zurückzukehren.\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/role-stop-using.png)

**Tipp**  
Die zuletzt verwendeten Rollen werden im Menü angezeigt. Wenn Sie das nächste Mal zu einer dieser Rollen wechseln möchten, können Sie einfach die gewünschte Rolle auswählen. Sie müssen die Konto- und Rolleninformationen nur dann manuell eingeben, wenn die Rolle nicht im Menü angezeigt wird.

## Weitere Ressourcen
<a name="id_roles_use_switch-role-console_additional_resources"></a>
+ [Gewähren von Berechtigungen an einen Benutzer zum Rollenwechsel](id_roles_use_permissions-to-switch.md)
+ [Erteilen Sie einem Benutzer die Erlaubnis, eine Rolle an einen AWS Dienst zu übergeben](id_roles_use_passrole.md)
+ [Erstellen einer Rolle zum Erteilen von Berechtigungen an einen IAM-Benutzer](id_roles_create_for-user.md)
+ [Erstellen Sie eine Rolle, um Berechtigungen an einen AWS Dienst zu delegieren](id_roles_create_for-service.md)
+ [Fehlerbehebung bei IAM-Rollen](troubleshoot_roles.md)

# 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*.

# Zu einer IAM-Rolle wechseln (Tools für Windows PowerShell)
<a name="id_roles_use_switch-role-twp"></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 nicht bei einer Rolle an, aber sobald Sie angemeldet sind, 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).

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

In diesem Abschnitt wird beschrieben, wie Sie Rollen wechseln, wenn Sie mit den AWS Tools for Windows PowerShell in der Befehlszeile arbeiten.

Stellen Sie sich vor, Sie haben ein Konto in der Entwicklungsumgebung und müssen gelegentlich über die Befehlszeile mit den [Tools für Windows PowerShell](https://aws.amazon.com/powershell/) mit der Produktionsumgebung arbeiten. Es steht Ihnen bereits ein Satz an Zugriffsschlüsseln zur Verfügung. Dies kann ein 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. Sie können diese Anmeldeinformationen verwenden, um das `Use-STSRole`-Cmdlet auszuführen, das den ARN einer neuen Rolle als Parameter übergibt. Der Befehl gibt temporäre Sicherheitsanmeldeinformationen für die angeforderte Rolle zurück. Sie können diese Anmeldeinformationen dann in nachfolgenden PowerShell Befehlen mit den Berechtigungen der Rolle für den Zugriff auf Ressourcen in der Produktion verwenden. Solange Sie die Rolle verwenden, können Sie Ihre Benutzerberechtigungen im Entwicklungskonto nicht nutzen, da immer nur jeweils ein Satz an Berechtigungen wirksam ist.

**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).

Beachten Sie, dass alle Zugriffsschlüssel und Token nur Beispiele sind und nicht wie hier dargestellt verwendet werden können. Ersetzen Sie sie mit den entsprechenden Werten aus Ihrer Live-Umgebung.

**Um zu einer Rolle zu wechseln (Tools für Windows PowerShell)**

1. Öffnen Sie eine PowerShell Befehlszeile und konfigurieren Sie das Standardprofil so, dass es den Zugriffsschlüssel Ihres aktuellen IAM-Benutzers oder Ihrer Verbundrolle verwendet. Wenn Sie die Tools für Windows bereits verwendet haben PowerShell, ist dies wahrscheinlich bereits geschehen. Beachten Sie, dass Sie Rollen nur dann wechseln können, wenn Sie als IAM-Benutzer und nicht als der Root-Benutzer des AWS-Kontos angemeldet sind.

   ```
   PS C:\> Set-AWSCredentials -AccessKey AKIAIOSFODNN7EXAMPLE -SecretKey wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY -StoreAs MyMainUserProfile
   PS C:\> Initialize-AWSDefaults -ProfileName MyMainUserProfile -Region us-east-2
   ```

   Weitere Informationen finden Sie im *AWS -Tools für PowerShell Benutzerhandbuch* [unter Verwenden von AWS Anmeldeinformationen](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html).

1. Um die Anmeldeinformationen für die neue Rolle abzurufen, führen Sie den folgenden Befehl aus, um zur `RoleName`-Rolle im Konto 123456789012 zu wechseln. Der ARN der Rolle wird Ihnen vom Kontoadministrator, der die Rolle erstellt hat, mitgeteilt. Der Befehl erfordert, dass Sie außerdem einen Sitzungsnamen angeben. Sie können hierfür einen beliebigen Text wählen. Der folgende Befehl fordert die Anmeldeinformationen an und erfasst dann das `Credentials`-Eigenschaftsobjekt vom zurückgegebenen Ergebnisobjekt und speichert es in der `$Creds`-Variablen.

   ```
   PS C:\> $Creds = (Use-STSRole -RoleArn "arn:aws:iam::123456789012:role/RoleName" -RoleSessionName "MyRoleSessionName").Credentials
   ```

   `$Creds` ist ein Objekt, das jetzt die Elemente `AccessKeyId`, `SecretAccessKey` und `SessionToken` enthält, die Sie in den folgenden Schritten benötigen. Die folgenden Beispielbefehle veranschaulichen typische Werte:

   ```
   PS C:\> $Creds.AccessKeyId
   AKIAIOSFODNN7EXAMPLE
   
   PS C:\> $Creds.SecretAccessKey
   wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   
   PS C:\> $Creds.SessionToken
   AQoDYXdzEGcaEXAMPLE2gsYULo+Im5ZEXAMPLEeYjs1M2FUIgIJx9tQqNMBEXAMPLECvSRyh0FW7jEXAMPLEW+vE/7s1HRp
   XviG7b+qYf4nD00EXAMPLEmj4wxS04L/uZEXAMPLECihzFB5lTYLto9dyBgSDyEXAMPLE9/g7QRUhZp4bqbEXAMPLENwGPy
   Oj59pFA4lNKCIkVgkREXAMPLEjlzxQ7y52gekeVEXAMPLEDiB9ST3UuysgsKdEXAMPLE1TVastU1A0SKFEXAMPLEiywCC/C
   s8EXAMPLEpZgOs+6hz4AP4KEXAMPLERbASP+4eZScEXAMPLEsnf87eNhyDHq6ikBQ==
   
   PS C:\> $Creds.Expiration
   Thursday, June 18, 2018 2:28:31 PM
   ```

1. Um diese Anmeldeinformationen für nachfolgende Befehle zu verwenden, fügen Sie sie dem `-Credential`-Parameter bei. Der folgende Befehl verwendet beispielsweise die Anmeldeinformationen der Rolle und funktioniert nur dann, wenn der Rolle die `iam:ListRoles`-Berechtigung gewährt wird und sie daher das `Get-IAMRoles`-Cmdlet ausführen kann:

   ```
           PS C:\> get-iamroles -Credential $Creds
   ```

1. Um zu Ihren ursprünglichen Anmeldeinformationen zurückzukehren, beenden Sie einfach die Verwendung des `-Credentials $Creds` Parameters und erlauben Sie PowerShell , zu den Anmeldeinformationen zurückzukehren, die im Standardprofil gespeichert sind.

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

Eine *Rolle* legt eine Gruppe von Berechtigungen fest, die Sie für den Zugriff auf AWS -Ressourcen verwenden können. In dieser Hinsicht ist sie mit einem [IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) vergleichbar. Ein Principal (Person oder Anwendung) übernimmt eine Rolle, um temporäre Berechtigungen zur Ausführung erforderlicher Aufgaben und zur Interaktion mit AWS Ressourcen zu erhalten. 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 ursprünglichen Benutzerberechtigungen automatisch wiederhergestellt.

Um eine Rolle anzunehmen, ruft eine Anwendung den AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API-Vorgang auf und übergibt den ARN der zu verwendenden Rolle. Die Operation erstellt eine neue Sitzung mit temporären Anmeldeinformationen. Diese Sitzung hat die gleichen Berechtigungen wie die identitätsbasierten Richtlinien für diese Rolle. 

Wenn Sie [`AssumeRole` aufrufen](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html), können Sie optional eingebundene oder verwaltete [Sitzungsrichtlinien](access_policies.md#policies_session) übergeben. Sitzungsrichtlinien sind erweiterte Richtlinien, die Sie als Parameter übergeben, wenn Sie programmgesteuert eine Sitzung mit temporären Anmeldeinformationen für eine Rolle oder eine Verbundbenutzersitzung erstellen. Sie können ein einzelnes JSON-Inline-Sitzungsrichtliniendokument mit dem `Policy`-Parameter übergeben. Sie können mit dem Parameter `PolicyArns` bis zu 10 verwaltete Sitzungsrichtlinien angeben. Die resultierenden Sitzungsberechtigungen bilden die Schnittmenge der auf der Identität der Entity basierenden Richtlinien und der Sitzungsrichtlinien. Sitzungsrichtlinien sind praktisch, wenn Sie die temporären Anmeldeinformationen einer Rolle einer anderen Person übergeben müssen. Sie können die temporären Anmeldeinformationen der Rolle in nachfolgenden AWS -API-Aufrufen verwenden, um auf Ressourcen in dem Konto zuzugreifen, zu dem die Rolle gehört. Sie können mit Sitzungsrichtlinien nicht mehr Berechtigungen erteilen, als durch die identitätsbasierte Richtline zulässig sind. Weitere Informationen darüber, wie die effektiven Berechtigungen einer Rolle AWS bestimmt werden, finden Sie unter[Auswertungslogik für Richtlinien](reference_policies_evaluation-logic.md). 

![\[PermissionsWhenPassingRoles_Diagramm\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/role_passed_policy_permissions.png)


Sie können `AssumeRole` aufrufen, wenn Sie als IAM-Benutzer oder als [extern authentifizierter Benutzer](id_roles_providers.md) ([SAML](id_roles_providers_saml.md) oder [OIDC](id_roles_providers_oidc.md)), der eine Rolle bereits verwendet, angemeldet sind. Sie können auch das [*Verketten von Rollen*](id_roles.md#iam-term-role-chaining) verwenden, was bedeutet, eine Rolle zu verwenden, um eine andere Rolle anzunehmen. Sie können keine Rolle anwenden, wenn Sie sich als Root-Benutzer des AWS-Kontos anmelden.

Standardmäßig ist Ihre Rollensitzung eine Stunde gültig. Wenn Sie diese Rolle mithilfe der AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API-Operationen übernehmen, können Sie einen Wert für den `DurationSeconds` Parameter angeben. Dieser Wert kann zwischen 900 Sekunden (15 Minuten) und der maximalen Sitzungsdauer für die Rolle liegen. 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 Sitzung auf die maximale Dauer von einer Stunde begrenzt. Wenn Sie den `DurationSeconds`-Parameter verwenden, um einen Wert größer als eine Stunde anzugeben, schlägt die Operation fehl.

**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).

Die folgenden Codebeispiele veranschaulichen, wie Sie einen Benutzer erstellen und eine Rolle annehmen lassen.

**Warnung**  
Um Sicherheitsrisiken zu vermeiden, sollten Sie IAM-Benutzer nicht zur Authentifizierung verwenden, wenn Sie eigens entwickelte Software entwickeln oder mit echten Daten arbeiten. Verwenden Sie stattdessen den Verbund mit einem Identitätsanbieter wie [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).
+ Erstellen Sie einen Benutzer ohne Berechtigungen.
+ Erstellen einer Rolle, die die Berechtigung zum Auflisten von Amazon-S3-Buckets für das Konto erteilt.
+ Hinzufügen einer Richtlinie, damit der Benutzer die Rolle übernehmen kann.
+ Übernehmen Sie die Rolle und listen Sie S3-Buckets mit temporären Anmeldeinformationen auf, und bereinigen Sie dann die Ressourcen.

------
#### [ .NET ]

**SDK für .NET**  
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3/IAM#code-examples) einrichten und ausführen. 

```
global using Amazon.IdentityManagement;
global using Amazon.S3;
global using Amazon.SecurityToken;
global using IAMActions;
global using IamScenariosCommon;
global using Microsoft.Extensions.DependencyInjection;
global using Microsoft.Extensions.Hosting;
global using Microsoft.Extensions.Logging;
global using Microsoft.Extensions.Logging.Console;
global using Microsoft.Extensions.Logging.Debug;


namespace IAMActions;

public class IAMWrapper
{
    private readonly IAmazonIdentityManagementService _IAMService;

    /// <summary>
    /// Constructor for the IAMWrapper class.
    /// </summary>
    /// <param name="IAMService">An IAM client object.</param>
    public IAMWrapper(IAmazonIdentityManagementService IAMService)
    {
        _IAMService = IAMService;
    }

    /// <summary>
    /// Attach an IAM policy to a role.
    /// </summary>
    /// <param name="policyArn">The policy to attach.</param>
    /// <param name="roleName">The role that the policy will be attached to.</param>
    /// <returns>A Boolean value indicating the success of the action.</returns>
    public async Task<bool> AttachRolePolicyAsync(string policyArn, string roleName)
    {
        var response = await _IAMService.AttachRolePolicyAsync(new AttachRolePolicyRequest
        {
            PolicyArn = policyArn,
            RoleName = roleName,
        });

        return response.HttpStatusCode == System.Net.HttpStatusCode.OK;
    }


    /// <summary>
    /// Create an IAM access key for a user.
    /// </summary>
    /// <param name="userName">The username for which to create the IAM access
    /// key.</param>
    /// <returns>The AccessKey.</returns>
    public async Task<AccessKey> CreateAccessKeyAsync(string userName)
    {
        var response = await _IAMService.CreateAccessKeyAsync(new CreateAccessKeyRequest
        {
            UserName = userName,
        });

        return response.AccessKey;

    }


    /// <summary>
    /// Create an IAM policy.
    /// </summary>
    /// <param name="policyName">The name to give the new IAM policy.</param>
    /// <param name="policyDocument">The policy document for the new policy.</param>
    /// <returns>The new IAM policy object.</returns>
    public async Task<ManagedPolicy> CreatePolicyAsync(string policyName, string policyDocument)
    {
        var response = await _IAMService.CreatePolicyAsync(new CreatePolicyRequest
        {
            PolicyDocument = policyDocument,
            PolicyName = policyName,
        });

        return response.Policy;
    }


    /// <summary>
    /// Create a new IAM role.
    /// </summary>
    /// <param name="roleName">The name of the IAM role.</param>
    /// <param name="rolePolicyDocument">The name of the IAM policy document
    /// for the new role.</param>
    /// <returns>The Amazon Resource Name (ARN) of the role.</returns>
    public async Task<string> CreateRoleAsync(string roleName, string rolePolicyDocument)
    {
        var request = new CreateRoleRequest
        {
            RoleName = roleName,
            AssumeRolePolicyDocument = rolePolicyDocument,
        };

        var response = await _IAMService.CreateRoleAsync(request);
        return response.Role.Arn;
    }


    /// <summary>
    /// Create an IAM service-linked role.
    /// </summary>
    /// <param name="serviceName">The name of the AWS Service.</param>
    /// <param name="description">A description of the IAM service-linked role.</param>
    /// <returns>The IAM role that was created.</returns>
    public async Task<Role> CreateServiceLinkedRoleAsync(string serviceName, string description)
    {
        var request = new CreateServiceLinkedRoleRequest
        {
            AWSServiceName = serviceName,
            Description = description
        };

        var response = await _IAMService.CreateServiceLinkedRoleAsync(request);
        return response.Role;
    }


    /// <summary>
    /// Create an IAM user.
    /// </summary>
    /// <param name="userName">The username for the new IAM user.</param>
    /// <returns>The IAM user that was created.</returns>
    public async Task<User> CreateUserAsync(string userName)
    {
        var response = await _IAMService.CreateUserAsync(new CreateUserRequest { UserName = userName });
        return response.User;
    }


    /// <summary>
    /// Delete an IAM user's access key.
    /// </summary>
    /// <param name="accessKeyId">The Id for the IAM access key.</param>
    /// <param name="userName">The username of the user that owns the IAM
    /// access key.</param>
    /// <returns>A Boolean value indicating the success of the action.</returns>
    public async Task<bool> DeleteAccessKeyAsync(string accessKeyId, string userName)
    {
        var response = await _IAMService.DeleteAccessKeyAsync(new DeleteAccessKeyRequest
        {
            AccessKeyId = accessKeyId,
            UserName = userName,
        });

        return response.HttpStatusCode == System.Net.HttpStatusCode.OK;
    }


    /// <summary>
    /// Delete an IAM policy.
    /// </summary>
    /// <param name="policyArn">The Amazon Resource Name (ARN) of the policy to
    /// delete.</param>
    /// <returns>A Boolean value indicating the success of the action.</returns>
    public async Task<bool> DeletePolicyAsync(string policyArn)
    {
        var response = await _IAMService.DeletePolicyAsync(new DeletePolicyRequest { PolicyArn = policyArn });
        return response.HttpStatusCode == System.Net.HttpStatusCode.OK;
    }


    /// <summary>
    /// Delete an IAM role.
    /// </summary>
    /// <param name="roleName">The name of the IAM role to delete.</param>
    /// <returns>A Boolean value indicating the success of the action.</returns>
    public async Task<bool> DeleteRoleAsync(string roleName)
    {
        var response = await _IAMService.DeleteRoleAsync(new DeleteRoleRequest { RoleName = roleName });
        return response.HttpStatusCode == System.Net.HttpStatusCode.OK;
    }


    /// <summary>
    /// Delete an IAM role policy.
    /// </summary>
    /// <param name="roleName">The name of the IAM role.</param>
    /// <param name="policyName">The name of the IAM role policy to delete.</param>
    /// <returns>A Boolean value indicating the success of the action.</returns>
    public async Task<bool> DeleteRolePolicyAsync(string roleName, string policyName)
    {
        var response = await _IAMService.DeleteRolePolicyAsync(new DeleteRolePolicyRequest
        {
            PolicyName = policyName,
            RoleName = roleName,
        });

        return response.HttpStatusCode == System.Net.HttpStatusCode.OK;
    }


    /// <summary>
    /// Delete an IAM user.
    /// </summary>
    /// <param name="userName">The username of the IAM user to delete.</param>
    /// <returns>A Boolean value indicating the success of the action.</returns>
    public async Task<bool> DeleteUserAsync(string userName)
    {
        var response = await _IAMService.DeleteUserAsync(new DeleteUserRequest { UserName = userName });

        return response.HttpStatusCode == System.Net.HttpStatusCode.OK;
    }


    /// <summary>
    /// Delete an IAM user policy.
    /// </summary>
    /// <param name="policyName">The name of the IAM policy to delete.</param>
    /// <param name="userName">The username of the IAM user.</param>
    /// <returns>A Boolean value indicating the success of the action.</returns>
    public async Task<bool> DeleteUserPolicyAsync(string policyName, string userName)
    {
        var response = await _IAMService.DeleteUserPolicyAsync(new DeleteUserPolicyRequest { PolicyName = policyName, UserName = userName });

        return response.HttpStatusCode == System.Net.HttpStatusCode.OK;
    }


    /// <summary>
    /// Detach an IAM policy from an IAM role.
    /// </summary>
    /// <param name="policyArn">The Amazon Resource Name (ARN) of the IAM policy.</param>
    /// <param name="roleName">The name of the IAM role.</param>
    /// <returns>A Boolean value indicating the success of the action.</returns>
    public async Task<bool> DetachRolePolicyAsync(string policyArn, string roleName)
    {
        var response = await _IAMService.DetachRolePolicyAsync(new DetachRolePolicyRequest
        {
            PolicyArn = policyArn,
            RoleName = roleName,
        });

        return response.HttpStatusCode == System.Net.HttpStatusCode.OK;
    }


    /// <summary>
    /// Gets the IAM password policy for an AWS account.
    /// </summary>
    /// <returns>The PasswordPolicy for the AWS account.</returns>
    public async Task<PasswordPolicy> GetAccountPasswordPolicyAsync()
    {
        var response = await _IAMService.GetAccountPasswordPolicyAsync(new GetAccountPasswordPolicyRequest());
        return response.PasswordPolicy;
    }


    /// <summary>
    /// Get information about an IAM policy.
    /// </summary>
    /// <param name="policyArn">The IAM policy to retrieve information for.</param>
    /// <returns>The IAM policy.</returns>
    public async Task<ManagedPolicy> GetPolicyAsync(string policyArn)
    {

        var response = await _IAMService.GetPolicyAsync(new GetPolicyRequest { PolicyArn = policyArn });
        return response.Policy;
    }


    /// <summary>
    /// Get information about an IAM role.
    /// </summary>
    /// <param name="roleName">The name of the IAM role to retrieve information
    /// for.</param>
    /// <returns>The IAM role that was retrieved.</returns>
    public async Task<Role> GetRoleAsync(string roleName)
    {
        var response = await _IAMService.GetRoleAsync(new GetRoleRequest
        {
            RoleName = roleName,
        });

        return response.Role;
    }


    /// <summary>
    /// Get information about an IAM user.
    /// </summary>
    /// <param name="userName">The username of the user.</param>
    /// <returns>An IAM user object.</returns>
    public async Task<User> GetUserAsync(string userName)
    {
        var response = await _IAMService.GetUserAsync(new GetUserRequest { UserName = userName });
        return response.User;
    }


    /// <summary>
    /// List the IAM role policies that are attached to an IAM role.
    /// </summary>
    /// <param name="roleName">The IAM role to list IAM policies for.</param>
    /// <returns>A list of the IAM policies attached to the IAM role.</returns>
    public async Task<List<AttachedPolicyType>> ListAttachedRolePoliciesAsync(string roleName)
    {
        var attachedPolicies = new List<AttachedPolicyType>();
        var attachedRolePoliciesPaginator = _IAMService.Paginators.ListAttachedRolePolicies(new ListAttachedRolePoliciesRequest { RoleName = roleName });

        await foreach (var response in attachedRolePoliciesPaginator.Responses)
        {
            attachedPolicies.AddRange(response.AttachedPolicies);
        }

        return attachedPolicies;
    }


    /// <summary>
    /// List IAM groups.
    /// </summary>
    /// <returns>A list of IAM groups.</returns>
    public async Task<List<Group>> ListGroupsAsync()
    {
        var groupsPaginator = _IAMService.Paginators.ListGroups(new ListGroupsRequest());
        var groups = new List<Group>();

        await foreach (var response in groupsPaginator.Responses)
        {
            groups.AddRange(response.Groups);
        }

        return groups;
    }


    /// <summary>
    /// List IAM policies.
    /// </summary>
    /// <returns>A list of the IAM policies.</returns>
    public async Task<List<ManagedPolicy>> ListPoliciesAsync()
    {
        var listPoliciesPaginator = _IAMService.Paginators.ListPolicies(new ListPoliciesRequest());
        var policies = new List<ManagedPolicy>();

        await foreach (var response in listPoliciesPaginator.Responses)
        {
            policies.AddRange(response.Policies);
        }

        return policies;
    }


    /// <summary>
    /// List IAM role policies.
    /// </summary>
    /// <param name="roleName">The IAM role for which to list IAM policies.</param>
    /// <returns>A list of IAM policy names.</returns>
    public async Task<List<string>> ListRolePoliciesAsync(string roleName)
    {
        var listRolePoliciesPaginator = _IAMService.Paginators.ListRolePolicies(new ListRolePoliciesRequest { RoleName = roleName });
        var policyNames = new List<string>();

        await foreach (var response in listRolePoliciesPaginator.Responses)
        {
            policyNames.AddRange(response.PolicyNames);
        }

        return policyNames;
    }


    /// <summary>
    /// List IAM roles.
    /// </summary>
    /// <returns>A list of IAM roles.</returns>
    public async Task<List<Role>> ListRolesAsync()
    {
        var listRolesPaginator = _IAMService.Paginators.ListRoles(new ListRolesRequest());
        var roles = new List<Role>();

        await foreach (var response in listRolesPaginator.Responses)
        {
            roles.AddRange(response.Roles);
        }

        return roles;
    }


    /// <summary>
    /// List SAML authentication providers.
    /// </summary>
    /// <returns>A list of SAML providers.</returns>
    public async Task<List<SAMLProviderListEntry>> ListSAMLProvidersAsync()
    {
        var response = await _IAMService.ListSAMLProvidersAsync(new ListSAMLProvidersRequest());
        return response.SAMLProviderList;
    }


    /// <summary>
    /// List IAM users.
    /// </summary>
    /// <returns>A list of IAM users.</returns>
    public async Task<List<User>> ListUsersAsync()
    {
        var listUsersPaginator = _IAMService.Paginators.ListUsers(new ListUsersRequest());
        var users = new List<User>();

        await foreach (var response in listUsersPaginator.Responses)
        {
            users.AddRange(response.Users);
        }

        return users;
    }


    /// <summary>
    /// Update the inline policy document embedded in a role.
    /// </summary>
    /// <param name="policyName">The name of the policy to embed.</param>
    /// <param name="roleName">The name of the role to update.</param>
    /// <param name="policyDocument">The policy document that defines the role.</param>
    /// <returns>A Boolean value indicating the success of the action.</returns>
    public async Task<bool> PutRolePolicyAsync(string policyName, string roleName, string policyDocument)
    {
        var request = new PutRolePolicyRequest
        {
            PolicyName = policyName,
            RoleName = roleName,
            PolicyDocument = policyDocument
        };

        var response = await _IAMService.PutRolePolicyAsync(request);
        return response.HttpStatusCode == HttpStatusCode.OK;
    }


    /// <summary>
    /// Add or update an inline policy document that is embedded in an IAM user.
    /// </summary>
    /// <param name="userName">The name of the IAM user.</param>
    /// <param name="policyName">The name of the IAM policy.</param>
    /// <param name="policyDocument">The policy document defining the IAM policy.</param>
    /// <returns>A Boolean value indicating the success of the action.</returns>
    public async Task<bool> PutUserPolicyAsync(string userName, string policyName, string policyDocument)
    {
        var request = new PutUserPolicyRequest
        {
            UserName = userName,
            PolicyName = policyName,
            PolicyDocument = policyDocument
        };

        var response = await _IAMService.PutUserPolicyAsync(request);
        return response.HttpStatusCode == System.Net.HttpStatusCode.OK;
    }

    /// <summary>
    /// Wait for a new access key to be ready to use.
    /// </summary>
    /// <param name="accessKeyId">The Id of the access key.</param>
    /// <returns>A boolean value indicating the success of the action.</returns>
    public async Task<bool> WaitUntilAccessKeyIsReady(string accessKeyId)
    {
        var keyReady = false;

        do
        {
            try
            {
                var response = await _IAMService.GetAccessKeyLastUsedAsync(
                    new GetAccessKeyLastUsedRequest { AccessKeyId = accessKeyId });
                if (response.UserName is not null)
                {
                    keyReady = true;
                }
            }
            catch (NoSuchEntityException)
            {
                keyReady = false;
            }
        } while (!keyReady);

        return keyReady;
    }
}



using Microsoft.Extensions.Configuration;

namespace IAMBasics;

public class IAMBasics
{
    private static ILogger logger = null!;

    static async Task Main(string[] args)
    {
        // Set up dependency injection for the AWS service.
        using var host = Host.CreateDefaultBuilder(args)
            .ConfigureLogging(logging =>
                logging.AddFilter("System", LogLevel.Debug)
                    .AddFilter<DebugLoggerProvider>("Microsoft", LogLevel.Information)
                    .AddFilter<ConsoleLoggerProvider>("Microsoft", LogLevel.Trace))
            .ConfigureServices((_, services) =>
            services.AddAWSService<IAmazonIdentityManagementService>()
            .AddTransient<IAMWrapper>()
            .AddTransient<UIWrapper>()
            )
            .Build();

        logger = LoggerFactory.Create(builder => { builder.AddConsole(); })
            .CreateLogger<IAMBasics>();


        IConfiguration configuration = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("settings.json") // Load test settings from .json file.
            .AddJsonFile("settings.local.json",
                true) // Optionally load local settings.
            .Build();

        // Values needed for user, role, and policies.
        string userName = configuration["UserName"]!;
        string s3PolicyName = configuration["S3PolicyName"]!;
        string roleName = configuration["RoleName"]!;


        var iamWrapper = host.Services.GetRequiredService<IAMWrapper>();
        var uiWrapper = host.Services.GetRequiredService<UIWrapper>();

        uiWrapper.DisplayBasicsOverview();
        uiWrapper.PressEnter();

        // First create a user. By default, the new user has
        // no permissions.
        uiWrapper.DisplayTitle("Create User");
        Console.WriteLine($"Creating a new user with user name: {userName}.");
        var user = await iamWrapper.CreateUserAsync(userName);
        var userArn = user.Arn;

        Console.WriteLine($"Successfully created user: {userName} with ARN: {userArn}.");
        uiWrapper.WaitABit(15, "Now let's wait for the user to be ready for use.");

        // Define a role policy document that allows the new user
        // to assume the role.
        string assumeRolePolicyDocument = "{" +
          "\"Version\": \"2012-10-17\"," +
          "\"Statement\": [{" +
              "\"Effect\": \"Allow\"," +
              "\"Principal\": {" +
              $"	\"AWS\": \"{userArn}\"" +
              "}," +
              "\"Action\": \"sts:AssumeRole\"" +
          "}]" +
        "}";

        // Permissions to list all buckets.
        string policyDocument = "{" +
            "\"Version\": \"2012-10-17\"," +
            "	\"Statement\" : [{" +
                "	\"Action\" : [\"s3:ListAllMyBuckets\"]," +
                "	\"Effect\" : \"Allow\"," +
                "	\"Resource\" : \"*\"" +
            "}]" +
        "}";

        // Create an AccessKey for the user.
        uiWrapper.DisplayTitle("Create access key");
        Console.WriteLine("Now let's create an access key for the new user.");
        var accessKey = await iamWrapper.CreateAccessKeyAsync(userName);

        var accessKeyId = accessKey.AccessKeyId;
        var secretAccessKey = accessKey.SecretAccessKey;

        Console.WriteLine($"We have created the access key with Access key id: {accessKeyId}.");

        Console.WriteLine("Now let's wait until the IAM access key is ready to use.");
        var keyReady = await iamWrapper.WaitUntilAccessKeyIsReady(accessKeyId);

        // Now try listing the Amazon Simple Storage Service (Amazon S3)
        // buckets. This should fail at this point because the user doesn't
        // have permissions to perform this task.
        uiWrapper.DisplayTitle("Try to display Amazon S3 buckets");
        Console.WriteLine("Now let's try to display a list of the user's Amazon S3 buckets.");
        var s3Client1 = new AmazonS3Client(accessKeyId, secretAccessKey);
        var stsClient1 = new AmazonSecurityTokenServiceClient(accessKeyId, secretAccessKey);

        var s3Wrapper = new S3Wrapper(s3Client1, stsClient1);
        var buckets = await s3Wrapper.ListMyBucketsAsync();

        Console.WriteLine(buckets is null
            ? "As expected, the call to list the buckets has returned a null list."
            : "Something went wrong. This shouldn't have worked.");

        uiWrapper.PressEnter();

        uiWrapper.DisplayTitle("Create IAM role");
        Console.WriteLine($"Creating the role: {roleName}");

        // Creating an IAM role to allow listing the S3 buckets. A role name
        // is not case sensitive and must be unique to the account for which it
        // is created.
        var roleArn = await iamWrapper.CreateRoleAsync(roleName, assumeRolePolicyDocument);

        uiWrapper.PressEnter();

        // Create a policy with permissions to list S3 buckets.
        uiWrapper.DisplayTitle("Create IAM policy");
        Console.WriteLine($"Creating the policy: {s3PolicyName}");
        Console.WriteLine("with permissions to list the Amazon S3 buckets for the account.");
        var policy = await iamWrapper.CreatePolicyAsync(s3PolicyName, policyDocument);

        // Wait 15 seconds for the IAM policy to be available.
        uiWrapper.WaitABit(15, "Waiting for the policy to be available.");

        // Attach the policy to the role you created earlier.
        uiWrapper.DisplayTitle("Attach new IAM policy");
        Console.WriteLine("Now let's attach the policy to the role.");
        await iamWrapper.AttachRolePolicyAsync(policy.Arn, roleName);

        // Wait 15 seconds for the role to be updated.
        Console.WriteLine();
        uiWrapper.WaitABit(15, "Waiting for the policy to be attached.");

        // Use the AWS Security Token Service (AWS STS) to have the user
        // assume the role we created.
        var stsClient2 = new AmazonSecurityTokenServiceClient(accessKeyId, secretAccessKey);

        // Wait for the new credentials to become valid.
        uiWrapper.WaitABit(10, "Waiting for the credentials to be valid.");

        var assumedRoleCredentials = await s3Wrapper.AssumeS3RoleAsync("temporary-session", roleArn);

        // Try again to list the buckets using the client created with
        // the new user's credentials. This time, it should work.
        var s3Client2 = new AmazonS3Client(assumedRoleCredentials);

        s3Wrapper.UpdateClients(s3Client2, stsClient2);

        buckets = await s3Wrapper.ListMyBucketsAsync();

        uiWrapper.DisplayTitle("List Amazon S3 buckets");
        Console.WriteLine("This time we should have buckets to list.");
        if (buckets is not null)
        {
            buckets.ForEach(bucket =>
            {
                Console.WriteLine($"{bucket.BucketName} created: {bucket.CreationDate}");
            });
        }

        uiWrapper.PressEnter();

        // Now clean up all the resources used in the example.
        uiWrapper.DisplayTitle("Clean up resources");
        Console.WriteLine("Thank you for watching. The IAM Basics demo is complete.");
        Console.WriteLine("Please wait while we clean up the resources we created.");

        await iamWrapper.DetachRolePolicyAsync(policy.Arn, roleName);

        await iamWrapper.DeletePolicyAsync(policy.Arn);

        await iamWrapper.DeleteRoleAsync(roleName);

        await iamWrapper.DeleteAccessKeyAsync(accessKeyId, userName);

        await iamWrapper.DeleteUserAsync(userName);

        uiWrapper.PressEnter();

        Console.WriteLine("All done cleaning up our resources. Thank you for your patience.");
    }
}


namespace IamScenariosCommon;

using System.Net;

/// <summary>
/// A class to perform Amazon Simple Storage Service (Amazon S3) actions for
/// the IAM Basics scenario.
/// </summary>
public class S3Wrapper
{
    private IAmazonS3 _s3Service;
    private IAmazonSecurityTokenService _stsService;

    /// <summary>
    /// Constructor for the S3Wrapper class.
    /// </summary>
    /// <param name="s3Service">An Amazon S3 client object.</param>
    /// <param name="stsService">An AWS Security Token Service (AWS STS)
    /// client object.</param>
    public S3Wrapper(IAmazonS3 s3Service, IAmazonSecurityTokenService stsService)
    {
        _s3Service = s3Service;
        _stsService = stsService;
    }

    /// <summary>
    /// Assumes an AWS Identity and Access Management (IAM) role that allows
    /// Amazon S3 access for the current session.
    /// </summary>
    /// <param name="roleSession">A string representing the current session.</param>
    /// <param name="roleToAssume">The name of the IAM role to assume.</param>
    /// <returns>Credentials for the newly assumed IAM role.</returns>
    public async Task<Credentials> AssumeS3RoleAsync(string roleSession, string roleToAssume)
    {
        // Create the request to use with the AssumeRoleAsync call.
        var request = new AssumeRoleRequest()
        {
            RoleSessionName = roleSession,
            RoleArn = roleToAssume,
        };

        var response = await _stsService.AssumeRoleAsync(request);

        return response.Credentials;
    }


    /// <summary>
    /// Delete an S3 bucket.
    /// </summary>
    /// <param name="bucketName">Name of the S3 bucket to delete.</param>
    /// <returns>A Boolean value indicating the success of the action.</returns>
    public async Task<bool> DeleteBucketAsync(string bucketName)
    {
        var result = await _s3Service.DeleteBucketAsync(new DeleteBucketRequest { BucketName = bucketName });
        return result.HttpStatusCode == HttpStatusCode.OK;
    }

    /// <summary>
    /// List the buckets that are owned by the user's account.
    /// </summary>
    /// <returns>Async Task.</returns>
    public async Task<List<S3Bucket>?> ListMyBucketsAsync()
    {
        try
        {
            // Get the list of buckets accessible by the new user.
            var response = await _s3Service.ListBucketsAsync();

            return response.Buckets;
        }
        catch (AmazonS3Exception ex)
        {
            // Something else went wrong. Display the error message.
            Console.WriteLine($"Error: {ex.Message}");
            return null;
        }
    }

    /// <summary>
    /// Create a new S3 bucket.
    /// </summary>
    /// <param name="bucketName">The name for the new bucket.</param>
    /// <returns>A Boolean value indicating whether the action completed
    /// successfully.</returns>
    public async Task<bool> PutBucketAsync(string bucketName)
    {
        var response = await _s3Service.PutBucketAsync(new PutBucketRequest { BucketName = bucketName });
        return response.HttpStatusCode == HttpStatusCode.OK;
    }

    /// <summary>
    /// Update the client objects with new client objects. This is available
    /// because the scenario uses the methods of this class without and then
    /// with the proper permissions to list S3 buckets.
    /// </summary>
    /// <param name="s3Service">The Amazon S3 client object.</param>
    /// <param name="stsService">The AWS STS client object.</param>
    public void UpdateClients(IAmazonS3 s3Service, IAmazonSecurityTokenService stsService)
    {
        _s3Service = s3Service;
        _stsService = stsService;
    }
}


namespace IamScenariosCommon;

public class UIWrapper
{
    public readonly string SepBar = new('-', Console.WindowWidth);

    /// <summary>
    /// Show information about the IAM Groups scenario.
    /// </summary>
    public void DisplayGroupsOverview()
    {
        Console.Clear();

        DisplayTitle("Welcome to the IAM Groups Demo");
        Console.WriteLine("This example application does the following:");
        Console.WriteLine("\t1. Creates an Amazon Identity and Access Management (IAM) group.");
        Console.WriteLine("\t2. Adds an IAM policy to the IAM group giving it full access to Amazon S3.");
        Console.WriteLine("\t3. Creates a new IAM user.");
        Console.WriteLine("\t4. Creates an IAM access key for the user.");
        Console.WriteLine("\t5. Adds the user to the IAM group.");
        Console.WriteLine("\t6. Lists the buckets on the account.");
        Console.WriteLine("\t7. Proves that the user has full Amazon S3 access by creating a bucket.");
        Console.WriteLine("\t8. List the buckets again to show the new bucket.");
        Console.WriteLine("\t9. Cleans up all the resources created.");
    }

    /// <summary>
    /// Show information about the IAM Basics scenario.
    /// </summary>
    public void DisplayBasicsOverview()
    {
        Console.Clear();

        DisplayTitle("Welcome to IAM Basics");
        Console.WriteLine("This example application does the following:");
        Console.WriteLine("\t1. Creates a user with no permissions.");
        Console.WriteLine("\t2. Creates a role and policy that grant s3:ListAllMyBuckets permission.");
        Console.WriteLine("\t3. Grants the user permission to assume the role.");
        Console.WriteLine("\t4. Creates an S3 client object as the user and tries to list buckets (this will fail).");
        Console.WriteLine("\t5. Gets temporary credentials by assuming the role.");
        Console.WriteLine("\t6. Creates a new S3 client object with the temporary credentials and lists the buckets (this will succeed).");
        Console.WriteLine("\t7. Deletes all the resources.");
    }

    /// <summary>
    /// Display a message and wait until the user presses enter.
    /// </summary>
    public void PressEnter()
    {
        Console.Write("\nPress <Enter> to continue. ");
        _ = Console.ReadLine();
        Console.WriteLine();
    }

    /// <summary>
    /// Pad a string with spaces to center it on the console display.
    /// </summary>
    /// <param name="strToCenter">The string to be centered.</param>
    /// <returns>The padded string.</returns>
    public string CenterString(string strToCenter)
    {
        var padAmount = (Console.WindowWidth - strToCenter.Length) / 2;
        var leftPad = new string(' ', padAmount);
        return $"{leftPad}{strToCenter}";
    }

    /// <summary>
    /// Display a line of hyphens, the centered text of the title, and another
    /// line of hyphens.
    /// </summary>
    /// <param name="strTitle">The string to be displayed.</param>
    public void DisplayTitle(string strTitle)
    {
        Console.WriteLine(SepBar);
        Console.WriteLine(CenterString(strTitle));
        Console.WriteLine(SepBar);
    }

    /// <summary>
    /// Display a countdown and wait for a number of seconds.
    /// </summary>
    /// <param name="numSeconds">The number of seconds to wait.</param>
    public void WaitABit(int numSeconds, string msg)
    {
        Console.WriteLine(msg);

        // Wait for the requested number of seconds.
        for (int i = numSeconds; i > 0; i--)
        {
            System.Threading.Thread.Sleep(1000);
            Console.Write($"{i}...");
        }

        PressEnter();
    }
}
```
+ Weitere API-Informationen finden Sie in den folgenden Themen der *AWS SDK für .NET -API-Referenz*.
  + [AttachRolePolicy](https://docs.aws.amazon.com/goto/DotNetSDKV3/iam-2010-05-08/AttachRolePolicy)
  + [CreateAccessKey](https://docs.aws.amazon.com/goto/DotNetSDKV3/iam-2010-05-08/CreateAccessKey)
  + [CreatePolicy](https://docs.aws.amazon.com/goto/DotNetSDKV3/iam-2010-05-08/CreatePolicy)
  + [CreateRole](https://docs.aws.amazon.com/goto/DotNetSDKV3/iam-2010-05-08/CreateRole)
  + [CreateUser](https://docs.aws.amazon.com/goto/DotNetSDKV3/iam-2010-05-08/CreateUser)
  + [DeleteAccessKey](https://docs.aws.amazon.com/goto/DotNetSDKV3/iam-2010-05-08/DeleteAccessKey)
  + [DeletePolicy](https://docs.aws.amazon.com/goto/DotNetSDKV3/iam-2010-05-08/DeletePolicy)
  + [DeleteRole](https://docs.aws.amazon.com/goto/DotNetSDKV3/iam-2010-05-08/DeleteRole)
  + [DeleteUser](https://docs.aws.amazon.com/goto/DotNetSDKV3/iam-2010-05-08/DeleteUser)
  + [DeleteUserPolicy](https://docs.aws.amazon.com/goto/DotNetSDKV3/iam-2010-05-08/DeleteUserPolicy)
  + [DetachRolePolicy](https://docs.aws.amazon.com/goto/DotNetSDKV3/iam-2010-05-08/DetachRolePolicy)
  + [PutUserPolicy](https://docs.aws.amazon.com/goto/DotNetSDKV3/iam-2010-05-08/PutUserPolicy)

------
#### [ Bash ]

**AWS CLI mit Bash-Skript**  
 Es gibt noch mehr dazu. GitHub Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/aws-cli/bash-linux/iam#code-examples) einrichten und ausführen. 

```
###############################################################################
# function iam_create_user_assume_role
#
# Scenario to create an IAM user, create an IAM role, and apply the role to the user.
#
#     "IAM access" permissions are needed to run this code.
#     "STS assume role" permissions are needed to run this code. (Note: It might be necessary to
#           create a custom policy).
#
# Returns:
#       0 - If successful.
#       1 - If an error occurred.
###############################################################################
function iam_create_user_assume_role() {
  {
    if [ "$IAM_OPERATIONS_SOURCED" != "True" ]; then

      source ./iam_operations.sh
    fi
  }

  echo_repeat "*" 88
  echo "Welcome to the IAM create user and assume role demo."
  echo
  echo "This demo will create an IAM user, create an IAM role, and apply the role to the user."
  echo_repeat "*" 88
  echo

  echo -n "Enter a name for a new IAM user: "
  get_input
  user_name=$get_input_result

  local user_arn
  user_arn=$(iam_create_user -u "$user_name")

  # shellcheck disable=SC2181
  if [[ ${?} == 0 ]]; then
    echo "Created demo IAM user named $user_name"
  else
    errecho "$user_arn"
    errecho "The user failed to create. This demo will exit."
    return 1
  fi

  local access_key_response
  access_key_response=$(iam_create_user_access_key -u "$user_name")
  # shellcheck disable=SC2181
  if [[ ${?} != 0 ]]; then
    errecho "The access key failed to create. This demo will exit."
    clean_up "$user_name"
    return 1
  fi

  IFS=$'\t ' read -r -a access_key_values <<<"$access_key_response"
  local key_name=${access_key_values[0]}
  local key_secret=${access_key_values[1]}

  echo "Created access key named $key_name"

  echo "Wait 10 seconds for the user to be ready."
  sleep 10
  echo_repeat "*" 88
  echo

  local iam_role_name
  iam_role_name=$(generate_random_name "test-role")
  echo "Creating a role named $iam_role_name with user $user_name as the principal."

  local assume_role_policy_document="{
    \"Version\": \"2012-10-17\",
    \"Statement\": [{
        \"Effect\": \"Allow\",
        \"Principal\": {\"AWS\": \"$user_arn\"},
        \"Action\": \"sts:AssumeRole\"
        }]
    }"

  local role_arn
  role_arn=$(iam_create_role -n "$iam_role_name" -p "$assume_role_policy_document")

  # shellcheck disable=SC2181
  if [ ${?} == 0 ]; then
    echo "Created IAM role named $iam_role_name"
  else
    errecho "The role failed to create. This demo will exit."
    clean_up "$user_name" "$key_name"
    return 1
  fi

  local policy_name
  policy_name=$(generate_random_name "test-policy")
  local policy_document="{
                \"Version\": \"2012-10-17\",
                \"Statement\": [{
                    \"Effect\": \"Allow\",
                    \"Action\": \"s3:ListAllMyBuckets\",
                    \"Resource\": \"arn:aws:s3:::*\"}]}"

  local policy_arn
  policy_arn=$(iam_create_policy -n "$policy_name" -p "$policy_document")
  # shellcheck disable=SC2181
  if [[ ${?} == 0 ]]; then
    echo "Created  IAM policy named $policy_name"
  else
    errecho "The policy failed to create."
    clean_up "$user_name" "$key_name" "$iam_role_name"
    return 1
  fi

  if (iam_attach_role_policy -n "$iam_role_name" -p "$policy_arn"); then
    echo "Attached policy $policy_arn to role $iam_role_name"
  else
    errecho "The policy failed to attach."
    clean_up "$user_name" "$key_name" "$iam_role_name" "$policy_arn"
    return 1
  fi

  local assume_role_policy_document="{
                \"Version\": \"2012-10-17\",
                \"Statement\": [{
                    \"Effect\": \"Allow\",
                    \"Action\": \"sts:AssumeRole\",
                    \"Resource\": \"$role_arn\"}]}"

  local assume_role_policy_name
  assume_role_policy_name=$(generate_random_name "test-assume-role-")

  # shellcheck disable=SC2181
  local assume_role_policy_arn
  assume_role_policy_arn=$(iam_create_policy -n "$assume_role_policy_name" -p "$assume_role_policy_document")
  # shellcheck disable=SC2181
  if [ ${?} == 0 ]; then
    echo "Created  IAM policy named $assume_role_policy_name for sts assume role"
  else
    errecho "The policy failed to create."
    clean_up "$user_name" "$key_name" "$iam_role_name" "$policy_arn" "$policy_arn"
    return 1
  fi

  echo "Wait 10 seconds to give AWS time to propagate these new resources and connections."
  sleep 10
  echo_repeat "*" 88
  echo

  echo "Try to list buckets without the new user assuming the role."
  echo_repeat "*" 88
  echo

  # Set the environment variables for the created user.
  # bashsupport disable=BP2001
  export AWS_ACCESS_KEY_ID=$key_name
  # bashsupport disable=BP2001
  export AWS_SECRET_ACCESS_KEY=$key_secret

  local buckets
  buckets=$(s3_list_buckets)

  # shellcheck disable=SC2181
  if [ ${?} == 0 ]; then
    local bucket_count
    bucket_count=$(echo "$buckets" | wc -w | xargs)
    echo "There are $bucket_count buckets in the account. This should not have happened."
  else
    errecho "Because the role with permissions has not been assumed, listing buckets failed."
  fi

  echo
  echo_repeat "*" 88
  echo "Now assume the role $iam_role_name and list the buckets."
  echo_repeat "*" 88
  echo

  local credentials

  credentials=$(sts_assume_role -r "$role_arn" -n "AssumeRoleDemoSession")
  # shellcheck disable=SC2181
  if [ ${?} == 0 ]; then
    echo "Assumed role $iam_role_name"
  else
    errecho "Failed to assume role."
    export AWS_ACCESS_KEY_ID=""
    export AWS_SECRET_ACCESS_KEY=""
    clean_up "$user_name" "$key_name" "$iam_role_name" "$policy_arn" "$policy_arn" "$assume_role_policy_arn"
    return 1
  fi

  IFS=$'\t ' read -r -a credentials <<<"$credentials"

  export AWS_ACCESS_KEY_ID=${credentials[0]}
  export AWS_SECRET_ACCESS_KEY=${credentials[1]}
  # bashsupport disable=BP2001
  export AWS_SESSION_TOKEN=${credentials[2]}

  buckets=$(s3_list_buckets)

  # shellcheck disable=SC2181
  if [ ${?} == 0 ]; then
    local bucket_count
    bucket_count=$(echo "$buckets" | wc -w | xargs)
    echo "There are $bucket_count buckets in the account. Listing buckets succeeded because of "
    echo "the assumed role."
  else
    errecho "Failed to list buckets. This should not happen."
    export AWS_ACCESS_KEY_ID=""
    export AWS_SECRET_ACCESS_KEY=""
    export AWS_SESSION_TOKEN=""
    clean_up "$user_name" "$key_name" "$iam_role_name" "$policy_arn" "$policy_arn" "$assume_role_policy_arn"
    return 1
  fi

  local result=0
  export AWS_ACCESS_KEY_ID=""
  export AWS_SECRET_ACCESS_KEY=""

  echo
  echo_repeat "*" 88
  echo "The created resources will now be deleted."
  echo_repeat "*" 88
  echo

  clean_up "$user_name" "$key_name" "$iam_role_name" "$policy_arn" "$policy_arn" "$assume_role_policy_arn"

  # shellcheck disable=SC2181
  if [[ ${?} -ne 0 ]]; then
    result=1
  fi

  return $result
}
```
Die in diesem Szenario verwendeten IAM-Funktionen.  

```
###############################################################################
# function iam_user_exists
#
# This function checks to see if the specified AWS Identity and Access Management (IAM) user already exists.
#
# Parameters:
#       $1 - The name of the IAM user to check.
#
# Returns:
#       0 - If the user already exists.
#       1 - If the user doesn't exist.
###############################################################################
function iam_user_exists() {
  local user_name
  user_name=$1

  # Check whether the IAM user already exists.
  # We suppress all output - we're interested only in the return code.

  local errors
  errors=$(aws iam get-user \
    --user-name "$user_name" 2>&1 >/dev/null)

  local error_code=${?}

  if [[ $error_code -eq 0 ]]; then
    return 0 # 0 in Bash script means true.
  else
    if [[ $errors != *"error"*"(NoSuchEntity)"* ]]; then
      aws_cli_error_log $error_code
      errecho "Error calling iam get-user $errors"
    fi

    return 1 # 1 in Bash script means false.
  fi
}

###############################################################################
# function iam_create_user
#
# This function creates the specified IAM user, unless
# it already exists.
#
# Parameters:
#       -u user_name  -- The name of the user to create.
#
# Returns:
#       The ARN of the user.
#     And:
#       0 - If successful.
#       1 - If it fails.
###############################################################################
function iam_create_user() {
  local user_name response
  local option OPTARG # Required to use getopts command in a function.

  # bashsupport disable=BP5008
  function usage() {
    echo "function iam_create_user"
    echo "Creates an AWS Identity and Access Management (IAM) user. You must supply a username:"
    echo "  -u user_name    The name of the user. It must be unique within the account."
    echo ""
  }

  # Retrieve the calling parameters.
  while getopts "u:h" option; do
    case "${option}" in
      u) user_name="${OPTARG}" ;;
      h)
        usage
        return 0
        ;;
      \?)
        echo "Invalid parameter"
        usage
        return 1
        ;;
    esac
  done
  export OPTIND=1

  if [[ -z "$user_name" ]]; then
    errecho "ERROR: You must provide a username with the -u parameter."
    usage
    return 1
  fi

  iecho "Parameters:\n"
  iecho "    User name:   $user_name"
  iecho ""

  # If the user already exists, we don't want to try to create it.
  if (iam_user_exists "$user_name"); then
    errecho "ERROR: A user with that name already exists in the account."
    return 1
  fi

  response=$(aws iam create-user --user-name "$user_name" \
    --output text \
    --query 'User.Arn')

  local error_code=${?}

  if [[ $error_code -ne 0 ]]; then
    aws_cli_error_log $error_code
    errecho "ERROR: AWS reports create-user operation failed.$response"
    return 1
  fi

  echo "$response"

  return 0
}

###############################################################################
# function iam_create_user_access_key
#
# This function creates an IAM access key for the specified user.
#
# Parameters:
#       -u user_name -- The name of the IAM user.
#       [-f file_name] -- The optional file name for the access key output.
#
# Returns:
#       [access_key_id access_key_secret]
#     And:
#       0 - If successful.
#       1 - If it fails.
###############################################################################
function iam_create_user_access_key() {
  local user_name file_name response
  local option OPTARG # Required to use getopts command in a function.

  # bashsupport disable=BP5008
  function usage() {
    echo "function iam_create_user_access_key"
    echo "Creates an AWS Identity and Access Management (IAM) key pair."
    echo "  -u user_name   The name of the IAM user."
    echo "  [-f file_name]   Optional file name for the access key output."
    echo ""
  }

  # Retrieve the calling parameters.
  while getopts "u:f:h" option; do
    case "${option}" in
      u) user_name="${OPTARG}" ;;
      f) file_name="${OPTARG}" ;;
      h)
        usage
        return 0
        ;;
      \?)
        echo "Invalid parameter"
        usage
        return 1
        ;;
    esac
  done
  export OPTIND=1

  if [[ -z "$user_name" ]]; then
    errecho "ERROR: You must provide a username with the -u parameter."
    usage
    return 1
  fi

  response=$(aws iam create-access-key \
    --user-name "$user_name" \
    --output text)

  local error_code=${?}

  if [[ $error_code -ne 0 ]]; then
    aws_cli_error_log $error_code
    errecho "ERROR: AWS reports create-access-key operation failed.$response"
    return 1
  fi

  if [[ -n "$file_name" ]]; then
    echo "$response" >"$file_name"
  fi

  local key_id key_secret
  # shellcheck disable=SC2086
  key_id=$(echo $response | cut -f 2 -d ' ')
  # shellcheck disable=SC2086
  key_secret=$(echo $response | cut -f 4 -d ' ')

  echo "$key_id $key_secret"

  return 0
}

###############################################################################
# function iam_create_role
#
# This function creates an IAM role.
#
# Parameters:
#       -n role_name -- The name of the IAM role.
#       -p policy_json -- The assume role policy document.
#
# Returns:
#       The ARN of the role.
#     And:
#       0 - If successful.
#       1 - If it fails.
###############################################################################
function iam_create_role() {
  local role_name policy_document response
  local option OPTARG # Required to use getopts command in a function.

  # bashsupport disable=BP5008
  function usage() {
    echo "function iam_create_user_access_key"
    echo "Creates an AWS Identity and Access Management (IAM) role."
    echo "  -n role_name   The name of the IAM role."
    echo "  -p policy_json -- The assume role policy document."
    echo ""
  }

  # Retrieve the calling parameters.
  while getopts "n:p:h" option; do
    case "${option}" in
      n) role_name="${OPTARG}" ;;
      p) policy_document="${OPTARG}" ;;
      h)
        usage
        return 0
        ;;
      \?)
        echo "Invalid parameter"
        usage
        return 1
        ;;
    esac
  done
  export OPTIND=1

  if [[ -z "$role_name" ]]; then
    errecho "ERROR: You must provide a role name with the -n parameter."
    usage
    return 1
  fi

  if [[ -z "$policy_document" ]]; then
    errecho "ERROR: You must provide a policy document with the -p parameter."
    usage
    return 1
  fi

  response=$(aws iam create-role \
    --role-name "$role_name" \
    --assume-role-policy-document "$policy_document" \
    --output text \
    --query Role.Arn)

  local error_code=${?}

  if [[ $error_code -ne 0 ]]; then
    aws_cli_error_log $error_code
    errecho "ERROR: AWS reports create-role operation failed.\n$response"
    return 1
  fi

  echo "$response"

  return 0
}

###############################################################################
# function iam_create_policy
#
# This function creates an IAM policy.
#
# Parameters:
#       -n policy_name -- The name of the IAM policy.
#       -p policy_json -- The policy document.
#
# Returns:
#       0 - If successful.
#       1 - If it fails.
###############################################################################
function iam_create_policy() {
  local policy_name policy_document response
  local option OPTARG # Required to use getopts command in a function.

  # bashsupport disable=BP5008
  function usage() {
    echo "function iam_create_policy"
    echo "Creates an AWS Identity and Access Management (IAM) policy."
    echo "  -n policy_name   The name of the IAM policy."
    echo "  -p policy_json -- The policy document."
    echo ""
  }

  # Retrieve the calling parameters.
  while getopts "n:p:h" option; do
    case "${option}" in
      n) policy_name="${OPTARG}" ;;
      p) policy_document="${OPTARG}" ;;
      h)
        usage
        return 0
        ;;
      \?)
        echo "Invalid parameter"
        usage
        return 1
        ;;
    esac
  done
  export OPTIND=1

  if [[ -z "$policy_name" ]]; then
    errecho "ERROR: You must provide a policy name with the -n parameter."
    usage
    return 1
  fi

  if [[ -z "$policy_document" ]]; then
    errecho "ERROR: You must provide a policy document with the -p parameter."
    usage
    return 1
  fi

  response=$(aws iam create-policy \
    --policy-name "$policy_name" \
    --policy-document "$policy_document" \
    --output text \
    --query Policy.Arn)

  local error_code=${?}

  if [[ $error_code -ne 0 ]]; then
    aws_cli_error_log $error_code
    errecho "ERROR: AWS reports create-policy operation failed.\n$response"
    return 1
  fi

  echo "$response"
}

###############################################################################
# function iam_attach_role_policy
#
# This function attaches an IAM policy to a tole.
#
# Parameters:
#       -n role_name -- The name of the IAM role.
#       -p policy_ARN -- The IAM policy document ARN..
#
# Returns:
#       0 - If successful.
#       1 - If it fails.
###############################################################################
function iam_attach_role_policy() {
  local role_name policy_arn response
  local option OPTARG # Required to use getopts command in a function.

  # bashsupport disable=BP5008
  function usage() {
    echo "function iam_attach_role_policy"
    echo "Attaches an AWS Identity and Access Management (IAM) policy to an IAM role."
    echo "  -n role_name   The name of the IAM role."
    echo "  -p policy_ARN -- The IAM policy document ARN."
    echo ""
  }

  # Retrieve the calling parameters.
  while getopts "n:p:h" option; do
    case "${option}" in
      n) role_name="${OPTARG}" ;;
      p) policy_arn="${OPTARG}" ;;
      h)
        usage
        return 0
        ;;
      \?)
        echo "Invalid parameter"
        usage
        return 1
        ;;
    esac
  done
  export OPTIND=1

  if [[ -z "$role_name" ]]; then
    errecho "ERROR: You must provide a role name with the -n parameter."
    usage
    return 1
  fi

  if [[ -z "$policy_arn" ]]; then
    errecho "ERROR: You must provide a policy ARN with the -p parameter."
    usage
    return 1
  fi

  response=$(aws iam attach-role-policy \
    --role-name "$role_name" \
    --policy-arn "$policy_arn")

  local error_code=${?}

  if [[ $error_code -ne 0 ]]; then
    aws_cli_error_log $error_code
    errecho "ERROR: AWS reports attach-role-policy operation failed.\n$response"
    return 1
  fi

  echo "$response"

  return 0
}

###############################################################################
# function iam_detach_role_policy
#
# This function detaches an IAM policy to a tole.
#
# Parameters:
#       -n role_name -- The name of the IAM role.
#       -p policy_ARN -- The IAM policy document ARN..
#
# Returns:
#       0 - If successful.
#       1 - If it fails.
###############################################################################
function iam_detach_role_policy() {
  local role_name policy_arn response
  local option OPTARG # Required to use getopts command in a function.

  # bashsupport disable=BP5008
  function usage() {
    echo "function iam_detach_role_policy"
    echo "Detaches an AWS Identity and Access Management (IAM) policy to an IAM role."
    echo "  -n role_name   The name of the IAM role."
    echo "  -p policy_ARN -- The IAM policy document ARN."
    echo ""
  }

  # Retrieve the calling parameters.
  while getopts "n:p:h" option; do
    case "${option}" in
      n) role_name="${OPTARG}" ;;
      p) policy_arn="${OPTARG}" ;;
      h)
        usage
        return 0
        ;;
      \?)
        echo "Invalid parameter"
        usage
        return 1
        ;;
    esac
  done
  export OPTIND=1

  if [[ -z "$role_name" ]]; then
    errecho "ERROR: You must provide a role name with the -n parameter."
    usage
    return 1
  fi

  if [[ -z "$policy_arn" ]]; then
    errecho "ERROR: You must provide a policy ARN with the -p parameter."
    usage
    return 1
  fi

  response=$(aws iam detach-role-policy \
    --role-name "$role_name" \
    --policy-arn "$policy_arn")

  local error_code=${?}

  if [[ $error_code -ne 0 ]]; then
    aws_cli_error_log $error_code
    errecho "ERROR: AWS reports detach-role-policy operation failed.\n$response"
    return 1
  fi

  echo "$response"

  return 0
}

###############################################################################
# function iam_delete_policy
#
# This function deletes an IAM policy.
#
# Parameters:
#       -n policy_arn -- The name of the IAM policy arn.
#
# Returns:
#       0 - If successful.
#       1 - If it fails.
###############################################################################
function iam_delete_policy() {
  local policy_arn response
  local option OPTARG # Required to use getopts command in a function.

  # bashsupport disable=BP5008
  function usage() {
    echo "function iam_delete_policy"
    echo "Deletes an AWS Identity and Access Management (IAM) policy"
    echo "  -n policy_arn -- The name of the IAM policy arn."
    echo ""
  }

  # Retrieve the calling parameters.
  while getopts "n:h" option; do
    case "${option}" in
      n) policy_arn="${OPTARG}" ;;
      h)
        usage
        return 0
        ;;
      \?)
        echo "Invalid parameter"
        usage
        return 1
        ;;
    esac
  done
  export OPTIND=1

  if [[ -z "$policy_arn" ]]; then
    errecho "ERROR: You must provide a policy arn with the -n parameter."
    usage
    return 1
  fi

  iecho "Parameters:\n"
  iecho "    Policy arn:  $policy_arn"
  iecho ""

  response=$(aws iam delete-policy \
    --policy-arn "$policy_arn")

  local error_code=${?}

  if [[ $error_code -ne 0 ]]; then
    aws_cli_error_log $error_code
    errecho "ERROR: AWS reports delete-policy operation failed.\n$response"
    return 1
  fi

  iecho "delete-policy response:$response"
  iecho

  return 0
}

###############################################################################
# function iam_delete_role
#
# This function deletes an IAM role.
#
# Parameters:
#       -n role_name -- The name of the IAM role.
#
# Returns:
#       0 - If successful.
#       1 - If it fails.
###############################################################################
function iam_delete_role() {
  local role_name response
  local option OPTARG # Required to use getopts command in a function.

  # bashsupport disable=BP5008
  function usage() {
    echo "function iam_delete_role"
    echo "Deletes an AWS Identity and Access Management (IAM) role"
    echo "  -n role_name -- The name of the IAM role."
    echo ""
  }

  # Retrieve the calling parameters.
  while getopts "n:h" option; do
    case "${option}" in
      n) role_name="${OPTARG}" ;;
      h)
        usage
        return 0
        ;;
      \?)
        echo "Invalid parameter"
        usage
        return 1
        ;;
    esac
  done
  export OPTIND=1

  echo "role_name:$role_name"
  if [[ -z "$role_name" ]]; then
    errecho "ERROR: You must provide a role name with the -n parameter."
    usage
    return 1
  fi

  iecho "Parameters:\n"
  iecho "    Role name:  $role_name"
  iecho ""

  response=$(aws iam delete-role \
    --role-name "$role_name")

  local error_code=${?}

  if [[ $error_code -ne 0 ]]; then
    aws_cli_error_log $error_code
    errecho "ERROR: AWS reports delete-role operation failed.\n$response"
    return 1
  fi

  iecho "delete-role response:$response"
  iecho

  return 0
}

###############################################################################
# function iam_delete_access_key
#
# This function deletes an IAM access key for the specified IAM user.
#
# Parameters:
#       -u user_name  -- The name of the user.
#       -k access_key -- The access key to delete.
#
# Returns:
#       0 - If successful.
#       1 - If it fails.
###############################################################################
function iam_delete_access_key() {
  local user_name access_key response
  local option OPTARG # Required to use getopts command in a function.

  # bashsupport disable=BP5008
  function usage() {
    echo "function iam_delete_access_key"
    echo "Deletes an AWS Identity and Access Management (IAM) access key for the specified IAM user"
    echo "  -u user_name    The name of the user."
    echo "  -k access_key   The access key to delete."
    echo ""
  }

  # Retrieve the calling parameters.
  while getopts "u:k:h" option; do
    case "${option}" in
      u) user_name="${OPTARG}" ;;
      k) access_key="${OPTARG}" ;;
      h)
        usage
        return 0
        ;;
      \?)
        echo "Invalid parameter"
        usage
        return 1
        ;;
    esac
  done
  export OPTIND=1

  if [[ -z "$user_name" ]]; then
    errecho "ERROR: You must provide a username with the -u parameter."
    usage
    return 1
  fi

  if [[ -z "$access_key" ]]; then
    errecho "ERROR: You must provide an access key with the -k parameter."
    usage
    return 1
  fi

  iecho "Parameters:\n"
  iecho "    Username:   $user_name"
  iecho "    Access key:   $access_key"
  iecho ""

  response=$(aws iam delete-access-key \
    --user-name "$user_name" \
    --access-key-id "$access_key")

  local error_code=${?}

  if [[ $error_code -ne 0 ]]; then
    aws_cli_error_log $error_code
    errecho "ERROR: AWS reports delete-access-key operation failed.\n$response"
    return 1
  fi

  iecho "delete-access-key response:$response"
  iecho

  return 0
}

###############################################################################
# function iam_delete_user
#
# This function deletes the specified IAM user.
#
# Parameters:
#       -u user_name  -- The name of the user to create.
#
# Returns:
#       0 - If successful.
#       1 - If it fails.
###############################################################################
function iam_delete_user() {
  local user_name response
  local option OPTARG # Required to use getopts command in a function.

  # bashsupport disable=BP5008
  function usage() {
    echo "function iam_delete_user"
    echo "Deletes an AWS Identity and Access Management (IAM) user. You must supply a username:"
    echo "  -u user_name    The name of the user."
    echo ""
  }

  # Retrieve the calling parameters.
  while getopts "u:h" option; do
    case "${option}" in
      u) user_name="${OPTARG}" ;;
      h)
        usage
        return 0
        ;;
      \?)
        echo "Invalid parameter"
        usage
        return 1
        ;;
    esac
  done
  export OPTIND=1

  if [[ -z "$user_name" ]]; then
    errecho "ERROR: You must provide a username with the -u parameter."
    usage
    return 1
  fi

  iecho "Parameters:\n"
  iecho "    User name:   $user_name"
  iecho ""

  # If the user does not exist, we don't want to try to delete it.
  if (! iam_user_exists "$user_name"); then
    errecho "ERROR: A user with that name does not exist in the account."
    return 1
  fi

  response=$(aws iam delete-user \
    --user-name "$user_name")

  local error_code=${?}

  if [[ $error_code -ne 0 ]]; then
    aws_cli_error_log $error_code
    errecho "ERROR: AWS reports delete-user operation failed.$response"
    return 1
  fi

  iecho "delete-user response:$response"
  iecho

  return 0
}
```
+ Weitere API-Informationen finden Sie in den folgenden Themen der *AWS CLI -Befehlsreferenz*.
  + [AttachRolePolicy](https://docs.aws.amazon.com/goto/aws-cli/iam-2010-05-08/AttachRolePolicy)
  + [CreateAccessKey](https://docs.aws.amazon.com/goto/aws-cli/iam-2010-05-08/CreateAccessKey)
  + [CreatePolicy](https://docs.aws.amazon.com/goto/aws-cli/iam-2010-05-08/CreatePolicy)
  + [CreateRole](https://docs.aws.amazon.com/goto/aws-cli/iam-2010-05-08/CreateRole)
  + [CreateUser](https://docs.aws.amazon.com/goto/aws-cli/iam-2010-05-08/CreateUser)
  + [DeleteAccessKey](https://docs.aws.amazon.com/goto/aws-cli/iam-2010-05-08/DeleteAccessKey)
  + [DeletePolicy](https://docs.aws.amazon.com/goto/aws-cli/iam-2010-05-08/DeletePolicy)
  + [DeleteRole](https://docs.aws.amazon.com/goto/aws-cli/iam-2010-05-08/DeleteRole)
  + [DeleteUser](https://docs.aws.amazon.com/goto/aws-cli/iam-2010-05-08/DeleteUser)
  + [DeleteUserPolicy](https://docs.aws.amazon.com/goto/aws-cli/iam-2010-05-08/DeleteUserPolicy)
  + [DetachRolePolicy](https://docs.aws.amazon.com/goto/aws-cli/iam-2010-05-08/DetachRolePolicy)
  + [PutUserPolicy](https://docs.aws.amazon.com/goto/aws-cli/iam-2010-05-08/PutUserPolicy)

------
#### [ C\$1\$1 ]

**SDK für C\$1\$1**  
 Es gibt noch mehr GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/iam#code-examples) einrichten und ausführen. 

```
namespace AwsDoc {
    namespace IAM {
  
        //! Cleanup by deleting created entities.
        /*!
          \sa DeleteCreatedEntities
          \param client: IAM client.
          \param role: IAM role.
          \param user: IAM user.
          \param policy: IAM policy.
        */
        static bool DeleteCreatedEntities(const Aws::IAM::IAMClient &client,
                                          const Aws::IAM::Model::Role &role,
                                          const Aws::IAM::Model::User &user,
                                          const Aws::IAM::Model::Policy &policy);
    }

    static const int LIST_BUCKETS_WAIT_SEC = 20;

    static const char ALLOCATION_TAG[] = "example_code";
}

//! Scenario to create an IAM user, create an IAM role, and apply the role to the user.
// "IAM access" permissions are needed to run this code.
// "STS assume role" permissions are needed to run this code. (Note: It might be necessary to
//    create a custom policy).
/*!
  \sa iamCreateUserAssumeRoleScenario
  \param clientConfig: Aws client configuration.
  \return bool: Successful completion.
*/
bool AwsDoc::IAM::iamCreateUserAssumeRoleScenario(
        const Aws::Client::ClientConfiguration &clientConfig) {

    Aws::IAM::IAMClient client(clientConfig);
    Aws::IAM::Model::User user;
    Aws::IAM::Model::Role role;
    Aws::IAM::Model::Policy policy;

    // 1. Create a user.
    {
        Aws::IAM::Model::CreateUserRequest request;
        Aws::String uuid = Aws::Utils::UUID::RandomUUID();
        Aws::String userName = "iam-demo-user-" +
                               Aws::Utils::StringUtils::ToLower(uuid.c_str());
        request.SetUserName(userName);

        Aws::IAM::Model::CreateUserOutcome outcome = client.CreateUser(request);
        if (!outcome.IsSuccess()) {
            std::cout << "Error creating IAM user " << userName << ":" <<
                      outcome.GetError().GetMessage() << std::endl;
            return false;
        }
        else {
            std::cout << "Successfully created IAM user " << userName << std::endl;
        }

        user = outcome.GetResult().GetUser();
    }

    // 2. Create a role.
    {
        // Get the IAM user for the current client in order to access its ARN.
        Aws::String iamUserArn;
        {
            Aws::IAM::Model::GetUserRequest request;
            Aws::IAM::Model::GetUserOutcome outcome = client.GetUser(request);
            if (!outcome.IsSuccess()) {
                std::cerr << "Error getting Iam user. " <<
                          outcome.GetError().GetMessage() << std::endl;

                DeleteCreatedEntities(client, role, user, policy);
                return false;
            }
            else {
                std::cout << "Successfully retrieved Iam user "
                          << outcome.GetResult().GetUser().GetUserName()
                          << std::endl;
            }

            iamUserArn = outcome.GetResult().GetUser().GetArn();
        }

        Aws::IAM::Model::CreateRoleRequest request;

        Aws::String uuid = Aws::Utils::UUID::RandomUUID();
        Aws::String roleName = "iam-demo-role-" +
                               Aws::Utils::StringUtils::ToLower(uuid.c_str());
        request.SetRoleName(roleName);

        // Build policy document for role.
        Aws::Utils::Document jsonStatement;
        jsonStatement.WithString("Effect", "Allow");

        Aws::Utils::Document jsonPrincipal;
        jsonPrincipal.WithString("AWS", iamUserArn);
        jsonStatement.WithObject("Principal", jsonPrincipal);
        jsonStatement.WithString("Action", "sts:AssumeRole");
        jsonStatement.WithObject("Condition", Aws::Utils::Document());

        Aws::Utils::Document policyDocument;
        policyDocument.WithString("Version", "2012-10-17");

        Aws::Utils::Array<Aws::Utils::Document> statements(1);
        statements[0] = jsonStatement;
        policyDocument.WithArray("Statement", statements);

        std::cout << "Setting policy for role\n   "
                  << policyDocument.View().WriteCompact() << std::endl;

        // Set role policy document as JSON string.
        request.SetAssumeRolePolicyDocument(policyDocument.View().WriteCompact());

        Aws::IAM::Model::CreateRoleOutcome outcome = client.CreateRole(request);
        if (!outcome.IsSuccess()) {
            std::cerr << "Error creating role. " <<
                      outcome.GetError().GetMessage() << std::endl;

            DeleteCreatedEntities(client, role, user, policy);
            return false;
        }
        else {
            std::cout << "Successfully created a role with name " << roleName
                      << std::endl;
        }

        role = outcome.GetResult().GetRole();
    }

    // 3. Create an IAM policy.
    {
        Aws::IAM::Model::CreatePolicyRequest request;
        Aws::String uuid = Aws::Utils::UUID::RandomUUID();
        Aws::String policyName = "iam-demo-policy-" +
                                 Aws::Utils::StringUtils::ToLower(uuid.c_str());
        request.SetPolicyName(policyName);

        // Build IAM policy document.
        Aws::Utils::Document jsonStatement;
        jsonStatement.WithString("Effect", "Allow");
        jsonStatement.WithString("Action", "s3:ListAllMyBuckets");
        jsonStatement.WithString("Resource", "arn:aws:s3:::*");

        Aws::Utils::Document policyDocument;
        policyDocument.WithString("Version", "2012-10-17");

        Aws::Utils::Array<Aws::Utils::Document> statements(1);
        statements[0] = jsonStatement;
        policyDocument.WithArray("Statement", statements);

        std::cout << "Creating a policy.\n   " << policyDocument.View().WriteCompact()
                  << std::endl;

        // Set IAM policy document as JSON string.
        request.SetPolicyDocument(policyDocument.View().WriteCompact());

        Aws::IAM::Model::CreatePolicyOutcome outcome = client.CreatePolicy(request);
        if (!outcome.IsSuccess()) {
            std::cerr << "Error creating policy. " <<
                      outcome.GetError().GetMessage() << std::endl;

            DeleteCreatedEntities(client, role, user, policy);
            return false;
        }
        else {
            std::cout << "Successfully created a policy with name, " << policyName <<
                      "." << std::endl;
        }

        policy = outcome.GetResult().GetPolicy();
    }

    // 4. Assume the new role using the AWS Security Token Service (STS).
    Aws::STS::Model::Credentials credentials;
    {
        Aws::STS::STSClient stsClient(clientConfig);

        Aws::STS::Model::AssumeRoleRequest request;
        request.SetRoleArn(role.GetArn());
        Aws::String uuid = Aws::Utils::UUID::RandomUUID();
        Aws::String roleSessionName = "iam-demo-role-session-" +
                                      Aws::Utils::StringUtils::ToLower(uuid.c_str());
        request.SetRoleSessionName(roleSessionName);

        Aws::STS::Model::AssumeRoleOutcome assumeRoleOutcome;

        // Repeatedly call AssumeRole, because there is often a delay
        // before the role is available to be assumed.
        // Repeat at most 20 times when access is denied.
        int count = 0;
        while (true) {
            assumeRoleOutcome = stsClient.AssumeRole(request);
            if (!assumeRoleOutcome.IsSuccess()) {
                if (count > 20 ||
                    assumeRoleOutcome.GetError().GetErrorType() !=
                    Aws::STS::STSErrors::ACCESS_DENIED) {
                    std::cerr << "Error assuming role after 20 tries. " <<
                              assumeRoleOutcome.GetError().GetMessage() << std::endl;

                    DeleteCreatedEntities(client, role, user, policy);
                    return false;
                }
                std::this_thread::sleep_for(std::chrono::seconds(1));
            }
            else {
                std::cout << "Successfully assumed the role after " << count
                          << " seconds." << std::endl;
                break;
            }
            count++;
        }

        credentials = assumeRoleOutcome.GetResult().GetCredentials();
    }


    // 5. List objects in the bucket (This should fail).
    {
        Aws::S3::S3Client s3Client(
                Aws::Auth::AWSCredentials(credentials.GetAccessKeyId(),
                                          credentials.GetSecretAccessKey(),
                                          credentials.GetSessionToken()),
                Aws::MakeShared<Aws::S3::S3EndpointProvider>(ALLOCATION_TAG),
                clientConfig);
        Aws::S3::Model::ListBucketsOutcome listBucketsOutcome = s3Client.ListBuckets();
        if (!listBucketsOutcome.IsSuccess()) {
            if (listBucketsOutcome.GetError().GetErrorType() !=
                Aws::S3::S3Errors::ACCESS_DENIED) {
                std::cerr << "Could not lists buckets. " <<
                          listBucketsOutcome.GetError().GetMessage() << std::endl;
            }
            else {
                std::cout
                        << "Access to list buckets denied because privileges have not been applied."
                        << std::endl;
            }
        }
        else {
            std::cerr
                    << "Successfully retrieved bucket lists when this should not happen."
                    << std::endl;
        }
    }

    // 6. Attach the policy to the role.
    {
        Aws::IAM::Model::AttachRolePolicyRequest request;
        request.SetRoleName(role.GetRoleName());
        request.WithPolicyArn(policy.GetArn());

        Aws::IAM::Model::AttachRolePolicyOutcome outcome = client.AttachRolePolicy(
                request);
        if (!outcome.IsSuccess()) {
            std::cerr << "Error creating policy. " <<
                      outcome.GetError().GetMessage() << std::endl;

            DeleteCreatedEntities(client, role, user, policy);
            return false;
        }
        else {
            std::cout << "Successfully attached the policy with name, "
                      << policy.GetPolicyName() <<
                      ", to the role, " << role.GetRoleName() << "." << std::endl;
        }
    }

    int count = 0;
    // 7. List objects in the bucket (this should succeed).
    // Repeatedly call ListBuckets, because there is often a delay
    // before the policy with ListBucket permissions has been applied to the role.
    // Repeat at most LIST_BUCKETS_WAIT_SEC times when access is denied.
    while (true) {
        Aws::S3::S3Client s3Client(
                Aws::Auth::AWSCredentials(credentials.GetAccessKeyId(),
                                          credentials.GetSecretAccessKey(),
                                          credentials.GetSessionToken()),
                Aws::MakeShared<Aws::S3::S3EndpointProvider>(ALLOCATION_TAG),
                clientConfig);
        Aws::S3::Model::ListBucketsOutcome listBucketsOutcome = s3Client.ListBuckets();
        if (!listBucketsOutcome.IsSuccess()) {
            if ((count > LIST_BUCKETS_WAIT_SEC) ||
                listBucketsOutcome.GetError().GetErrorType() !=
                Aws::S3::S3Errors::ACCESS_DENIED) {
                std::cerr << "Could not lists buckets after " << LIST_BUCKETS_WAIT_SEC << " seconds. " <<
                          listBucketsOutcome.GetError().GetMessage() << std::endl;
                DeleteCreatedEntities(client, role, user, policy);
                return false;
            }

            std::this_thread::sleep_for(std::chrono::seconds(1));
        }
        else {

            std::cout << "Successfully retrieved bucket lists after " << count
                      << " seconds." << std::endl;
            break;
        }
        count++;
    }

    // 8. Delete all the created resources.
    return DeleteCreatedEntities(client, role, user, policy);
}

bool AwsDoc::IAM::DeleteCreatedEntities(const Aws::IAM::IAMClient &client,
                                        const Aws::IAM::Model::Role &role,
                                        const Aws::IAM::Model::User &user,
                                        const Aws::IAM::Model::Policy &policy) {
    bool result = true;
    if (policy.ArnHasBeenSet()) {
        // Detach the policy from the role.
        {
            Aws::IAM::Model::DetachRolePolicyRequest request;
            request.SetPolicyArn(policy.GetArn());
            request.SetRoleName(role.GetRoleName());

            Aws::IAM::Model::DetachRolePolicyOutcome outcome = client.DetachRolePolicy(
                    request);
            if (!outcome.IsSuccess()) {
                std::cerr << "Error Detaching policy from roles. " <<
                          outcome.GetError().GetMessage() << std::endl;
                result = false;
            }
            else {
                std::cout << "Successfully detached the policy with arn "
                          << policy.GetArn()
                          << " from role " << role.GetRoleName() << "." << std::endl;
            }
        }

        // Delete the policy.
        {
            Aws::IAM::Model::DeletePolicyRequest request;
            request.WithPolicyArn(policy.GetArn());

            Aws::IAM::Model::DeletePolicyOutcome outcome = client.DeletePolicy(request);
            if (!outcome.IsSuccess()) {
                std::cerr << "Error deleting policy. " <<
                          outcome.GetError().GetMessage() << std::endl;
                result = false;
            }
            else {
                std::cout << "Successfully deleted the policy with arn "
                          << policy.GetArn() << std::endl;
            }
        }

    }

    if (role.RoleIdHasBeenSet()) {
        // Delete the role.
        Aws::IAM::Model::DeleteRoleRequest request;
        request.SetRoleName(role.GetRoleName());

        Aws::IAM::Model::DeleteRoleOutcome outcome = client.DeleteRole(request);
        if (!outcome.IsSuccess()) {
            std::cerr << "Error deleting role. " <<
                      outcome.GetError().GetMessage() << std::endl;
            result = false;
        }
        else {
            std::cout << "Successfully deleted the role with name "
                      << role.GetRoleName() << std::endl;
        }
    }

    if (user.ArnHasBeenSet()) {
        // Delete the user.
        Aws::IAM::Model::DeleteUserRequest request;
        request.WithUserName(user.GetUserName());

        Aws::IAM::Model::DeleteUserOutcome outcome = client.DeleteUser(request);
        if (!outcome.IsSuccess()) {
            std::cerr << "Error deleting user. " <<
                      outcome.GetError().GetMessage() << std::endl;
            result = false;
        }
        else {
            std::cout << "Successfully deleted the user with name "
                      << user.GetUserName() << std::endl;
        }
    }

    return result;
}
```
+ Weitere API-Informationen finden Sie in den folgenden Themen der *AWS SDK für C\$1\$1 -API-Referenz*.
  + [AttachRolePolicy](https://docs.aws.amazon.com/goto/SdkForCpp/iam-2010-05-08/AttachRolePolicy)
  + [CreateAccessKey](https://docs.aws.amazon.com/goto/SdkForCpp/iam-2010-05-08/CreateAccessKey)
  + [CreatePolicy](https://docs.aws.amazon.com/goto/SdkForCpp/iam-2010-05-08/CreatePolicy)
  + [CreateRole](https://docs.aws.amazon.com/goto/SdkForCpp/iam-2010-05-08/CreateRole)
  + [CreateUser](https://docs.aws.amazon.com/goto/SdkForCpp/iam-2010-05-08/CreateUser)
  + [DeleteAccessKey](https://docs.aws.amazon.com/goto/SdkForCpp/iam-2010-05-08/DeleteAccessKey)
  + [DeletePolicy](https://docs.aws.amazon.com/goto/SdkForCpp/iam-2010-05-08/DeletePolicy)
  + [DeleteRole](https://docs.aws.amazon.com/goto/SdkForCpp/iam-2010-05-08/DeleteRole)
  + [DeleteUser](https://docs.aws.amazon.com/goto/SdkForCpp/iam-2010-05-08/DeleteUser)
  + [DeleteUserPolicy](https://docs.aws.amazon.com/goto/SdkForCpp/iam-2010-05-08/DeleteUserPolicy)
  + [DetachRolePolicy](https://docs.aws.amazon.com/goto/SdkForCpp/iam-2010-05-08/DetachRolePolicy)
  + [PutUserPolicy](https://docs.aws.amazon.com/goto/SdkForCpp/iam-2010-05-08/PutUserPolicy)

------
#### [ Go ]

**SDK für Go V2**  
 Es gibt noch mehr GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2/iam#code-examples) einrichten und ausführen. 
Führen Sie ein interaktives Szenario an einer Eingabeaufforderung aus.  

```
import (
	"context"
	"errors"
	"fmt"
	"log"
	"math/rand"
	"strings"
	"time"

	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/config"
	"github.com/aws/aws-sdk-go-v2/credentials"
	"github.com/aws/aws-sdk-go-v2/service/iam"
	"github.com/aws/aws-sdk-go-v2/service/iam/types"
	"github.com/aws/aws-sdk-go-v2/service/s3"
	"github.com/aws/aws-sdk-go-v2/service/sts"
	"github.com/aws/smithy-go"
	"github.com/awsdocs/aws-doc-sdk-examples/gov2/demotools"
	"github.com/awsdocs/aws-doc-sdk-examples/gov2/iam/actions"
)

// AssumeRoleScenario shows you how to use the AWS Identity and Access Management (IAM)
// service to perform the following actions:
//
//  1. Create a user who has no permissions.
//  2. Create a role that grants permission to list Amazon Simple Storage Service
//     (Amazon S3) buckets for the account.
//  3. Add a policy to let the user assume the role.
//  4. Try and fail to list buckets without permissions.
//  5. Assume the role and list S3 buckets using temporary credentials.
//  6. Delete the policy, role, and user.
type AssumeRoleScenario struct {
	sdkConfig      aws.Config
	accountWrapper actions.AccountWrapper
	policyWrapper  actions.PolicyWrapper
	roleWrapper    actions.RoleWrapper
	userWrapper    actions.UserWrapper
	questioner     demotools.IQuestioner
	helper         IScenarioHelper
	isTestRun      bool
}

// NewAssumeRoleScenario constructs an AssumeRoleScenario instance from a configuration.
// It uses the specified config to get an IAM client and create wrappers for the actions
// used in the scenario.
func NewAssumeRoleScenario(sdkConfig aws.Config, questioner demotools.IQuestioner,
	helper IScenarioHelper) AssumeRoleScenario {
	iamClient := iam.NewFromConfig(sdkConfig)
	return AssumeRoleScenario{
		sdkConfig:      sdkConfig,
		accountWrapper: actions.AccountWrapper{IamClient: iamClient},
		policyWrapper:  actions.PolicyWrapper{IamClient: iamClient},
		roleWrapper:    actions.RoleWrapper{IamClient: iamClient},
		userWrapper:    actions.UserWrapper{IamClient: iamClient},
		questioner:     questioner,
		helper:         helper,
	}
}

// addTestOptions appends the API options specified in the original configuration to
// another configuration. This is used to attach the middleware stubber to clients
// that are constructed during the scenario, which is needed for unit testing.
func (scenario AssumeRoleScenario) addTestOptions(scenarioConfig *aws.Config) {
	if scenario.isTestRun {
		scenarioConfig.APIOptions = append(scenarioConfig.APIOptions, scenario.sdkConfig.APIOptions...)
	}
}

// Run runs the interactive scenario.
func (scenario AssumeRoleScenario) Run(ctx context.Context) {
	defer func() {
		if r := recover(); r != nil {
			log.Printf("Something went wrong with the demo.\n")
			log.Println(r)
		}
	}()

	log.Println(strings.Repeat("-", 88))
	log.Println("Welcome to the AWS Identity and Access Management (IAM) assume role demo.")
	log.Println(strings.Repeat("-", 88))

	user := scenario.CreateUser(ctx)
	accessKey := scenario.CreateAccessKey(ctx, user)
	role := scenario.CreateRoleAndPolicies(ctx, user)
	noPermsConfig := scenario.ListBucketsWithoutPermissions(ctx, accessKey)
	scenario.ListBucketsWithAssumedRole(ctx, noPermsConfig, role)
	scenario.Cleanup(ctx, user, role)

	log.Println(strings.Repeat("-", 88))
	log.Println("Thanks for watching!")
	log.Println(strings.Repeat("-", 88))
}

// CreateUser creates a new IAM user. This user has no permissions.
func (scenario AssumeRoleScenario) CreateUser(ctx context.Context) *types.User {
	log.Println("Let's create an example user with no permissions.")
	userName := scenario.questioner.Ask("Enter a name for the example user:", demotools.NotEmpty{})
	user, err := scenario.userWrapper.GetUser(ctx, userName)
	if err != nil {
		panic(err)
	}
	if user == nil {
		user, err = scenario.userWrapper.CreateUser(ctx, userName)
		if err != nil {
			panic(err)
		}
		log.Printf("Created user %v.\n", *user.UserName)
	} else {
		log.Printf("User %v already exists.\n", *user.UserName)
	}
	log.Println(strings.Repeat("-", 88))
	return user
}

// CreateAccessKey creates an access key for the user.
func (scenario AssumeRoleScenario) CreateAccessKey(ctx context.Context, user *types.User) *types.AccessKey {
	accessKey, err := scenario.userWrapper.CreateAccessKeyPair(ctx, *user.UserName)
	if err != nil {
		panic(err)
	}
	log.Printf("Created access key %v for your user.", *accessKey.AccessKeyId)
	log.Println("Waiting a few seconds for your user to be ready...")
	scenario.helper.Pause(10)
	log.Println(strings.Repeat("-", 88))
	return accessKey
}

// CreateRoleAndPolicies creates a policy that grants permission to list S3 buckets for
// the current account and attaches the policy to a newly created role. It also adds an
// inline policy to the specified user that grants the user permission to assume the role.
func (scenario AssumeRoleScenario) CreateRoleAndPolicies(ctx context.Context, user *types.User) *types.Role {
	log.Println("Let's create a role and policy that grant permission to list S3 buckets.")
	scenario.questioner.Ask("Press Enter when you're ready.")
	listBucketsRole, err := scenario.roleWrapper.CreateRole(ctx, scenario.helper.GetName(), *user.Arn)
	if err != nil {
		panic(err)
	}
	log.Printf("Created role %v.\n", *listBucketsRole.RoleName)
	listBucketsPolicy, err := scenario.policyWrapper.CreatePolicy(
		ctx, scenario.helper.GetName(), []string{"s3:ListAllMyBuckets"}, "arn:aws:s3:::*")
	if err != nil {
		panic(err)
	}
	log.Printf("Created policy %v.\n", *listBucketsPolicy.PolicyName)
	err = scenario.roleWrapper.AttachRolePolicy(ctx, *listBucketsPolicy.Arn, *listBucketsRole.RoleName)
	if err != nil {
		panic(err)
	}
	log.Printf("Attached policy %v to role %v.\n", *listBucketsPolicy.PolicyName,
		*listBucketsRole.RoleName)
	err = scenario.userWrapper.CreateUserPolicy(ctx, *user.UserName, scenario.helper.GetName(),
		[]string{"sts:AssumeRole"}, *listBucketsRole.Arn)
	if err != nil {
		panic(err)
	}
	log.Printf("Created an inline policy for user %v that lets the user assume the role.\n",
		*user.UserName)
	log.Println("Let's give AWS a few seconds to propagate these new resources and connections...")
	scenario.helper.Pause(10)
	log.Println(strings.Repeat("-", 88))
	return listBucketsRole
}

// ListBucketsWithoutPermissions creates an Amazon S3 client from the user's access key
// credentials and tries to list buckets for the account. Because the user does not have
// permission to perform this action, the action fails.
func (scenario AssumeRoleScenario) ListBucketsWithoutPermissions(ctx context.Context, accessKey *types.AccessKey) *aws.Config {
	log.Println("Let's try to list buckets without permissions. This should return an AccessDenied error.")
	scenario.questioner.Ask("Press Enter when you're ready.")
	noPermsConfig, err := config.LoadDefaultConfig(ctx,
		config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider(
			*accessKey.AccessKeyId, *accessKey.SecretAccessKey, ""),
		))
	if err != nil {
		panic(err)
	}

	// Add test options if this is a test run. This is needed only for testing purposes.
	scenario.addTestOptions(&noPermsConfig)

	s3Client := s3.NewFromConfig(noPermsConfig)
	_, err = s3Client.ListBuckets(ctx, &s3.ListBucketsInput{})
	if err != nil {
		// The SDK for Go does not model the AccessDenied error, so check ErrorCode directly.
		var ae smithy.APIError
		if errors.As(err, &ae) {
			switch ae.ErrorCode() {
			case "AccessDenied":
				log.Println("Got AccessDenied error, which is the expected result because\n" +
					"the ListBuckets call was made without permissions.")
			default:
				log.Println("Expected AccessDenied, got something else.")
				panic(err)
			}
		}
	} else {
		log.Println("Expected AccessDenied error when calling ListBuckets without permissions,\n" +
			"but the call succeeded. Continuing the example anyway...")
	}
	log.Println(strings.Repeat("-", 88))
	return &noPermsConfig
}

// ListBucketsWithAssumedRole performs the following actions:
//
//  1. Creates an AWS Security Token Service (AWS STS) client from the config created from
//     the user's access key credentials.
//  2. Gets temporary credentials by assuming the role that grants permission to list the
//     buckets.
//  3. Creates an Amazon S3 client from the temporary credentials.
//  4. Lists buckets for the account. Because the temporary credentials are generated by
//     assuming the role that grants permission, the action succeeds.
func (scenario AssumeRoleScenario) ListBucketsWithAssumedRole(ctx context.Context, noPermsConfig *aws.Config, role *types.Role) {
	log.Println("Let's assume the role that grants permission to list buckets and try again.")
	scenario.questioner.Ask("Press Enter when you're ready.")
	stsClient := sts.NewFromConfig(*noPermsConfig)
	tempCredentials, err := stsClient.AssumeRole(ctx, &sts.AssumeRoleInput{
		RoleArn:         role.Arn,
		RoleSessionName: aws.String("AssumeRoleExampleSession"),
		DurationSeconds: aws.Int32(900),
	})
	if err != nil {
		log.Printf("Couldn't assume role %v.\n", *role.RoleName)
		panic(err)
	}
	log.Printf("Assumed role %v, got temporary credentials.\n", *role.RoleName)
	assumeRoleConfig, err := config.LoadDefaultConfig(ctx,
		config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider(
			*tempCredentials.Credentials.AccessKeyId,
			*tempCredentials.Credentials.SecretAccessKey,
			*tempCredentials.Credentials.SessionToken),
		),
	)
	if err != nil {
		panic(err)
	}

	// Add test options if this is a test run. This is needed only for testing purposes.
	scenario.addTestOptions(&assumeRoleConfig)

	s3Client := s3.NewFromConfig(assumeRoleConfig)
	result, err := s3Client.ListBuckets(ctx, &s3.ListBucketsInput{})
	if err != nil {
		log.Println("Couldn't list buckets with assumed role credentials.")
		panic(err)
	}
	log.Println("Successfully called ListBuckets with assumed role credentials, \n" +
		"here are some of them:")
	for i := 0; i < len(result.Buckets) && i < 5; i++ {
		log.Printf("\t%v\n", *result.Buckets[i].Name)
	}
	log.Println(strings.Repeat("-", 88))
}

// Cleanup deletes all resources created for the scenario.
func (scenario AssumeRoleScenario) Cleanup(ctx context.Context, user *types.User, role *types.Role) {
	if scenario.questioner.AskBool(
		"Do you want to delete the resources created for this example? (y/n)", "y",
	) {
		policies, err := scenario.roleWrapper.ListAttachedRolePolicies(ctx, *role.RoleName)
		if err != nil {
			panic(err)
		}
		for _, policy := range policies {
			err = scenario.roleWrapper.DetachRolePolicy(ctx, *role.RoleName, *policy.PolicyArn)
			if err != nil {
				panic(err)
			}
			err = scenario.policyWrapper.DeletePolicy(ctx, *policy.PolicyArn)
			if err != nil {
				panic(err)
			}
			log.Printf("Detached policy %v from role %v and deleted the policy.\n",
				*policy.PolicyName, *role.RoleName)
		}
		err = scenario.roleWrapper.DeleteRole(ctx, *role.RoleName)
		if err != nil {
			panic(err)
		}
		log.Printf("Deleted role %v.\n", *role.RoleName)

		userPols, err := scenario.userWrapper.ListUserPolicies(ctx, *user.UserName)
		if err != nil {
			panic(err)
		}
		for _, userPol := range userPols {
			err = scenario.userWrapper.DeleteUserPolicy(ctx, *user.UserName, userPol)
			if err != nil {
				panic(err)
			}
			log.Printf("Deleted policy %v from user %v.\n", userPol, *user.UserName)
		}
		keys, err := scenario.userWrapper.ListAccessKeys(ctx, *user.UserName)
		if err != nil {
			panic(err)
		}
		for _, key := range keys {
			err = scenario.userWrapper.DeleteAccessKey(ctx, *user.UserName, *key.AccessKeyId)
			if err != nil {
				panic(err)
			}
			log.Printf("Deleted access key %v from user %v.\n", *key.AccessKeyId, *user.UserName)
		}
		err = scenario.userWrapper.DeleteUser(ctx, *user.UserName)
		if err != nil {
			panic(err)
		}
		log.Printf("Deleted user %v.\n", *user.UserName)
		log.Println(strings.Repeat("-", 88))
	}

}

// IScenarioHelper abstracts input and wait functions from a scenario so that they
// can be mocked for unit testing.
type IScenarioHelper interface {
	GetName() string
	Pause(secs int)
}

const rMax = 100000

type ScenarioHelper struct {
	Prefix string
	Random *rand.Rand
}

// GetName returns a unique name formed of a prefix and a random number.
func (helper *ScenarioHelper) GetName() string {
	return fmt.Sprintf("%v%v", helper.Prefix, helper.Random.Intn(rMax))
}

// Pause waits for the specified number of seconds.
func (helper ScenarioHelper) Pause(secs int) {
	time.Sleep(time.Duration(secs) * time.Second)
}
```
Definieren Sie eine Struktur, die Kontoaktionen umschließt.  

```
import (
	"context"
	"log"

	"github.com/aws/aws-sdk-go-v2/service/iam"
	"github.com/aws/aws-sdk-go-v2/service/iam/types"
)

// AccountWrapper encapsulates AWS Identity and Access Management (IAM) account actions
// used in the examples.
// It contains an IAM service client that is used to perform account actions.
type AccountWrapper struct {
	IamClient *iam.Client
}



// GetAccountPasswordPolicy gets the account password policy for the current account.
// If no policy has been set, a NoSuchEntityException is error is returned.
func (wrapper AccountWrapper) GetAccountPasswordPolicy(ctx context.Context) (*types.PasswordPolicy, error) {
	var pwPolicy *types.PasswordPolicy
	result, err := wrapper.IamClient.GetAccountPasswordPolicy(ctx,
		&iam.GetAccountPasswordPolicyInput{})
	if err != nil {
		log.Printf("Couldn't get account password policy. Here's why: %v\n", err)
	} else {
		pwPolicy = result.PasswordPolicy
	}
	return pwPolicy, err
}



// ListSAMLProviders gets the SAML providers for the account.
func (wrapper AccountWrapper) ListSAMLProviders(ctx context.Context) ([]types.SAMLProviderListEntry, error) {
	var providers []types.SAMLProviderListEntry
	result, err := wrapper.IamClient.ListSAMLProviders(ctx, &iam.ListSAMLProvidersInput{})
	if err != nil {
		log.Printf("Couldn't list SAML providers. Here's why: %v\n", err)
	} else {
		providers = result.SAMLProviderList
	}
	return providers, err
}
```
Definieren Sie eine Struktur, die Richtlinienaktionen umschließt.  

```
import (
	"context"
	"encoding/json"
	"log"

	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/service/iam"
	"github.com/aws/aws-sdk-go-v2/service/iam/types"
)

// PolicyWrapper encapsulates AWS Identity and Access Management (IAM) policy actions
// used in the examples.
// It contains an IAM service client that is used to perform policy actions.
type PolicyWrapper struct {
	IamClient *iam.Client
}



// ListPolicies gets up to maxPolicies policies.
func (wrapper PolicyWrapper) ListPolicies(ctx context.Context, maxPolicies int32) ([]types.Policy, error) {
	var policies []types.Policy
	result, err := wrapper.IamClient.ListPolicies(ctx, &iam.ListPoliciesInput{
		MaxItems: aws.Int32(maxPolicies),
	})
	if err != nil {
		log.Printf("Couldn't list policies. Here's why: %v\n", err)
	} else {
		policies = result.Policies
	}
	return policies, err
}



// PolicyDocument defines a policy document as a Go struct that can be serialized
// to JSON.
type PolicyDocument struct {
	Version   string
	Statement []PolicyStatement
}

// PolicyStatement defines a statement in a policy document.
type PolicyStatement struct {
	Effect    string
	Action    []string
	Principal map[string]string `json:",omitempty"`
	Resource  *string           `json:",omitempty"`
}

// CreatePolicy creates a policy that grants a list of actions to the specified resource.
// PolicyDocument shows how to work with a policy document as a data structure and
// serialize it to JSON by using Go's JSON marshaler.
func (wrapper PolicyWrapper) CreatePolicy(ctx context.Context, policyName string, actions []string,
	resourceArn string) (*types.Policy, error) {
	var policy *types.Policy
	policyDoc := PolicyDocument{
		Version: "2012-10-17",
		Statement: []PolicyStatement{{
			Effect:   "Allow",
			Action:   actions,
			Resource: aws.String(resourceArn),
		}},
	}
	policyBytes, err := json.Marshal(policyDoc)
	if err != nil {
		log.Printf("Couldn't create policy document for %v. Here's why: %v\n", resourceArn, err)
		return nil, err
	}
	result, err := wrapper.IamClient.CreatePolicy(ctx, &iam.CreatePolicyInput{
		PolicyDocument: aws.String(string(policyBytes)),
		PolicyName:     aws.String(policyName),
	})
	if err != nil {
		log.Printf("Couldn't create policy %v. Here's why: %v\n", policyName, err)
	} else {
		policy = result.Policy
	}
	return policy, err
}



// GetPolicy gets data about a policy.
func (wrapper PolicyWrapper) GetPolicy(ctx context.Context, policyArn string) (*types.Policy, error) {
	var policy *types.Policy
	result, err := wrapper.IamClient.GetPolicy(ctx, &iam.GetPolicyInput{
		PolicyArn: aws.String(policyArn),
	})
	if err != nil {
		log.Printf("Couldn't get policy %v. Here's why: %v\n", policyArn, err)
	} else {
		policy = result.Policy
	}
	return policy, err
}



// DeletePolicy deletes a policy.
func (wrapper PolicyWrapper) DeletePolicy(ctx context.Context, policyArn string) error {
	_, err := wrapper.IamClient.DeletePolicy(ctx, &iam.DeletePolicyInput{
		PolicyArn: aws.String(policyArn),
	})
	if err != nil {
		log.Printf("Couldn't delete policy %v. Here's why: %v\n", policyArn, err)
	}
	return err
}
```
Definieren Sie eine Struktur, die Rollenaktionen umschließt.  

```
import (
	"context"
	"encoding/json"
	"log"

	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/service/iam"
	"github.com/aws/aws-sdk-go-v2/service/iam/types"
)

// RoleWrapper encapsulates AWS Identity and Access Management (IAM) role actions
// used in the examples.
// It contains an IAM service client that is used to perform role actions.
type RoleWrapper struct {
	IamClient *iam.Client
}



// ListRoles gets up to maxRoles roles.
func (wrapper RoleWrapper) ListRoles(ctx context.Context, maxRoles int32) ([]types.Role, error) {
	var roles []types.Role
	result, err := wrapper.IamClient.ListRoles(ctx,
		&iam.ListRolesInput{MaxItems: aws.Int32(maxRoles)},
	)
	if err != nil {
		log.Printf("Couldn't list roles. Here's why: %v\n", err)
	} else {
		roles = result.Roles
	}
	return roles, err
}



// CreateRole creates a role that trusts a specified user. The trusted user can assume
// the role to acquire its permissions.
// PolicyDocument shows how to work with a policy document as a data structure and
// serialize it to JSON by using Go's JSON marshaler.
func (wrapper RoleWrapper) CreateRole(ctx context.Context, roleName string, trustedUserArn string) (*types.Role, error) {
	var role *types.Role
	trustPolicy := PolicyDocument{
		Version: "2012-10-17",
		Statement: []PolicyStatement{{
			Effect:    "Allow",
			Principal: map[string]string{"AWS": trustedUserArn},
			Action:    []string{"sts:AssumeRole"},
		}},
	}
	policyBytes, err := json.Marshal(trustPolicy)
	if err != nil {
		log.Printf("Couldn't create trust policy for %v. Here's why: %v\n", trustedUserArn, err)
		return nil, err
	}
	result, err := wrapper.IamClient.CreateRole(ctx, &iam.CreateRoleInput{
		AssumeRolePolicyDocument: aws.String(string(policyBytes)),
		RoleName:                 aws.String(roleName),
	})
	if err != nil {
		log.Printf("Couldn't create role %v. Here's why: %v\n", roleName, err)
	} else {
		role = result.Role
	}
	return role, err
}



// GetRole gets data about a role.
func (wrapper RoleWrapper) GetRole(ctx context.Context, roleName string) (*types.Role, error) {
	var role *types.Role
	result, err := wrapper.IamClient.GetRole(ctx,
		&iam.GetRoleInput{RoleName: aws.String(roleName)})
	if err != nil {
		log.Printf("Couldn't get role %v. Here's why: %v\n", roleName, err)
	} else {
		role = result.Role
	}
	return role, err
}



// CreateServiceLinkedRole creates a service-linked role that is owned by the specified service.
func (wrapper RoleWrapper) CreateServiceLinkedRole(ctx context.Context, serviceName string, description string) (
	*types.Role, error) {
	var role *types.Role
	result, err := wrapper.IamClient.CreateServiceLinkedRole(ctx, &iam.CreateServiceLinkedRoleInput{
		AWSServiceName: aws.String(serviceName),
		Description:    aws.String(description),
	})
	if err != nil {
		log.Printf("Couldn't create service-linked role %v. Here's why: %v\n", serviceName, err)
	} else {
		role = result.Role
	}
	return role, err
}



// DeleteServiceLinkedRole deletes a service-linked role.
func (wrapper RoleWrapper) DeleteServiceLinkedRole(ctx context.Context, roleName string) error {
	_, err := wrapper.IamClient.DeleteServiceLinkedRole(ctx, &iam.DeleteServiceLinkedRoleInput{
		RoleName: aws.String(roleName)},
	)
	if err != nil {
		log.Printf("Couldn't delete service-linked role %v. Here's why: %v\n", roleName, err)
	}
	return err
}



// AttachRolePolicy attaches a policy to a role.
func (wrapper RoleWrapper) AttachRolePolicy(ctx context.Context, policyArn string, roleName string) error {
	_, err := wrapper.IamClient.AttachRolePolicy(ctx, &iam.AttachRolePolicyInput{
		PolicyArn: aws.String(policyArn),
		RoleName:  aws.String(roleName),
	})
	if err != nil {
		log.Printf("Couldn't attach policy %v to role %v. Here's why: %v\n", policyArn, roleName, err)
	}
	return err
}



// ListAttachedRolePolicies lists the policies that are attached to the specified role.
func (wrapper RoleWrapper) ListAttachedRolePolicies(ctx context.Context, roleName string) ([]types.AttachedPolicy, error) {
	var policies []types.AttachedPolicy
	result, err := wrapper.IamClient.ListAttachedRolePolicies(ctx, &iam.ListAttachedRolePoliciesInput{
		RoleName: aws.String(roleName),
	})
	if err != nil {
		log.Printf("Couldn't list attached policies for role %v. Here's why: %v\n", roleName, err)
	} else {
		policies = result.AttachedPolicies
	}
	return policies, err
}



// DetachRolePolicy detaches a policy from a role.
func (wrapper RoleWrapper) DetachRolePolicy(ctx context.Context, roleName string, policyArn string) error {
	_, err := wrapper.IamClient.DetachRolePolicy(ctx, &iam.DetachRolePolicyInput{
		PolicyArn: aws.String(policyArn),
		RoleName:  aws.String(roleName),
	})
	if err != nil {
		log.Printf("Couldn't detach policy from role %v. Here's why: %v\n", roleName, err)
	}
	return err
}



// ListRolePolicies lists the inline policies for a role.
func (wrapper RoleWrapper) ListRolePolicies(ctx context.Context, roleName string) ([]string, error) {
	var policies []string
	result, err := wrapper.IamClient.ListRolePolicies(ctx, &iam.ListRolePoliciesInput{
		RoleName: aws.String(roleName),
	})
	if err != nil {
		log.Printf("Couldn't list policies for role %v. Here's why: %v\n", roleName, err)
	} else {
		policies = result.PolicyNames
	}
	return policies, err
}



// DeleteRole deletes a role. All attached policies must be detached before a
// role can be deleted.
func (wrapper RoleWrapper) DeleteRole(ctx context.Context, roleName string) error {
	_, err := wrapper.IamClient.DeleteRole(ctx, &iam.DeleteRoleInput{
		RoleName: aws.String(roleName),
	})
	if err != nil {
		log.Printf("Couldn't delete role %v. Here's why: %v\n", roleName, err)
	}
	return err
}
```
Definieren Sie eine Struktur, die Benutzeraktionen umschließt.  

```
import (
	"context"
	"encoding/json"
	"errors"
	"log"

	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/service/iam"
	"github.com/aws/aws-sdk-go-v2/service/iam/types"
	"github.com/aws/smithy-go"
)

// UserWrapper encapsulates user actions used in the examples.
// It contains an IAM service client that is used to perform user actions.
type UserWrapper struct {
	IamClient *iam.Client
}



// ListUsers gets up to maxUsers number of users.
func (wrapper UserWrapper) ListUsers(ctx context.Context, maxUsers int32) ([]types.User, error) {
	var users []types.User
	result, err := wrapper.IamClient.ListUsers(ctx, &iam.ListUsersInput{
		MaxItems: aws.Int32(maxUsers),
	})
	if err != nil {
		log.Printf("Couldn't list users. Here's why: %v\n", err)
	} else {
		users = result.Users
	}
	return users, err
}



// GetUser gets data about a user.
func (wrapper UserWrapper) GetUser(ctx context.Context, userName string) (*types.User, error) {
	var user *types.User
	result, err := wrapper.IamClient.GetUser(ctx, &iam.GetUserInput{
		UserName: aws.String(userName),
	})
	if err != nil {
		var apiError smithy.APIError
		if errors.As(err, &apiError) {
			switch apiError.(type) {
			case *types.NoSuchEntityException:
				log.Printf("User %v does not exist.\n", userName)
				err = nil
			default:
				log.Printf("Couldn't get user %v. Here's why: %v\n", userName, err)
			}
		}
	} else {
		user = result.User
	}
	return user, err
}



// CreateUser creates a new user with the specified name.
func (wrapper UserWrapper) CreateUser(ctx context.Context, userName string) (*types.User, error) {
	var user *types.User
	result, err := wrapper.IamClient.CreateUser(ctx, &iam.CreateUserInput{
		UserName: aws.String(userName),
	})
	if err != nil {
		log.Printf("Couldn't create user %v. Here's why: %v\n", userName, err)
	} else {
		user = result.User
	}
	return user, err
}



// CreateUserPolicy adds an inline policy to a user. This example creates a policy that
// grants a list of actions on a specified role.
// PolicyDocument shows how to work with a policy document as a data structure and
// serialize it to JSON by using Go's JSON marshaler.
func (wrapper UserWrapper) CreateUserPolicy(ctx context.Context, userName string, policyName string, actions []string,
	roleArn string) error {
	policyDoc := PolicyDocument{
		Version: "2012-10-17",
		Statement: []PolicyStatement{{
			Effect:   "Allow",
			Action:   actions,
			Resource: aws.String(roleArn),
		}},
	}
	policyBytes, err := json.Marshal(policyDoc)
	if err != nil {
		log.Printf("Couldn't create policy document for %v. Here's why: %v\n", roleArn, err)
		return err
	}
	_, err = wrapper.IamClient.PutUserPolicy(ctx, &iam.PutUserPolicyInput{
		PolicyDocument: aws.String(string(policyBytes)),
		PolicyName:     aws.String(policyName),
		UserName:       aws.String(userName),
	})
	if err != nil {
		log.Printf("Couldn't create policy for user %v. Here's why: %v\n", userName, err)
	}
	return err
}



// ListUserPolicies lists the inline policies for the specified user.
func (wrapper UserWrapper) ListUserPolicies(ctx context.Context, userName string) ([]string, error) {
	var policies []string
	result, err := wrapper.IamClient.ListUserPolicies(ctx, &iam.ListUserPoliciesInput{
		UserName: aws.String(userName),
	})
	if err != nil {
		log.Printf("Couldn't list policies for user %v. Here's why: %v\n", userName, err)
	} else {
		policies = result.PolicyNames
	}
	return policies, err
}



// DeleteUserPolicy deletes an inline policy from a user.
func (wrapper UserWrapper) DeleteUserPolicy(ctx context.Context, userName string, policyName string) error {
	_, err := wrapper.IamClient.DeleteUserPolicy(ctx, &iam.DeleteUserPolicyInput{
		PolicyName: aws.String(policyName),
		UserName:   aws.String(userName),
	})
	if err != nil {
		log.Printf("Couldn't delete policy from user %v. Here's why: %v\n", userName, err)
	}
	return err
}



// DeleteUser deletes a user.
func (wrapper UserWrapper) DeleteUser(ctx context.Context, userName string) error {
	_, err := wrapper.IamClient.DeleteUser(ctx, &iam.DeleteUserInput{
		UserName: aws.String(userName),
	})
	if err != nil {
		log.Printf("Couldn't delete user %v. Here's why: %v\n", userName, err)
	}
	return err
}



// CreateAccessKeyPair creates an access key for a user. The returned access key contains
// the ID and secret credentials needed to use the key.
func (wrapper UserWrapper) CreateAccessKeyPair(ctx context.Context, userName string) (*types.AccessKey, error) {
	var key *types.AccessKey
	result, err := wrapper.IamClient.CreateAccessKey(ctx, &iam.CreateAccessKeyInput{
		UserName: aws.String(userName)})
	if err != nil {
		log.Printf("Couldn't create access key pair for user %v. Here's why: %v\n", userName, err)
	} else {
		key = result.AccessKey
	}
	return key, err
}



// DeleteAccessKey deletes an access key from a user.
func (wrapper UserWrapper) DeleteAccessKey(ctx context.Context, userName string, keyId string) error {
	_, err := wrapper.IamClient.DeleteAccessKey(ctx, &iam.DeleteAccessKeyInput{
		AccessKeyId: aws.String(keyId),
		UserName:    aws.String(userName),
	})
	if err != nil {
		log.Printf("Couldn't delete access key %v. Here's why: %v\n", keyId, err)
	}
	return err
}



// ListAccessKeys lists the access keys for the specified user.
func (wrapper UserWrapper) ListAccessKeys(ctx context.Context, userName string) ([]types.AccessKeyMetadata, error) {
	var keys []types.AccessKeyMetadata
	result, err := wrapper.IamClient.ListAccessKeys(ctx, &iam.ListAccessKeysInput{
		UserName: aws.String(userName),
	})
	if err != nil {
		log.Printf("Couldn't list access keys for user %v. Here's why: %v\n", userName, err)
	} else {
		keys = result.AccessKeyMetadata
	}
	return keys, err
}
```
+ Weitere API-Informationen finden Sie in den folgenden Themen der *AWS SDK für Go -API-Referenz*.
  + [AttachRolePolicy](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/iam#Client.AttachRolePolicy)
  + [CreateAccessKey](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/iam#Client.CreateAccessKey)
  + [CreatePolicy](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/iam#Client.CreatePolicy)
  + [CreateRole](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/iam#Client.CreateRole)
  + [CreateUser](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/iam#Client.CreateUser)
  + [DeleteAccessKey](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/iam#Client.DeleteAccessKey)
  + [DeletePolicy](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/iam#Client.DeletePolicy)
  + [DeleteRole](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/iam#Client.DeleteRole)
  + [DeleteUser](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/iam#Client.DeleteUser)
  + [DeleteUserPolicy](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/iam#Client.DeleteUserPolicy)
  + [DetachRolePolicy](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/iam#Client.DetachRolePolicy)
  + [PutUserPolicy](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/iam#Client.PutUserPolicy)

------
#### [ Java ]

**SDK für Java 2.x**  
 Es gibt noch mehr GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/iam#code-examples) einrichten und ausführen. 
Erstellen Sie Funktionen, die IAM-Benutzer-Aktionen umschließen.  

```
/*
  To run this Java V2 code example, set up your development environment, including your credentials.

  For information, see this documentation topic:

  https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html

  This example performs these operations:

  1. Creates a user that has no permissions.
  2. Creates a role and policy that grants Amazon S3 permissions.
  3. Creates a role.
  4. Grants the user permissions.
  5. Gets temporary credentials by assuming the role.  Creates an Amazon S3 Service client object with the temporary credentials.
  6. Deletes the resources.
 */

public class IAMScenario {
    public static final String DASHES = new String(new char[80]).replace("\0", "-");
    public static final String PolicyDocument = "{" +
            "  \"Version\": \"2012-10-17\"," +
            "  \"Statement\": [" +
            "    {" +
            "        \"Effect\": \"Allow\"," +
            "        \"Action\": [" +
            "            \"s3:*\"" +
            "       ]," +
            "       \"Resource\": \"*\"" +
            "    }" +
            "   ]" +
            "}";

    public static String userArn;

    public static void main(String[] args) throws Exception {

        final String usage = """

                Usage:
                    <username> <policyName> <roleName> <roleSessionName> <bucketName>\s

                Where:
                    username - The name of the IAM user to create.\s
                    policyName - The name of the policy to create.\s
                    roleName - The name of the role to create.\s
                    roleSessionName - The name of the session required for the assumeRole operation.\s
                    bucketName - The name of the Amazon S3 bucket from which objects are read.\s
                """;

        if (args.length != 5) {
            System.out.println(usage);
            System.exit(1);
        }

        String userName = args[0];
        String policyName = args[1];
        String roleName = args[2];
        String roleSessionName = args[3];
        String bucketName = args[4];

        Region region = Region.AWS_GLOBAL;
        IamClient iam = IamClient.builder()
                .region(region)
                .build();

        System.out.println(DASHES);
        System.out.println("Welcome to the AWS IAM example scenario.");
        System.out.println(DASHES);

        System.out.println(DASHES);
        System.out.println(" 1. Create the IAM user.");
        User createUser = createIAMUser(iam, userName);

        System.out.println(DASHES);
        userArn = createUser.arn();

        AccessKey myKey = createIAMAccessKey(iam, userName);
        String accessKey = myKey.accessKeyId();
        String secretKey = myKey.secretAccessKey();
        String assumeRolePolicyDocument = "{" +
                "\"Version\": \"2012-10-17\"," +
                "\"Statement\": [{" +
                "\"Effect\": \"Allow\"," +
                "\"Principal\": {" +
                "	\"AWS\": \"" + userArn + "\"" +
                "}," +
                "\"Action\": \"sts:AssumeRole\"" +
                "}]" +
                "}";

        System.out.println(assumeRolePolicyDocument);
        System.out.println(userName + " was successfully created.");
        System.out.println(DASHES);
        System.out.println("2. Creates a policy.");
        String polArn = createIAMPolicy(iam, policyName);
        System.out.println("The policy " + polArn + " was successfully created.");
        System.out.println(DASHES);

        System.out.println(DASHES);
        System.out.println("3. Creates a role.");
        TimeUnit.SECONDS.sleep(30);
        String roleArn = createIAMRole(iam, roleName, assumeRolePolicyDocument);
        System.out.println(roleArn + " was successfully created.");
        System.out.println(DASHES);

        System.out.println(DASHES);
        System.out.println("4. Grants the user permissions.");
        attachIAMRolePolicy(iam, roleName, polArn);
        System.out.println(DASHES);

        System.out.println(DASHES);
        System.out.println("*** Wait for 30 secs so the resource is available");
        TimeUnit.SECONDS.sleep(30);
        System.out.println("5. Gets temporary credentials by assuming the role.");
        System.out.println("Perform an Amazon S3 Service operation using the temporary credentials.");
        assumeRole(roleArn, roleSessionName, bucketName, accessKey, secretKey);
        System.out.println(DASHES);

        System.out.println(DASHES);
        System.out.println("6 Getting ready to delete the AWS resources");
        deleteKey(iam, userName, accessKey);
        deleteRole(iam, roleName, polArn);
        deleteIAMUser(iam, userName);
        System.out.println(DASHES);

        System.out.println(DASHES);
        System.out.println("This IAM Scenario has successfully completed");
        System.out.println(DASHES);
    }

    public static AccessKey createIAMAccessKey(IamClient iam, String user) {
        try {
            CreateAccessKeyRequest request = CreateAccessKeyRequest.builder()
                    .userName(user)
                    .build();

            CreateAccessKeyResponse response = iam.createAccessKey(request);
            return response.accessKey();

        } catch (IamException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
        return null;
    }

    public static User createIAMUser(IamClient iam, String username) {
        try {
            // Create an IamWaiter object
            IamWaiter iamWaiter = iam.waiter();
            CreateUserRequest request = CreateUserRequest.builder()
                    .userName(username)
                    .build();

            // Wait until the user is created.
            CreateUserResponse response = iam.createUser(request);
            GetUserRequest userRequest = GetUserRequest.builder()
                    .userName(response.user().userName())
                    .build();

            WaiterResponse<GetUserResponse> waitUntilUserExists = iamWaiter.waitUntilUserExists(userRequest);
            waitUntilUserExists.matched().response().ifPresent(System.out::println);
            return response.user();

        } catch (IamException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
        return null;
    }

    public static String createIAMRole(IamClient iam, String rolename, String json) {

        try {
            CreateRoleRequest request = CreateRoleRequest.builder()
                    .roleName(rolename)
                    .assumeRolePolicyDocument(json)
                    .description("Created using the AWS SDK for Java")
                    .build();

            CreateRoleResponse response = iam.createRole(request);
            System.out.println("The ARN of the role is " + response.role().arn());
            return response.role().arn();

        } catch (IamException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
        return "";
    }

    public static String createIAMPolicy(IamClient iam, String policyName) {
        try {
            // Create an IamWaiter object.
            IamWaiter iamWaiter = iam.waiter();
            CreatePolicyRequest request = CreatePolicyRequest.builder()
                    .policyName(policyName)
                    .policyDocument(PolicyDocument).build();

            CreatePolicyResponse response = iam.createPolicy(request);
            GetPolicyRequest polRequest = GetPolicyRequest.builder()
                    .policyArn(response.policy().arn())
                    .build();

            WaiterResponse<GetPolicyResponse> waitUntilPolicyExists = iamWaiter.waitUntilPolicyExists(polRequest);
            waitUntilPolicyExists.matched().response().ifPresent(System.out::println);
            return response.policy().arn();

        } catch (IamException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
        return "";
    }

    public static void attachIAMRolePolicy(IamClient iam, String roleName, String policyArn) {
        try {
            ListAttachedRolePoliciesRequest request = ListAttachedRolePoliciesRequest.builder()
                    .roleName(roleName)
                    .build();

            ListAttachedRolePoliciesResponse response = iam.listAttachedRolePolicies(request);
            List<AttachedPolicy> attachedPolicies = response.attachedPolicies();
            String polArn;
            for (AttachedPolicy policy : attachedPolicies) {
                polArn = policy.policyArn();
                if (polArn.compareTo(policyArn) == 0) {
                    System.out.println(roleName + " policy is already attached to this role.");
                    return;
                }
            }

            AttachRolePolicyRequest attachRequest = AttachRolePolicyRequest.builder()
                    .roleName(roleName)
                    .policyArn(policyArn)
                    .build();

            iam.attachRolePolicy(attachRequest);
            System.out.println("Successfully attached policy " + policyArn + " to role " + roleName);

        } catch (IamException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }

    // Invoke an Amazon S3 operation using the Assumed Role.
    public static void assumeRole(String roleArn, String roleSessionName, String bucketName, String keyVal,
            String keySecret) {

        // Use the creds of the new IAM user that was created in this code example.
        AwsBasicCredentials credentials = AwsBasicCredentials.create(keyVal, keySecret);
        StsClient stsClient = StsClient.builder()
                .region(Region.US_EAST_1)
                .credentialsProvider(StaticCredentialsProvider.create(credentials))
                .build();

        try {
            AssumeRoleRequest roleRequest = AssumeRoleRequest.builder()
                    .roleArn(roleArn)
                    .roleSessionName(roleSessionName)
                    .build();

            AssumeRoleResponse roleResponse = stsClient.assumeRole(roleRequest);
            Credentials myCreds = roleResponse.credentials();
            String key = myCreds.accessKeyId();
            String secKey = myCreds.secretAccessKey();
            String secToken = myCreds.sessionToken();

            // List all objects in an Amazon S3 bucket using the temp creds retrieved by
            // invoking assumeRole.
            Region region = Region.US_EAST_1;
            S3Client s3 = S3Client.builder()
                    .credentialsProvider(
                            StaticCredentialsProvider.create(AwsSessionCredentials.create(key, secKey, secToken)))
                    .region(region)
                    .build();

            System.out.println("Created a S3Client using temp credentials.");
            System.out.println("Listing objects in " + bucketName);
            ListObjectsRequest listObjects = ListObjectsRequest.builder()
                    .bucket(bucketName)
                    .build();

            ListObjectsResponse res = s3.listObjects(listObjects);
            List<S3Object> objects = res.contents();
            for (S3Object myValue : objects) {
                System.out.println("The name of the key is " + myValue.key());
                System.out.println("The owner is " + myValue.owner());
            }

        } catch (StsException e) {
            System.err.println(e.getMessage());
            System.exit(1);
        }
    }

    public static void deleteRole(IamClient iam, String roleName, String polArn) {

        try {
            // First the policy needs to be detached.
            DetachRolePolicyRequest rolePolicyRequest = DetachRolePolicyRequest.builder()
                    .policyArn(polArn)
                    .roleName(roleName)
                    .build();

            iam.detachRolePolicy(rolePolicyRequest);

            // Delete the policy.
            DeletePolicyRequest request = DeletePolicyRequest.builder()
                    .policyArn(polArn)
                    .build();

            iam.deletePolicy(request);
            System.out.println("*** Successfully deleted " + polArn);

            // Delete the role.
            DeleteRoleRequest roleRequest = DeleteRoleRequest.builder()
                    .roleName(roleName)
                    .build();

            iam.deleteRole(roleRequest);
            System.out.println("*** Successfully deleted " + roleName);

        } catch (IamException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }

    public static void deleteKey(IamClient iam, String username, String accessKey) {
        try {
            DeleteAccessKeyRequest request = DeleteAccessKeyRequest.builder()
                    .accessKeyId(accessKey)
                    .userName(username)
                    .build();

            iam.deleteAccessKey(request);
            System.out.println("Successfully deleted access key " + accessKey +
                    " from user " + username);

        } catch (IamException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }

    public static void deleteIAMUser(IamClient iam, String userName) {
        try {
            DeleteUserRequest request = DeleteUserRequest.builder()
                    .userName(userName)
                    .build();

            iam.deleteUser(request);
            System.out.println("*** Successfully deleted " + userName);

        } catch (IamException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }
}
```
+ Weitere API-Informationen finden Sie in den folgenden Themen der *AWS SDK for Java 2.x -API-Referenz*.
  + [AttachRolePolicy](https://docs.aws.amazon.com/goto/SdkForJavaV2/iam-2010-05-08/AttachRolePolicy)
  + [CreateAccessKey](https://docs.aws.amazon.com/goto/SdkForJavaV2/iam-2010-05-08/CreateAccessKey)
  + [CreatePolicy](https://docs.aws.amazon.com/goto/SdkForJavaV2/iam-2010-05-08/CreatePolicy)
  + [CreateRole](https://docs.aws.amazon.com/goto/SdkForJavaV2/iam-2010-05-08/CreateRole)
  + [CreateUser](https://docs.aws.amazon.com/goto/SdkForJavaV2/iam-2010-05-08/CreateUser)
  + [DeleteAccessKey](https://docs.aws.amazon.com/goto/SdkForJavaV2/iam-2010-05-08/DeleteAccessKey)
  + [DeletePolicy](https://docs.aws.amazon.com/goto/SdkForJavaV2/iam-2010-05-08/DeletePolicy)
  + [DeleteRole](https://docs.aws.amazon.com/goto/SdkForJavaV2/iam-2010-05-08/DeleteRole)
  + [DeleteUser](https://docs.aws.amazon.com/goto/SdkForJavaV2/iam-2010-05-08/DeleteUser)
  + [DeleteUserPolicy](https://docs.aws.amazon.com/goto/SdkForJavaV2/iam-2010-05-08/DeleteUserPolicy)
  + [DetachRolePolicy](https://docs.aws.amazon.com/goto/SdkForJavaV2/iam-2010-05-08/DetachRolePolicy)
  + [PutUserPolicy](https://docs.aws.amazon.com/goto/SdkForJavaV2/iam-2010-05-08/PutUserPolicy)

------
#### [ JavaScript ]

**SDK für JavaScript (v3)**  
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/iam#code-examples) einrichten und ausführen. 
Erstellen Sie einen IAM-Benutzer und eine Rolle, die die Berechtigung zum Auflisten von Amazon-S3-Buckets erteilt. Der Benutzer hat nur Rechte, um die Rolle anzunehmen. Nachdem Sie die Rolle übernommen haben, verwenden Sie temporäre Anmeldeinformationen, um Buckets für das Konto aufzulisten.  

```
import {
  CreateUserCommand,
  GetUserCommand,
  CreateAccessKeyCommand,
  CreatePolicyCommand,
  CreateRoleCommand,
  AttachRolePolicyCommand,
  DeleteAccessKeyCommand,
  DeleteUserCommand,
  DeleteRoleCommand,
  DeletePolicyCommand,
  DetachRolePolicyCommand,
  IAMClient,
} from "@aws-sdk/client-iam";
import { ListBucketsCommand, S3Client } from "@aws-sdk/client-s3";
import { AssumeRoleCommand, STSClient } from "@aws-sdk/client-sts";
import { retry } from "@aws-doc-sdk-examples/lib/utils/util-timers.js";
import { ScenarioInput } from "@aws-doc-sdk-examples/lib/scenario/index.js";

// Set the parameters.
const iamClient = new IAMClient({});
const userName = "iam_basic_test_username";
const policyName = "iam_basic_test_policy";
const roleName = "iam_basic_test_role";

/**
 * Create a new IAM user. If the user already exists, give
 * the option to delete and re-create it.
 * @param {string} name
 */
export const createUser = async (name, confirmAll = false) => {
  try {
    const { User } = await iamClient.send(
      new GetUserCommand({ UserName: name }),
    );
    const input = new ScenarioInput(
      "deleteUser",
      "Do you want to delete and remake this user?",
      { type: "confirm" },
    );
    const deleteUser = await input.handle({}, { confirmAll });
    // If the user exists, and you want to delete it, delete the user
    // and then create it again.
    if (deleteUser) {
      await iamClient.send(new DeleteUserCommand({ UserName: User.UserName }));
      await iamClient.send(new CreateUserCommand({ UserName: name }));
    } else {
      console.warn(
        `${name} already exists. The scenario may not work as expected.`,
      );
      return User;
    }
  } catch (caught) {
    // If there is no user by that name, create one.
    if (caught instanceof Error && caught.name === "NoSuchEntityException") {
      const { User } = await iamClient.send(
        new CreateUserCommand({ UserName: name }),
      );
      return User;
    }
    throw caught;
  }
};

export const main = async (confirmAll = false) => {
  // Create a user. The user has no permissions by default.
  const User = await createUser(userName, confirmAll);

  if (!User) {
    throw new Error("User not created");
  }

  // Create an access key. This key is used to authenticate the new user to
  // Amazon Simple Storage Service (Amazon S3) and AWS Security Token Service (AWS STS).
  // It's not best practice to use access keys. For more information, see https://aws.amazon.com/iam/resources/best-practices/.
  const createAccessKeyResponse = await iamClient.send(
    new CreateAccessKeyCommand({ UserName: userName }),
  );

  if (
    !createAccessKeyResponse.AccessKey?.AccessKeyId ||
    !createAccessKeyResponse.AccessKey?.SecretAccessKey
  ) {
    throw new Error("Access key not created");
  }

  const {
    AccessKey: { AccessKeyId, SecretAccessKey },
  } = createAccessKeyResponse;

  let s3Client = new S3Client({
    credentials: {
      accessKeyId: AccessKeyId,
      secretAccessKey: SecretAccessKey,
    },
  });

  // Retry the list buckets operation until it succeeds. InvalidAccessKeyId is
  // thrown while the user and access keys are still stabilizing.
  await retry({ intervalInMs: 1000, maxRetries: 300 }, async () => {
    try {
      return await listBuckets(s3Client);
    } catch (err) {
      if (err instanceof Error && err.name === "InvalidAccessKeyId") {
        throw err;
      }
    }
  });

  // Retry the create role operation until it succeeds. A MalformedPolicyDocument error
  // is thrown while the user and access keys are still stabilizing.
  const { Role } = await retry(
    {
      intervalInMs: 2000,
      maxRetries: 60,
    },
    () =>
      iamClient.send(
        new CreateRoleCommand({
          AssumeRolePolicyDocument: JSON.stringify({
            Version: "2012-10-17",
            Statement: [
              {
                Effect: "Allow",
                Principal: {
                  // Allow the previously created user to assume this role.
                  AWS: User.Arn,
                },
                Action: "sts:AssumeRole",
              },
            ],
          }),
          RoleName: roleName,
        }),
      ),
  );

  if (!Role) {
    throw new Error("Role not created");
  }

  // Create a policy that allows the user to list S3 buckets.
  const { Policy: listBucketPolicy } = await iamClient.send(
    new CreatePolicyCommand({
      PolicyDocument: JSON.stringify({
        Version: "2012-10-17",
        Statement: [
          {
            Effect: "Allow",
            Action: ["s3:ListAllMyBuckets"],
            Resource: "*",
          },
        ],
      }),
      PolicyName: policyName,
    }),
  );

  if (!listBucketPolicy) {
    throw new Error("Policy not created");
  }

  // Attach the policy granting the 's3:ListAllMyBuckets' action to the role.
  await iamClient.send(
    new AttachRolePolicyCommand({
      PolicyArn: listBucketPolicy.Arn,
      RoleName: Role.RoleName,
    }),
  );

  // Assume the role.
  const stsClient = new STSClient({
    credentials: {
      accessKeyId: AccessKeyId,
      secretAccessKey: SecretAccessKey,
    },
  });

  // Retry the assume role operation until it succeeds.
  const { Credentials } = await retry(
    { intervalInMs: 2000, maxRetries: 60 },
    () =>
      stsClient.send(
        new AssumeRoleCommand({
          RoleArn: Role.Arn,
          RoleSessionName: `iamBasicScenarioSession-${Math.floor(
            Math.random() * 1000000,
          )}`,
          DurationSeconds: 900,
        }),
      ),
  );

  if (!Credentials?.AccessKeyId || !Credentials?.SecretAccessKey) {
    throw new Error("Credentials not created");
  }

  s3Client = new S3Client({
    credentials: {
      accessKeyId: Credentials.AccessKeyId,
      secretAccessKey: Credentials.SecretAccessKey,
      sessionToken: Credentials.SessionToken,
    },
  });

  // List the S3 buckets again.
  // Retry the list buckets operation until it succeeds. AccessDenied might
  // be thrown while the role policy is still stabilizing.
  await retry({ intervalInMs: 2000, maxRetries: 120 }, () =>
    listBuckets(s3Client),
  );

  // Clean up.
  await iamClient.send(
    new DetachRolePolicyCommand({
      PolicyArn: listBucketPolicy.Arn,
      RoleName: Role.RoleName,
    }),
  );

  await iamClient.send(
    new DeletePolicyCommand({
      PolicyArn: listBucketPolicy.Arn,
    }),
  );

  await iamClient.send(
    new DeleteRoleCommand({
      RoleName: Role.RoleName,
    }),
  );

  await iamClient.send(
    new DeleteAccessKeyCommand({
      UserName: userName,
      AccessKeyId,
    }),
  );

  await iamClient.send(
    new DeleteUserCommand({
      UserName: userName,
    }),
  );
};

/**
 *
 * @param {S3Client} s3Client
 */
const listBuckets = async (s3Client) => {
  const { Buckets } = await s3Client.send(new ListBucketsCommand({}));

  if (!Buckets) {
    throw new Error("Buckets not listed");
  }

  console.log(Buckets.map((bucket) => bucket.Name).join("\n"));
};
```
+ Weitere API-Informationen finden Sie in den folgenden Themen der *AWS SDK für JavaScript -API-Referenz*.
  + [AttachRolePolicy](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/AttachRolePolicyCommand)
  + [CreateAccessKey](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/CreateAccessKeyCommand)
  + [CreatePolicy](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/CreatePolicyCommand)
  + [CreateRole](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/CreateRoleCommand)
  + [CreateUser](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/CreateUserCommand)
  + [DeleteAccessKey](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DeleteAccessKeyCommand)
  + [DeletePolicy](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DeletePolicyCommand)
  + [DeleteRole](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DeleteRoleCommand)
  + [DeleteUser](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DeleteUserCommand)
  + [DeleteUserPolicy](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DeleteUserPolicyCommand)
  + [DetachRolePolicy](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DetachRolePolicyCommand)
  + [PutUserPolicy](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/PutUserPolicyCommand)

------
#### [ Kotlin ]

**SDK für Kotlin**  
 Es gibt noch mehr GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/kotlin/services/iam#code-examples) einrichten und ausführen. 
Erstellen Sie Funktionen, die IAM-Benutzer-Aktionen umschließen.  

```
suspend fun main(args: Array<String>) {
    val usage = """
    Usage:
        <username> <policyName> <roleName> <roleSessionName> <fileLocation> <bucketName> 

    Where:
        username - The name of the IAM user to create. 
        policyName - The name of the policy to create. 
        roleName - The name of the role to create. 
        roleSessionName - The name of the session required for the assumeRole operation. 
        fileLocation - The file location to the JSON required to create the role (see Readme). 
        bucketName - The name of the Amazon S3 bucket from which objects are read. 
    """

    if (args.size != 6) {
        println(usage)
        exitProcess(1)
    }

    val userName = args[0]
    val policyName = args[1]
    val roleName = args[2]
    val roleSessionName = args[3]
    val fileLocation = args[4]
    val bucketName = args[5]

    createUser(userName)
    println("$userName was successfully created.")

    val polArn = createPolicy(policyName)
    println("The policy $polArn was successfully created.")

    val roleArn = createRole(roleName, fileLocation)
    println("$roleArn was successfully created.")
    attachRolePolicy(roleName, polArn)

    println("*** Wait for 1 MIN so the resource is available.")
    delay(60000)
    assumeGivenRole(roleArn, roleSessionName, bucketName)

    println("*** Getting ready to delete the AWS resources.")
    deleteRole(roleName, polArn)
    deleteUser(userName)
    println("This IAM Scenario has successfully completed.")
}

suspend fun createUser(usernameVal: String?): String? {
    val request =
        CreateUserRequest {
            userName = usernameVal
        }

    IamClient { region = "AWS_GLOBAL" }.use { iamClient ->
        val response = iamClient.createUser(request)
        return response.user?.userName
    }
}

suspend fun createPolicy(policyNameVal: String?): String {
    val policyDocumentValue = """
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "s3:*"
                ],
                "Resource": "*"
            }
        ]
    }
    """.trimIndent()

    val request =
        CreatePolicyRequest {
            policyName = policyNameVal
            policyDocument = policyDocumentValue
        }

    IamClient.fromEnvironment { region = "AWS_GLOBAL" }.use { iamClient ->
        val response = iamClient.createPolicy(request)
        return response.policy?.arn.toString()
    }
}

suspend fun createRole(
    rolenameVal: String?,
    fileLocation: String?,
): String? {
    val jsonObject = fileLocation?.let { readJsonSimpleDemo(it) } as JSONObject

    val request =
        CreateRoleRequest {
            roleName = rolenameVal
            assumeRolePolicyDocument = jsonObject.toJSONString()
            description = "Created using the AWS SDK for Kotlin"
        }

    IamClient { region = "AWS_GLOBAL" }.use { iamClient ->
        val response = iamClient.createRole(request)
        return response.role?.arn
    }
}

suspend fun attachRolePolicy(
    roleNameVal: String,
    policyArnVal: String,
) {
    val request =
        ListAttachedRolePoliciesRequest {
            roleName = roleNameVal
        }

    IamClient.fromEnvironment { region = "AWS_GLOBAL" }.use { iamClient ->
        val response = iamClient.listAttachedRolePolicies(request)
        val attachedPolicies = response.attachedPolicies

        // Ensure that the policy is not attached to this role.
        val checkStatus: Int
        if (attachedPolicies != null) {
            checkStatus = checkMyList(attachedPolicies, policyArnVal)
            if (checkStatus == -1) {
                return
            }
        }

        val policyRequest =
            AttachRolePolicyRequest {
                roleName = roleNameVal
                policyArn = policyArnVal
            }
        iamClient.attachRolePolicy(policyRequest)
        println("Successfully attached policy $policyArnVal to role $roleNameVal")
    }
}

fun checkMyList(
    attachedPolicies: List<AttachedPolicy>,
    policyArnVal: String,
): Int {
    for (policy in attachedPolicies) {
        val polArn = policy.policyArn.toString()

        if (polArn.compareTo(policyArnVal) == 0) {
            println("The policy is already attached to this role.")
            return -1
        }
    }
    return 0
}

suspend fun assumeGivenRole(
    roleArnVal: String?,
    roleSessionNameVal: String?,
    bucketName: String,
) {
    val stsClient = StsClient.fromEnvironment { region = "us-east-1" }
    val roleRequest =
        AssumeRoleRequest {
            roleArn = roleArnVal
            roleSessionName = roleSessionNameVal
        }

    val roleResponse = stsClient.assumeRole(roleRequest)
    val myCreds = roleResponse.credentials
    val key = myCreds?.accessKeyId
    val secKey = myCreds?.secretAccessKey
    val secToken = myCreds?.sessionToken

    val staticCredentials = StaticCredentialsProvider {
        accessKeyId = key
        secretAccessKey = secKey
        sessionToken = secToken
    }

    // List all objects in an Amazon S3 bucket using the temp creds.
    val s3 = S3Client.fromEnvironment {
        region = "us-east-1"
        credentialsProvider = staticCredentials
    }

    println("Created a S3Client using temp credentials.")
    println("Listing objects in $bucketName")

    val listObjects =
        ListObjectsRequest {
            bucket = bucketName
        }

    val response = s3.listObjects(listObjects)
    response.contents?.forEach { myObject ->
        println("The name of the key is ${myObject.key}")
        println("The owner is ${myObject.owner}")
    }
}

suspend fun deleteRole(
    roleNameVal: String,
    polArn: String,
) {
    val iam = IamClient.fromEnvironment { region = "AWS_GLOBAL" }

    // First the policy needs to be detached.
    val rolePolicyRequest =
        DetachRolePolicyRequest {
            policyArn = polArn
            roleName = roleNameVal
        }

    iam.detachRolePolicy(rolePolicyRequest)

    // Delete the policy.
    val request =
        DeletePolicyRequest {
            policyArn = polArn
        }

    iam.deletePolicy(request)
    println("*** Successfully deleted $polArn")

    // Delete the role.
    val roleRequest =
        DeleteRoleRequest {
            roleName = roleNameVal
        }

    iam.deleteRole(roleRequest)
    println("*** Successfully deleted $roleNameVal")
}

suspend fun deleteUser(userNameVal: String) {
    val iam = IamClient.fromEnvironment { region = "AWS_GLOBAL" }
    val request =
        DeleteUserRequest {
            userName = userNameVal
        }

    iam.deleteUser(request)
    println("*** Successfully deleted $userNameVal")
}

@Throws(java.lang.Exception::class)
fun readJsonSimpleDemo(filename: String): Any? {
    val reader = FileReader(filename)
    val jsonParser = JSONParser()
    return jsonParser.parse(reader)
}
```
+ Weitere API-Informationen finden Sie in den folgenden Themen der *API-Referenz zum AWS -SDK für Kotlin*.
  + [AttachRolePolicy](https://sdk.amazonaws.com/kotlin/api/latest/index.html)
  + [CreateAccessKey](https://sdk.amazonaws.com/kotlin/api/latest/index.html)
  + [CreatePolicy](https://sdk.amazonaws.com/kotlin/api/latest/index.html)
  + [CreateRole](https://sdk.amazonaws.com/kotlin/api/latest/index.html)
  + [CreateUser](https://sdk.amazonaws.com/kotlin/api/latest/index.html)
  + [DeleteAccessKey](https://sdk.amazonaws.com/kotlin/api/latest/index.html)
  + [DeletePolicy](https://sdk.amazonaws.com/kotlin/api/latest/index.html)
  + [DeleteRole](https://sdk.amazonaws.com/kotlin/api/latest/index.html)
  + [DeleteUser](https://sdk.amazonaws.com/kotlin/api/latest/index.html)
  + [DeleteUserPolicy](https://sdk.amazonaws.com/kotlin/api/latest/index.html)
  + [DetachRolePolicy](https://sdk.amazonaws.com/kotlin/api/latest/index.html)
  + [PutUserPolicy](https://sdk.amazonaws.com/kotlin/api/latest/index.html)

------
#### [ PHP ]

**SDK für PHP**  
 Es gibt noch mehr GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code/iam#code-examples) einrichten und ausführen. 

```
namespace Iam\Basics;

require 'vendor/autoload.php';

use Aws\Credentials\Credentials;
use Aws\S3\Exception\S3Exception;
use Aws\S3\S3Client;
use Aws\Sts\StsClient;
use Iam\IAMService;

echo("\n");
echo("--------------------------------------\n");
print("Welcome to the IAM getting started demo using PHP!\n");
echo("--------------------------------------\n");

$uuid = uniqid();
$service = new IAMService();

$user = $service->createUser("iam_demo_user_$uuid");
echo "Created user with the arn: {$user['Arn']}\n";

$key = $service->createAccessKey($user['UserName']);
$assumeRolePolicyDocument = "{
                \"Version\": \"2012-10-17\",
                \"Statement\": [{
                    \"Effect\": \"Allow\",
                    \"Principal\": {\"AWS\": \"{$user['Arn']}\"},
                    \"Action\": \"sts:AssumeRole\"
                }]
            }";
$assumeRoleRole = $service->createRole("iam_demo_role_$uuid", $assumeRolePolicyDocument);
echo "Created role: {$assumeRoleRole['RoleName']}\n";

$listAllBucketsPolicyDocument = "{
                \"Version\": \"2012-10-17\",
                \"Statement\": [{
                    \"Effect\": \"Allow\",
                    \"Action\": \"s3:ListAllMyBuckets\",
                    \"Resource\": \"arn:aws:s3:::*\"}]
}";
$listAllBucketsPolicy = $service->createPolicy("iam_demo_policy_$uuid", $listAllBucketsPolicyDocument);
echo "Created policy: {$listAllBucketsPolicy['PolicyName']}\n";

$service->attachRolePolicy($assumeRoleRole['RoleName'], $listAllBucketsPolicy['Arn']);

$inlinePolicyDocument = "{
                \"Version\": \"2012-10-17\",
                \"Statement\": [{
                    \"Effect\": \"Allow\",
                    \"Action\": \"sts:AssumeRole\",
                    \"Resource\": \"{$assumeRoleRole['Arn']}\"}]
}";
$inlinePolicy = $service->createUserPolicy("iam_demo_inline_policy_$uuid", $inlinePolicyDocument, $user['UserName']);
//First, fail to list the buckets with the user
$credentials = new Credentials($key['AccessKeyId'], $key['SecretAccessKey']);
$s3Client = new S3Client(['region' => 'us-west-2', 'version' => 'latest', 'credentials' => $credentials]);
try {
    $s3Client->listBuckets([
    ]);
    echo "this should not run";
} catch (S3Exception $exception) {
    echo "successfully failed!\n";
}

$stsClient = new StsClient(['region' => 'us-west-2', 'version' => 'latest', 'credentials' => $credentials]);
sleep(10);
$assumedRole = $stsClient->assumeRole([
    'RoleArn' => $assumeRoleRole['Arn'],
    'RoleSessionName' => "DemoAssumeRoleSession_$uuid",
]);
$assumedCredentials = [
    'key' => $assumedRole['Credentials']['AccessKeyId'],
    'secret' => $assumedRole['Credentials']['SecretAccessKey'],
    'token' => $assumedRole['Credentials']['SessionToken'],
];
$s3Client = new S3Client(['region' => 'us-west-2', 'version' => 'latest', 'credentials' => $assumedCredentials]);
try {
    $s3Client->listBuckets([]);
    echo "this should now run!\n";
} catch (S3Exception $exception) {
    echo "this should now not fail\n";
}

$service->detachRolePolicy($assumeRoleRole['RoleName'], $listAllBucketsPolicy['Arn']);
$deletePolicy = $service->deletePolicy($listAllBucketsPolicy['Arn']);
echo "Delete policy: {$listAllBucketsPolicy['PolicyName']}\n";
$deletedRole = $service->deleteRole($assumeRoleRole['Arn']);
echo "Deleted role: {$assumeRoleRole['RoleName']}\n";
$deletedKey = $service->deleteAccessKey($key['AccessKeyId'], $user['UserName']);
$deletedUser = $service->deleteUser($user['UserName']);
echo "Delete user: {$user['UserName']}\n";
```
+ Weitere API-Informationen finden Sie in den folgenden Themen der *AWS SDK für PHP -API-Referenz*.
  + [AttachRolePolicy](https://docs.aws.amazon.com/goto/SdkForPHPV3/iam-2010-05-08/AttachRolePolicy)
  + [CreateAccessKey](https://docs.aws.amazon.com/goto/SdkForPHPV3/iam-2010-05-08/CreateAccessKey)
  + [CreatePolicy](https://docs.aws.amazon.com/goto/SdkForPHPV3/iam-2010-05-08/CreatePolicy)
  + [CreateRole](https://docs.aws.amazon.com/goto/SdkForPHPV3/iam-2010-05-08/CreateRole)
  + [CreateUser](https://docs.aws.amazon.com/goto/SdkForPHPV3/iam-2010-05-08/CreateUser)
  + [DeleteAccessKey](https://docs.aws.amazon.com/goto/SdkForPHPV3/iam-2010-05-08/DeleteAccessKey)
  + [DeletePolicy](https://docs.aws.amazon.com/goto/SdkForPHPV3/iam-2010-05-08/DeletePolicy)
  + [DeleteRole](https://docs.aws.amazon.com/goto/SdkForPHPV3/iam-2010-05-08/DeleteRole)
  + [DeleteUser](https://docs.aws.amazon.com/goto/SdkForPHPV3/iam-2010-05-08/DeleteUser)
  + [DeleteUserPolicy](https://docs.aws.amazon.com/goto/SdkForPHPV3/iam-2010-05-08/DeleteUserPolicy)
  + [DetachRolePolicy](https://docs.aws.amazon.com/goto/SdkForPHPV3/iam-2010-05-08/DetachRolePolicy)
  + [PutUserPolicy](https://docs.aws.amazon.com/goto/SdkForPHPV3/iam-2010-05-08/PutUserPolicy)

------
#### [ Python ]

**SDK für Python (Boto3)**  
 Es gibt noch mehr GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/iam#code-examples) einrichten und ausführen. 
Erstellen Sie einen IAM-Benutzer und eine Rolle, die die Berechtigung zum Auflisten von Amazon-S3-Buckets erteilt. Der Benutzer hat nur Rechte, um die Rolle anzunehmen. Nachdem Sie die Rolle übernommen haben, verwenden Sie temporäre Anmeldeinformationen, um Buckets für das Konto aufzulisten.  

```
import json
import sys
import time
from uuid import uuid4

import boto3
from botocore.exceptions import ClientError


def progress_bar(seconds):
    """Shows a simple progress bar in the command window."""
    for _ in range(seconds):
        time.sleep(1)
        print(".", end="")
        sys.stdout.flush()
    print()


def setup(iam_resource):
    """
    Creates a new user with no permissions.
    Creates an access key pair for the user.
    Creates a role with a policy that lets the user assume the role.
    Creates a policy that allows listing Amazon S3 buckets.
    Attaches the policy to the role.
    Creates an inline policy for the user that lets the user assume the role.

    :param iam_resource: A Boto3 AWS Identity and Access Management (IAM) resource
                         that has permissions to create users, roles, and policies
                         in the account.
    :return: The newly created user, user key, and role.
    """
    try:
        user = iam_resource.create_user(UserName=f"demo-user-{uuid4()}")
        print(f"Created user {user.name}.")
    except ClientError as error:
        print(
            f"Couldn't create a user for the demo. Here's why: "
            f"{error.response['Error']['Message']}"
        )
        raise

    try:
        user_key = user.create_access_key_pair()
        print(f"Created access key pair for user.")
    except ClientError as error:
        print(
            f"Couldn't create access keys for user {user.name}. Here's why: "
            f"{error.response['Error']['Message']}"
        )
        raise

    print(f"Wait for user to be ready.", end="")
    progress_bar(10)

    try:
        role = iam_resource.create_role(
            RoleName=f"demo-role-{uuid4()}",
            AssumeRolePolicyDocument=json.dumps(
                {
                    "Version":"2012-10-17",		 	 	 
                    "Statement": [
                        {
                            "Effect": "Allow",
                            "Principal": {"AWS": user.arn},
                            "Action": "sts:AssumeRole",
                        }
                    ],
                }
            ),
        )
        print(f"Created role {role.name}.")
    except ClientError as error:
        print(
            f"Couldn't create a role for the demo. Here's why: "
            f"{error.response['Error']['Message']}"
        )
        raise

    try:
        policy = iam_resource.create_policy(
            PolicyName=f"demo-policy-{uuid4()}",
            PolicyDocument=json.dumps(
                {
                    "Version":"2012-10-17",		 	 	 
                    "Statement": [
                        {
                            "Effect": "Allow",
                            "Action": "s3:ListAllMyBuckets",
                            "Resource": "arn:aws:s3:::*",
                        }
                    ],
                }
            ),
        )
        role.attach_policy(PolicyArn=policy.arn)
        print(f"Created policy {policy.policy_name} and attached it to the role.")
    except ClientError as error:
        print(
            f"Couldn't create a policy and attach it to role {role.name}. Here's why: "
            f"{error.response['Error']['Message']}"
        )
        raise

    try:
        user.create_policy(
            PolicyName=f"demo-user-policy-{uuid4()}",
            PolicyDocument=json.dumps(
                {
                    "Version":"2012-10-17",		 	 	 
                    "Statement": [
                        {
                            "Effect": "Allow",
                            "Action": "sts:AssumeRole",
                            "Resource": role.arn,
                        }
                    ],
                }
            ),
        )
        print(
            f"Created an inline policy for {user.name} that lets the user assume "
            f"the role."
        )
    except ClientError as error:
        print(
            f"Couldn't create an inline policy for user {user.name}. Here's why: "
            f"{error.response['Error']['Message']}"
        )
        raise

    print("Give AWS time to propagate these new resources and connections.", end="")
    progress_bar(10)

    return user, user_key, role


def show_access_denied_without_role(user_key):
    """
    Shows that listing buckets without first assuming the role is not allowed.

    :param user_key: The key of the user created during setup. This user does not
                     have permission to list buckets in the account.
    """
    print(f"Try to list buckets without first assuming the role.")
    s3_denied_resource = boto3.resource(
        "s3", aws_access_key_id=user_key.id, aws_secret_access_key=user_key.secret
    )
    try:
        for bucket in s3_denied_resource.buckets.all():
            print(bucket.name)
        raise RuntimeError("Expected to get AccessDenied error when listing buckets!")
    except ClientError as error:
        if error.response["Error"]["Code"] == "AccessDenied":
            print("Attempt to list buckets with no permissions: AccessDenied.")
        else:
            raise


def list_buckets_from_assumed_role(user_key, assume_role_arn, session_name):
    """
    Assumes a role that grants permission to list the Amazon S3 buckets in the account.
    Uses the temporary credentials from the role to list the buckets that are owned
    by the assumed role's account.

    :param user_key: The access key of a user that has permission to assume the role.
    :param assume_role_arn: The Amazon Resource Name (ARN) of the role that
                            grants access to list the other account's buckets.
    :param session_name: The name of the STS session.
    """
    sts_client = boto3.client(
        "sts", aws_access_key_id=user_key.id, aws_secret_access_key=user_key.secret
    )
    try:
        response = sts_client.assume_role(
            RoleArn=assume_role_arn, RoleSessionName=session_name
        )
        temp_credentials = response["Credentials"]
        print(f"Assumed role {assume_role_arn} and got temporary credentials.")
    except ClientError as error:
        print(
            f"Couldn't assume role {assume_role_arn}. Here's why: "
            f"{error.response['Error']['Message']}"
        )
        raise

    # Create an S3 resource that can access the account with the temporary credentials.
    s3_resource = boto3.resource(
        "s3",
        aws_access_key_id=temp_credentials["AccessKeyId"],
        aws_secret_access_key=temp_credentials["SecretAccessKey"],
        aws_session_token=temp_credentials["SessionToken"],
    )
    print(f"Listing buckets for the assumed role's account:")
    try:
        for bucket in s3_resource.buckets.all():
            print(bucket.name)
    except ClientError as error:
        print(
            f"Couldn't list buckets for the account. Here's why: "
            f"{error.response['Error']['Message']}"
        )
        raise




def teardown(user, role):
    """
    Removes all resources created during setup.

    :param user: The demo user.
    :param role: The demo role.
    """
    try:
        for attached in role.attached_policies.all():
            policy_name = attached.policy_name
            role.detach_policy(PolicyArn=attached.arn)
            attached.delete()
            print(f"Detached and deleted {policy_name}.")
        role.delete()
        print(f"Deleted {role.name}.")
    except ClientError as error:
        print(
            "Couldn't detach policy, delete policy, or delete role. Here's why: "
            f"{error.response['Error']['Message']}"
        )
        raise

    try:
        for user_pol in user.policies.all():
            user_pol.delete()
            print("Deleted inline user policy.")
        for key in user.access_keys.all():
            key.delete()
            print("Deleted user's access key.")
        user.delete()
        print(f"Deleted {user.name}.")
    except ClientError as error:
        print(
            "Couldn't delete user policy or delete user. Here's why: "
            f"{error.response['Error']['Message']}"
        )


def usage_demo():
    """Drives the demonstration."""
    print("-" * 88)
    print(f"Welcome to the IAM create user and assume role demo.")
    print("-" * 88)
    iam_resource = boto3.resource("iam")
    user = None
    role = None
    try:
        user, user_key, role = setup(iam_resource)
        print(f"Created {user.name} and {role.name}.")
        show_access_denied_without_role(user_key)
        list_buckets_from_assumed_role(user_key, role.arn, "AssumeRoleDemoSession")
    except Exception:
        print("Something went wrong!")
    finally:
        if user is not None and role is not None:
            teardown(user, role)
        print("Thanks for watching!")


if __name__ == "__main__":
    usage_demo()
```
+ Weitere API-Informationen finden Sie in den folgenden Themen der *API-Referenz zum AWS SDK für Python (Boto3)*.
  + [AttachRolePolicy](https://docs.aws.amazon.com/goto/boto3/iam-2010-05-08/AttachRolePolicy)
  + [CreateAccessKey](https://docs.aws.amazon.com/goto/boto3/iam-2010-05-08/CreateAccessKey)
  + [CreatePolicy](https://docs.aws.amazon.com/goto/boto3/iam-2010-05-08/CreatePolicy)
  + [CreateRole](https://docs.aws.amazon.com/goto/boto3/iam-2010-05-08/CreateRole)
  + [CreateUser](https://docs.aws.amazon.com/goto/boto3/iam-2010-05-08/CreateUser)
  + [DeleteAccessKey](https://docs.aws.amazon.com/goto/boto3/iam-2010-05-08/DeleteAccessKey)
  + [DeletePolicy](https://docs.aws.amazon.com/goto/boto3/iam-2010-05-08/DeletePolicy)
  + [DeleteRole](https://docs.aws.amazon.com/goto/boto3/iam-2010-05-08/DeleteRole)
  + [DeleteUser](https://docs.aws.amazon.com/goto/boto3/iam-2010-05-08/DeleteUser)
  + [DeleteUserPolicy](https://docs.aws.amazon.com/goto/boto3/iam-2010-05-08/DeleteUserPolicy)
  + [DetachRolePolicy](https://docs.aws.amazon.com/goto/boto3/iam-2010-05-08/DetachRolePolicy)
  + [PutUserPolicy](https://docs.aws.amazon.com/goto/boto3/iam-2010-05-08/PutUserPolicy)

------
#### [ Ruby ]

**SDK für Ruby**  
 Es gibt noch mehr GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby/example_code/iam#code-examples) einrichten und ausführen. 
Erstellen Sie einen IAM-Benutzer und eine Rolle, die die Berechtigung zum Auflisten von Amazon-S3-Buckets erteilt. Der Benutzer hat nur Rechte, um die Rolle anzunehmen. Nachdem Sie die Rolle übernommen haben, verwenden Sie temporäre Anmeldeinformationen, um Buckets für das Konto aufzulisten.  

```
# Wraps the scenario actions.
class ScenarioCreateUserAssumeRole
  attr_reader :iam_client

  # @param [Aws::IAM::Client] iam_client: The AWS IAM client.
  def initialize(iam_client, logger: Logger.new($stdout))
    @iam_client = iam_client
    @logger = logger
  end

  # Waits for the specified number of seconds.
  #
  # @param duration [Integer] The number of seconds to wait.
  def wait(duration)
    puts('Give AWS time to propagate resources...')
    sleep(duration)
  end

  # Creates a user.
  #
  # @param user_name [String] The name to give the user.
  # @return [Aws::IAM::User] The newly created user.
  def create_user(user_name)
    user = @iam_client.create_user(user_name: user_name).user
    @logger.info("Created demo user named #{user.user_name}.")
  rescue Aws::Errors::ServiceError => e
    @logger.info('Tried and failed to create demo user.')
    @logger.info("\t#{e.code}: #{e.message}")
    @logger.info("\nCan't continue the demo without a user!")
    raise
  else
    user
  end

  # Creates an access key for a user.
  #
  # @param user [Aws::IAM::User] The user that owns the key.
  # @return [Aws::IAM::AccessKeyPair] The newly created access key.
  def create_access_key_pair(user)
    user_key = @iam_client.create_access_key(user_name: user.user_name).access_key
    @logger.info("Created accesskey pair for user #{user.user_name}.")
  rescue Aws::Errors::ServiceError => e
    @logger.info("Couldn't create access keys for user #{user.user_name}.")
    @logger.info("\t#{e.code}: #{e.message}")
    raise
  else
    user_key
  end

  # Creates a role that can be assumed by a user.
  #
  # @param role_name [String] The name to give the role.
  # @param user [Aws::IAM::User] The user who is granted permission to assume the role.
  # @return [Aws::IAM::Role] The newly created role.
  def create_role(role_name, user)
    trust_policy = {
      Version: '2012-10-17',
      Statement: [{
        Effect: 'Allow',
        Principal: { 'AWS': user.arn },
        Action: 'sts:AssumeRole'
      }]
    }.to_json
    role = @iam_client.create_role(
      role_name: role_name,
      assume_role_policy_document: trust_policy
    ).role
    @logger.info("Created role #{role.role_name}.")
  rescue Aws::Errors::ServiceError => e
    @logger.info("Couldn't create a role for the demo. Here's why: ")
    @logger.info("\t#{e.code}: #{e.message}")
    raise
  else
    role
  end

  # Creates a policy that grants permission to list S3 buckets in the account, and
  # then attaches the policy to a role.
  #
  # @param policy_name [String] The name to give the policy.
  # @param role [Aws::IAM::Role] The role that the policy is attached to.
  # @return [Aws::IAM::Policy] The newly created policy.
  def create_and_attach_role_policy(policy_name, role)
    policy_document = {
      Version: '2012-10-17',
      Statement: [{
        Effect: 'Allow',
        Action: 's3:ListAllMyBuckets',
        Resource: 'arn:aws:s3:::*'
      }]
    }.to_json
    policy = @iam_client.create_policy(
      policy_name: policy_name,
      policy_document: policy_document
    ).policy
    @iam_client.attach_role_policy(
      role_name: role.role_name,
      policy_arn: policy.arn
    )
    @logger.info("Created policy #{policy.policy_name} and attached it to role #{role.role_name}.")
  rescue Aws::Errors::ServiceError => e
    @logger.info("Couldn't create a policy and attach it to role #{role.role_name}. Here's why: ")
    @logger.info("\t#{e.code}: #{e.message}")
    raise
  end

  # Creates an inline policy for a user that lets the user assume a role.
  #
  # @param policy_name [String] The name to give the policy.
  # @param user [Aws::IAM::User] The user that owns the policy.
  # @param role [Aws::IAM::Role] The role that can be assumed.
  # @return [Aws::IAM::UserPolicy] The newly created policy.
  def create_user_policy(policy_name, user, role)
    policy_document = {
      Version: '2012-10-17',
      Statement: [{
        Effect: 'Allow',
        Action: 'sts:AssumeRole',
        Resource: role.arn
      }]
    }.to_json
    @iam_client.put_user_policy(
      user_name: user.user_name,
      policy_name: policy_name,
      policy_document: policy_document
    )
    puts("Created an inline policy for #{user.user_name} that lets the user assume role #{role.role_name}.")
  rescue Aws::Errors::ServiceError => e
    @logger.info("Couldn't create an inline policy for user #{user.user_name}. Here's why: ")
    @logger.info("\t#{e.code}: #{e.message}")
    raise
  end

  # Creates an Amazon S3 resource with specified credentials. This is separated into a
  # factory function so that it can be mocked for unit testing.
  #
  # @param credentials [Aws::Credentials] The credentials used by the Amazon S3 resource.
  def create_s3_resource(credentials)
    Aws::S3::Resource.new(client: Aws::S3::Client.new(credentials: credentials))
  end

  # Lists the S3 buckets for the account, using the specified Amazon S3 resource.
  # Because the resource uses credentials with limited access, it may not be able to
  # list the S3 buckets.
  #
  # @param s3_resource [Aws::S3::Resource] An Amazon S3 resource.
  def list_buckets(s3_resource)
    count = 10
    s3_resource.buckets.each do |bucket|
      @logger.info "\t#{bucket.name}"
      count -= 1
      break if count.zero?
    end
  rescue Aws::Errors::ServiceError => e
    if e.code == 'AccessDenied'
      puts('Attempt to list buckets with no permissions: AccessDenied.')
    else
      @logger.info("Couldn't list buckets for the account. Here's why: ")
      @logger.info("\t#{e.code}: #{e.message}")
      raise
    end
  end

  # Creates an AWS Security Token Service (AWS STS) client with specified credentials.
  # This is separated into a factory function so that it can be mocked for unit testing.
  #
  # @param key_id [String] The ID of the access key used by the STS client.
  # @param key_secret [String] The secret part of the access key used by the STS client.
  def create_sts_client(key_id, key_secret)
    Aws::STS::Client.new(access_key_id: key_id, secret_access_key: key_secret)
  end

  # Gets temporary credentials that can be used to assume a role.
  #
  # @param role_arn [String] The ARN of the role that is assumed when these credentials
  #                          are used.
  # @param sts_client [AWS::STS::Client] An AWS STS client.
  # @return [Aws::AssumeRoleCredentials] The credentials that can be used to assume the role.
  def assume_role(role_arn, sts_client)
    credentials = Aws::AssumeRoleCredentials.new(
      client: sts_client,
      role_arn: role_arn,
      role_session_name: 'create-use-assume-role-scenario'
    )
    @logger.info("Assumed role '#{role_arn}', got temporary credentials.")
    credentials
  end

  # Deletes a role. If the role has policies attached, they are detached and
  # deleted before the role is deleted.
  #
  # @param role_name [String] The name of the role to delete.
  def delete_role(role_name)
    @iam_client.list_attached_role_policies(role_name: role_name).attached_policies.each do |policy|
      @iam_client.detach_role_policy(role_name: role_name, policy_arn: policy.policy_arn)
      @iam_client.delete_policy(policy_arn: policy.policy_arn)
      @logger.info("Detached and deleted policy #{policy.policy_name}.")
    end
    @iam_client.delete_role({ role_name: role_name })
    @logger.info("Role deleted: #{role_name}.")
  rescue Aws::Errors::ServiceError => e
    @logger.info("Couldn't detach policies and delete role #{role.name}. Here's why:")
    @logger.info("\t#{e.code}: #{e.message}")
    raise
  end

  # Deletes a user. If the user has inline policies or access keys, they are deleted
  # before the user is deleted.
  #
  # @param user [Aws::IAM::User] The user to delete.
  def delete_user(user_name)
    user = @iam_client.list_access_keys(user_name: user_name).access_key_metadata
    user.each do |key|
      @iam_client.delete_access_key({ access_key_id: key.access_key_id, user_name: user_name })
      @logger.info("Deleted access key #{key.access_key_id} for user '#{user_name}'.")
    end

    @iam_client.delete_user(user_name: user_name)
    @logger.info("Deleted user '#{user_name}'.")
  rescue Aws::IAM::Errors::ServiceError => e
    @logger.error("Error deleting user '#{user_name}': #{e.message}")
  end
end

# Runs the IAM create a user and assume a role scenario.
def run_scenario(scenario)
  puts('-' * 88)
  puts('Welcome to the IAM create a user and assume a role demo!')
  puts('-' * 88)
  user = scenario.create_user("doc-example-user-#{Random.uuid}")
  user_key = scenario.create_access_key_pair(user)
  scenario.wait(10)
  role = scenario.create_role("doc-example-role-#{Random.uuid}", user)
  scenario.create_and_attach_role_policy("doc-example-role-policy-#{Random.uuid}", role)
  scenario.create_user_policy("doc-example-user-policy-#{Random.uuid}", user, role)
  scenario.wait(10)
  puts('Try to list buckets with credentials for a user who has no permissions.')
  puts('Expect AccessDenied from this call.')
  scenario.list_buckets(
    scenario.create_s3_resource(Aws::Credentials.new(user_key.access_key_id, user_key.secret_access_key))
  )
  puts('Now, assume the role that grants permission.')
  temp_credentials = scenario.assume_role(
    role.arn, scenario.create_sts_client(user_key.access_key_id, user_key.secret_access_key)
  )
  puts('Here are your buckets:')
  scenario.list_buckets(scenario.create_s3_resource(temp_credentials))
  puts("Deleting role '#{role.role_name}' and attached policies.")
  scenario.delete_role(role.role_name)
  puts("Deleting user '#{user.user_name}', policies, and keys.")
  scenario.delete_user(user.user_name)
  puts('Thanks for watching!')
  puts('-' * 88)
rescue Aws::Errors::ServiceError => e
  puts('Something went wrong with the demo.')
  puts("\t#{e.code}: #{e.message}")
end

run_scenario(ScenarioCreateUserAssumeRole.new(Aws::IAM::Client.new)) if $PROGRAM_NAME == __FILE__
```
+ Weitere API-Informationen finden Sie in den folgenden Themen der *AWS SDK für Ruby -API-Referenz*.
  + [AttachRolePolicy](https://docs.aws.amazon.com/goto/SdkForRubyV3/iam-2010-05-08/AttachRolePolicy)
  + [CreateAccessKey](https://docs.aws.amazon.com/goto/SdkForRubyV3/iam-2010-05-08/CreateAccessKey)
  + [CreatePolicy](https://docs.aws.amazon.com/goto/SdkForRubyV3/iam-2010-05-08/CreatePolicy)
  + [CreateRole](https://docs.aws.amazon.com/goto/SdkForRubyV3/iam-2010-05-08/CreateRole)
  + [CreateUser](https://docs.aws.amazon.com/goto/SdkForRubyV3/iam-2010-05-08/CreateUser)
  + [DeleteAccessKey](https://docs.aws.amazon.com/goto/SdkForRubyV3/iam-2010-05-08/DeleteAccessKey)
  + [DeletePolicy](https://docs.aws.amazon.com/goto/SdkForRubyV3/iam-2010-05-08/DeletePolicy)
  + [DeleteRole](https://docs.aws.amazon.com/goto/SdkForRubyV3/iam-2010-05-08/DeleteRole)
  + [DeleteUser](https://docs.aws.amazon.com/goto/SdkForRubyV3/iam-2010-05-08/DeleteUser)
  + [DeleteUserPolicy](https://docs.aws.amazon.com/goto/SdkForRubyV3/iam-2010-05-08/DeleteUserPolicy)
  + [DetachRolePolicy](https://docs.aws.amazon.com/goto/SdkForRubyV3/iam-2010-05-08/DetachRolePolicy)
  + [PutUserPolicy](https://docs.aws.amazon.com/goto/SdkForRubyV3/iam-2010-05-08/PutUserPolicy)

------
#### [ Rust ]

**SDK für Rust**  
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/iam#code-examples) einrichten und ausführen. 

```
use aws_config::meta::region::RegionProviderChain;
use aws_sdk_iam::Error as iamError;
use aws_sdk_iam::{config::Credentials as iamCredentials, config::Region, Client as iamClient};
use aws_sdk_s3::Client as s3Client;
use aws_sdk_sts::Client as stsClient;
use tokio::time::{sleep, Duration};
use uuid::Uuid;

#[tokio::main]
async fn main() -> Result<(), iamError> {
    let (client, uuid, list_all_buckets_policy_document, inline_policy_document) =
        initialize_variables().await;

    if let Err(e) = run_iam_operations(
        client,
        uuid,
        list_all_buckets_policy_document,
        inline_policy_document,
    )
    .await
    {
        println!("{:?}", e);
    };

    Ok(())
}

async fn initialize_variables() -> (iamClient, String, String, String) {
    let region_provider = RegionProviderChain::first_try(Region::new("us-west-2"));

    let shared_config = aws_config::from_env().region(region_provider).load().await;
    let client = iamClient::new(&shared_config);
    let uuid = Uuid::new_v4().to_string();

    let list_all_buckets_policy_document = "{
                \"Version\": \"2012-10-17\",
                \"Statement\": [{
                    \"Effect\": \"Allow\",
                    \"Action\": \"s3:ListAllMyBuckets\",
                    \"Resource\": \"arn:aws:s3:::*\"}]
    }"
    .to_string();
    let inline_policy_document = "{
                \"Version\": \"2012-10-17\",
                \"Statement\": [{
                    \"Effect\": \"Allow\",
                    \"Action\": \"sts:AssumeRole\",
                    \"Resource\": \"{}\"}]
    }"
    .to_string();

    (
        client,
        uuid,
        list_all_buckets_policy_document,
        inline_policy_document,
    )
}

async fn run_iam_operations(
    client: iamClient,
    uuid: String,
    list_all_buckets_policy_document: String,
    inline_policy_document: String,
) -> Result<(), iamError> {
    let user = iam_service::create_user(&client, &format!("{}{}", "iam_demo_user_", uuid)).await?;
    println!("Created the user with the name: {}", user.user_name());
    let key = iam_service::create_access_key(&client, user.user_name()).await?;

    let assume_role_policy_document = "{
        \"Version\": \"2012-10-17\",
                \"Statement\": [{
                    \"Effect\": \"Allow\",
                    \"Principal\": {\"AWS\": \"{}\"},
                    \"Action\": \"sts:AssumeRole\"
                }]
            }"
    .to_string()
    .replace("{}", user.arn());

    let assume_role_role = iam_service::create_role(
        &client,
        &format!("{}{}", "iam_demo_role_", uuid),
        &assume_role_policy_document,
    )
    .await?;
    println!("Created the role with the ARN: {}", assume_role_role.arn());

    let list_all_buckets_policy = iam_service::create_policy(
        &client,
        &format!("{}{}", "iam_demo_policy_", uuid),
        &list_all_buckets_policy_document,
    )
    .await?;
    println!(
        "Created policy: {}",
        list_all_buckets_policy.policy_name.as_ref().unwrap()
    );

    let attach_role_policy_result =
        iam_service::attach_role_policy(&client, &assume_role_role, &list_all_buckets_policy)
            .await?;
    println!(
        "Attached the policy to the role: {:?}",
        attach_role_policy_result
    );

    let inline_policy_name = format!("{}{}", "iam_demo_inline_policy_", uuid);
    let inline_policy_document = inline_policy_document.replace("{}", assume_role_role.arn());
    iam_service::create_user_policy(&client, &user, &inline_policy_name, &inline_policy_document)
        .await?;
    println!("Created inline policy.");

    //First, fail to list the buckets with the user.
    let creds = iamCredentials::from_keys(key.access_key_id(), key.secret_access_key(), None);
    let fail_config = aws_config::from_env()
        .credentials_provider(creds.clone())
        .load()
        .await;
    println!("Fail config: {:?}", fail_config);
    let fail_client: s3Client = s3Client::new(&fail_config);
    match fail_client.list_buckets().send().await {
        Ok(e) => {
            println!("This should not run. {:?}", e);
        }
        Err(e) => {
            println!("Successfully failed with error: {:?}", e)
        }
    }

    let sts_config = aws_config::from_env()
        .credentials_provider(creds.clone())
        .load()
        .await;
    let sts_client: stsClient = stsClient::new(&sts_config);
    sleep(Duration::from_secs(10)).await;
    let assumed_role = sts_client
        .assume_role()
        .role_arn(assume_role_role.arn())
        .role_session_name(format!("iam_demo_assumerole_session_{uuid}"))
        .send()
        .await;
    println!("Assumed role: {:?}", assumed_role);
    sleep(Duration::from_secs(10)).await;

    let assumed_credentials = iamCredentials::from_keys(
        assumed_role
            .as_ref()
            .unwrap()
            .credentials
            .as_ref()
            .unwrap()
            .access_key_id(),
        assumed_role
            .as_ref()
            .unwrap()
            .credentials
            .as_ref()
            .unwrap()
            .secret_access_key(),
        Some(
            assumed_role
                .as_ref()
                .unwrap()
                .credentials
                .as_ref()
                .unwrap()
                .session_token
                .clone(),
        ),
    );

    let succeed_config = aws_config::from_env()
        .credentials_provider(assumed_credentials)
        .load()
        .await;
    println!("succeed config: {:?}", succeed_config);
    let succeed_client: s3Client = s3Client::new(&succeed_config);
    sleep(Duration::from_secs(10)).await;
    match succeed_client.list_buckets().send().await {
        Ok(_) => {
            println!("This should now run successfully.")
        }
        Err(e) => {
            println!("This should not run. {:?}", e);
            panic!()
        }
    }

    //Clean up.
    iam_service::detach_role_policy(
        &client,
        assume_role_role.role_name(),
        list_all_buckets_policy.arn().unwrap_or_default(),
    )
    .await?;
    iam_service::delete_policy(&client, list_all_buckets_policy).await?;
    iam_service::delete_role(&client, &assume_role_role).await?;
    println!("Deleted role {}", assume_role_role.role_name());
    iam_service::delete_access_key(&client, &user, &key).await?;
    println!("Deleted key for {}", key.user_name());
    iam_service::delete_user_policy(&client, &user, &inline_policy_name).await?;
    println!("Deleted inline user policy: {}", inline_policy_name);
    iam_service::delete_user(&client, &user).await?;
    println!("Deleted user {}", user.user_name());

    Ok(())
}
```
+ Weitere API-Informationen finden Sie in den folgenden Themen der *API-Referenz zum AWS -SDK für Rust*.
  + [AttachRolePolicy](https://docs.rs/aws-sdk-iam/latest/aws_sdk_iam/client/struct.Client.html#method.attach_role_policy)
  + [CreateAccessKey](https://docs.rs/aws-sdk-iam/latest/aws_sdk_iam/client/struct.Client.html#method.create_access_key)
  + [CreatePolicy](https://docs.rs/aws-sdk-iam/latest/aws_sdk_iam/client/struct.Client.html#method.create_policy)
  + [CreateRole](https://docs.rs/aws-sdk-iam/latest/aws_sdk_iam/client/struct.Client.html#method.create_role)
  + [CreateUser](https://docs.rs/aws-sdk-iam/latest/aws_sdk_iam/client/struct.Client.html#method.create_user)
  + [DeleteAccessKey](https://docs.rs/aws-sdk-iam/latest/aws_sdk_iam/client/struct.Client.html#method.delete_access_key)
  + [DeletePolicy](https://docs.rs/aws-sdk-iam/latest/aws_sdk_iam/client/struct.Client.html#method.delete_policy)
  + [DeleteRole](https://docs.rs/aws-sdk-iam/latest/aws_sdk_iam/client/struct.Client.html#method.delete_role)
  + [DeleteUser](https://docs.rs/aws-sdk-iam/latest/aws_sdk_iam/client/struct.Client.html#method.delete_user)
  + [DeleteUserPolicy](https://docs.rs/aws-sdk-iam/latest/aws_sdk_iam/client/struct.Client.html#method.delete_user_policy)
  + [DetachRolePolicy](https://docs.rs/aws-sdk-iam/latest/aws_sdk_iam/client/struct.Client.html#method.detach_role_policy)
  + [PutUserPolicy](https://docs.rs/aws-sdk-iam/latest/aws_sdk_iam/client/struct.Client.html#method.put_user_policy)

------

# Verwendung einer IAM-Rolle zur Gewährung von Berechtigungen für Anwendungen, die in Amazon-EC2-Instances ausgeführt werden
<a name="id_roles_use_switch-role-ec2"></a>

Anwendungen, die auf einer Amazon EC2 EC2-Instance ausgeführt werden, müssen AWS Anmeldeinformationen in den AWS API-Anfragen enthalten. Sie könnten Ihre Entwickler AWS Anmeldeinformationen direkt in der Amazon EC2 EC2-Instance speichern lassen und Anwendungen in dieser Instance erlauben, diese Anmeldeinformationen zu verwenden. Allerdings müssten Entwickler dann die Anmeldeinformationen verwalten und sicherstellen, dass sie die Anmeldeinformationen sicher an jede Instance weitergeben und jede Amazon-EC2-Instance aktualisieren, wenn es Zeit für die Aktualisierung der Anmeldeinformationen ist. Das ist eine Menge zusätzlicher Arbeit.

Stattdessen können und sollten Sie eine IAM-Rolle verwenden, um *temporäre* Anmeldeinformationen für Anwendungen zu verwalten, die auf einer Amazon-EC2-Instance ausgeführt werden. Wenn Sie eine Rolle verwenden, müssen Sie keine langfristigen Anmeldeinformationen (wie Benutzername und Passwort oder Zugriffsschlüssel) an eine Amazon-EC2-Instance verteilen. Stattdessen stellt die Rolle temporäre Berechtigungen bereit, die Anwendungen verwenden können, wenn sie andere AWS Ressourcen aufrufen. Wenn Sie eine Amazon EC2-Instance starten, geben Sie eine mit der Instance zu verknüpfende IAM-Rolle an. Anwendungen, die auf der Instance ausgeführt werden, können dann die von der Rolle bereitgestellten temporären Anmeldeinformationen für API-Anforderungen verwenden.

Die Verwendung von Rollen zur Erteilung von Berechtigungen für Anwendungen, die auf Amazon-EC2-Instances ausgeführt werden, erfordert etwas mehr Konfigurationsaufwand. Eine Anwendung, die auf einer Amazon EC2 EC2-Instance ausgeführt wird, wird AWS vom virtualisierten Betriebssystem abstrahiert. Aufgrund dieser zusätzlichen Trennung benötigen Sie einen zusätzlichen Schritt, um einer Amazon EC2 EC2-Instance eine AWS Rolle und die zugehörigen Berechtigungen zuzuweisen und sie für ihre Anwendungen verfügbar zu machen. Dieser zusätzliche Schritt ist die Erstellung eines *[Instance-Profils](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)*, das einer Instance angefügt wird. Das Instance-Profil enthält die Rolle und kann einer auf einer Instance ausgeführten Anwendung die temporären Anmeldeinformationen der Rolle zur Verfügung stellen. Diese temporären Anmeldeinformationen können dann für die API-Aufrufe der Anwendung verwendet werden, um auf Ressourcen zuzugreifen und den Zugriff auf die in der Rolle angegebenen Ressourcen zu beschränken.

**Anmerkung**  
Einer Amazon-EC2-Instance kann jeweils nur eine Rolle zugewiesen werden und alle Anwendungen auf der Instance haben dieselbe Rolle und dieselben Berechtigungen. Wenn Sie Amazon ECS zur Verwaltung Ihrer Amazon-EC2-Instances nutzen, können Sie Amazon-ECS-Aufgaben Rollen zuweisen, die sich von der Rolle der Amazon-EC2-Instance unterscheiden lassen, auf der sie ausgeführt werden. Die Zuweisung einer Rolle für jede Aufgabe entspricht dem Prinzip des Zugriffs mit der geringsten Berechtigung und ermöglicht eine differenzierte Kontrolle über Aktionen und Ressourcen.  
Weitere Informationen finden Sie unter [Verwenden von IAM-Rollen mit Amazon-ECS-Aufgaben](https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/security-iam-roles.html) im *Handbuch zu bewährten Methoden zu Amazon Elastic Container Service*.

Diese Verwendungsweise von Rollen hat mehrere Vorteile. Da Rollenanmeldeinformationen temporär sind und automatisch aktualisiert werden, müssen Sie die Anmeldeinformationen nicht verwalten und sich keine Sorgen über langfristige Sicherheitsrisiken machen. Wenn Sie darüber hinaus eine einzelne Rolle für mehrere Instances verwenden, werden alle Änderungen in dieser Rolle automatisch an alle Instances propagiert. 

**Anmerkung**  
Obwohl eine Rolle normalerweise einer Amazon-EC2-Instance zugewiesen wird, wenn Sie sie starten, kann eine Rolle auch einer Amazon-EC2-Instance angehängt werden, diese gerade ausgeführt wird. Weitere Informationen zum Anfügen einer Rolle an eine ausgeführte Instance erhalten Sie unter [IAM-Rollen für Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role).

**Topics**
+ [

## Wie funktionieren Rollen für Amazon-EC2-Instances?
](#roles-usingrole-ec2instance-roles)
+ [

## Erforderliche Berechtigungen für die Nutzung von Rollen mit Amazon EC2
](#roles-usingrole-ec2instance-permissions)
+ [

## Was sind die ersten Schritte?
](#roles-usingrole-ec2instance-get-started)
+ [

## Ähnliche Informationen
](#roles-usingrole-ec2instance-related-info)

## Wie funktionieren Rollen für Amazon-EC2-Instances?
<a name="roles-usingrole-ec2instance-roles"></a>

In der folgenden Abbildung führt ein Entwickler eine Anwendung auf einer Amazon-EC2-Instance aus, die Zugriff auf den S3-Bucket namens `amzn-s3-demo-bucket-photos` benötigt. Ein Administrator erstellt die Servicerolle `Get-pics` und weist die Rolle der Amazon-EC2-Instance zu. Die Rolle enthält eine Berechtigungsrichtlinie, die Lesezugriff auf den angegebenen S3-Bucket gewährt. Sie enthält auch eine Vertrauensrichtlinie, die es der Amazon-EC2-Instance ermöglicht, die Rolle zu übernehmen und die temporären Anmeldeinformationen abzurufen. Wenn die Anwendung auf der Instance ausgeführt wird, kann sie mithilfe der temporären Anmeldeinformationen der Rolle auf den photos-Bucket zugreifen. Der Administrator muss dem Entwickler keine Berechtigung für den Zugriff auf den photos-Bucket gewähren und der Entwickler muss die Anmeldeinformationen nie weitergeben oder verwalten.

![\[Anwendung auf einer Amazon EC2 EC2-Instance, die auf eine AWS Ressource zugreift\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/roles-usingrole-ec2roleinstance.png)


1. Der Administrator erstellt mit IAM die Rolle **Get-pics**. In der Vertrauensrichtlinie der Rolle legt der Administrator fest, dass nur Amazon-EC2-Instances die Rolle übernehmen können. In der Berechtigungsrichtlinie der Rolle gibt der Administrator Leseberechtigungen für den Bucket `amzn-s3-demo-bucket-photos` an.

1. Ein Entwickler startet eine Amazon-EC2-Instance und weist die Rolle `Get-pics` dieser Instance zu.
**Anmerkung**  
Wenn Sie die IAM-Konsole verwenden, wird das Instance-Profil für Sie verwaltet und ist Ihnen gegenüber weitestgehend transparent. Wenn Sie jedoch die API AWS CLI oder verwenden, um die Rolle und die Amazon EC2 EC2-Instance zu erstellen und zu verwalten, müssen Sie das Instance-Profil erstellen und ihm die Rolle in separaten Schritten zuweisen. In diesem Fall müssen Sie den Instance-Profilnamen anstelle des Rollennamens angeben, wenn Sie die Instance starten.

1. Wenn die Anwendung ausgeführt wird, erhält sie temporäre Sicherheitsanmeldeinformationen von den Amazon EC2-[Instance-Metadaten](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html), wie unter [Abrufen von Sicherheitsanmeldeinformationen von Instance-Metadaten](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#instance-metadata-security-credentials) beschrieben. Hierbei handelt es sich um [temporäre Sicherheitsanmeldeinformationen](id_credentials_temp.md) für die Rolle, die für einen begrenzten Zeitraum gültig sind. 

   Bei einigen kann der Entwickler einen Anbieter verwenden [AWS SDKs](https://aws.amazon.com/tools/), der die temporären Sicherheitsanmeldedaten transparent verwaltet. (In der Dokumentation für Einzelpersonen werden die Funktionen AWS SDKs beschrieben, die von diesem SDK für die Verwaltung von Anmeldeinformationen unterstützt werden.)

   Alternativ kann die Anwendung die temporären Anmeldeinformationen auch direkt aus den Instance-Metadaten der Amazon-EC2-Instance beziehen. Die Anmeldeinformationen und die zugehörigen Werte sind in der Kategorie `iam/security-credentials/role-name` (in diesem Fall `iam/security-credentials/Get-pics`) der Metadaten verfügbar. Wenn die Anwendung die Anmeldeinformationen aus den Instance-Metadaten bezieht, können die Anmeldeinformationen zwischengespeichert werden.

1. Mithilfe der erhaltenen temporären Anmeldeinformationen greift die Anwendung auf den Bucket "photos" zu. Aufgrund der zur Rolle **Get-pics** angefügten Richtlinie verfügt die Anwendung nur über Leseberechtigungen. 

   Die in der Instance verfügbaren temporären Sicherheitsanmeldeinformationen werden vor deren Ablauf automatisch aktualisiert, sodass immer gültige Anmeldeinformationen verfügbar sind. Die Anwendung muss lediglich sicherstellen, dass sie neue Anmeldeinformationen von den Instance-Metadaten erhält, bevor die aktuellen Anmeldeinformationen ablaufen. Es ist möglich, das AWS SDK zur Verwaltung von Anmeldeinformationen zu verwenden, sodass die Anwendung keine zusätzliche Logik zum Aktualisieren der Anmeldeinformationen enthalten muss. Zum Beispiel das Instanceiieren von Clients mit Anbietern von Anmeldeinformationen für Instance-Profile. Erhält jedoch die Anwendung temporäre Anmeldeinformationen von den Instance-Metadaten und speichert diese im Cache, sollte die Anwendung die Anmeldeinformationen stündlich oder mindestens 15 Minuten vor deren Ablauf aktualisieren. Die Ablaufzeit ist in den Informationen enthalten, die in der Kategorie `iam/security-credentials/role-name` zurückgegeben wird. 

## Erforderliche Berechtigungen für die Nutzung von Rollen mit Amazon EC2
<a name="roles-usingrole-ec2instance-permissions"></a>

Um eine Instance mit einer Rolle zu starten, muss der Entwickler über die Berechtigung zum Starten von Amazon-EC2-Instances und die Berechtigung zum Übergeben von IAM-Rollen verfügen.

Mit der folgenden Beispielrichtlinie können Benutzer die verwenden AWS-Managementkonsole , um eine Instanz mit einer Rolle zu starten. Die Richtlinie enthält Platzhalter (`*`), um einem Benutzer die Übergabe von beliebigen Rollen und die Ausführung beliebiger Amazon-EC2-Aktionen zu gestatten. Die `ListInstanceProfiles`-Aktion ermöglicht den Benutzern, alle im AWS-Konto verfügbaren Rollen anzuzeigen.

**Example Beispielrichtlinie, mit der eine Benutzerberechtigung zum Starten einer Instance mit einer beliebigen Rolle über die Amazon EC2-Konsole erteilt wird**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "IamPassRole",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "ec2.amazonaws.com"
                }
            }
        },
        {
            "Sid": "ListEc2AndListInstanceProfiles",
            "Effect": "Allow",
            "Action": [
                "iam:ListInstanceProfiles",
                "ec2:Describe*",
                "ec2:Search*",
                "ec2:Get*"
            ],
            "Resource": "*"
        }
    ]
}
```

### Einschränken, welche Rollen an Amazon EC2 EC2-Instances übergeben werden können (mit) PassRole
<a name="roles-usingrole-ec2instance-passrole"></a>

Sie können die `PassRole`-Berechtigung verwenden, um einzuschränken, welche Rolle ein Benutzer an eine Amazon-EC2-Instance übergeben kann, wenn der Benutzer die Instance startet. Dadurch können Sie verhindern, dass ein Benutzer Anwendungen ausführt, die über mehr Berechtigungen als der Benutzer verfügen, das heißt, um zu vermeiden, dass der Benutzer erhöhte Berechtigungen erhält. Angenommen, die Benutzerin Alice verfügt nur über Berechtigungen zum Starten von Amazon-EC2-Instances und für den Zugriff auf Amazon-S3-Buckets, aber die von ihr an eine Amazon-EC2-Instance übergeben Rolle verfügt über Zugriffsberechtigungen auf IAM und Amazon DynamoDB. In diesem Fall könnte Alice in der Lage sein, die Instance zu starten, sich bei ihr anzumelden, temporäre Sicherheitsanmeldeinformationen zu erhalten und dann IAM- oder DynamoDB-Aktionen durchzuführen, für die sie nicht autorisiert ist.

Um einzuschränken, welche Rollen ein Benutzer an eine Amazon-EC2-Instance übergeben kann, erstellen Sie eine Richtlinie, die die Aktion `PassRole` zulässt. Anschließend fügen Sie die Richtlinie dem Benutzer (oder einer IAM-Gruppe, zu der der Benutzer gehört) zu, der Amazon-EC2-Instances starten wird. Im Element `Resource` der Richtlinie führen Sie die Rolle oder Rollen auf, die der Benutzer an Amazon-EC2-Instances übergeben darf. Wenn der Benutzer eine Instance startet und ihr ein Rolle zuordnet, prüft Amazon EC2, ob der Benutzer zum Übergeben dieser Rolle berechtigt ist. Selbstverständlich sollten Sie auch sicherstellen, dass die Rolle, die der Benutzer übergeben darf, nicht mehr Berechtigungen enthält, als für den Benutzer vorgesehen ist.

**Anmerkung**  
`PassRole` ist keine API-Aktion im Sinne von `RunInstances` oder `ListInstanceProfiles`. Stattdessen handelt es sich um eine Berechtigung, die AWS überprüft, wann immer ein Rollen-ARN als Parameter an eine API übergeben wird (oder die Konsole dies im Namen des Benutzers tut). Damit kann der Administrator steuern, welche Rollen von welchen Benutzern übergeben werden dürfen. In diesem Fall wird sichergestellt, dass der Benutzer eine spezifische Rolle einer Amazon EC2-Instance anfügen darf.

**Example Beispielrichtlinie, mit der eine Benutzerberechtigung zum Starten einer Amazon-EC2-Instance mit einer bestimmten Rolle erteilt wird**  
In der folgenden Beispielrichtlinie wird den Benutzern ermöglicht, die Amazon EC2-API zum Starten einer Instance mit einer Rolle zu verwenden. Das Element `Resource` gibt den Amazon-Ressourcenamen (ARN) einer Rolle an. Indem Sie den ARN angeben, erteilt die Richtlinie dem Benutzer die Berechtigung, nur die Rolle `Get-pics` zu übergeben. Wenn der Benutzer versucht, eine andere Rolle beim Starten einer Instance anzugeben, schlägt die Aktion fehl. Der Benutzer ist nicht zum Ausführen einer beliebigen Instance berechtigt, unabhängig davon, ob er eine Rolle übergibt.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/Get-pics"
        }
    ]
}
```

### Einer Instance-Profilrolle den Wechsel zu einer Rolle in eine anderen Konto erlauben
<a name="switch-role-ec2-another-account"></a>

Sie können einer Anwendung, die auf einer Amazon EC2-Instance ausgeführt wird, das Ausführen von Befehlen in einem anderen Konto erlauben. Dazu müssen Sie der Amazon-EC2-Instance-Rolle im ersten Konto den Wechsel zu einer Rolle im zweiten Konto erlauben.

Stellen Sie sich vor, Sie verwenden zwei AWS-Konten 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 Amazon-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 jedoch auch die Möglichkeit haben, die `efgh`-kontoübergreifende Rolle anzunehmen, um auf den Amazon S3-Bucket `amzn-s3-demo-bucket2` im Konto `222222222222` zuzugreifen.

![\[Das Diagramm zeigt, wie ein Entwickler eine Amazon-EC2-Instance mit der Rolle startet, um Zugriff auf Fotos in einem Amazon-S3-Bucket zu erhalten.\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/roles-instance-profile-cross-account.png)


Der Instance-Profil-Rolle `abcd` von Amazon EC2 muss die folgende Berechtigungsrichtlinie zugeordnet sein, damit die Anwendung auf den `amzn-s3-demo-bucket1` Amazon-S3-Bucket zugreifen kann:

***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"
        }
    ]
}
```

------

Die `abcd`-Rolle muss dem Amazon EC2-Service vertrauen, um die Rolle anzunehmen. Dazu benötigt die `abcd`-Rolle die folgende Vertrauensrichtlinie:

***Konto 111111111111 `abcd` Rolle Treuhandpolitik***

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

****  

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

------

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 für die Übernahme der `abcd`-Instance-Profilrolle vertrauen. Dazu benötigt die `efgh`-Rolle die folgende Vertrauensrichtlinie:

***Konto 222222222222 `efgh` Rolle Treuhandpolitik***

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

****  

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

------

## Was sind die ersten Schritte?
<a name="roles-usingrole-ec2instance-get-started"></a>

Um die Funktionsweise einer Rolle mit Amazon-EC2-Instances nachzuvollziehen, müssen Sie mithilfe der IAM-Konsole eine Rolle erstellen, eine Amazon-EC2-Instance starten, die diese Rolle verwendet und dann die laufende Instance analysieren. Sie können die [Instance-Metadaten](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) untersuchen, um nachzuvollziehen, wie die Instance die temporären Anmeldeinformationen der Rolle erhält. Sie können außerdem nachvollziehen, wie eine auf der Instance ausgeführte Anwendung diese Rolle verwenden kann. Verwenden Sie die folgenden Ressourcen, um weitere Informationen zu erhalten. 
+ [Tutorial zu IAM-Rollen auf Amazon-EC2-Instances.](https://www.youtube.com/watch?v=TlCuOjviOhk). Das verknüpfte Video zeigt, wie man eine IAM-Rolle mit einer Amazon-EC2-Instance verwendet, um zu steuern, was eine Anwendung machen darf, wenn sie auf der Instance ausgeführt wird. Das Video zeigt, wie die (im AWS SDK geschriebene) Anwendung über die Rolle temporäre Sicherheitsanmeldedaten abrufen kann. 
+ SDK-Anleitungen. Die AWS SDK-Dokumentation enthält exemplarische Vorgehensweisen, die eine Anwendung zeigen, die auf einer Amazon EC2 EC2-Instance ausgeführt wird und temporäre Anmeldeinformationen für Rollen verwendet, um einen Amazon S3 S3-Bucket zu lesen. Jede der folgenden Anleitungen beschreibt die gleiche Vorgehensweise in einer anderen Programmiersprache:
  + [Konfigurieren von IAM-Rollen Amazon EC2 mit dem SDK for Java](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/java-dg-roles.html) im *AWS SDK für Java Developer Guide* 
  + [Starten einer Amazon-EC2-Instance mit dem SDK für .NET ](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/run-instance.html) im *AWS SDK für .NET -Entwicklerhandbuch*
  + [Erstellen einer Amazon EC2 Instance mit dem SDK for Ruby](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/ec2-example-create-instance.html) im *AWS SDK für Ruby Developer Guide*

## Ähnliche Informationen
<a name="roles-usingrole-ec2instance-related-info"></a>

Weitere Informationen zum Erstellen von Rollen für Amazon-EC2-Instances finden Sie in den folgenden Informationen:
+ Weitere Informationen zur [Verwendung von IAM-Rollen mit Amazon-EC2-Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) finden Sie im *Amazon-EC2-Benutzerhandbuch*.
+ Informationen zum Erstellen einer Rolle finden Sie unter [Erstellung einer IAM-Rolle](id_roles_create.md).
+ Weitere Informationen zum Verwenden von temporären Sicherheitsanmeldeinformationen finden Sie unter [Temporäre IAM Sicherheitsanmeldeinformationen](id_credentials_temp.md).
+ Wenn Sie mit der IAM-API oder der Befehlszeilenschnittstelle (CLI) arbeiten möchten, müssen Sie IAM-Instance-Profile erstellen und verwalten. Weitere Informationen zu Instance-Profilen finden Sie unter [Verwendung von Instance-Profilen](id_roles_use_switch-role-ec2_instance-profiles.md).
+ Weitere Informationen zu temporären Sicherheits-Anmeldeinformationen für Rollen in den Instance-Metadaten finden Sie unter [Abrufen von Sicherheits-Anmeldeinformationen aus Instance-Metadaten](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#instance-metadata-security-credentials) im *Amazon-EC2-Benutzerhandbuch*.

# Verwendung von Instance-Profilen
<a name="id_roles_use_switch-role-ec2_instance-profiles"></a>

Verwenden Sie ein Instance-Profil, um eine IAM-Rolle an eine EC2-Instance zu übergeben. Weitere Informationen finden Sie unter [IAM-Rollen für Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) im *Amazon-EC2-Benutzerhandbuch*.

## Verwalten von Instance-Profilen (Konsole)
<a name="instance-profiles-manage-console"></a>

Wenn Sie die verwenden AWS-Managementkonsole , um eine Rolle für Amazon EC2 zu erstellen, erstellt die Konsole automatisch ein Instance-Profil und weist diesem den gleichen Namen wie die Rolle zu. Wenn Sie dann die Amazon EC2-Konsole verwenden, um eine Instance mit einer IAM-Rolle zu starten, können Sie eine Rolle auswählen, die der Instance zugewiesen wird. In der Konsole ist die Liste, die angezeigt wird, tatsächlich eine Liste von Instance-Profilnamen. Die Konsole erstellt kein Instance-Profil für eine Rolle, die nicht mit Amazon EC2 verknüpft ist.

Sie können die verwenden AWS-Managementkonsole , um IAM-Rollen und Instance-Profile für Amazon EC2 zu löschen, wenn die Rolle und das Instance-Profil denselben Namen haben. Weitere Informationen zum Löschen von Instanceprofilen finden Sie unter [Rollen oder Instance-Profile löschen](id_roles_manage_delete.md).

**Anmerkung**  
Zum Aktualisieren der Berechtigungen für eine Instance ersetzen Sie das Instance-Profil. Das Entfernen einer Rolle aus einem Instance-Profil wird nicht empfohlen, da es bis zu einer Stunde dauern kann, bis diese Änderung wirksam wird.

## Verwaltung von Instanzprofilen (AWS CLI oder AWS API)
<a name="instance-profiles-manage-cli-api"></a>

Wenn Sie Ihre Rollen über die AWS CLI oder die AWS API verwalten, erstellen Sie Rollen und Instanzprofile als separate Aktionen. Da Rollen und Instance-Profile unterschiedliche Namen haben können, müssen Sie die Namen der Instance-Profile sowie die Namen der Rollen kennen, die sie enthalten. Auf diese Weise können Sie das richtige Instance-Profil wählen, wenn Sie eine EC2 Instance starten. 

Sie können Ihren IAM-Ressourcen Tags anfügen, einschließlich Instance-Profile, um den Zugriff auf sie zu identifizieren, zu organisieren und zu kontrollieren. Sie können Instanzprofile nur taggen, wenn Sie die AWS API AWS CLI oder verwenden. 

**Anmerkung**  
Ein Instance-Profil kann nur eine einzige IAM-Rolle enthalten, eine Rolle kann jedoch in mehreren Instance-Profile enthalten sein. Diese Beschränkung auf eine Rolle pro Instance-Profil kann nicht erhöht werden. Sie können die vorhandene Rolle entfernen und dann eine andere Rolle zu einem Instance-Profil hinzufügen. AWS Aus Gründen der [Konsistenz müssen Sie dann warten, bis die Änderung für alle sichtbar ist](https://en.wikipedia.org/wiki/Eventual_consistency). Wenn Sie die Änderung erzwingen möchten, müssen Sie [die Zuweisung des Instance-Profils aufheben](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIamInstanceProfile.html) und dann [das Instance-Profil zuweisen](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateIamInstanceProfile.html), oder Sie beenden Ihre Instance und starten sie neu.

### Verwalten von Instance-Profilen (AWS CLI)
<a name="instance-profiles-manage-cli"></a>

Sie können die folgenden AWS CLI Befehle verwenden, um mit Instanzprofilen in einem AWS Konto zu arbeiten. 
+ Erstellen eines Instance-Profils: [https://docs.aws.amazon.com/cli/latest/reference/iam/create-instance-profile.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-instance-profile.html)
+ Markieren eines Instance-Profils: [https://docs.aws.amazon.com/cli/latest/reference/iam/tag-instance-profile.html](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-instance-profile.html)
+ Auflisten von Tags für ein Instance-Profil: [https://docs.aws.amazon.com/cli/latest/reference/iam/list-instance-profile-tags.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-instance-profile-tags.html)
+ Entfernen der Markierung eines Instance-Profils: [https://docs.aws.amazon.com/cli/latest/reference/iam/untag-instance-profile.html](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-instance-profile.html)
+ Hinzufügen einer Rolle zu einem Instance-Profil: [https://docs.aws.amazon.com/cli/latest/reference/iam/add-role-to-instance-profile.html](https://docs.aws.amazon.com/cli/latest/reference/iam/add-role-to-instance-profile.html) 
+ Auflisten von Instance-Profilen: [https://docs.aws.amazon.com/cli/latest/reference/iam/list-instance-profiles.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-instance-profiles.html), [https://docs.aws.amazon.com/cli/latest/reference/iam/list-instance-profiles-for-role.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-instance-profiles-for-role.html) 
+ Abrufen von Informationen zu einem Instance-Profil: [https://docs.aws.amazon.com/cli/latest/reference/iam/get-instance-profile.html](https://docs.aws.amazon.com/cli/latest/reference/iam/get-instance-profile.html) 
+ Entfernen einer Rolle aus einem Instance-Profil: [https://docs.aws.amazon.com/cli/latest/reference/iam/remove-role-from-instance-profile.html](https://docs.aws.amazon.com/cli/latest/reference/iam/remove-role-from-instance-profile.html)
+ Löschen eines Instance-Profils: [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-instance-profile.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-instance-profile.html) 

Mithilfe der folgenden Befehle können Sie eine Rolle auch einer bereits ausgeführten EC2-Instance anfügen. Weitere Informationen finden Sie unter [IAM-Rollen für Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role).
+ Anfügen eines Instance-Profils mit einer Rolle an eine angehaltene oder ausgeführte EC2-Instance: [https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-iam-instance-profile.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-iam-instance-profile.html) 
+ Abrufen von Informationen zu einem Instance-Profil, das an eine EC2-Instance angefügt ist: [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html) 
+ Trennen eines Instance-Profils mit einer Rolle von einer angehaltenen oder ausgeführten EC2-Instance: [https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-iam-instance-profile.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-iam-instance-profile.html) 

### Verwaltung von Instanzprofilen (AWS API)
<a name="instance-profiles-manage-api"></a>

Sie können die folgenden AWS API-Operationen aufrufen, um mit Instanzprofilen in einem zu arbeiten AWS-Konto.
+ Erstellen eines Instance-Profils: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateInstanceProfile.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateInstanceProfile.html) 
+ Markieren eines Instance-Profils: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagInstanceProfile.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagInstanceProfile.html) 
+ Auflisten von Tags auf einem Instance-Profil: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagInstanceProfile.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagInstanceProfile.html) 
+ Entfernen der Markierung eines Instance-Profils: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagInstanceProfile.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagInstanceProfile.html) 
+ Hinzufügen einer Rolle zu einem Instance-Profil: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_AddRoleToInstanceProfile.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AddRoleToInstanceProfile.html) 
+ Auflisten von Instance-Profilen: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListInstanceProfiles.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListInstanceProfiles.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListInstanceProfilesForRole.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListInstanceProfilesForRole.html) 
+ Abrufen von Informationen zu einem Instance-Profil: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetInstanceProfile.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetInstanceProfile.html) 
+ Entfernen einer Rolle aus einem Instance-Profil: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_RemoveRoleFromInstanceProfile.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_RemoveRoleFromInstanceProfile.html) 
+ Löschen eines Instance-Profils: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteInstanceProfile.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteInstanceProfile.html) 

Außerdem können Sie eine Rolle einer bereits ausgeführten EC2 Instance anfügen, indem Sie die folgenden Operationen aufrufen. Weitere Informationen finden Sie unter [IAM-Rollen für Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role).
+ Anfügen eines Instance-Profils mit einer Rolle an eine angehaltene oder ausgeführte EC2-Instance: [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateIamInstanceProfile.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateIamInstanceProfile.html) 
+ Abrufen von Informationen zu einem Instance-Profil, das an eine EC2-Instance angefügt ist: [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeIamInstanceProfileAssociations.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeIamInstanceProfileAssociations.html) 
+ Trennen eines Instance-Profils mit einer Rolle von einer angehaltenen oder ausgeführten EC2-Instance: [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIamInstanceProfile.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIamInstanceProfile.html) 

# Identitätsanbieter und Verbund zu AWS
<a name="id_roles_providers"></a>

Als bewährte Methode empfehlen wir, dass menschliche Benutzer für den Zugriff auf AWS Ressourcen einen Verbund mit einem Identitätsanbieter verwenden müssen, anstatt einzelne IAM-Benutzer in Ihrem System zu erstellen. AWS-Konto Mit einem Identitätsanbieter (IdP) können Sie Ihre Benutzeridentitäten außerhalb von verwalten AWS und diesen externen Benutzeridentitäten Berechtigungen zur Nutzung von AWS Ressourcen in Ihrem Konto erteilen. Dies ist hilfreich, wenn Sie in Ihrer Organisation bereits ein eigenes Identitätssystem wie ein unternehmensweites Benutzerverzeichnis verwenden. Dies ist auch nützlich, wenn Sie eine mobile App oder Webanwendung erstellen, für die Zugriff auf Ressourcen erforderlich ist. AWS 

**Anmerkung**  
Sie können menschliche Benutzer im [IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/what-is.html) auch mit einem externen SAML-Identitätsanbieter verwalten, anstatt den SAML-Verbund in IAM zu verwenden. Der IAM Identity Center-Verbund mit einem Identitätsanbieter bietet Ihnen die Möglichkeit, Personen Zugriff auf mehrere AWS Konten in Ihrer Organisation und auf mehrere AWS Anwendungen zu gewähren. Informationen zu bestimmten Situationen, in denen ein IAM-Benutzer erforderlich ist, finden Sie unter [Wann sollte ein IAM-Benutzer (anstelle einer Rolle) erstellt werden?](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_which-to-choose).

Wenn Sie lieber ein einzelnes AWS Konto verwenden möchten, ohne IAM Identity Center zu aktivieren, können Sie IAM mit einem externen IdP verwenden, der Identitätsinformationen entweder über [OpenID Connect (OIDC) oder [SAML 2.0 (Security Assertion Markup Language 2.0](https://wiki.oasis-open.org/security))](http://openid.net/connect/) bereitstellt. AWS OIDC verbindet Anwendungen wie Aktionen, die nicht auf Ressourcen ausgeführt werden. GitHub AWS AWS Beispiele für bekannte SAML-Identitätsanbieter sind Shibboleth und Active Directory Federation Services.

Wenn Sie einen -Identitätsanbieter verwenden, müssen Sie keinen eigenen Anmeldecode schreiben oder eigene Benutzeridentitäten verwalten. Der Identitätsanbieter erledigt das für Sie. Ihre externen Benutzer melden sich über einen IdP an, und Sie können diesen externen Identitäten Berechtigungen zur Nutzung von AWS Ressourcen in Ihrem Konto erteilen. Identitätsanbieter tragen zu Ihrer AWS-Konto Sicherheit bei, da Sie keine langfristigen Sicherheitsanmeldedaten wie Zugriffsschlüssel verteilen oder in Ihre Anwendung einbetten müssen.

Sehen Sie sich die folgende Tabelle an, um herauszufinden, welcher IAM-Verbundtyp für Ihren Anwendungsfall am besten geeignet ist: IAM, IAM Identity Center oder Amazon Cognito. Die folgenden Zusammenfassungen und Tabellen bieten einen Überblick über die Methoden, mit denen Ihre Benutzer Verbundzugriff auf AWS Ressourcen erhalten können.


| IAM-Verbund-Typ | Account type (Art des Kontos) | Zugriffsverwaltung von: | Unterstützte Identitätsquelle | 
| --- | --- | --- | --- | 
|  Verbund mit IAM Identity Center  |  Mehrere Konten, verwaltet von AWS Organizations  |  Die menschlichen Benutzer Ihrer Belegschaft  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/id_roles_providers.html)  | 
|  Verbund mit IAM  |  Einzelnes, eigenständiges Konto  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/id_roles_providers.html)  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/id_roles_providers.html)  | 
|  Verwenden von Amazon Cognito Sync mit Identitätspools  |  Beliebig  |  Die Benutzer von Apps, die für den Zugriff auf Ressourcen eine IAM-Autorisierung benötigen  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/id_roles_providers.html)  | 

## Verbund mit IAM Identity Center
<a name="id_roles_providers_identity-center"></a>

Für eine zentralisierte Zugriffsverwaltung von menschlichen Benutzern empfehlen wir Ihnen die Verwendung von [IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html), um den Zugriff auf Ihre Konten und die Berechtigungen innerhalb dieser Konten zu verwalten. Benutzern im IAM Identity Center werden kurzfristig Zugangsdaten für Ihre AWS Ressourcen gewährt. Sie können Active Directory, einen externen Identitätsanbieter (IdP) oder ein IAM Identity Center-Verzeichnis als Identitätsquelle für Benutzer und Gruppen verwenden, um Zugriff auf Ihre AWS Ressourcen zuzuweisen. 

IAM Identity Center unterstützt den Identitätsverbund mit SAML (Security Assertion Markup Language) 2.0, um Benutzern, die berechtigt sind, Anwendungen innerhalb des Zugriffsportals zu verwenden, einen föderierten Single Sign-On-Zugriff zu bieten. AWS Benutzer können sich dann per Single Sign-On bei Diensten anmelden, die SAML unterstützen, einschließlich Anwendungen AWS-Managementkonsole und Drittanbieteranwendungen wie Microsoft 365, SAP Concur und Salesforce.

## Verbund mit IAM
<a name="id_roles_providers_iam"></a>

Wir empfehlen zwar dringend, menschliche Benutzer in IAM Identity Center zu verwalten, aber Sie können den Verbundprinzipalzugriff mit IAM für menschliche Benutzer in kurzfristigen, kleinen Bereitstellungen aktivieren. Mit IAM können Sie separate SAML 2.0 und Open ID Connect (OIDC) verwenden IdPs und föderierte Hauptattribute für die Zugriffskontrolle verwenden. Mit IAM können Sie Benutzerattribute wie Kostenstelle, Titel oder Gebietsschema von Ihnen an übergeben und auf Basis dieser Attribute detaillierte IdPs AWS Zugriffsberechtigungen implementieren.

Eine *Workload* ist eine Sammlung von Ressourcen und Code, die einen geschäftlichen Nutzen erbringen, z. B. eine Anwendung oder ein Backend-Prozess. Ihr Workload kann eine IAM-Identität erfordern, um Anfragen an AWS Dienste, Anwendungen, Betriebstools und Komponenten zu stellen. Zu diesen Identitäten gehören Maschinen, die in Ihren AWS Umgebungen ausgeführt werden, z. B. EC2 Amazon-Instances oder AWS Lambda -Funktionen.

Sie können auch Maschinenidentitäten für externe Parteien verwalten, die Zugriff benötigen. Um Zugriff auf Maschinenidentitäten zu gewähren, können Sie IAM-Rollen verwenden. IAM-Rollen verfügen über spezifische Berechtigungen und ermöglichen den Zugriff, AWS indem sie sich bei einer Rollensitzung auf temporäre Sicherheitsanmeldedaten verlassen. Darüber hinaus benötigen möglicherweise Computer außerhalb AWS dieses Bereichs Zugriff auf Ihre AWS Umgebungen. Für Maschinen, die außerhalb von AWS Ihnen laufen, können Sie [IAM Roles Anywhere](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/introduction.html) verwenden. Weitere Informationen zu Rollen finden Sie unter [IAM-Rollen](id_roles.md). Einzelheiten dazu, wie Sie Rollen verwenden können, um Zugriff auf andere zu delegieren AWS-Konten, finden Sie unter. [IAM-Tutorial: Delegieren Sie den Zugriff über AWS Konten hinweg mithilfe von IAM-Rollen](tutorial_cross-account-with-roles.md)

Um einen IdP direkt mit IAM zu verknüpfen, erstellen Sie eine Identitätsanbieter-Entität, um eine Vertrauensbeziehung zwischen Ihnen AWS-Konto und dem IdP aufzubauen. IAM-Unterstützungen IdPs , die mit [OpenID Connect (OIDC) oder SAML 2.0 (](http://openid.net/connect/)[Security Assertion Markup Language 2.0](https://wiki.oasis-open.org/security)) kompatibel sind. Weitere Informationen zur Verwendung einer dieser Optionen mit finden Sie in den folgenden IdPs Abschnitten: AWS
+ [OIDC-Verbund](id_roles_providers_oidc.md)
+ [SAML 2.0-Föderation](id_roles_providers_saml.md)

## Verwenden von Amazon Cognito Sync mit Identitätspools
<a name="id_roles_providers_cognito"></a>

Amazon Cognito wurde für Entwickler entwickelt, die Benutzer in ihren Mobil- und Web-Apps authentifizieren und autorisieren möchten. Amazon-Cognito-Benutzerpools fügen Ihrer App Anmelde- und Registrierungsfunktionen hinzu, und Identitätspools stellen IAM-Anmeldeinformationen bereit, die Ihren Benutzern Zugriff auf geschützte Ressourcen gewähren, die Sie in AWS verwalten. Identitätspools erwerben über den API-Vorgang [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) Anmeldeinformationen für temporäre Sitzungen.

Amazon Cognito arbeitet mit externen Identitätsanbietern zusammen, die SAML und OpenID Connect unterstützen, sowie mit Anbietern sozialer Identitäten wie Facebook, Google und Amazon. Ihre App kann einen Benutzer mit einem Benutzerpool oder einem externen IdP anmelden und dann Ressourcen in seinem Namen mit benutzerdefinierten temporären Sitzungen in einer IAM-Rolle abrufen.

## Weitere Ressourcen
<a name="id_roles_providers_additional_resources"></a>
+ Eine Demonstration, wie Sie einen benutzerdefinierten Verbundproxy erstellen, der Single Sign-On (SSO) AWS-Managementkonsole unter Verwendung des Authentifizierungssystems Ihrer Organisation ermöglicht, finden Sie unter[Benutzerdefinierten Identity Broker-Zugriff auf die AWS Konsole aktivieren](id_roles_providers_enable-console-custom-url.md).

# Gängige Szenarien
<a name="id_federation_common_scenarios"></a>

**Anmerkung**  
Wir empfehlen, dass Sie von Ihren menschlichen Benutzern verlangen, dass sie beim Zugriff temporäre Anmeldeinformationen verwenden AWS. Haben Sie darüber nachgedacht, es zu verwenden AWS IAM Identity Center? Sie können IAM Identity Center verwenden, um den Zugriff auf mehrere Konten zentral zu verwalten AWS-Konten und Benutzern MFA-geschützten Single Sign-On-Zugriff auf alle ihnen zugewiesenen Konten von einem Ort aus zu gewähren. Mit IAM Identity Center können Sie Benutzeridentitäten in IAM Identity Center erstellen und verwalten oder einfach eine Verbindung zu Ihrem vorhandenen SAML-2.0-kompatiblen Identitätsanbieter herstellen. Weitere Informationen finden Sie unter [Was ist IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) im *AWS IAM Identity Center -Benutzerhandbuch*.

Sie können einen externen Identitätsanbieter (IdP) verwenden, um Benutzeridentitäten außerhalb von AWS und dem externen IdP zu verwalten. Ein externer IdP kann Identitätsinformationen entweder AWS mithilfe von OpenID Connect (OIDC) oder Security Assertion Markup Language (SAML) bereitstellen. OIDC wird häufig verwendet, wenn eine Anwendung, die nicht ausgeführt wird, Zugriff auf Ressourcen benötigt. AWS AWS 

Wenn Sie den Verbund mit einem externen IdP konfigurieren möchten, erstellen Sie einen *IAM-Identitätsanbieter*, um AWS über den externen IdP und seine Konfiguration zu informieren. Dadurch wird Vertrauen zwischen Ihrem AWS-Konto und dem externen IdP hergestellt. Die folgenden Themen bieten gängige Szenarien zur Verwendung von IAM-Identitätsanbietern.

**Topics**
+ [

## Amazon Cognito für mobile Apps
](#id_roles_providers_oidc_cognito)
+ [

## OIDC-Verbund für mobile Apps
](#id_roles_providers_oidc_manual)

## Amazon Cognito für mobile Apps
<a name="id_roles_providers_oidc_cognito"></a>

Die bevorzugte Methode zur Nutzung des OIDC-Verbunds ist die Nutzung von [Amazon Cognito](https://aws.amazon.com/cognito/). Beispiel: Die Entwicklerin Adele entwickelt ein Spiel für ein Mobilgerät, in dem Benutzerdaten wie Spielstände und Profile in Amazon S3 und Amazon DynamoDB. gespeichert werden. Adele könnte diese Daten lokal auf dem Gerät speichern und sie mithilfe von Amazon Cognito zwischen Geräten synchronisieren. Sie weiß, dass es aus Sicherheits- und Wartungsgründen nicht sinnvoll ist, langfristige AWS -Sicherheitsanmeldeinformationen mit dem Spiel herauszugeben. Sie weiß auch, dass das Spiel möglicherweise eine große Anzahl von Benutzern haben wird. Aus all diesen Gründen möchte Sie in IAM nicht für jeden einzelnen Spieler eine neue Benutzeridentität anlegen. Stattdessen konzipiert sie das Spiel so, dass Benutzer sich mit einer bereits vorhandenen Identität eines bekannten externen Identitätsanbieters (IDP) wie **Anmeldung mit Amazon**, **Facebook**, **Google** oder eines anderen **OpenID Connect** (OIDC)-kompatiblen IDP anmelden können. In ihrem Spiel nutzt sie den Vorteil des Authentifizierungsmechanismus eines dieser Anbieter, um die Benutzeridentität zu überprüfen. 

Damit die mobile App auf ihre AWS Ressourcen zugreifen kann, registriert sich Adele zunächst für eine Entwickler-ID bei der von ihr ausgewählten Person. IdPs Außerdem konfiguriert sie die Anwendung bei jedem dieser Anbieter. In ihrem Buch AWS-Konto , das den Amazon S3 S3-Bucket und die DynamoDB-Tabelle für das Spiel enthält, verwendet Adele Amazon Cognito, um IAM-Rollen zu erstellen, die genau die Berechtigungen definieren, die das Spiel benötigt. Wenn sie einen OIDC-IdP verwendet, erstellt sie auch eine IAM-OIDC-Identitätsanbieter-Entität, um Vertrauen zwischen einem [Amazon Cognito Cognito-Identitätspool](https://docs.aws.amazon.com/cognito/latest/developerguide/external-identity-providers.html) in ihr und dem IdP herzustellen. AWS-Konto 

Im Code der App ruft Adele die Anmeldeschnittstelle des zuvor konfigurierten Identitätsanbieters auf. Der IdP kümmert sich um alle Details, mit denen sich der Benutzer anmelden kann, und die App erhält vom Anbieter ein OAuth Zugriffstoken oder ein OIDC-ID-Token. Adeles App kann diese Authentifizierungsinformationen gegen eine Reihe temporärer Sicherheitsanmeldedaten eintauschen, die aus einer AWS Zugriffsschlüssel-ID, einem geheimen Zugriffsschlüssel und einem Sitzungstoken bestehen. Die App kann diese Anmeldeinformationen dann verwenden, um auf Webdienste zuzugreifen, die von AWS angeboten werden. Dabei ist die App auf die Berechtigungen beschränkt, die in der angenommenen Rolle festgelegt wurden.

Die nachfolgende Abbildung zeigt eine vereinfachte Darstellung dieses Vorgangs mit Anmeldung über Login with Amazon als Identitätsanbieter. In Schritt 2 kann die App auch Facebook, Google oder einen anderen OIDC-kompatiblen Identitätsanwender nutzen, was in der Abbildung jedoch nicht dargestellt ist.

![\[Beispiel-Workflow, in dem Amazon Cognito für Verbundbenutzer einer mobilen App verwendet wird\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/mobile-app-web-identity-federation.diagram.png)


 

1. Ein Kunde startet Ihre App auf einem Mobilgerät. Er wird aufgefordert, sich anzumelden.

1. Die App verwendet die Anmeldung über Login with Amazon, um die Anmeldeinformationen des Benutzers zu überprüfen.

1. Die App verwendet die Amazon-Cognito-API-Operationen `GetId` und `GetCredentialsForIdentity` um das Login-with-Amazon-ID-Token gegen ein Amazon-Cognito-Token auszutauschen. Amazon Cognito, das so konfiguriert wurde, dass es Ihrem Login-with-Amazon-Projekt vertraut, generiert ein Token, das es für temporäre Sitzungs-Anmeldeinformationen mit AWS STS austauscht.

1. Die App erhält temporäre Sicherheitsanmeldeinformationen von Amazon Cognito. Ihre App kann auch den Basic (Classic) -Workflow in Amazon Cognito verwenden, um Tokens von AWS STS Using abzurufen. `AssumeRoleWithWebIdentity` Weitere Informationen finden Sie unter [Identitätspools (Verbundidentitäten) Authentifizierungsablauf](https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html) im Amazon-Cognito-Entwicklerhandbuch.

1. Über diese temporären Sicherheitsanmeldeinformationen kann die App auf alle AWS -Ressourcen zugreifen, die für die App benötigt werden. Über die mit den temporären Sicherheitsanmeldeinformationen verknüpfte Rolle sowie die ihr zugewiesenen Richtlinien wird genau festgelegt, welcher Zugriff gewährt wird.

Gehen Sie wie folgt vor, um Ihre App so zu konfigurieren, dass sie Amazon Cognito verwendet, um Benutzer zu authentifizieren und Ihrer App Zugriff auf Ressourcen zu AWS gewähren. Wie Sie dieses Szenario genau umsetzen, wird in der Dokumentation zu Amazon Cognito erläutert.

1. (Optional) Melden Sie sich als Entwickler bei Login with Amazon, Facebook, Google oder einem anderen OpenID Connect (OIDC)-kompatiblen Identitätsanbieter an und konfigurieren Sie eine oder mehrere Anwendungen mit dem Anbieter. Dieser Schritt ist optional, da Amazon Cognito auch unauthentifizierten (Gast-)Zugang für Ihre Benutzer unterstützt.

1. Gehen Sie zu [Amazon Cognito in der AWS-Managementkonsole](https://console.aws.amazon.com/cognito/home). Verwenden Sie den Amazon Cognito-Assistenten, um einen Identitätspool zu erstellen. Dabei handelt es sich um einen Container, den Amazon Cognito verwendet, um die Identitäten der Endbenutzer für Ihre Anwendungen zu organisieren. Identitäten-Pools können zwischen Apps geteilt werden. Wenn Sie einen Identitätspool einrichten, erstellt Amazon Cognito eine oder zwei IAM-Rollen (eine für authentifizierte Identitäten und eine für nicht authentifizierte "Gast"-Identitäten), die Berechtigungen für Amazon Cognito-Benutzer definieren. 

1. Integrieren Sie [AWS](https://docs.amplify.aws) Amplify in Ihre App und importieren Sie die Dateien, die für die Verwendung von Amazon Cognito erforderlich sind.

1. Erstellen Sie eine Instance des Amazon Cognito Credentials Providers und übergeben Sie die Identitätspool-ID, Ihre AWS-Konto -Nummer und den Amazon-Ressourcenname (ARN) der Rollen, die Sie mit dem Identitätspool verknüpft haben. Der Amazon Cognito-Assistent im AWS-Managementkonsole bietet Beispielcode, der Ihnen den Einstieg erleichtert.

1. Wenn Ihre App auf eine AWS Ressource zugreift, übergeben Sie die Credentials Provider-Instance an das Client-Objekt, das temporäre Sicherheitsanmeldedaten an den Client weitergibt. Die Berechtigungen für die Anmeldeinformationen basieren auf der Rolle bzw. den Rollen, die Sie zuvor definiert haben.

Weitere Informationen finden Sie unter:
+ [Melden Sie sich in der AWS Amplify Framework-Dokumentation an (Android)](https://docs.amplify.aws/lib/auth/signin/q/platform/android/). 
+ [Melden Sie sich in der AWS Amplify Framework-Dokumentation an (iOS)](https://docs.amplify.aws/lib/auth/signin/q/platform/ios/).

## OIDC-Verbund für mobile Apps
<a name="id_roles_providers_oidc_manual"></a>

Für optimale Ergebnisse verwenden Sie Amazon Cognito als Identity Broker für fast alle OIDC-Verbundszenarien. Amazon Cognito ist einfach zu bedienen und bietet zusätzliche Funktionen wie anonymen (nicht authentifizierten) Zugriff und die Synchronisierung von Benutzerdaten über Geräte und Anbieter hinweg. Wenn Sie jedoch bereits durch manuelles Aufrufen der `AssumeRoleWithWebIdentity`-API eine App erstellt haben, die den OIDC-Verbund verwendet, können Sie diese weiterhin verwenden und Ihre Apps werden weiterhin einwandfrei funktionieren. 

Der Prozess zur Nutzung des OIDC-Verbunds ***ohne*** Amazon Cognito folgt diesem allgemeinen Schema: 

1. Melden Sie sich als Entwickler über den externen Identitätsanbieter (Identity Provider, IdP) an und konfigurieren Sie Ihre App mit dem Identitätsanbieter, der Ihnen eine eindeutige ID für Ihre App übermittelt. (Verschiedene IdPs verwenden unterschiedliche Terminologie für diesen Prozess. In dieser Gliederung wird der Begriff „*Konfigurieren*“ für den Prozess der Identifizierung Ihrer App mit dem IdP verwendet.) Jeder IdP gibt dir eine App-ID, die für diesen IdP eindeutig ist. Wenn du also dieselbe App mit mehreren konfigurierst IdPs, hat deine App mehrere Apps. IDs Sie können mehrere Apps mit jedem Anbieter konfigurieren. 

   Die folgenden externen Links bieten Informationen zur Verwendung einiger der häufig verwendeten Identitätsanbieter ()IdPs: 
   + [Login with Amazon-Entwicklerzentrum](https://login.amazon.com/) 
   + [Add Facebook Login to Your App or Website](https://developers.facebook.com/docs/facebook-login/v2.1) auf der Facebook-Entwickler-Website. 
   + [Verwenden von OAuth 2.0 für die Anmeldung (OpenID Connect)](https://developers.google.com/accounts/docs/OAuth2Login) auf der Google-Entwicklerseite.
**Wichtig**  
Wenn Sie einen OIDC-Identitätsanbieter von Google, Facebook oder Amazon Cognito verwenden, erstellen Sie keinen separaten IAM-Identitätsanbieter in der. AWS-Managementkonsole AWS hat diese OIDC-Identitätsanbieter integriert und stehen Ihnen zur Verfügung. Überspringen Sie den folgenden Schritt, und wechseln Sie direkt zum Erstellen neuer Rollen mit Ihrem Identitätsanbieter.

1. Wenn Sie einen anderen IdentiIdP als Google, Facebook oder Amazon Cognito verwenden, der mit OIDC kompatibel ist, erstellen Sie dafür eine IAM-Identitätsanbieter-Entität.

1. Erstellen Sie in IAM [eine oder mehrere Rollen](id_roles_create_for-idp.md). Definieren Sie für jede Rolle, wer die Rolle übernehmen kann (die Vertrauensrichtlinie), und welche Berechtigungen die Benutzer der App haben sollen (die Berechtigungsrichtlinie). In der Regel erstellen Sie eine Rolle für jeden Identitätsanbieter, den die Anwendung unterstützt. Sie können beispielsweise eine Rolle erstellen, die von einer Anwendung übernommen wird, wenn sich der Benutzer über Login with Amazon anmeldet, eine zweite Rolle für die gleiche Anwendung, in der der Benutzer sich mit Facebook anmeldet, und eine dritte Rolle für die Anwendung, in der sich der Benutzer mit Google angemeldet. Für die Vertrauensbeziehung geben Sie den Identitätsanbieter (wie Amazon.com) als `Principal` (die vertrauenswürdigen Entität) an und schließen eine `Condition` ein, die der vom Identitätsanbieter zugewiesenen App-ID entspricht. Beispiele von Rollen für verschiedene Anbieter sind in [Erstellen einer Rolle für einen externen Identitätsanbieter](id_roles_create_for-idp.md) beschrieben. 

1. Authentifizieren Sie Ihre Benutzer in der Anwendung mit dem Identitätsanbieter. Die Einzelheiten zur Vorgehensweise unterscheiden sich sowohl nach Maßgabe des verwendeten Identitätsanbieters (Login with Amazon, Facebook oder Google) als auch der Plattform, auf der die App ausgeführt wird. Beispielsweise kann sich die Authentifizierungsmethode einer Android-App von der einer iOS-App oder einer JavaScript basierten Web-App unterscheiden.

   Wenn der Benutzer nicht bereits angemeldet haben, zeigt der Identitätsanbieter in der Regel eine Anmeldeseite an. Nachdem der Identitätsanbieter den Benutzer authentifiziert hat, gibt er einen Authentifizierungs-Token mit Informationen über den Benutzer an Ihre App zurück. Die Informationen hängt davon ab, was der Identitätsanbieter bereitstellt und welche Informationen der Benutzer weitergeben möchte. Sie können diese Informationen in Ihrer App verwenden.

1. Führen Sie in Ihrer App einen *nicht signierten* Aufruf an die `AssumeRoleWithWebIdentity`-Aktion durch, um temporäre Sicherheitsanmeldeinformationen anzufordern. In der Anfrage übergeben Sie das Authentifizierungstoken des IdP und geben den Amazon-Ressourcennamen (ARN) für die IAM-Rolle an, die Sie für diesen IdP erstellt haben. AWS überprüft, ob das Token vertrauenswürdig und gültig ist, und gibt in diesem Fall temporäre Sicherheitsanmeldeinformationen an Ihre App zurück, die über die Berechtigungen für die Rolle verfügen, die Sie in der Anfrage angeben. Die Antwort umfasst auch Metadaten über den Benutzer vom Identitätsanbieter, wie z. B. die eindeutige Benutzer-ID, die der Identitätsanbieter dem Benutzer zuweist.

1. Mithilfe der temporären Sicherheitsanmeldedaten aus der `AssumeRoleWithWebIdentity` Antwort stellt Ihre App signierte Anfragen an AWS API-Operationen. Die Benutzer-ID-Informationen des IdP können Benutzer in Ihrer App unterscheiden. Sie können beispielsweise Objekte in Amazon-S3-Ordner ablegen, die die Benutzer-ID als Präfix oder Suffix enthalten. Dadurch können Sie Richtlinien zur Zugriffskontrolle erstellen, die den Ordner sperren, sodass nur der Benutzer mit der entsprechenden ID darauf zugreifen kann. Weitere Informationen finden Sie unter [AWS STS föderierte Benutzerprinzipale](reference_policies_elements_principal.md#sts-session-principals).

1. Ihre App sollte die temporären Sicherheitsanmeldeinformationen zwischenspeichern, sodass Sie nicht jedes Mal, wenn die App eine Anforderung an AWS machen muss, neue abrufen müssen. Die Anmeldeinformationen sind standardmäßig eine Stunde gültig. Wenn die Anmeldeinformationen abgelaufen sind (oder davor), rufen Sie `AssumeRoleWithWebIdentity` erneut auf, um einen neuen Satz an temporären Sicherheitsanmeldeinformationen abzurufen. Abhängig vom Identitätsanbieter und der Vorgehensweise beim Verwalten seiner Token müssen Sie möglicherweise das Token aktualisieren, bevor Sie einen neuen Aufruf an `AssumeRoleWithWebIdentity` machen, da die Token des Identitätsanbieters normalerweise nach einer bestimmten Zeit ablaufen. Wenn Sie das AWS SDK for iOS oder das AWS SDK for Android verwenden, können Sie die [Amazon STSCredentials Provider-Aktion](https://aws.amazon.com/blogs/mobile/using-the-amazoncredentialsprovider-protocol-in-the-aws-sdk-for-ios) verwenden, die die temporären IAM-Anmeldeinformationen verwaltet und sie bei Bedarf aktualisiert.

# OIDC-Verbund
<a name="id_roles_providers_oidc"></a>

Stellen Sie sich vor, Sie erstellen eine Anwendung, die auf AWS Ressourcen zugreift, z. B. GitHub Aktionen, die Workflows für den Zugriff auf Amazon S3 und DynamoDB verwendet. 

Wenn Sie diese Workflows verwenden, stellen Sie Anfragen an AWS Dienste, die mit einem AWS Zugriffsschlüssel signiert werden müssen. Wir empfehlen jedoch **dringend**, AWS Anmeldeinformationen **nicht** langfristig in externen Anwendungen zu speichern AWS. Konfigurieren Sie Ihre Anwendungen stattdessen mithilfe des *OIDC-Verbunds* so, dass temporäre AWS Sicherheitsanmeldedaten bei Bedarf dynamisch angefordert werden. Die bereitgestellten temporären Anmeldeinformationen sind einer AWS Rolle zugeordnet, die nur über Berechtigungen verfügt, die zur Ausführung der für die Anwendung erforderlichen Aufgaben erforderlich sind.

Beim OIDC-Verbund müssen Sie keinen benutzerdefinierten Anmelde-Code erstellen oder Ihre eigenen Benutzeridentitäten verwalten. Stattdessen können Sie OIDC in Anwendungen wie GitHub Actions oder jedem anderen [OpenID Connect (OIDC)](http://openid.net/connect/) -kompatiblen IdP zur Authentifizierung verwenden. AWS Sie erhalten ein Authentifizierungstoken, das als JSON Web Token (JWT) bezeichnet wird, und tauschen dieses Token dann gegen temporäre Sicherheitsanmeldedaten aus, die einer IAM-Rolle mit Berechtigungen zur Nutzung bestimmter Ressourcen in AWS Ihrem zugeordnet sind. AWS-Konto Die Verwendung eines IdP hilft Ihnen dabei, Ihre AWS-Konto Sicherheit zu gewährleisten, da Sie keine langfristigen Sicherheitsnachweise in Ihre Anwendung einbetten und verteilen müssen.

Der OIDC-Verbund unterstützt sowohl die machine-to-machine Authentifizierung (wie CI/CD Pipelines, automatisierte Skripts und serverlose Anwendungen) als auch die Authentifizierung durch menschliche Benutzer. Für Szenarien mit Benutzerauthentifizierung, in denen Sie Benutzerregistrierung, Anmeldung und Benutzerprofile verwalten müssen, sollten Sie [Amazon Cognito](https://aws.amazon.com/cognito/) als Identitätsbroker verwenden. Weitere Informationen über die Verwendung von Amazon Cognito mit OIDC finden Sie unter [Amazon Cognito für mobile Apps](id_federation_common_scenarios.md#id_roles_providers_oidc_cognito).

**Anmerkung**  
Von OpenID Connect (OIDCJWTs) -Identitätsanbietern ausgegebene JSON-Web-Tokens () enthalten im `exp` Anspruch eine Ablaufzeit, die angibt, wann das Token abläuft. IAM bietet ein Zeitfenster von fünf Minuten nach der im JWT angegebenen Ablaufzeit, um Zeitabweichungen zu berücksichtigen, wie es der [OpenID Connect (OIDC](https://openid.net/specs/openid-connect-core-1_0.html)) Core 1.0-Standard zulässt. Das bedeutet, dass OIDC, die von IAM nach Ablauf der Ablaufzeit, aber innerhalb dieses Fünf-Minuten-Zeitfensters JWTs empfangen werden, zur weiteren Auswertung und Verarbeitung akzeptiert werden.

**Topics**
+ [

## Weitere Ressourcen für den OIDC-Verbund
](#id_roles_providers_oidc_resources)
+ [

# OpenID Connect (OIDC)-Identitätsanbieter in IAM erstellen
](id_roles_providers_create_oidc.md)
+ [

# Abrufen des Fingerabdrucks eines OpenID-Connect-Identitätsanbieters
](id_roles_providers_create_oidc_verify-thumbprint.md)
+ [

# Identitätsanbieter-Kontrollen für gemeinsame OIDC-Anbieter
](id_roles_providers_oidc_secure-by-default.md)

## Weitere Ressourcen für den OIDC-Verbund
<a name="id_roles_providers_oidc_resources"></a>

Die folgenden Ressourcen können Ihnen dabei helfen, mehr über den OIDC-Verbund zu erfahren:
+ Verwenden Sie OpenID Connect in Ihren GitHub Workflows, indem Sie [OpenID Connect in Amazon Web Services konfigurieren](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services)
+ [Amazon Cognito Identity](https://docs.amplify.aws/lib/auth/advanced/q/platform/android/) im *Amplify Libraries for Android-Handbuch* und [Amazon Cognito Identity](https://docs.amplify.aws/lib/auth/advanced/q/platform/ios/) im *Amplify Libraries for Swift-Handbuch*.
+ [So verwenden Sie eine externe ID bei der Gewährung des Zugriffs auf Ihre AWS Ressourcen](https://aws.amazon.com/blogs/security/how-to-use-external-id-when-granting-access-to-your-aws-resources/) Im *AWS Sicherheitsblog* finden Sie Anleitungen zur sicheren Konfiguration des kontoübergreifenden Zugriffs und des externen Identitätsverbunds.

# OpenID Connect (OIDC)-Identitätsanbieter in IAM erstellen
<a name="id_roles_providers_create_oidc"></a>

*IAM-OIDC-Identitätsanbieter* sind Entitäten in IAM, die einen externen Identitätsanbieter (IdP)-Service beschreiben, der den [OpenID Connect](http://openid.net/connect/) (OIDC)-Standard unterstützt, wie Google oder Salesforce. Sie verwenden einen IAM-OIDC-Identitätsanbieter, wenn Sie eine Vertrauensstellung zwischen einem OIDC-kompatiblen Identitätsanbieter und Ihrem AWS-Konto einrichten möchten. Dies ist nützlich, wenn Sie eine mobile App oder Webanwendung erstellen, für die Zugriff auf AWS Ressourcen erforderlich ist, Sie aber keinen benutzerdefinierten Anmeldecode erstellen oder Ihre eigenen Benutzeridentitäten verwalten möchten. Weitere Informationen zu diesem Szenario finden Sie unter [OIDC-Verbund](id_roles_providers_oidc.md).

Sie können einen IAM-OIDC-Identitätsanbieter mithilfe der AWS-Managementkonsole Tools für Windows PowerShell oder der AWS Command Line Interface IAM-API erstellen und verwalten.

Nachdem Sie einen IAM OIDC-Identitätsanbieter erstellt haben, müssen Sie eine oder mehrere IAM-Rollen erstellen. Eine Rolle ist eine Identität AWS , die keine eigenen Anmeldeinformationen hat (wie dies bei einem Benutzer der Fall ist). Aber in diesem Kontext ist eine Rolle dynamisch einem OIDC-Verbundprinzipal zugewiesen, der vom Identitätsanbieter der Organisation authentifiziert wird. Die Rolle ermöglicht es dem Identitätsanbieter Ihres Unternehmens, temporäre Sicherheitsanmeldeinformationen für den Zugriff auf AWS anzufordern. Die der Rolle zugewiesenen Richtlinien bestimmen, was Benutzer tun dürfen AWS. Informationen zum Erstellen einer Rolle für einen Drittanbieter-Identitätsanbieter finden Sie unter [Erstellen einer Rolle für einen externen Identitätsanbieter](id_roles_create_for-idp.md).

**Wichtig**  
Wenn Sie identitätsbasierte Richtlinien für Aktionen konfigurieren, die `oidc-provider`-Ressourcen unterstützen, bewertet IAM die vollständige URL des OIDC-Identitätsanbieters, einschließlich aller angegebenen Pfade. Wenn Ihre OIDC-Identitätsanbieter-URL über einen Pfad verfügt, müssen Sie diesen Pfad in der `oidc-provider`-ARN als `Resource`-Elementwert angeben. Sie haben auch die Möglichkeit, einen Schrägstrich und einen Platzhalter (`/*`) an die URL-Domain anzuhängen oder Platzhalterzeichen (`*` und `?`) an einer beliebigen Stelle im URL-Pfad zu verwenden. Wenn die URL des OIDC-Identitätsanbieters in der Anforderung nicht mit dem im `Resource`-Element der Richtlinie festgelegten Wert übereinstimmt, schlägt die Anforderung fehl.

Informationen zur Behebung häufiger Probleme mit dem IAM-OIDC-Verbund finden Sie unter [Beheben von Fehlern im Zusammenhang mit OIDC auf re:POST](https://repost.aws/knowledge-center/iam-oidc-idp-federation). AWS 

**Topics**
+ [

## Voraussetzungen: Konfiguration Ihres Identitätsanbieters validieren
](#manage-oidc-provider-prerequisites)
+ [

## Erstellen und Verwalten eines OIDC-Anbieters (Konsole)
](#manage-oidc-provider-console)
+ [

## Erstellen und Verwalten eines IAM-OIDC-Identitätsanbieters (AWS CLI)
](#manage-oidc-provider-cli)
+ [

## Einen OIDC Identity Provider (API) erstellen und verwalten AWS
](#manage-oidc-provider-api)

## Voraussetzungen: Konfiguration Ihres Identitätsanbieters validieren
<a name="manage-oidc-provider-prerequisites"></a>

Bevor Sie einen IAM-OIDC-Identitätsanbieter erstellen können, benötigen Sie die folgenden Informationen von Ihrem IdP. Weitere Informationen zum Abrufen von Informationen zur OIDC-Anbieterkonfiguration finden Sie in der Dokumentation Ihres IdP.

1. Ermitteln Sie die öffentlich verfügbare URL Ihres OIDC-Identitätsanbieters. Die URL muss mit Zeichen beginnen, sind zulässig, https://. Per the OIDC standard, path com Abfrageparameter jedoch nicht. In der Regel besteht die URL nur aus einem Hostnamen, z. B. https://server.example.org or https://example.com Die URL darf keine Portnummer enthalten.

1. Fügen Sie **/.well-known/openid-configuration** am Ende der URL Ihres OIDC-Identitätsanbieters hinzu, um das öffentlich verfügbare Konfigurationsdokument und die Metadaten des Anbieters anzuzeigen. Sie müssen über ein Erkennungsdokument im JSON-Format mit dem Konfigurationsdokument und den Metadaten des Anbieters verfügen, die von der [URL des Erkennungsendpunkts des OpenID-Connect-Anbieters](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig) abgerufen werden können.

1. Bestätigen Sie, dass die folgenden Werte in den Konfigurationsinformationen Ihres Anbieters enthalten sind. Wenn in Ihrer OpenID-Konfiguration eines dieser Felder fehlt, müssen Sie Ihr Erkennungsdokument aktualisieren. Dieser Vorgang kann je nach Identitätsanbieter unterschiedlich sein. Befolgen Sie daher die Dokumentation Ihres IdP, um diese Aufgabe abzuschließen.
   + Aussteller: Die URL für Ihre Domain.
   + jwks\$1uri: Der JSON Web Key Set (JWKS)-Endpunkt, von dem IAM Ihre öffentlichen Schlüssel erhält. Ihr Identitätsanbieter muss einen JSON Web Key Set (JWKS)-Endpunkt in die openid-Konfiguration aufnehmen. Dieser URI definiert, wo Sie Ihre öffentlichen Schlüssel abrufen, die zur Überprüfung der signierten Token von Ihrem Identitätsanbieter verwendet werden.
**Anmerkung**  
Das JSON Web Key Set (JWKS) muss mindestens einen Schlüssel enthalten und kann maximal 100 RSA-Schlüssel und 100 EC-Schlüssel enthalten. Wenn das JWKS Ihres OIDC-Identitätsanbieters mehr als 100 RSA- oder 100 EC-Schlüssel enthält, wird eine `InvalidIdentityToken` Ausnahme zurückgegeben, wenn Sie den [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)API-Vorgang mit einem JWT verwenden, das mit einem Schlüsseltyp signiert ist, der die Grenze von 100 Schlüsseln überschreitet. Wenn beispielsweise ein JWT mit dem RSA-Algorithmus signiert ist und das JWKS Ihres Anbieters mehr als 100 RSA-Schlüssel enthält, wird eine `InvalidIdentityToken`-Ausnahme zurückgegeben.
   + claims\$1supported: Informationen über den Benutzer, anhand derer Sie sicherstellen können, dass die OIDC-Authentifizierungsantworten Ihres IdP die erforderlichen Attribute enthalten, die in IAM-Richtlinien AWS verwendet werden, um die Berechtigungen für OIDC-Verbundprinzipale zu überprüfen. Eine Liste der IAM-Bedingungsschlüssel, die für Anträge verwendet werden können, finden Sie unter [Verfügbare Schlüssel für den AWS OIDC-Verbund](reference_policies_iam-condition-keys.md#condition-keys-wif).
     + aud: Sie müssen in JSON-Web-Tokens (JWTs) ermitteln, welchen Wert Ihre IdP-Probleme für die Zielgruppe beanspruchen. Der Zielgruppenantrag (aud) ist anwendungsspezifisch und identifiziert die beabsichtigten Empfänger des Tokens. Wenn Sie eine mobile oder Web-App bei einem OpenID-Connect-Anbieter registrieren, erstellt dieser eine Client-ID, die die Anwendung identifiziert. Die Client-ID ist eine eindeutige Kennung für Ihre App, die im aud-Antrag zur Authentifizierung übergeben wird. Der aud-Antrag muss beim Erstellen Ihres IAM OIDC-Identitätsanbieters mit dem Zielgruppenwert übereinstimmen.
     + iat: Anträge müssen einen Wert für `iat` enthalten, der den Zeitpunkt der Ausstellung des ID-Tokens darstellt.
     + iss: Die URL des Identitätsanbieters. Die URL muss mit einem Wort beginnen https:// and should correspond to the Provider URL provided to IAM. Per the OIDC standard, path com. Argumente sind zulässig, Abfrageparameter jedoch nicht. In der Regel besteht die URL nur aus einem Hostnamen, z. B. https://server.example.org or https://example.com Die URL darf keine Portnummer enthalten.
   + response\$1types\$1supported: id\$1token
   + subject\$1types\$1supported: öffentlich
   + id\$1token\$1signing\$1alg\$1values\$1supported:,,,, RS256 RS384 RS512 ES256 ES384 ES512
**Anmerkung**  
Sie können zusätzliche Ansprüche wie im Beispiel unten angeben; der Anspruch wird jedoch ignoriert. `my_custom_claim` AWS STS   

   ```
   {
     "issuer": "https://example-domain.com",
     "jwks_uri": "https://example-domain.com/jwks/keys",
     "claims_supported": [
       "aud",
       "iat",
       "iss",
       "name",
       "sub",
       "my_custom_claim"
     ],
     "response_types_supported": [
       "id_token"
     ],
     "id_token_signing_alg_values_supported": [
       "RS256",
       "RS384",
       "RS512",
       "ES256",
       "ES384",
       "ES512"
     ],
     "subject_types_supported": [
       "public"
     ]
   }
   ```

## Erstellen und Verwalten eines OIDC-Anbieters (Konsole)
<a name="manage-oidc-provider-console"></a>

Folgen Sie diesen Anweisungen, um einen IAM OIDC-Identitätsanbieter im AWS-Managementkonsole zu erstellen und zu verwalten.

**Wichtig**  
Wenn Sie einen IAM-OIDC-Identitätsanbieter von Google, Facebook oder Amazon Cognito verwenden, erstellen Sie mit diesem Verfahren keinen separaten IAM-Identitätsanbieter. Diese OIDC-Identitätsanbieter sind bereits integriert AWS und stehen Ihnen zur Verfügung. Folgen Sie stattdessen den Schritten zum Erstellen neuer Rollen für Ihren Identitätsanbieter, siehe [Rollen für OpenID-Connect-Verbund erstellen (Konsole)](id_roles_create_for-idp_oidc.md).

**So erstellen Sie einen IAM OIDC-Identitätsanbieter (Konsole)**

1. <a name="idpoidcstep1"></a>Bevor Sie einen IAM-OIDC-Identitätsanbieter erstellen, müssen Sie Ihre Anwendung beim Identitätsanbieter registrieren, um eine *Client-ID* zu erhalten. Die Client-ID (auch als *Zielgruppe* bezeichnet) ist ein eindeutiger Bezeichner für Ihre App, der ausgestellt wird, wenn Sie Ihre App beim Identitätsanbieter registrieren. Weitere Informationen über den Erhalt einer Client-ID finden Sie in der Dokumentation Ihres Identitätsanbieters. 
**Anmerkung**  
AWS sichert die Kommunikation mit OIDC-Identitätsanbietern (IdPs) mithilfe unserer Bibliothek vertrauenswürdiger Stammzertifizierungsstellen (), um das TLS-Zertifikat des JSON Web Key Set (JWKSCAs) -Endpunkts zu verifizieren. Wenn Ihr OIDC-IdP auf ein Zertifikat angewiesen ist, das nicht von einem dieser vertrauenswürdigen Unternehmen signiert ist CAs, sichern wir nur dann die Kommunikation mit den in der IdP-Konfiguration festgelegten Fingerabdrücken. AWS greift auf die Überprüfung von Fingerabdrücken zurück, wenn wir das TLS-Zertifikat nicht abrufen können oder wenn TLS v1.3 erforderlich ist.

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich **Identitätsanbieter** und dann **Anbieter hinzufügen**.

1. Wählen Sie für **Anbieter konfigurieren** die Option **OpenID Connect**. 

1. Geben Sie für **Provider URL** die URL des Identitätsanbieters ein. Die URL muss den folgenden Einschränkungen entsprechen:
   + Die URL berücksichtigt Groß- und Kleinschreibung.
   + Die URL muss mit **https://** beginnen.
   + Die URL darf keine Portnummer enthalten. 
   + Innerhalb Ihres muss AWS-Konto jeder IAM-OIDC-Identitätsanbieter eine eindeutige URL verwenden. Wenn Sie versuchen, eine URL einzureichen, die bereits für einen OpenID Connect-Anbieter in der verwendet wurde AWS-Konto, erhalten Sie eine Fehlermeldung.

1. Geben Sie für **Audience** die Client-ID der Anwendung ein, die Sie beim IdP registriert und in [Step 1](#idpoidcstep1) der Sie empfangen haben und an AWS die Sie Anfragen stellen. Wenn Sie zusätzliche Kunden IDs (auch *Zielgruppen* genannt) für diesen IdP haben, können Sie diese später auf der Anbieter-Detailseite hinzufügen.
**Anmerkung**  
Wenn Ihr IdP-JWT-Token den `azp`-Antrag enthält, geben Sie diesen Wert als Zielgruppenwert ein.  
Wenn Ihr OIDC-Identitätsanbieter `aud` sowohl als auch `azp` Ansprüche im Token festlegt, AWS STS verwendet er den Wert im `azp` Anspruch als Anspruch. `aud`

1. (Optional) Für **Tags hinzufügen** können Sie Schlüssel-Wert-Paare hinzufügen, um Ihre zu identifizieren und zu organisieren. IdPs Sie können auch Tags verwenden, um den Zugriff auf AWS -Ressourcen zu steuern. Weitere Informationen zum Markieren von IAM-OIDC-Identitätsanbietern finden Sie unter [OpenID Connect (OIDC)-Identitätsanbieter mit Tags versehen](id_tags_oidc.md). Wählen Sie **Add tag**. Geben Sie Werte für jedes Tag-Schlüsselwertpaar ein. 

1. Verifizieren Sie die angegebenen Informationen. Wenn Sie fertig sind, wählen Sie **Anbieter hinzufügen**. IAM wird versuchen, den Fingerabdruck der führenden Zwischen-CA des OIDC-IdP-Serverzertifikats abzurufen und zu verwenden, um den IAM-OIDC-Identitätsanbieter zu erstellen.
**Anmerkung**  
Die Zertifikatskette des OIDC-Identitätsanbieters muss mit der Domain oder der URL des Ausstellers beginnen, dann mit dem Zwischenzertifikat und mit dem Root-Zertifikat enden. Wenn die Reihenfolge der Zertifikatkette abweicht oder doppelte bzw. zusätzliche Zertifikate enthält, erhalten Sie einen Signatur-Nichtübereinstimmungsfehler und die Validierung des JSON Web Token (JWT) durch STS schlägt fehl. Korrigieren Sie die Reihenfolge der Zertifikate in der vom Server zurückgegebenen Kette, um den Fehler zu beheben. Weitere Informationen zu Zertifikatskettenstandards finden Sie unter [certificate\$1list in RFC 5246](https://www.rfc-editor.org/rfc/rfc5246#section-7.4.2) auf der Website der RFC-Serie.

1. Weisen Sie Ihrem Identitätsanbieter eine IAM-Rolle zu, um externen Benutzeridentitäten, die von Ihrem Identitätsanbieter verwaltet werden, Zugriff auf AWS Ressourcen in Ihrem Konto zu gewähren. Weitere Informationen zum Erstellen von Rollen für den Identitätsverbund finden Sie unter [Erstellen einer Rolle für einen externen Identitätsanbieter](id_roles_create_for-idp.md).
**Anmerkung**  
OIDC, das in einer Rollenvertrauensrichtlinie IdPs verwendet wird, muss sich in demselben Konto befinden wie die Rolle, die der Rolle vertraut.

**So fügen Sie einen Fingerabdruck für einen IAM-OIDC-Identitätsanbieter (Konsole) hinzu oder entfernen ihn**
**Anmerkung**  
AWS sichert die Kommunikation mit OIDC-Identitätsanbietern (IdPs) mithilfe unserer Bibliothek vertrauenswürdiger Stammzertifizierungsstellen (), um das TLS-Zertifikat des JSON Web Key Set (JWKSCAs) -Endpunkts zu verifizieren. Wenn Ihr OIDC-IdP auf ein Zertifikat angewiesen ist, das nicht von einem dieser vertrauenswürdigen Unternehmen signiert ist CAs, sichern wir nur dann die Kommunikation mit den in der IdP-Konfiguration festgelegten Fingerabdrücken. AWS greift auf die Überprüfung von Fingerabdrücken zurück, wenn wir das TLS-Zertifikat nicht abrufen können oder wenn TLS v1.3 erforderlich ist.

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich **Identitätsanbieter**. Wählen Sie dann den Namen des IAM-Identitätsanbieters aus, den Sie aktualisieren möchten.

1. Wählen Sie die Registerkarte **Endpunktverifizierung** und dann im Abschnitt **Fingerabdrücke** die Option **Verwalten** aus. Um einen neuen Fingerabdruck einzugeben, wählen Sie **Fingerabdruck hinzufügen**. Wählen Sie zum Entfernen eines Fingerabdrucks neben dem Fingerabdruck, den Sie entfernen möchten, **Entfernen**.
**Anmerkung**  
Ein IAM OIDC-Identitätsanbieter muss mindestens einen und kann maximal fünf Thumbprints haben.

    Wählen Sie abschließend **Änderungen speichern**.

**So fügen Sie eine Zielgruppe für einen IAM OIDC-Identitätsanbieter (Konsole) hinzu**

1. Wählen Sie im Navigationsbereich die Option **Identitätsanbieter** und dann den Namen des IAM-Identitätsanbieters, den Sie aktualisieren möchten.

1. Wählen Sie im Abschnitt **Zielgruppen** die Option **Aktionen** und wählen Sie **Zielgruppe hinzufügen**. 

1. Geben Sie die Client-ID der Anwendung ein, die Sie beim IdP registriert und in [Step 1](#idpoidcstep1) der Sie empfangen haben und an AWS die Anfragen gestellt werden. Wählen Sie dann **Zielgruppen hinzufügen**.
**Anmerkung**  
Ein IAM OIDC-Identitätsanbieter muss mindestens eine und kann maximal 100 Zielgruppen haben.

**So entfernen Sie eine Zielgruppe für einen IAM OIDC-Identitätsanbieter (Konsole)**

1. Wählen Sie im Navigationsbereich die Option **Identitätsanbieter** und dann den Namen des IAM-Identitätsanbieters, den Sie aktualisieren möchten.

1. Wählen Sie im Abschnitt **Zielgruppen** das Optionsfeld neben der Zielgruppe aus, die Sie entfernen möchten, und wählen Sie dann **Aktionen**.

1.  Wählen Sie **Zielgruppe entfernen**. Ein neues Fenster wird geöffnet.

1. Wenn Sie eine Zielgruppe entfernen, können Identitäten, die mit der Zielgruppe verbunden sind, keine mit der Zielgruppe verbundenen Rollen annehmen. Lesen Sie im Fenster die Warnung und bestätigen Sie, dass Sie die Zielgruppe entfernen möchten, indem Sie das Wort `remove` in das Feld eingeben.

1. Wählen Sie **Entfernen**, um die Zielgruppe zu entfernen.

**So löschen Sie einen IAM OIDC-Identitätsanbieter (Konsole)**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich **Identitätsanbieter**. 

1. Aktivieren Sie das Kontrollkästchen neben dem IAM-Identitätsanbieter, den Sie löschen möchten. Ein neues Fenster wird geöffnet.

1. Bestätigen Sie, dass Sie den Anbieter löschen möchten, indem Sie das Wort `delete` in das Feld eingeben. Wählen Sie dann **Löschen**.

## Erstellen und Verwalten eines IAM-OIDC-Identitätsanbieters (AWS CLI)
<a name="manage-oidc-provider-cli"></a>

Sie können die folgenden AWS CLI Befehle verwenden, um IAM OIDC-Identitätsanbieter zu erstellen und zu verwalten.

**So erstellen Sie einen IAM-OIDC-Identitätsanbieter (AWS CLI)**

1. (Optional) Führen Sie zum Abrufen einer Liste aller IAM-OIDC-Identitätsanbieter im AWS -Konto den folgenden Befehl aus:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/list-open-id-connect-providers.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-open-id-connect-providers.html)

1. Führen Sie zum Erstellen eines neuen IAM-OIDC-Identitätsanbieters den folgenden Befehl aus:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/create-open-id-connect-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-open-id-connect-provider.html)

**So aktualisieren Sie die Liste der Serverzertifikat-Thumbprints für einen vorhandenen IAM-OIDC-Identitätsanbieter (AWS CLI)**
+ Führen Sie zum Aktualisieren der Liste der Serverzertifikat-Thumbprints für einen IAM-OIDC-Identitätsanbieter den folgenden Befehl aus:
  + [https://docs.aws.amazon.com/cli/latest/reference/iam/update-open-id-connect-provider-thumbprint.html](https://docs.aws.amazon.com/cli/latest/reference/iam/update-open-id-connect-provider-thumbprint.html)

**Markieren eines bestehenden IAM-OIDC-Identitätsanbieters (AWS CLI)**
+ Führen Sie zum Markieren eines bestehenden IAM-OIDC-Identitätsanbieters den folgenden Befehl aus:
  + [https://docs.aws.amazon.com/cli/latest/reference/iam/tag-open-id-connect-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-open-id-connect-provider.html)

**Auflisten von Tags für einen bestehenden IAM-OIDC-Identitätsanbieter (AWS CLI)**
+ Führen Sie zum Auflisten von Tags für einen vorhandenen IAM-OIDC-Identitätsanbieter den folgenden Befehl aus:
  + [https://docs.aws.amazon.com/cli/latest/reference/iam/list-open-id-connect-provider-tags.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-open-id-connect-provider-tags.html)

**Entfernen von Tags auf einem IAM-OIDC-Identitätsanbieter (AWS CLI)**
+ Führen Sie zum Entfernen von Tags auf einem vorhandenen IAM-OIDC-Identitätsanbieter den folgenden Befehl aus:
  + [https://docs.aws.amazon.com/cli/latest/reference/iam/untag-open-id-connect-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-open-id-connect-provider.html)

**So fügen Sie eine Client-ID von einem vorhandenen IAM-OIDC-Identitätsanbieter hinzu oder entfernen sie (AWS CLI)**

1. (Optional) Führen Sie zum Abrufen einer Liste aller IAM-OIDC-Identitätsanbieter im AWS -Konto den folgenden Befehl aus:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/list-open-id-connect-providers.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-open-id-connect-providers.html)

1. (Optional) Führen Sie zum Abrufen detaillierter Informationen über einen IAM-OIDC-Identitätsanbieter den folgenden Befehl aus:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/get-open-id-connect-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/get-open-id-connect-provider.html)

1. Führen Sie zum Hinzufügen einer neuen Client-ID zu einem vorhandenen IAM-OIDC-Identitätsanbieter den folgenden Befehl aus:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/add-client-id-to-open-id-connect-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/add-client-id-to-open-id-connect-provider.html)

1. Führen Sie zum Entfernen eines Clients von einem vorhandenen IAM-OIDC-Identitätsanbieter den folgenden Befehl aus:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/remove-client-id-from-open-id-connect-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/remove-client-id-from-open-id-connect-provider.html)

**So löschen Sie einen IAM-OIDC-Identitätsanbieter (AWS CLI)**

1. (Optional) Führen Sie zum Abrufen einer Liste aller IAM-OIDC-Identitätsanbieter im AWS -Konto den folgenden Befehl aus:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/list-open-id-connect-providers.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-open-id-connect-providers.html)

1. (Optional) Führen Sie zum Abrufen detaillierter Informationen über einen IAM-OIDC-Identitätsanbieter den folgenden Befehl aus:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/get-open-id-connect-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/get-open-id-connect-provider.html)

1. Führen Sie zum Löschen eines IAM-OIDC-Identitätsanbieters den folgenden Befehl aus:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-open-id-connect-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-open-id-connect-provider.html)

## Einen OIDC Identity Provider (API) erstellen und verwalten AWS
<a name="manage-oidc-provider-api"></a>

Mit den folgenden IAM-API-Befehlen können Sie OIDC-Anbieter erstellen und verwalten.

**So erstellen Sie einen IAM-OIDC-Identitätsanbieter (API)AWS**

1. (Optional) Rufen Sie zum Abrufen einer Liste aller IAM-OIDC-Identitätsanbieter im AWS -Konto die folgende Operation auf:
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListOpenIDConnectProviders.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListOpenIDConnectProviders.html)

1. Rufen Sie zum Erstellen eines neuen IAM-OIDC-Identitätsanbieters die folgende Operation auf: 
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateOpenIDConnectProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateOpenIDConnectProvider.html)

**Um die Liste der Fingerabdrücke von Serverzertifikaten für einen vorhandenen IAM-OIDC-Identitätsanbieter (API) zu aktualisieren AWS**
+ Rufen Sie zum Aktualisieren der Liste der Serverzertifikat-Thumbprints für einen IAM-OIDC-Identitätsanbieter die folgende Operation auf:
  + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateOpenIDConnectProviderThumbprint.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateOpenIDConnectProviderThumbprint.html)

**Um einen vorhandenen IAM-OIDC-Identitätsanbieter (API) zu taggen AWS**
+ Rufen Sie zum Markieren eines bestehenden IAM-OIDC-Identitätsanbieters die folgende Operation auf:
  + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagOpenIDConnectProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagOpenIDConnectProvider.html)

**Um Tags für einen vorhandenen IAM OIDC-Identitätsanbieter (API) aufzulisten AWS**
+ Rufen Sie zum Auflisten von Tags für einen vorhandenen IAM-OIDC-Identitätsanbieter die folgende Operation auf:
  + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListOpenIDConnectProviderTags.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListOpenIDConnectProviderTags.html)

**Um Tags auf einem vorhandenen IAM OIDC-Identitätsanbieter (API) zu entfernen AWS**
+ Rufen Sie zum Entfernen von Tags auf einem vorhandenen IAM-OIDC-Identitätsanbieter die folgende Operation auf:
  + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagOpenIDConnectProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagOpenIDConnectProvider.html)

**Um eine Client-ID zu einem vorhandenen IAM OIDC-Identitätsanbieter (API) hinzuzufügen oder zu entfernen AWS**

1. (Optional) Rufen Sie zum Abrufen einer Liste aller IAM-OIDC-Identitätsanbieter im AWS -Konto die folgende Operation auf:
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListOpenIDConnectProviders.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListOpenIDConnectProviders.html)

1. (Optional) Rufen Sie zum Abrufen detaillierter Informationen über einen IAM-OIDC-Identitätsanbieter die folgende Operation auf: 
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetOpenIDConnectProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetOpenIDConnectProvider.html)

1. Rufen Sie zum Hinzufügen einer neuen Client-ID zu einem vorhandenen IAM-OIDC-Identitätsanbieter die folgende Operation auf: 
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_AddClientIDToOpenIDConnectProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AddClientIDToOpenIDConnectProvider.html)

1. Rufen Sie zum Entfernen einer Client-ID von einem vorhandenen IAM-OIDC-Identitätsanbieter die folgende Operation auf:
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_RemoveClientIDFromOpenIDConnectProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_RemoveClientIDFromOpenIDConnectProvider.html)

**So löschen Sie einen IAM-OIDC-Identitätsanbieter (API)AWS**

1. (Optional) Rufen Sie zum Abrufen einer Liste aller IAM-OIDC-Identitätsanbieter im AWS -Konto die folgende Operation auf: 
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListOpenIDConnectProviders.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListOpenIDConnectProviders.html)

1. (Optional) Rufen Sie zum Abrufen detaillierter Informationen über einen IAM-OIDC-Identitätsanbieter die folgende Operation auf:
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetOpenIDConnectProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetOpenIDConnectProvider.html)

1. Rufen Sie zum Löschen eines IAM-OIDC-Identitätsanbieters die folgende Operation auf:
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteOpenIDConnectProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteOpenIDConnectProvider.html)

# Abrufen des Fingerabdrucks eines OpenID-Connect-Identitätsanbieters
<a name="id_roles_providers_create_oidc_verify-thumbprint"></a>

Wenn Sie einen [OpenID Connect (OIDC)-Identitätsanbieter in IAM erstellen](id_roles_providers_create_oidc.md), benötigt IAM den Fingerabdruck für die führende Zwischenzertifizierungsstelle (CA), die das vom externen Identitätsanbieter (IdP) verwendete Zertifikat signiert hat. Bei dem Thumbprint handelt es sich um eine Signatur für das CA-Zertifikat, das für die Ausstellung des Zertifikats für den OIDC-kompatiblen Identitätsanbieter verwendet wurde. Wenn Sie einen IAM-OIDC-Identitätsanbieter erstellen, vertrauen Sie darauf, dass Identitäten, die von diesem IdP authentifiziert wurden, Zugriff auf Ihren haben. AWS-Konto Durch die Verwendung des Zertifikat-Fingerabdrucks der Zertifizierungsstelle vertrauen Sie jedem von dieser Zertifizierungsstelle ausgestellten Zertifikat mit demselben DNS-Namen wie dem registrierten Zertifikat. Dadurch müssen die Vertrauensstellungen in den einzelnen Konten nicht aktualisiert werden, wenn Sie das Signaturzertifikat des Identitätsanbieters erneuern.

**Wichtig**  
In den meisten Fällen verwendet der Verbundserver zwei verschiedene Zertifikate:  
Die erste stellt eine HTTPS-Verbindung zwischen AWS und Ihrem IdP her. Dies sollte von einer bekannten öffentlichen Root-Zertifizierungsstelle ausgestellt werden, wie etwa von AWS Certificate Manager. Dadurch kann der Kunde die Zuverlässigkeit und den Status des Zertifikats überprüfen.
Die zweite wird zum Verschlüsseln von Token verwendet und sollte von einer privaten oder öffentlichen *Stamm*-Zertifizierungsstelle signiert werden.

Sie können einen IAM-OIDC-Identitätsanbieter mit [der AWS Command Line Interface, den Tools für Windows PowerShell oder der](id_roles_providers_create_oidc.md#manage-oidc-provider-cli) IAM-API erstellen. Wenn Sie diese Methoden verwenden, haben Sie die Möglichkeit, manuell einen Fingerabdruck bereitzustellen. Wenn Sie keinen Fingerabdruck hinzufügen möchten, ruft IAM den Fingerabdruck der führenden Zwischen-CA des OIDC-IdP-Serverzertifikats ab. Wenn Sie einen Fingerabdruck hinzufügen möchten, müssen Sie den Fingerabdruck manuell abrufen und an AWS​​übermitteln.

Wenn Sie mit der [IAM-Konsole](id_roles_providers_create_oidc.md) einen OIDC-Identitätsanbieter erstellen, versucht IAM, den Fingerabdruck der führenden Zwischen-CA des OIDC-IdP-Serverzertifikats für Sie abzurufen. 

Wir empfehlen, dass Sie auch den Fingerabdruck für Ihren OIDC-IdP manuell abrufen und überprüfen, ob IAM den richtigen Fingerabdruck abgerufen hat. Weitere Informationen zum Abrufen von Zertifikatfingerabdrücken finden Sie in den folgenden Abschnitten.

**Anmerkung**  
AWS sichert die Kommunikation mit OIDC-Identitätsanbietern (IdPs) mithilfe unserer Bibliothek vertrauenswürdiger Stammzertifizierungsstellen (), um das TLS-Zertifikat des JSON Web Key Set (JWKSCAs) -Endpunkts zu verifizieren. Wenn Ihr OIDC-IdP auf ein Zertifikat angewiesen ist, das nicht von einem dieser vertrauenswürdigen Unternehmen signiert ist CAs, sichern wir nur dann die Kommunikation mit den in der IdP-Konfiguration festgelegten Fingerabdrücken. AWS greift auf die Überprüfung von Fingerabdrücken zurück, wenn wir das TLS-Zertifikat nicht abrufen können oder wenn TLS v1.3 erforderlich ist.

## Abrufen des Zertifikatfingerabdrucks
<a name="oidc-obtain-thumbprint"></a>

Sie verwenden einen Webbrowser und das OpenSSL-Befehlszeilen-Tool, um den Zertifikatfingerabdruck für einen OIDC-Anbieter abzurufen. Sie müssen den Zertifikatfingerabdruck jedoch nicht manuell abrufen, um einen IAM-OIDC-Identitätsanbieter zu erstellen. Mit dem folgenden Verfahren können Sie den Zertifikatfingerabdruck Ihres OIDC-Anbieters abrufen.

**So rufen Sie den Thumbprint eines IAM-OIDC-Identitätsanbieters ab**

1. Bevor Sie den Thumbprint eines IAM-OIDC-Identitätsanbieters abrufen können, müssen Sie sich das OpenSSL-Befehlszeilen-Tool herunterladen. Mit diesem Tool laden Sie dann die Zertifikatskette des OIDC-Identitätsanbieters herunter und erstellen einen Thumbprint des letzten Zertifikats in der Zertifikatskette. Eine Anleitung zum Installieren und Konfigurieren von OpenSSL finden Sie unter [Installieren von OpenSSL](#oidc-install-openssl) und [Konfigurieren von OpenSSL](#oidc-configure-openssl).

1. Beginnen Sie mit der URL des OIDC-Identitätsanbieters (z. B. `https://server.example.com`) und fügen Sie `/.well-known/openid-configuration` hinzu, um die URL für das Konfigurationsdokument des Identitätsanbieters wie folgt zu bilden:

   **https://*server.example.com*/.well-known/openid-configuration**

   Öffnen Sie diese URL in einem Webbrowser und *server.example.com* ersetzen Sie sie durch Ihren IdP-Servernamen. 

1. <a name="thumbstep2"></a>Verwenden Sie im angezeigten Dokument die **Such**-Feature Ihres Webbrowsers, um den Text `"jwks_uri"` zu finden. Direkt hinter dem Text `"jwks_uri"` finden Sie einen Doppelpunkt (:) gefolgt von einer URL. Kopieren Sie den vollständig qualifizierten Domainnamen der URL. Kopieren Sie weder `https://` noch Teile des Pfads hinter der Top-Level-Domain. 

   ```
   {
    "issuer": "https://accounts.example.com",
    "authorization_endpoint": "https://accounts.example.com/o/oauth2/v2/auth",
    "device_authorization_endpoint": "https://oauth2.exampleapis.com/device/code",
    "token_endpoint": "https://oauth2.exampleapis.com/token",
    "userinfo_endpoint": "https://openidconnect.exampleapis.com/v1/userinfo",
    "revocation_endpoint": "https://oauth2.exampleapis.com/revoke",
    "jwks_uri": "https://www.exampleapis.com/oauth2/v3/certs",
   ...
   ```

1. Führen Sie mithilfe des OpenSSL-Befehlszeilen-Tools den folgenden Befehl. *keys.example.com*Ersetzen Sie es durch den Domainnamen, den Sie erhalten haben. [Step 3](#thumbstep2)

   ```
   openssl s_client -servername keys.example.com -showcerts -connect keys.example.com:443
   ```

1. Scrollen Sie im Befehlszeilenfenster nach unten, bis Sie ein Zertifikat ähnlich wie im folgenden Beispiel finden. Wenn mehrere Zertifikate angezeigt werden, suchen Sie nach dem letzten angezeigten Zertifikat (am Ende der Befehlsausgabe). Dies enthält das Zertifikat der Zertifizierungsstelle in der Kette der Zertifizierungsstellen.

   ```
   -----BEGIN CERTIFICATE-----
    MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC
    VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6
    b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd
    BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN
    MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD
    VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z
    b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt
    YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ
    21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T
    rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE
    Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4
    nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb
    FFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb
    NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE=
    -----END CERTIFICATE-----
   ```

   Kopieren Sie das Zertifikat (einschließlich der Zeilen `-----BEGIN CERTIFICATE-----` und `-----END CERTIFICATE-----`) und fügen es in einer Textdatei ein. Speichern Sie die Datei mit dem Dateinamen **certificate.crt**.
**Anmerkung**  
Die Zertifikatskette des OIDC-Identitätsanbieters muss mit der Domain oder Aussteller-URL beginnen, alle Zwischenzertifikate (sofern vorhanden) enthalten und mit dem Stammzertifikat enden. Wenn die Reihenfolge der Zertifikatkette abweicht oder doppelte bzw. zusätzliche Zertifikate enthält, erhalten Sie eine Fehlermeldung wegen einer Signatur-Nichtübereinstimmung und STS kann das JSON Web Token (JWT) nicht validieren. Korrigieren Sie die Reihenfolge der Zertifikate in der vom Server zurückgegebenen Kette, um den Fehler zu beheben. Weitere Informationen zu Zertifikatskettenstandards finden Sie unter [certificate\$1list in RFC 5246](https://www.rfc-editor.org/rfc/rfc5246#section-7.4.2) auf der Website der RFC-Serie.

1. Führen Sie mithilfe des OpenSSL-Befehlszeilen-Tools den folgenden Befehl.

   ```
   openssl x509 -in certificate.crt -fingerprint -sha1 -noout
   ```

   Im Befehlsfenster wird der Thumbprint des Zertifikats ähnlich wie im folgenden Beispiel angezeigt:

   ```
   SHA1 Fingerprint=99:0F:41:93:97:2F:2B:EC:F1:2D:DE:DA:52:37:F9:C9:52:F2:0D:9E
   ```

   Entfernen Sie den Doppelpunkt (:) aus dieser Zeichenfolge, um den endgültigen Thumbprint wie folgt zu erhalten:

   ```
   990F4193972F2BECF12DDEDA5237F9C952F20D9E
   ```

1. Wenn Sie den IAM-OIDC-Identitätsanbieter mit den Tools für Windows oder der AWS CLI IAM-API erstellen PowerShell, ist die Angabe eines Fingerabdrucks optional. Wenn Sie bei der Erstellung keinen Fingerabdruck hinzufügen möchten, ruft IAM den Fingerabdruck der führenden Zwischenzertifizierungsstelle des OIDC-IdP-Serverzertifikats ab. Nachdem der IAM-OIDC-Identitätsanbieter erstellt wurde, können Sie diesen Fingerabdruck mit dem von IAM abgerufenen Fingerabdruck vergleichen.

   Wenn Sie den IAM-OIDC-Identitätsanbieter in der IAM-Konsole erstellen, versucht die Konsole, den Fingerabdruck der führenden Zwischenzertifizierungsstelle des OIDC-IdP-Serverzertifikats für Sie abzurufen. Sie können diesen Fingerabdruck mit dem von IAM abgerufenen Fingerabdruck vergleichen. Nachdem der IAM-OIDC-Identitätsanbieter erstellt wurde, können Sie den Fingerabdruck für den IAM-OIDC-Identitätsanbieter auf der Registerkarte **Endpunktüberprüfung** auf der Konsolenseite **Zusammenfassung** des OIDC-Anbieters“ anzeigen.
**Wichtig**  
Wenn der abgerufene Fingerabdruck nicht mit dem in den Fingerabdruckdetails des IAM-OIDC-Identitätsanbieters angezeigten Fingerabdruck übereinstimmt, sollten Sie den OIDC-Anbieter nicht verwenden. Stattdessen sollten Sie den erstellten OIDC-Anbieter löschen und nach einiger Zeit erneut versuchen, den OIDC-Anbieter zu erstellen. Überprüfen Sie, ob die Fingerabdrücke übereinstimmen, bevor Sie den Anbieter verwenden. Wenn die Thumbprints auch beim zweiten Versuch nicht übereinstimmen, kontaktieren Sie über das [IAM-Forum](https://forums.aws.amazon.com/forum.jspa?forumID=76) AWS.

## Installieren von OpenSSL
<a name="oidc-install-openssl"></a>

Falls OpenSSL noch nicht installiert ist, befolgen Sie die Anleitungen in diesem Abschnitt.

**So installieren Sie OpenSSL unter Linux und Unix**

1. Wechseln Sie zu [OpenSSL: Source, Tarballs](https://openssl.org/source/)(https://openssl.org/source/).

1. Laden Sie die aktuelle Quelldatei herunter und erstellen Sie das Paket.

**So installieren Sie OpenSSL unter Windows**

1. Gehen Sie zu [OpenSSL: Binary Distributions (https://wiki.openssl](https://wiki.openssl.org/index.php/Binaries)). org/index.php/Binaries) für eine Liste von Websites, von denen aus Sie die Windows-Version installieren können.

1. Folgen Sie den Anweisungen auf der ausgewählten Site, um die Installation zu starten.

1. Wenn Sie aufgefordert werden, die **Microsoft Visual C\$1\$1 2008 Redistributables** zu installieren, und diese nicht bereits auf Ihrem System installiert sind, wählen Sie den für Ihre Umgebung geeigneten Download-Link. Folgen Sie den Anweisungen des **Microsoft Visual C\$1\$1 2008 Redistributable Setup Wizard**.
**Anmerkung**  
Wenn Sie nicht sicher sind, ob Microsoft Visual C\$1\$1 2008 Redistributables bereits auf Ihrem System installiert ist, können Sie zunächst versuchen, OpenSSL zu installieren. Das OpenSSL Installationsprogramm zeigt eine Warnung an, wenn Microsoft Visual C\$1\$1 2008 Redistributables noch nicht installiert ist. Installieren Sie die Architektur (32-Bit oder 64-Bit), die der installierten Version von OpenSSL entspricht.

1. Wählen Sie nach der Installation von Microsoft Visual C\$1\$1 2008 Redistributables die entsprechende Version der OpenSSL-Binärdateien für Ihre Umgebung aus und speichern Sie die Datei lokal. Starten Sie den **OpenSSL-Setup-Assistenten**.

1. Folgen Sie den Anweisungen des **OpenSSL-Setup-Assistenten**.

## Konfigurieren von OpenSSL
<a name="oidc-configure-openssl"></a>

Bevor Sie OpenSSL Befehle verwenden, müssen Sie das Betriebssystem so konfigurieren, dass es Informationen über den Speicherort enthält, an dem OpenSSL installiert ist.

**So konfigurieren Sie OpenSSL unter Linux oder Unix**

1. Setzen Sie in der Befehlszeile die Variable `OpenSSL_HOME` auf den Speicherort der OpenSSL-Installation:

   ```
   $ export OpenSSL_HOME=path_to_your_OpenSSL_installation
   ```

1. Legen Sie den Pfad für die OpenSSL Installation fest:

   ```
   $ export PATH=$PATH:$OpenSSL_HOME/bin
   ```
**Anmerkung**  
Alle Änderungen, die Sie mit dem Befehl `export` an Umgebungsvariablen vornehmen, sind nur für die aktuelle Sitzung gültig. Sie können dauerhafte Änderungen an den Umgebungsvariablen vornehmen, indem Sie diese in Ihrer Shell-Konfigurationsdatei festlegen. Weitere Informationen finden Sie in der Dokumentation für das Betriebssystem Ihrer Instance.

**So konfigurieren Sie OpenSSL unter Windows**

1. Öffnen Sie ein **Befehlszeilenfenster**.

1. Setzen Sie die `OpenSSL_HOME`-Variable auf den Ort der OpenSSL-Installation:

   ```
   C:\> set OpenSSL_HOME=path_to_your_OpenSSL_installation
   ```

1. Setzen Sie die `OpenSSL_CONF`-Variable auf den Speicherort der Konfigurationsdatei in Ihrer OpenSSL-Installation:

   ```
   C:\> set OpenSSL_CONF=path_to_your_OpenSSL_installation\bin\openssl.cfg
   ```

1. Legen Sie den Pfad für die OpenSSL Installation fest:

   ```
   C:\> set Path=%Path%;%OpenSSL_HOME%\bin
   ```
**Anmerkung**  
Alle Änderungen, die Sie in einem Eingabeaufforderungsfenster an Windows-Umgebungsvariablen vornehmen, sind nur für die aktuelle **Befehlszeilensitzung** gültig. Sie können dauerhafte Änderungen an den Umgebungsvariablen vornehmen, indem Sie sie als Systemeigenschaften festlegen. Die genauen Verfahren hängen davon ab, welche Version von Windows Sie verwenden. (Öffnen Sie beispielsweise unter Windows 7 **Systemsteuerung**, **System und Sicherheit**, **System (System)**aus. Wählen Sie dann **Erweiterte Systemeinstellungen**, **Advanced**Registerkarte **Umgebungsvariablen**.) Weitere Informationen finden Sie in der Windows-Dokumentation.

# Identitätsanbieter-Kontrollen für gemeinsame OIDC-Anbieter
<a name="id_roles_providers_oidc_secure-by-default"></a>

Für anerkannte Shared OpenID Connect (OIDC) -Identitätsanbieter (IdPs) erfordert IAM eine ausdrückliche Bewertung bestimmter Ansprüche in den Richtlinien zur Rollenvertrauensstellung. Diese erforderlichen Ansprüche, die als *Identitätsanbieter-Kontrollen* bezeichnet werden, werden von IAM während der Rollenerstellung und der Aktualisierung von Vertrauensrichtlinien bewertet. Wenn die Rollenvertrauensrichtlinie die vom gemeinsam genutzten OIDC-IDP geforderten Kontrollen nicht bewertet, schlägt die Erstellung oder Aktualisierung der Rolle fehl. Dadurch wird sichergestellt, dass nur autorisierte Identitäten aus der vorgesehenen Organisation Rollen übernehmen und auf AWS -Ressourcen zugreifen können. Diese Sicherheitskontrolle ist entscheidend, wenn OIDC-Anbieter von mehreren AWS -Kunden gemeinsam genutzt werden.



Identitätsanbieter-Kontrollen werden von IAM nicht für bestehende OIDC-Rollenvertrauensrichtlinien bewertet. Bei Änderungen an der Rollenvertrauensrichtlinie für bestehende OIDC-Rollen verlangt IAM, dass Identitätsanbieter-Kontrollen in die Rollenvertrauensrichtlinie aufgenommen werden.

## OIDC-Anbietertypen
<a name="id_roles_providers_oidc_idp_types"></a>

IAM unterteilt OIDC-Identitätsanbieter in zwei verschiedene Typen: **private** und **gemeinsam genutzte**. Ein privater OIDC-IDP kann sich im Besitz einer einzelnen Organisation befinden und von dieser verwaltet werden oder ein Mandant eines SaaS-Anbieters sein, wobei seine OIDC-Aussteller-URL als eindeutiger Bezeichner für diese Organisation dient. Im Gegensatz dazu wird ein gemeinsam genutzter OIDC-IDP von mehreren Organisationen genutzt, wobei die OIDC-Aussteller-URL für alle Organisationen, die diesen Identitätsanbieter nutzen, identisch sein kann.

Die folgende Tabelle zeigt die wichtigsten Unterschiede zwischen privaten und gemeinsam genutzten OIDC-Anbietern auf:


| Merkmal | Privater OIDC-Anbieter | Gemeinsam genutzter OIDC-Anbieter | 
| --- | --- | --- | 
|  Aussteller  |  Einzigartig für die Organisation  |  Von mehreren Organisationen gemeinsam genutzt  | 
|  Tenancy-Informationen  |  Übermittelt durch einen einzigartigen Aussteller  |  Übermittelt durch Ansprüche in JWT  | 
|  Vertrauensrichtlinienanforderungen  |  Keine spezifische Anspruchsbewertung erforderlich  |  Bewertung spezifischer Ansprüche erforderlich  | 

## Gemeinsam genutzte OIDC-Identitätsanbieter mit Identitätsanbieter-Kontrollen
<a name="id_roles_providers_oidc_idp_shared_oidc_secure_support"></a>

Wenn Sie einen OIDC-Anbieter in IAM erstellen oder ändern, identifiziert und bewertet das System automatisch die erforderlichen Ansprüche für anerkannte gemeinsame OIDC-Anbieter. Wenn die Kontrollen für Identitätsanbieter in der Rollenvertrauensrichtlinie nicht konfiguriert sind, schlägt die Erstellung oder Aktualisierung der Rolle mit einem Fehler fehl. MalformedPolicyDocument 

Die folgende Tabelle enthält eine Liste der gemeinsam genutzten OIDC-Anbieter, die Identitätsanbieter-Kontrollen in Rollenzuständigkeitsrichtlinien erfordern, sowie zusätzliche Informationen, die Ihnen bei der Konfiguration von Identitätsanbieter-Kontrollen helfen.


| OIDC-IdP | OIDC-URL | Tenancy-Anspruch | Erforderliche Ansprüche | 
| --- | --- | --- | --- | 
| [Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html) |  `cognito-identity.amazonaws.com`  | aud |  `cognito-identity.amazonaws.com:aud`  | 
| [Azure Sentinel](https://learn.microsoft.com/en-us/azure/defender-for-cloud/sentinel-connected-aws) |  https://sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d  |  sts:RoleSessionName  |  sts:RoleSessionName  | 
| [Buildkite](https://buildkite.com/docs/pipelines/security/oidc/aws) |  https://agent.buildkite.com  |  sub  |  agent.buildkite.com:sub  | 
| [Codefresh SaaS](https://codefresh.io/docs/docs/integrations/oidc-pipelines/) | https://oidc.codefresh.io | sub |  oidc.codefresh.io:sub  | 
| [DVC Studio](https://dvc.org/doc/studio/user-guide/openid-connect) | https://studio.datachain.ai/api | sub |  studio.datachain.ai/api:sub  | 
| [GitHub Aktionen](https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services) | https://token.actions.githubusercontent.com | sub |  token.actions.githubusercontent.com:sub  | 
| [GitHub Streaming von Auditprotokollen](https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise) | https://oidc-configuration.audit-log.githubusercontent.com | sub |  oidc-configuration.audit-log.githubusercontent.com:sub  | 
| [GitHub vstoken](https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services) | https://vstoken.actions.githubusercontent.com | sub |  vstoken.actions.githubusercontent.com:sub  | 
| [GitLab](https://docs.gitlab.com/ci/cloud_services/aws/) | https://gitlab.com | sub |  gitlab.com:sub  | 
| [IBM Turbonomic SaaS\$1](https://www.ibm.com/docs/en/tarm/8.16.x?topic=turbonomic-setting-up-aws-iam-role-saas-deployments) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/id_roles_providers_oidc_secure-by-default.html)  | sub |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/id_roles_providers_oidc_secure-by-default.html)  | 
| [Pulumi Cloud](https://www.pulumi.com/docs/pulumi-cloud/deployments/oidc/aws/) | https://api.pulumi.com/oidc | aud |  api.pulumi.com/oidc:aud  | 
| [sandboxes.cloud](https://docs.sandboxes.cloud/docs/cloud-resources-setup) | https://sandboxes.cloud | aud |  sandboxes.cloud:aud  | 
| [Scalr](https://docs.scalr.io/docs/aws) | https://scalr.io | sub |  scalr.io:sub  | 
| [Shisho Cloud](https://shisho.dev/docs/g/getting-started/integrate-apps/aws/) | https://tokens.cloud.shisho.dev | sub |  tokens.cloud.shisho.dev:sub  | 
| [Terraform Cloud](https://developer.hashicorp.com/terraform/cloud-docs/workspaces/dynamic-provider-credentials/aws-configuration) | https://app.terraform.io | sub |  app.terraform.io:sub  | 
| [Upbound](https://docs.upbound.io/providers/provider-aws/authentication/) | https://proidc.upbound.io | sub |  proidc.upbound.io:sub  | 
| [Globaler Vercel-Endpunkt](https://vercel.com/docs/oidc/reference) | https://oidc.vercel.com | aud |  oidc.vercel.com:aud  | 

\$1 IBM Turbonomic aktualisiert regelmäßig seine OIDC-Aussteller-URL mit neuen Versionen der Plattform. Wir werden bei Bedarf weitere Turbonomic-OIDC-Aussteller als gemeinsame Anbieter hinzufügen.

Für jedes neue OIDC IdPs , das IAM als gemeinsam genutzt identifiziert, werden die erforderlichen Kontrollen des Identitätsanbieters für Richtlinien zur Rollenvertrauensstellung dokumentiert und auf ähnliche Weise durchgesetzt.

## Weitere Ressourcen
<a name="concept_additional_resources"></a>

Weitere Ressourcen:
+ Weitere Informationen zum Erstellen einer IAM-Rolle für OIDC-Verbund finden Sie unter [Rollen für OpenID-Connect-Verbund erstellen (Konsole)](id_roles_create_for-idp_oidc.md).
+ Eine Liste der IAM-Bedingungsschlüssel, die für Anträge verwendet werden können, finden Sie unter [Verfügbare Schlüssel für den AWS OIDC-Verbund](reference_policies_iam-condition-keys.md#condition-keys-wif).

# SAML 2.0-Föderation
<a name="id_roles_providers_saml"></a>

AWS unterstützt den Identitätsverbund mit [SAML 2.0 (Security Assertion Markup Language 2.0)](https://wiki.oasis-open.org/security), einem offenen Standard, den viele Identitätsanbieter (IdPs) verwenden. Diese Funktion ermöglicht föderiertes Single Sign-On (SSO), sodass sich Benutzer bei den API-Vorgängen anmelden AWS-Managementkonsole oder AWS API-Operationen aufrufen können, ohne dass Sie für jeden in Ihrer Organisation einen IAM-Benutzer erstellen müssen. Durch die Verwendung von SAML können Sie den Prozess der Konfiguration von Federation mit vereinfachen AWS, da Sie den IdP-Dienst verwenden können, anstatt benutzerdefinierten Identitätsproxycode zu [schreiben](https://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingFedTokens.html).

**Anmerkung**  
Der IAM-SAML-Identitätsverbund unterstützt verschlüsselte SAML-Antworten von SAML-basierten föderierten Identitätsanbietern (). IdPs IAM Identity Center und Amazon Cognito unterstützen keine verschlüsselten SAML-Assertionen von IAM-SAML-Identitätsanbietern.  
Sie können indirekt Unterstützung für verschlüsselte SAML-Assertionen zum Amazon-Cognito-Identitätspool-Verbund mit Amazon-Cognito-Benutzerpools hinzufügen. Benutzerpools verfügen über einen SAML-Verbund, der unabhängig vom IAM-SAML-Verbund ist und [SAML-Signatur und -Verschlüsselung](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-SAML-signing-encryption.html) unterstützt. Diese Funktion erstreckt sich zwar nicht direkt auf Identitätspools, Benutzerpools können sich jedoch auf Identitätspools beziehen. IdPs Um SAML-Verschlüsselung mit Identitätspools zu verwenden, fügen Sie einem Benutzerpool, der ein IdP für einen Identitätspool ist, einen SAML-Anbieter mit Verschlüsselung hinzu.  
Ihr SAML-Anbieter muss in der Lage sein, SAML-Assertionen mit einem von Ihrem Benutzerpool bereitgestellten Schlüssel zu verschlüsseln. Benutzerpools akzeptieren keine Assertionen, die mit einem von IAM bereitgestellten Zertifikat verschlüsselt sind.

Der IAM-Verbund unterstützt die folgenden Anwendungsfälle: 
+ [**Verbundzugriff, der es einem Benutzer oder einer Anwendung in Ihrer Organisation ermöglicht, AWS API-Operationen aufzurufen**](#CreatingSAML-configuring). Dieser Anwendungsfall wird im folgenden Abschnitt erläutert. Sie verwenden eine SAML-Zusicherung (als Teil der Authentifizierungsantwort), die in Ihrer Organisation generiert wird, um temporäre Sicherheitsanmeldeinformationen zu erhalten. Dieses Szenario ähnelt anderen Verbund-Szenarien, die von IAM unterstützt werden, wie diejenigen, die in [Temporäre Sicherheitsanmeldeinformationen anfordern](id_credentials_temp_request.md) und [OIDC-Verbund](id_roles_providers_oidc.md) beschrieben werden. SAML 2.0, das IdPs in Ihrer Organisation basiert, verarbeitet jedoch viele Details zur Laufzeit, um Authentifizierungs- und Autorisierungsprüfungen durchzuführen.
+ [**Webbasiertes Single Sign-On (SSO) für den AWS-Managementkonsole von Ihrem Unternehmen**](id_roles_providers_enable-console-saml.md) aus. Benutzer können sich bei einem Portal in Ihrer Organisation anmelden, das von einem SAML 2.0-kompatiblen IdP gehostet wird, eine Option auswählen, zu der sie wechseln möchten AWS, und zur Konsole weitergeleitet werden, ohne zusätzliche Anmeldeinformationen angeben zu müssen. Sie können außerdem einen SAML-Identitätsanbieter eines Drittanbieters verwenden, um SSO-Zugriff auf die Konsole zu erhalten. Oder Sie können einen benutzerdefinierten Identitätsanbieter erstellen, um externen Benutzern Zugriff auf die Konsole zu gewähren. Weitere Informationen zum Erstellen eines benutzerdefinierten Identitätsanbieters finden Sie unter [Benutzerdefinierten Identity Broker-Zugriff auf die AWS Konsole aktivieren](id_roles_providers_enable-console-custom-url.md).

**Topics**
+ [

## Verwenden Sie den SAML-basierten Verbund für den API-Zugriff auf AWS
](#CreatingSAML-configuring)
+ [

## Überblick über die Konfiguration des SAML 2.0-basierten Verbunds
](#CreatingSAML-configuring-IdP)
+ [

## Überblick über die Rolle, die den SAML-Verbundzugriff auf Ihre Ressourcen ermöglicht AWS
](#CreatingSAML-configuring-role)
+ [

## Eindeutige Identifizierung von Benutzern im SAML-basierten Verbund
](#CreatingSAML-userid)
+ [

# Erstellen eines SAML-Identitätsanbieters in IAM
](id_roles_providers_create_saml.md)
+ [

# Konfigurieren Ihres SAML 2.0-IdP mit der Vertrauensstellung der vertrauenden Seite und Hinzufügen von Anträgen
](id_roles_providers_create_saml_relying-party.md)
+ [

# Integrieren Sie SAML-Lösungsanbieter von Drittanbietern mit AWS
](id_roles_providers_saml_3rd-party.md)
+ [

# Konfigurieren von SAML-Assertionen für die Authentifizierungsreaktion
](id_roles_providers_create_saml_assertions.md)
+ [

# Aktivieren des Zugriffs von SAML 2.0-Verbundprinzipalen auf AWS-Managementkonsole
](id_roles_providers_enable-console-saml.md)
+ [

# SAML-Antwort in Ihrem Browser anzeigen
](troubleshoot_saml_view-saml-response.md)

## Verwenden Sie den SAML-basierten Verbund für den API-Zugriff auf AWS
<a name="CreatingSAML-configuring"></a>

Gehen wir davon aus, Sie möchten Mitarbeitern die Möglichkeit bieten, Daten von ihren Computern in einen Sicherungsordner zu kopieren. Sie erstellen eine Anwendung, die Benutzer auf ihrem Computer ausführen können. Im Backend liest und schreibt die Anwendung Objekte in einem Amazon-S3-Bucket. Benutzer haben keinen direkten Zugriff auf. AWS Stattdessen wird der folgende Prozess verwendet:

![\[Abrufen temporärer Sicherheitsanmeldeinformationen basierend auf einer SAML-Zusicherung\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/saml-based-federation-diagram.png)


1. Ein Benutzer in Ihrer Organisation verwendet eine Client-App, um eine Authentifizierung vom Identitätsanbieter Ihrer Organisation anzufordern.

1. Der Identitätsanbieter authentifiziert den Benutzer anhand des Identitätsspeichers Ihrer Organisation.

1. Der Identitätsanbieter konstruiert eine SAML-Zusicherung mit Informationen über den Benutzer und sendet die Zusicherung an die Client-App. Wenn Sie die SAML-Verschlüsselung für Ihren IAM-SAML-IdP aktivieren, wird diese Assertion von Ihrem externen IdP verschlüsselt.

1. Die Client-App ruft die AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html)API auf und übergibt den ARN des SAML-Anbieters, den ARN der zu übernehmenden Rolle und die SAML-Assertion von IdP. Wenn die Verschlüsselung aktiviert ist, bleibt die durch die Client-App übermittelte Assertion während der Übertragung verschlüsselt.

1. (Optional) AWS STS verwendet den privaten Schlüssel, den Sie von Ihrem externen IdP hochgeladen haben, um die verschlüsselte SAML-Assertion zu entschlüsseln.

1. Die API-Antwort an die Client-App umfasst temporäre Sicherheitsanmeldeinformationen.

1. Die Client-App verwendet die temporären Sicherheitsanmeldeinformationen, um Amazon S3-API-Operationen aufzurufen. 

## Überblick über die Konfiguration des SAML 2.0-basierten Verbunds
<a name="CreatingSAML-configuring-IdP"></a>

Bevor Sie den SAML 2.0-basierten Verbund wie im vorherigen Szenario und Diagramm beschrieben verwenden können, müssen Sie den IdP Ihrer Organisation und Sie so konfigurieren, dass AWS-Konto sie sich gegenseitig vertrauen. Der allgemeine Prozess für die Konfiguration dieses Vertrauens wird in den folgenden Schritten beschrieben. Innerhalb Ihrer Organisation müssen Sie einen [Identitätsanbieter haben, der SAML 2.0 unterstützt](id_roles_providers_saml_3rd-party.md), wie Microsoft Active Directory Federation Service (AD FS, Teil von Windows Server), Shibboleth oder einen anderen kompatiblen SAML 2.0-Anbieter. 

**Anmerkung**  
Um die Verbundstabilität zu verbessern, empfehlen wir, dass Sie Ihren IdP und Ihren AWS -Verbund so konfigurieren, dass mehrere SAML-Anmeldeendpunkte unterstützt werden. Einzelheiten finden Sie im AWS Sicherheitsblogartikel [How to use regional SAML](https://aws.amazon.com/blogs//security/how-to-use-regional-saml-endpoints-for-failover) endpoints for Failover.

**Richten Sie den IdP Ihrer Organisation ein und vertrauen Sie AWS sich gegenseitig**

1. Registrieren Sie sich AWS als Service Provider (SP) beim IdP Ihrer Organisation. Verwenden Sie das SAML-Metadatendokument von `https://region-code.signin.aws.amazon.com/static/saml-metadata.xml` 

   Eine Liste möglicher *region-code* Werte finden Sie in der Spalte **Region** unter [AWS Anmelde-Endpunkte](https://docs.aws.amazon.com/general/latest/gr/signin-service.html).

   Optional können Sie das SAML-Metadatendokument von `https://signin.aws.amazon.com/static/saml-metadata.xml` verwenden.

1. <a name="createxml"></a>Mithilfe des Identitätsanbieters Ihrer Organisation erstellen Sie eine entsprechende SAML-Metadaten-XML-Datei, die Ihren Identitätsanbieter als IAM-Identitätsanbieter in AWS beschreibt. Es muss den Namen des Ausstellers, ein Erstellungs- und ein Ablaufdatum sowie Schlüssel enthalten, anhand derer die Authentifizierungsantworten (Assertionen) Ihrer Organisation validiert werden AWS können. 

   Wenn Sie zulassen, dass verschlüsselte SAML-Assertionen von Ihrem externen IdP gesendet werden, müssen Sie mithilfe des IdP Ihrer Organisation eine private Schlüsseldatei generieren und diese Datei im PEM-Dateiformat in Ihre IAM-SAML-Konfiguration hochladen. AWS STS benötigt diesen privaten Schlüssel, um SAML-Antworten zu entschlüsseln, die dem öffentlichen Schlüssel entsprechen, der auf Ihren IdP hochgeladen wurde.
**Anmerkung**  
Gemäß der Definition im [SAML V2.0 Metadata Interoperability Profile Version 1.0](https://docs.oasis-open.org/security/saml/Post2.0/sstc-metadata-iop-os.html) bewertet IAM das Ablaufdatum von X.509-Zertifikaten in SAML-Metadatendokumenten nicht und ergreift auch keine Maßnahmen diesbezüglich. Wenn Sie Bedenken hinsichtlich abgelaufener X.509-Zertifikate haben, empfehlen wir Ihnen, die Ablaufdaten der Zertifikate zu überwachen und die Zertifikate gemäß den Governance- und Sicherheitsrichtlinien Ihrer Organisation zu rotieren.

1. <a name="samlovrcreateentity"></a>In der IAM-Konsole erstellen Sie einen SAML-Identitätsanbieter. Als Teil dieses Prozesses laden Sie das SAML-Metadatendokument und den privaten Entschlüsselungsschlüssel hoch, der vom IdP in Ihrer Organisation in [Step 2](#createxml) erstellt wurde. Weitere Informationen finden Sie unter [Erstellen eines SAML-Identitätsanbieters in IAM](id_roles_providers_create_saml.md).

1. <a name="samlovrcreaterole"></a>In IAM erstellen Sie eine oder mehrere IAM-Rollen. In der Vertrauensrichtlinie der Rolle legen Sie den SAML-Anbieter als Principal fest, wodurch eine Vertrauensbeziehung zwischen Ihrer Organisation und hergestellt wird. AWS Die Berechtigungsrichtlinie der Rolle legt fest, wozu die Benutzer in Ihrer Organisation in AWS berechtigt sind. Weitere Informationen finden Sie unter [Erstellen einer Rolle für einen externen Identitätsanbieter](id_roles_create_for-idp.md).
**Anmerkung**  
SAML, das in einer Rollenvertrauensrichtlinie IDPs verwendet wird, muss sich in demselben Konto befinden, in dem sich die Rolle befindet.

1. Im Identitätsanbieter Ihrer Organisation definieren Sie Zusicherungen, in denen Benutzer oder Gruppen in Ihrer Organisation den IAM-Rollen zugeordnet werden. Beachten Sie, dass unterschiedliche Benutzer und Gruppen in Ihrer Organisation unterschiedlichen IAM-Rollen zugeordnet werden können. Die genauen Schritte zur Durchführung des Mappings hängen davon ab, welche Identitätsanbieter Sie verwenden. Im [früheren Szenario](#CreatingSAML-configuring) eines Amazon S3-Ordners für Benutzer ist es möglich, dass alle Benutzer derselben Rolle zugeordnet werden, die Amazon S3-Berechtigungen bieten. Weitere Informationen finden Sie unter [Konfigurieren von SAML-Assertionen für die Authentifizierungsreaktion](id_roles_providers_create_saml_assertions.md).

   Wenn Ihr IdP SSO für die AWS Konsole aktiviert, können Sie die maximale Dauer der Konsolensitzungen konfigurieren. Weitere Informationen finden Sie unter [Aktivieren des Zugriffs von SAML 2.0-Verbundprinzipalen auf AWS-Managementkonsole](id_roles_providers_enable-console-saml.md).

1. In der Anwendung, die Sie erstellen, rufen Sie die AWS -Security-Token-Service `AssumeRoleWithSAML` API auf und übergeben ihr den ARN des SAML-Anbieters, in dem Sie erstellt haben[Step 3](#samlovrcreateentity), den ARN der Rolle, von der angenommen werden soll, dass Sie sie erstellt haben[Step 4](#samlovrcreaterole), und die SAML-Assertion über den aktuellen Benutzer, die Sie von Ihrem IdP erhalten. AWS stellt sicher, dass die Anfrage zur Übernahme der Rolle von dem IdP stammt, auf den im SAML-Anbieter verwiesen wird. 

   *Weitere Informationen finden Sie unter [AssumeRoleWithSAML](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) in der AWS -Security-Token-Service API-Referenz.* 

1. Wenn die Anforderung erfolgreich ist, gibt die API eine Reihe temporärer Sicherheitsanmeldeinformationen zurück, die Ihre Anwendung verwenden kann, um signierte Anforderungen an AWS zu stellen. Ihre Anwendung hat Informationen über den aktuellen Benutzer und kann auf benutzerspezifische Ordner in Amazon S3 zugreifen, wie im vorherigen Szenario beschrieben. 

## Überblick über die Rolle, die den SAML-Verbundzugriff auf Ihre Ressourcen ermöglicht AWS
<a name="CreatingSAML-configuring-role"></a>

Die Rollen, die Sie in IAM erstellen, definieren, wozu SAML-Verbundprinzipale aus Ihrer Organisation in AWS berechtigt sind. Beim Erstellen der Vertrauensrichtlinie für die Rolle geben Sie den SAML-Anbieter an, die Sie zuvor als `Principal` erstellt haben. Darüber hinaus können Sie den Geltungsbereich der Vertrauensrichtlinie mithilfe einer `Condition` festlegen, sodass nur Benutzer, die bestimmte SAML-Attribute erfüllen, auf die Rolle zugreifen können. Sie können beispielsweise festlegen, dass nur Benutzer, deren SAML-Zugehörigkeit `staff` lautet (wie von https://openidp.feide.no bestätigt), Zugriff auf die Rolle haben, wie in der folgenden Musterrichtlinie gezeigt:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Principal": {"Federated": "arn:aws:iam::111122223333:saml-provider/ExampleOrgSSOProvider"},
    "Action": "sts:AssumeRoleWithSAML",
    "Condition": {
      "StringEquals": {
        "saml:aud": "https://us-east-1.signin.aws.amazon.com/saml",
        "saml:iss": "https://openidp.feide.no"
      },
      "ForAllValues:StringLike": {"saml:edupersonaffiliation": ["staff"]}
    }
  }]
}
```

------

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Federated": "arn:aws-cn:iam::111122223333:saml-provider/ExampleOrgSSOProvider"
            },
            "Action": "sts:AssumeRoleWithSAML",
            "Condition": {
                "StringEquals": {
                    "saml:aud": "https://ap-east-1.signin.amazonaws.cn/saml",
                    "saml:iss": "https://openidp.feide.no"
                },
                "ForAllValues:StringLike": {
                    "saml:edupersonaffiliation": [
                        "staff"
                    ]
                }
            }
        }
    ]
}
```

------

**Anmerkung**  
SAML, das in einer Rollenvertrauensrichtlinie IDPs verwendet wird, muss sich in demselben Konto befinden, in dem sich die Rolle befindet.

Der Kontextschlüssel `saml:aud` in der Richtlinie gibt die URL an, die Ihr Browser bei der Anmeldung an der Konsole anzeigt. Diese Anmeldeendpunkt-URL muss mit dem SAML-Empfängerattribut Ihres Identitätsanbieters übereinstimmen. Sie können die Anmeldung URLs innerhalb bestimmter Regionen einbeziehen. AWS empfiehlt, regionale Endpunkte anstelle des globalen Endpunkts zu verwenden, um die Ausfallsicherheit des Verbunds zu verbessern. Wenn Sie nur einen Endpunkt konfiguriert haben, können Sie sich in dem unwahrscheinlichen Fall, dass der Endpunkt nicht verfügbar ist, nicht im Verbund mit AWS verbinden. Eine Liste möglicher *region-code* Werte finden Sie in der Spalte **Region** unter [AWS Anmeldeendpunkte](https://docs.aws.amazon.com/general/latest/gr/signin-service.html).

Das folgende Beispiel veranschaulicht das Format der Anmelde-URL mit dem optionalen `region-code`.

`https://region-code.signin.aws.amazon.com/saml`

Wenn eine SAML-Verschlüsselung erforderlich ist, muss die Anmelde-URL die eindeutige Kennung enthalten, die AWS Ihrem SAML-Anbieter zuweist. Diese finden Sie auf der Detailseite des Identitätsanbieters. Im folgenden Beispiel enthält die Anmelde-URL eine eindeutige Kennung des Identitätsanbieters, weshalb /acs/ an den Anmeldepfad angefügt werden muss.

`https://region-code.signin.aws.amazon.com/saml/acs/IdP-ID`

Für die Berechtigungsrichtlinie in der Rolle geben Sie Berechtigungen wie bei jeder anderen Rolle auch an. Wenn Benutzer aus Ihrer Organisation beispielsweise Amazon Elastic Compute Cloud-Instances verwalten dürfen, müssen Sie Amazon EC2 EC2-Aktionen in der Berechtigungsrichtlinie ausdrücklich zulassen, z. B. die Aktionen in der von **Amazon EC2 FullAccess** verwalteten Richtlinie. 

Weitere Informationen zu den SAML-Schlüsseln, die Sie in einer Richtlinie überprüfen können, finden Sie unter [Verfügbare Schlüssel für den SAML-basierten AWS STS Verbund](reference_policies_iam-condition-keys.md#condition-keys-saml).

## Eindeutige Identifizierung von Benutzern im SAML-basierten Verbund
<a name="CreatingSAML-userid"></a>

Wenn Sie Zugriffsrichtlinien in IAM erstellen können, ist es häufig nützlich, wenn Berechtigungen basierend auf der Identität der Benutzer angegeben werden können. Für Benutzer, die mit SAML verbunden wurde, möchte eine Anwendung möglicherweise Informationen in Amazon S3 mit einer Struktur wie dieser behalten: 

```
amzn-s3-demo-bucket/app1/user1
amzn-s3-demo-bucket/app1/user2
amzn-s3-demo-bucket/app1/user3
```

Sie können den Bucket (`amzn-s3-demo-bucket`) und den Ordner (`app1`) über die Amazon S3 S3-Konsole oder die erstellen AWS CLI, da es sich um statische Werte handelt. Die benutzerspezifischen Ordner (*user1*, *user2**user3*, usw.) müssen jedoch zur Laufzeit mithilfe von Code erstellt werden, da der Wert, der den Benutzer identifiziert, erst bekannt ist, wenn sich der Benutzer zum ersten Mal über den Verbundprozess anmeldet. 

Um Richtlinien zu schreiben, die auf benutzerspezifische Details als Teil eines Ressourcennamens verweisen, muss die Identität des Benutzers in SAML-Schlüsseln verfügbar sein, die in Richtlinienbedingungen verwendet werden können. Die folgenden Schlüssel sind für SAML 2.0-basierten Verbund zur Verwendung in IAM-Richtlinien verfügbar. Sie können die von den folgenden Schlüsseln zurückgegebenen Werte verwenden, um eindeutige Benutzerkennungen für Ressourcen wie Amazon S3-Ordner zu erstellen. 
+ `saml:namequalifier`. Ein Hash-Wert basierend auf der Verkettung des `Issuer`-Antwortwerts (`saml:iss`) und einer Zeichenfolge mit der `AWS`-Konto-ID und dem Anzeigenamen (der letzte Teil der ARN) des SAML-Anbieters in IAM. Die Verkettung der Konto-ID und des Anzeigenamens des SAML-Anbieters steht als der Schlüssel `saml:doc` für IAM-Richtlinien zur Verfügung. Die Konto-ID und der Name des Anbieters müssen durch ein '/' getrennt werden, wie in "123456789012/anbieter\$1name". Weitere Informationen finden Sie im `saml:doc`-Schlüssel unter [Verfügbare Schlüssel für den SAML-basierten AWS STS Verbund](reference_policies_iam-condition-keys.md#condition-keys-saml).

  Die Kombination aus `NameQualifier` und `Subject` kann verwendet werden, um einen SAML-Verbundprinzipal eindeutig zu identifizieren. Die folgende Pseudocode zeigt, wie dieser Wert berechnet wird. In diesem Pseudocode bedeutet `+` eine Verkettung, `SHA1` stellt eine Funktion dar, die einen Nachrichtendigest mit SHA-1 produziert, und `Base64` stellt eine Funktion dar, die eine Base-64-codierte Version der Hash-Ausgabe produziert.

   `Base64 ( SHA1 ( "https://example.com/saml" + "123456789012" + "/MySAMLIdP" ) )` 

   Weitere Informationen über die Richtlinienschlüssel, die für den SAML-Verbund verfügbar sind, finden Sie unter [Verfügbare Schlüssel für den SAML-basierten AWS STS Verbund](reference_policies_iam-condition-keys.md#condition-keys-saml).
+ `saml:sub` (string). Dies ist der Betreff des Antrags, der einen Wert enthält, der einen einzelnen Benutzer innerhalb einer Organisation eindeutig identifiziert (zum Beispiel `_cbb88bf52c2510eabe00c1642d4643f41430fe25e3`). 
+ `saml:sub_type` (string). Dieser Schlüssel kann `persistent`, `transient`oder die vollständige `Format`-URI aus den `Subject`- und `NameID`-Elementen sein, die in Ihrer SAML-Zusicherung verwendet wurden. Der Wert `persistent` gibt an, dass der Wert in `saml:sub` für einen Benutzer derselbe für alle Sessions ist. Wenn der Wert `transient` lautet, hat der Benutzer einen anderen `saml:sub`-Wert für jede Sitzung. Weitere Informationen zum `NameID`-Attribut des `Format`-Elements finden Sie unter [Konfigurieren von SAML-Assertionen für die Authentifizierungsreaktion](id_roles_providers_create_saml_assertions.md). 

Das folgende Beispiel zeigt eine Berechtigungsrichtlinie, die die oben genannten Schlüssel verwendet, um Berechtigungen für einen benutzerspezifischen Ordner in Amazon S3 zu gewähren. Die Richtlinie geht davon aus, dass die Amazon S3-Objekte mit einem Präfix identifiziert werden, das sowohl `saml:namequalifier` als auch `saml:sub` enthält. Beachten Sie, dass das `Condition`-Element einen Test umfasst, um sicherzustellen, dass `saml:sub_type` auf `persistent` festgelegt ist. Wenn er auf `transient` festgelegt ist, kann der `saml:sub`-Wert für den Benutzer für jede Sitzung unterschiedlich sein und die Kombination der Werte sollte nicht verwendet werden, um benutzerspezifische Ordner zu identifizieren. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "s3:GetObject",
      "s3:PutObject",
      "s3:DeleteObject"
    ],
    "Resource": [
      "arn:aws:s3:::amzn-s3-demo-bucket-org-data/backup/${saml:namequalifier}/${saml:sub}",
      "arn:aws:s3:::amzn-s3-demo-bucket-org-data/backup/${saml:namequalifier}/${saml:sub}/*"
    ],
    "Condition": {"StringEquals": {"saml:sub_type": "persistent"}}
  }
}
```

------

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "s3:GetObject",
      "s3:PutObject",
      "s3:DeleteObject"
    ],
    "Resource": [
      "arn:aws-cn:s3:::amzn-s3-demo-bucket-org-data/backup/${saml:namequalifier}/${saml:sub}",
      "arn:aws-cn:s3:::amzn-s3-demo-bucket-org-data/backup/${saml:namequalifier}/${saml:sub}/*"
    ],
    "Condition": {"StringEquals": {"saml:sub_type": "persistent"}}
  }
}
```

------

Weitere Informationen zum Mapping von Zusicherungen aus dem Identitätsanbieter zu Richtlinienschlüsseln finden Sie unter [Konfigurieren von SAML-Assertionen für die Authentifizierungsreaktion](id_roles_providers_create_saml_assertions.md). 

# Erstellen eines SAML-Identitätsanbieters in IAM
<a name="id_roles_providers_create_saml"></a>

Ein IAM-SAML 2.0-Identitätsanbieter ist eine Entität in IAM, die einen externen Identitätsanbieter-Service (Identity Provider, IdP) beschreibt, der den Standard [SAML 2.0 (Security Assertion Markup Language 2.0)](https://wiki.oasis-open.org/security) unterstützt. Sie verwenden einen IAM-Identitätsanbieter, wenn Sie eine Vertrauensstellung zwischen einem SAML-kompatiblen IdP wie Shibboleth oder Active Directory Federation Services herstellen möchten AWS, damit Ihre Benutzer auf Ressourcen zugreifen können. AWS IAM-SAML-Identitätsanbieter werden als Auftraggeber in einer IAM-Vertrauensrichtlinie verwendet. 

Weitere Informationen zu diesem Szenario finden Sie unter [SAML 2.0-Föderation](id_roles_providers_saml.md).

Sie können einen IAM-Identitätsanbieter in AWS-Managementkonsole oder mit AWS CLI Tools für Windows oder API-Aufrufen erstellen und verwalten. PowerShell AWS 

Nach dem Erstellen eines SAML-Anbieters müssen Sie eine oder mehrere IAM-Rollen erstellen. Eine Rolle ist eine Identität AWS , die keine eigenen Anmeldeinformationen hat (wie dies bei einem Benutzer der Fall ist). In diesem Zusammenhang wird jedoch einem SAML-Verbundprinzipal, der von Ihrem IDP authentifiziert wird, dynamisch eine Rolle zugewiesen. Die Rolle ermöglicht es dem Identitätsanbieter, temporäre Sicherheitsanmeldeinformationen für den Zugriff auf AWS anzufordern. Die der Rolle zugewiesenen Richtlinien bestimmen, was Benutzer tun dürfen AWS. Weitere Informationen zum Erstellen einer Rolle für den SAML-Verbund finden Sie unter [Erstellen einer Rolle für einen externen Identitätsanbieter](id_roles_create_for-idp.md). 

Nachdem Sie die Rolle erstellt haben, schließen Sie die SAML-Vertrauensstellung ab, indem Sie Ihren IdP mit Informationen über AWS und die Rollen konfigurieren, die Ihre SAML-Verbundprinzipale verwenden sollen. Dies wird als Konfiguration der Vertrauensstellung zwischen Ihrem Identitätsanbieter und AWS bezeichnet. Weitere Informationen zum Konfigurieren der Vertrauensstellung für die vertrauende Seite finden Sie unter [Konfigurieren Ihres SAML 2.0-IdP mit der Vertrauensstellung der vertrauenden Seite und Hinzufügen von Anträgen](id_roles_providers_create_saml_relying-party.md). 

**Topics**
+ [

## Voraussetzungen
](#idp-manage-identityprovider-prerequisites)
+ [

## IAM-SAML-Identitätsanbieter erstellen und verwalten (Konsole)
](#idp-manage-identityprovider-console)
+ [

## Verwaltung von SAML-Verschlüsselungsschlüssel
](#id_federation_manage-saml-encryption)
+ [

## Erstellen und Verwalten eines IAM-SAML-Identitätsanbieters (AWS CLI)
](#idp-create-identityprovider-CLI)
+ [

## Erstellen und verwalten Sie einen IAM-SAML-Identitätsanbieter (API)AWS
](#idp-create-identityprovider-API)
+ [

## Nächste Schritte
](#id_roles_create-for-saml-next-steps)

## Voraussetzungen
<a name="idp-manage-identityprovider-prerequisites"></a>

Bevor Sie einen SAML-Identitätsanbieter erstellen können, benötigen Sie die folgenden Informationen von Ihrem IdP.
+ Rufen Sie das SAML-Metadatendokument von Ihrem IdP ab. Diese Metadatendatei enthält den Namen des Ausstellers, Ablaufinformationen und Schlüssel, die zum Überprüfen der vom IdP empfangenen SAML-Authentifizierung (Zusicherungen) verwendet werden können. Verwenden Sie zum Generieren des Metadatendokuments die von Ihrem externen IdP bereitgestellte Identitätsverwaltungs-Software.
**Wichtig**  
Diese Metadatendatei enthält den Namen des Ausstellers, Ablaufinformationen und Schlüssel, die zum Überprüfen der vom IdP empfangenen SAML-Authentifizierung (Zusicherungen) verwendet werden können. Die Metadatendatei muss im UTF-8-Format ohne BOM (Byte Order Mark, Markierung der Bytereihenfolge) codiert sein. Zum Entfernen der BOM können Sie die Datei mithilfe eines Textbearbeitung-Tools wie Notepad\$1\$1 als UTF-8 codieren.  
Das X.509-Zertifikat, das Bestandteil des SAML-Metadatendokuments ist, muss eine Schlüsselgröße von mindestens 1024 Bit verwenden. Außerdem darf das X.509-Zertifikat auch keine wiederholten Erweiterungen enthalten. Sie können Erweiterungen verwenden, diese dürfen jedoch nur einmal im Zertifikat angezeigt werden. Wenn das X.509-Zertifikat keine der beiden Bedingungen erfüllt, schlägt die IDP-Erstellung fehl und gibt den Fehler „Metadaten können nicht geparst werden“ zurück.  
Gemäß der Definition im [SAML V2.0 Metadata Interoperability Profile Version 1.0](https://docs.oasis-open.org/security/saml/Post2.0/sstc-metadata-iop-os.html) bewertet IAM das Ablaufdatum von X.509-Zertifikaten in SAML-Metadatendokumenten nicht und ergreift auch keine Maßnahmen diesbezüglich. Wenn Sie Bedenken hinsichtlich abgelaufener X.509-Zertifikate haben, empfehlen wir Ihnen, die Ablaufdaten der Zertifikate zu überwachen und die Zertifikate gemäß den Governance- und Sicherheitsrichtlinien Ihres Unternehmens zu rotieren.
+ Wenn Sie die SAML-Verschlüsselung aktivieren möchten, müssen Sie mit Ihrem IDP eine private Schlüsseldatei erstellen und diese Datei im PEM-Dateiformat in Ihre IAM-SAML-Konfiguration hochladen. AWS STS benötigt diesen privaten Schlüssel, um SAML-Antworten zu entschlüsseln, die dem auf Ihren IDP hochgeladenen öffentlichen Schlüssel entsprechen. Die folgenden Algorithmen werden unterstützt:
  + Verschlüsselungsalgorithmen
    + AES-128
    + AES-256
    + RSA-OAEP
  + Schlüsseltransportalgorithmen
    + AES-CBC
    + AES-GCM

  Informationen zum Generieren eines privaten Schlüssels finden Sie in der Dokumentation Ihres Identitätsanbieters.
**Anmerkung**  
IAM Identity Center und Amazon Cognito unterstützen keine verschlüsselten SAML-Assertionen von IAM-SAML-Identitätsanbietern. Sie können indirekt Unterstützung für verschlüsselte SAML-Assertionen zum Amazon-Cognito-Identitätspool-Verbund mit Amazon-Cognito-Benutzerpools hinzufügen. Benutzerpools verfügen über einen SAML-Verbund, der unabhängig vom IAM-SAML-Verbund ist und [SAML-Signatur und -Verschlüsselung](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-SAML-signing-encryption.html) unterstützt. Obwohl sich diese Funktion nicht direkt auf Identitätspools erstreckt, können Benutzerpools für Identitätspools IdPs verwendet werden. Um SAML-Verschlüsselung mit Identitätspools zu verwenden, fügen Sie einem Benutzerpool, der ein IdP für einen Identitätspool ist, einen SAML-Anbieter mit Verschlüsselung hinzu.  
Ihr SAML-Anbieter muss in der Lage sein, SAML-Assertionen mit einem von Ihrem Benutzerpool bereitgestellten Schlüssel zu verschlüsseln. Benutzerpools akzeptieren keine Assertionen, die mit einem von IAM bereitgestellten Zertifikat verschlüsselt sind.

Anweisungen zur Konfiguration vieler verfügbarer IdPs Dateien AWS, mit denen gearbeitet werden kann, einschließlich der Generierung des erforderlichen SAML-Metadatendokuments, finden Sie unter[Integrieren Sie SAML-Lösungsanbieter von Drittanbietern mit AWS](id_roles_providers_saml_3rd-party.md).

Unterstützung zum SAML-Verbund finden Sie unter [Fehlerbehebung beim SAML-Verbund](troubleshoot_saml.md).

## IAM-SAML-Identitätsanbieter erstellen und verwalten (Konsole)
<a name="idp-manage-identityprovider-console"></a>

Sie können den verwenden, AWS-Managementkonsole um IAM-SAML-Identitätsanbieter zu erstellen, zu aktualisieren und zu löschen. Unterstützung zum SAML-Verbund finden Sie unter [Fehlerbehebung beim SAML-Verbund](troubleshoot_saml.md).

**So erstellen Sie einen IAM-SAML-Identitätsanbieter (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. Wählen Sie im Navigationsbereich **Identitätsanbieter** und dann **Anbieter erstellen**. 

1. Wählen Sie für die **Anbieterkonfiguration** **SAML**. 

1. Geben Sie einen Namen für den Identitätsanbieter ein.

1. Klicken Sie unter **Metadaten-Dokument** auf **Datei auswählen** und geben Sie das SAML-Metadatendokument an, das Sie unter [Voraussetzungen](#idp-manage-identityprovider-prerequisites) heruntergeladen haben.
**Anmerkung**  
Das Attribut `validUntil` oder `cacheDuration` in Ihrem SAML-Metadatendokument definiert das **Ablaufdatum** für den Identitätsanbieter. Wenn Ihr SAML-Metadatendokument kein Attribut zur Gültigkeitsdauer enthält, stimmt das **Ablaufdatum** nicht mit dem Ablaufdatum Ihres X.509-Zertifikats überein.  
IAM bewertet das Ablaufen von X.509-Zertifikaten in SAML-Metadatendokumenten nicht und ergreift auch keine Maßnahmen. Wenn Sie Bedenken hinsichtlich abgelaufener X.509-Zertifikate haben, empfehlen wir Ihnen, die Ablaufdaten der Zertifikate zu überwachen und die Zertifikate gemäß den Governance- und Sicherheitsrichtlinien Ihres Unternehmens zu rotieren.

1. (Optional) Wählen Sie für die **SAML-Verschlüsselung** die Option **Datei auswählen** und dann die private Schlüsseldatei aus, die Sie in [Voraussetzungen](#idp-manage-identityprovider-prerequisites) erstellt haben. Wählen Sie **Verschlüsselung erforderlich**, um nur verschlüsselte Anfragen von Ihrem IdP zu akzeptieren.

1. (Optional) Unter **Tags hinzufügen** können Sie Schlüssel-Wert-Paare hinzufügen, um Ihre zu identifizieren und zu organisieren. IdPs Sie können auch Tags verwenden, um den Zugriff auf AWS -Ressourcen zu steuern. Weitere Informationen zum Markieren von SAML-Identitätsanbietern finden Sie unter [Markieren von IAM-SAML-Identitätsanbieter](id_tags_saml.md).

   Wählen Sie **Add tag**. Geben Sie Werte für jedes Tag-Schlüsselwertpaar ein. 

1. Verifizieren Sie die angegebenen Informationen. Wenn Sie fertig sind, wählen Sie **Anbieter hinzufügen**. 

1. Weisen Sie Ihrem Identitätsanbieter eine IAM-Rolle zu. Diese Rolle gewährt externen Benutzeridentitäten, die von Ihrem Identitätsanbieter verwaltet werden, Zugriff auf AWS Ressourcen in Ihrem Konto. Weitere Informationen zum Erstellen von Rollen für den Identitätsverbund finden Sie unter [Erstellen einer Rolle für einen externen Identitätsanbieter](id_roles_create_for-idp.md).
**Anmerkung**  
SAML, das in einer Rollenvertrauensrichtlinie IDPs verwendet wird, muss sich in demselben Konto befinden, in dem sich die Rolle befindet.

**So löschen Sie einen SAML-Anbieter (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. Wählen Sie im Navigationsbereich **Identitätsanbieter**.

1. Aktivieren Sie das Kontrollkästchen neben dem Identitätsanbieter, den Sie löschen möchten.

1. Wählen Sie **Löschen** aus. Ein neues Fenster wird geöffnet.

1. Bestätigen Sie, dass Sie den Anbieter löschen möchten, indem Sie das Wort `delete` in das Feld eingeben. Wählen Sie dann **Löschen**.

## Verwaltung von SAML-Verschlüsselungsschlüssel
<a name="id_federation_manage-saml-encryption"></a>

Sie können IAM-SAML-Anbieter so konfigurieren, dass sie verschlüsselte Assertionen in der SAML-Antwort von Ihrem externen IdP empfangen. Benutzer können eine Rolle AWS bei verschlüsselten SAML-Assertionen übernehmen, indem sie anrufen. `[sts:AssumeRoleWithSAML](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html)`

Durch die SAML-Verschlüsselung wird sichergestellt, dass Aussagen sicher sind, wenn sie über Vermittler oder Dritte übermittelt werden. Darüber hinaus unterstützt Sie dieses Feature dabei, FedRAMP oder andere interne Compliance-Richtlinienanforderungen zu erfüllen, die eine Verschlüsselung von SAML-Assertionen vorschreiben.

Informationen zum Konfigurieren eines IAM-SAML-Identitätsanbieters finden Sie unter [Erstellen eines SAML-Identitätsanbieters in IAM](#id_roles_providers_create_saml). Unterstützung zum SAML-Verbund finden Sie unter [Fehlerbehebung beim SAML-Verbund](troubleshoot_saml.md).

### Rotieren des SAML-Verschlüsselungsschlüssels
<a name="id_federation_manage-saml-keys-rotate"></a>

IAM verwendet den privaten Schlüssel, den Sie beim IAM-SAML-Anbieter hochgeladen haben, um verschlüsselte SAML-Assertionen von Ihrem IDP zu entschlüsseln. Sie können für jeden Identitätsanbieter bis zu zwei private Schlüsseldateien speichern, sodass Sie private Schlüssel nach Bedarf rotieren können. Wenn zwei Dateien gespeichert werden, versucht jede Anfrage zuerst, die Datei mit dem neuesten **Hinzufügungsdatum** zu entschlüsseln. Anschließend versucht IAM, die Anfrage mit dem ältesten **Hinzufügungsdatum** zu entschlüsseln.

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 **Identitätsanbieter** und wählen Sie dann Ihren Anbieter aus der Liste aus. 

1. Wählen Sie die Registerkarte **SAML-Verschlüsselung** und dann **Neuen Schlüssel hinzufügen** aus.

1. Wählen Sie **Datei auswählen** und laden Sie den privaten Schlüssel, den Sie von Ihrem IDP heruntergeladen haben, als PEM-Datei hoch. Wählen Sie dann **Schlüssel hinzufügen** aus.

1. Wählen Sie im Abschnitt **Private Schlüssel für SAML-Entschlüsselung** die abgelaufene private Schlüsseldatei aus und wählen Sie **Entfernen** aus. Wir empfehlen Ihnen, den abgelaufenen privaten Schlüssel zu entfernen, nachdem Sie einen neuen privaten Schlüssel hinzugefügt haben, um sicherzustellen, dass der erste Versuch zum Entschlüsseln Ihrer Assertion erfolgreich ist.

## Erstellen und Verwalten eines IAM-SAML-Identitätsanbieters (AWS CLI)
<a name="idp-create-identityprovider-CLI"></a>

Sie können den verwenden, AWS CLI um SAML-Anbieter zu erstellen, zu aktualisieren und zu löschen. Unterstützung zum SAML-Verbund finden Sie unter [Fehlerbehebung beim SAML-Verbund](troubleshoot_saml.md).

**So erstellen Sie einen IAM-Identitätsanbieter und laden ein Metadatendokument hoch (AWS CLI)**
+ Führen Sie diesen Befehl aus: [https://docs.aws.amazon.com/cli/latest/reference/iam/create-saml-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-saml-provider.html) 

**So aktualisieren Sie einen IAM SAML-Identitätsanbieter (AWS CLI)**

Sie können die Metadatendatei und die SAML-Verschlüsselungseinstellungen aktualisieren und die Entschlüsselungsdateien für private Schlüssel für Ihren IAM-SAML-Anbieter rotieren. Um private Schlüssel zu rotieren, fügen Sie Ihren neuen privaten Schlüssel hinzu und entfernen Sie dann den alten Schlüssel in einer separaten Anforderung. Weitere Informationen zum Rotieren von privaten Schlüsseln finden Sie unter [Verwaltung von SAML-Verschlüsselungsschlüssel](#id_federation_manage-saml-encryption).
+ Führen Sie diesen Befehl aus: [https://docs.aws.amazon.com/cli/latest/reference/iam/update-saml-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/update-saml-provider.html) 

**Markieren eines vorhandenen IAM-Identitätsanbieters (AWS CLI)**
+ Führen Sie diesen Befehl aus: [https://docs.aws.amazon.com/cli/latest/reference/iam/tag-saml-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-saml-provider.html) 

**Auflisten von Tags für bestehenden IAM-Identitätsanbieter (AWS CLI)**
+ Führen Sie diesen Befehl aus: [https://docs.aws.amazon.com/cli/latest/reference/iam/list-saml-provider-tags.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-saml-provider-tags.html) 

**Entfernen von Tags auf einem bestehenden IAM-Identitätsanbieter (AWS CLI)**
+ Führen Sie diesen Befehl aus: [https://docs.aws.amazon.com/cli/latest/reference/iam/untag-saml-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-saml-provider.html) 

**So löschen Sie einen IAM-SAML-Identitätsanbieter (AWS CLI)**

1. (Optional) Führen Sie zum Auflisten der Informationen für alle Anbieter (z. B. ARN, Erstellungsdatum und Ablaufdatum) folgenden Befehl aus:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/list-saml-providers.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-saml-providers.html)

1. (Optional) Um Informationen zu einem bestimmten Anbieter abzurufen, z. B. ARN, Erstellungsdatum, Ablaufdatum, Verschlüsselungseinstellungen und Informationen zum privaten Schlüssel, führen Sie den folgenden Befehl aus:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/get-saml-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/get-saml-provider.html)

1. Führen Sie zum Löschen eines IAM-Identitätsanbieters den folgenden Befehl aus:
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-saml-provider.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-saml-provider.html)

## Erstellen und verwalten Sie einen IAM-SAML-Identitätsanbieter (API)AWS
<a name="idp-create-identityprovider-API"></a>

Sie können die AWS API verwenden, um SAML-Anbieter zu erstellen, zu aktualisieren und zu löschen. Unterstützung zum SAML-Verbund finden Sie unter [Fehlerbehebung beim SAML-Verbund](troubleshoot_saml.md).

**Um einen IAM-Identitätsanbieter zu erstellen und ein Metadatendokument (AWS API) hochzuladen**
+ Rufen Sie diese Operation auf: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateSAMLProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateSAMLProvider.html)

**Um einen IAM-SAML-Identitätsanbieter (API) zu aktualisieren AWS**

Sie können die Metadatendatei und die SAML-Verschlüsselungseinstellungen aktualisieren und die Entschlüsselungsdateien für private Schlüssel für Ihren IAM-SAML-Anbieter rotieren. Um private Schlüssel zu rotieren, fügen Sie Ihren neuen privaten Schlüssel hinzu und entfernen Sie dann den alten Schlüssel in einer separaten Anforderung. Weitere Informationen zum Rotieren von privaten Schlüsseln finden Sie unter [Verwaltung von SAML-Verschlüsselungsschlüssel](#id_federation_manage-saml-encryption).
+ Rufen Sie diese Operation auf: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateSAMLProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateSAMLProvider.html)

**Um einen vorhandenen IAM-Identitätsanbieter (API) zu taggen AWS**
+ Rufen Sie diese Operation auf: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagSAMLProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagSAMLProvider.html)

**Um Tags für einen vorhandenen IAM-Identitätsanbieter (AWS API) aufzulisten**
+ Rufen Sie diese Operation auf: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListSAMLProviderTags.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListSAMLProviderTags.html)

**Um Tags auf einem vorhandenen IAM-Identitätsanbieter (AWS API) zu entfernen**
+ Rufen Sie diese Operation auf: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagSAMLProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagSAMLProvider.html)

**Um einen IAM-Identitätsanbieter (AWS API) zu löschen**

1. (Optional) Rufen Sie den folgenden Vorgang auf IdPs, um Informationen für alle aufzulisten, z. B. den ARN, das Erstellungsdatum und das Ablaufdatum:
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListSAMLProviders.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListSAMLProviders.html)

1. (Optional) Um Informationen zu einem bestimmten Anbieter abzurufen, z. B. ARN, Erstellungsdatum, Ablaufdatum, Verschlüsselungseinstellungen und private Schlüsselinformationen, rufen Sie die folgende Operation auf:
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetSAMLProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetSAMLProvider.html)

1. Rufen Sie zum Löschen eines Identitätsanbieters die folgende Operation auf:
   + [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteSAMLProvider.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteSAMLProvider.html)

## Nächste Schritte
<a name="id_roles_create-for-saml-next-steps"></a>

Nachdem Sie einen SAML-Identitätsanbieter erstellt haben, richten Sie die Vertrauensstellung der vertrauenden Partei mit Ihrem IdP ein. Sie können auch Anträge aus der Authentifizierungsantwort Ihres IdP in Richtlinien verwenden, um den Zugriff auf eine Rolle zu steuern.
+ Sie müssen dem IdP davon AWS als Dienstanbieter erzählen. Dieser Vorgang wird als Hinzufügen der Vertrauensstellung für die vertrauenden Seiten zwischen Ihrem Identitätsanbieter und AWS bezeichnet. Der genaue Prozess des Hinzufügens der Vertrauensstellung für die vertrauende Seite hängt davon ab, welchen Identitätsanbieter Sie verwenden. Details hierzu finden Sie unter [Konfigurieren Ihres SAML 2.0-IdP mit der Vertrauensstellung der vertrauenden Seite und Hinzufügen von Anträgen](id_roles_providers_create_saml_relying-party.md).
+ Wenn der IdP die Antwort mit den Ansprüchen an sendet AWS, werden viele der eingehenden Ansprüche AWS Kontextschlüsseln zugeordnet. Sie können diese Kontextschlüssel in IAM-Richtlinien mithilfe des Bedingungselements verwenden, um den Zugriff auf eine Rolle zu steuern. Details hierzu finden Sie unter [Konfigurieren von SAML-Assertionen für die Authentifizierungsreaktion](id_roles_providers_create_saml_assertions.md)

# Konfigurieren Ihres SAML 2.0-IdP mit der Vertrauensstellung der vertrauenden Seite und Hinzufügen von Anträgen
<a name="id_roles_providers_create_saml_relying-party"></a>

Wenn Sie einen IAM-Identitätsanbieter und die Rolle für den SAML-Zugriff erstellen, teilen Sie AWS mit, wer der externe Identitätsanbieter (Identity Provider, IdP) ist und was seine Benutzer tun dürfen. Ihr nächster Schritt besteht dann darin, dem IdP von seiner Rolle AWS als Dienstanbieter zu erzählen. Dieser Vorgang wird als Hinzufügen der *Vertrauensstellung für die vertrauenden Seiten* zwischen Ihrem Identitätsanbieter und AWS bezeichnet. Der genaue Prozess des Hinzufügens der Vertrauensstellung für die vertrauende Seite hängt davon ab, welchen Identitätsanbieter Sie verwenden. Weitere Informationen finden Sie in der Dokumentation Ihrer Identitätsverwaltungssoftware. 

In vielen IdPs Fällen können Sie eine URL angeben, über die der IdP ein XML-Dokument lesen kann, das Informationen und Zertifikate der vertrauenden Partei enthält. Verwenden Sie für AWS die URL des Anmeldeendpunkts. Das folgende Beispiel veranschaulicht das URL-Format mit dem optionalen `region-code`.

`https://region-code.signin.aws.amazon.com/static/saml-metadata.xml`

Wenn eine SAML-Verschlüsselung erforderlich ist, muss die URL die eindeutige Kennung enthalten, die Ihrem SAML-Anbieter AWS zugewiesen wurde. Diese finden Sie auf der Detailseite des Identitätsanbieters. Folgendes Beispiel zeigt die regionale Anmelde-URL, die eine eindeutige Kennung enthält.

`https://region-code.signin.aws.amazon.com/static/saml/IdP-ID/saml-metadata.xml`

[Eine Liste möglicher *region-code* Werte finden Sie in AWS der Spalte **Region unter Anmelde-Endpunkte**.](https://docs.aws.amazon.com/general/latest/gr/signin-service.html) Für den AWS Wert können Sie auch den nicht-regionalen Endpunkt verwenden. `https://signin.aws.amazon.com/saml`

Wenn Sie eine URL nicht direkt angeben können, laden Sie das XML-Dokument von der vorangegangenen URL herunter und importieren Sie es in Ihre Identitätsanbietersoftware. 

Sie müssen auch entsprechende Anspruchsregeln in Ihrem IdP erstellen, die angeben AWS , dass es sich um eine vertrauende Partei handelt. *Wenn der IdP eine SAML-Antwort an den AWS Endpunkt sendet, enthält diese eine *SAML-Assertion*, die einen oder mehrere Ansprüche enthält.* Bei einem Anspruch handelt es sich um Informationen über den Benutzer und seine Gruppen. Eine Anspruchsregel ordnet diese Informationen in SAML-Attributen zu. Auf diese Weise können Sie sicherstellen, dass die SAML-Authentifizierungsantworten Ihres IdP die erforderlichen Attribute enthalten, die in IAM-Richtlinien AWS verwendet werden, um die Berechtigungen für SAML-Verbundprinzipale zu überprüfen. Weitere Informationen finden Sie unter den folgenden Themen:
+  [Überblick über die Rolle, die den SAML-Verbundzugriff auf Ihre Ressourcen ermöglicht AWS](id_roles_providers_saml.md#CreatingSAML-configuring-role). In diesem Thema erfahren Sie, wie SAML-spezifische Schlüssel in IAM-Richtlinien verwendet werden und wie sie genutzt werden, um Berechtigungen für SAML-Verbundprinzipale einzuschränken.
+ [Konfigurieren von SAML-Assertionen für die Authentifizierungsreaktion](id_roles_providers_create_saml_assertions.md). In diesem Thema wird erklärt, wie SAML-Ansprüche konfiguriert werden, die Informationen über den Benutzer enthalten. Die Ansprüche sind in einer SAML-Zusicherung gebündelt und in der SAML-Antwort, die an AWS gesendet wird, enthalten. Sie müssen sicherstellen, dass die für die AWS Richtlinien erforderlichen Informationen in der SAML-Assertion in einer Form enthalten sind, die erkannt und verwendet werden kann. AWS 
+  [Integrieren Sie SAML-Lösungsanbieter von Drittanbietern mit AWS](id_roles_providers_saml_3rd-party.md). Dieses Thema enthält Links zu Dokumentationen von Drittanbietern zur Integration von Identitätslösungen mit AWS. 

**Anmerkung**  
Um die Verbundstabilität zu verbessern, empfehlen wir, dass Sie Ihren IdP und Ihren AWS -Verbund so konfigurieren, dass mehrere SAML-Anmeldeendpunkte unterstützt werden. Einzelheiten finden Sie im AWS Sicherheitsblogartikel [How to use regional SAML endpoints for](https://aws.amazon.com/blogs//security/how-to-use-regional-saml-endpoints-for-failover) Failover.

# Integrieren Sie SAML-Lösungsanbieter von Drittanbietern mit AWS
<a name="id_roles_providers_saml_3rd-party"></a>

**Anmerkung**  
Wir empfehlen, dass Sie von Ihren menschlichen Benutzern verlangen, beim Zugriff temporäre Anmeldeinformationen zu verwenden. AWS Haben Sie darüber nachgedacht, es zu verwenden AWS IAM Identity Center? Sie können IAM Identity Center verwenden, um den Zugriff auf mehrere Konten zentral zu verwalten AWS-Konten und Benutzern MFA-geschützten Single Sign-On-Zugriff auf alle ihnen zugewiesenen Konten von einem Ort aus zu gewähren. Mit IAM Identity Center können Sie Benutzeridentitäten in IAM Identity Center erstellen und verwalten oder einfach eine Verbindung zu Ihrem vorhandenen SAML-2.0-kompatiblen Identitätsanbieter herstellen. Weitere Informationen finden Sie unter [Was ist IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) im *AWS IAM Identity Center -Benutzerhandbuch*.

Die folgenden Links helfen Ihnen, SAML 2.0-Identitätsanbieter (IdP) -Lösungen von Drittanbietern so zu konfigurieren, dass sie mit dem AWS Verbund funktionieren. Erkundigen Sie sich bei Ihrem Identitätsanbieter, ob dieser die SAML-Token-Verschlüsselung unterstützt. Informationen zu den Anforderungen für die SAML-Verschlüsselung finden Sie unter [Verwaltung von SAML-Verschlüsselungsschlüssel](id_roles_providers_create_saml.md#id_federation_manage-saml-encryption).

**Tipp**  
AWS Support-Techniker können Kunden mit Geschäfts- und Unternehmens-Supportplänen bei einigen Integrationsaufgaben unterstützen, die Software von Drittanbietern beinhalten. Eine aktuelle Liste der unterstützten Plattformen und Anwendungen finden Sie unter [Welche Software von Drittanbietern wird unterstützt?](https://aws.amazon.com/premiumsupport/faqs/#what3rdParty) im *AWS Support FAQs*.


****  

| Lösung | Weitere Informationen | 
| --- | --- | 
| Auth0 |  In [Amazon Web Services integrieren](https://auth0.com/docs/integrations/aws) — Diese Seite auf der Auth0-Dokumentationswebsite enthält Links zu Ressourcen, die beschreiben, wie Single Sign-On (SSO) mit dem eingerichtet wird, AWS-Managementkonsole und enthält ein JavaScript Beispiel. Sie können Auth0 so konfigurieren, dass [Sitzungs-Tags](id_session-tags.md) übergeben werden. Weitere Informationen finden Sie unter [Auth0 kündigt Partnerschaft mit vier AWS IAM-Sitzungs-Tags](https://auth0.com/blog/auth0-partners-with-aws-for-iam-session-tags/) an. | 
| Microsoft Entra |  [Tutorial: Microsoft Entra SSO-Integration mit AWS Einzelkontenzugriff](https://learn.microsoft.com/en-us/azure/active-directory/saas-apps/amazon-web-service-tutorial) — In diesem Tutorial auf der Microsoft-Website wird beschrieben, wie Microsoft Entra (früher bekannt als Azure AD) mithilfe des SAML-Verbunds als Identitätsanbieter (IdP) eingerichtet wird. | 
| Centrify | [Centrify konfigurieren und SAML für SSO verwenden AWS](https://docs.centrify.com/Content/Applications/AppsWeb/AmazonSAML.htm) — Auf dieser Seite der Centrify-Website wird erklärt, wie Centrify so konfiguriert wird, dass SAML für SSO verwendet wird. AWS | 
| CyberArk | Konfigurieren Sie [CyberArk](https://docs.cyberark.com/Product-Doc/OnlineHelp/Idaptive/Latest/en/Content/Applications/AppsWeb/AmazonSAML.htm), um Benutzern, die sich über SAML Single Sign-On (SSO AWS) vom CyberArk Benutzerportal aus anmelden, Zugriff auf Amazon Web Services () zu gewähren. | 
| ForgeRock | Die [ForgeRock Identity Platform](https://backstage.forgerock.com/docs/am/6.5/saml2-guide/#saml2-create-hosted-idp) lässt sich integrieren mit. AWS Sie können so konfigurieren ForgeRock , dass [Sitzungs-Tags](id_session-tags.md) übergeben werden. Weitere Informationen finden Sie unter [Atributbasierte Zugriffskontrolle für Amazon Web Services](https://www.forgerock.com/blog/attribute-based-access-control-amazon-web-services). | 
| Google WorkSpace | [Cloud-Anwendung Amazon Web Services](https://support.google.com/a/answer/6194963) — In diesem Artikel auf der Google Workspace-Admin-Hilfeseite wird beschrieben, wie Sie Google Workspace als SAML 2.0-IdP mit Service AWS Provider konfigurieren. | 
| IBM | Sie können IBM so konfigurieren, dass [Sitzungs-Tags](id_session-tags.md) übergeben werden. Weitere Informationen finden Sie unter [IBM Cloud Identity IDaa S, eines der ersten Unternehmen, das AWS Sitzungs-Tags unterstützt](https://community.ibm.com/community/user/security/blogs/adam-case/2019/11/25/ibm-cloud-identity-idaas-one-of-first-to-support-aws-session-tags). | 
| JumpCloud |  [Zugriff über IAM-Rollen für Single Sign On (SSO) mit Amazon gewähren AWS](https://support.jumpcloud.com/support/s/article/Granting-Access-via-IAM-Roles-for-Single-Sign-On-SSO-with-Amazon-AWS) — In diesem Artikel auf der JumpCloud Website wird beschrieben, wie SSO auf der Grundlage von IAM-Rollen für eingerichtet und aktiviert wird. AWS | 
| Matrix42 | [MyWorkspace Leitfaden für die ersten Schritte](https://myworkspace.matrix42.com/documents/MyWorkspace-Getting-Started-with-AWS.pdf) — In diesem Handbuch wird beschrieben, wie AWS Identitätsdienste in Matrix42 integriert werden. MyWorkspace | 
| Microsoft Active Directory Federation Services (AD FS) |  [Praktische Hinweise: Integration von Active Directory Federation Service mit AWS IAM Identity Center](https://aws.amazon.com/blogs/architecture/field-notes-integrating-active-directory-federation-service-with-aws-single-sign-on/) — In diesem Beitrag im AWS Architektur-Blog wird der Authentifizierungsablauf zwischen AD FS und AWS IAM Identity Center (IAM Identity Center) erläutert. IAM Identity Center unterstützt den Identitätsverbund mit SAML 2.0 und ermöglicht die Integration mit AD FS-Lösungen. Benutzer können sich mit ihren Unternehmens-Anmeldeinformationen im IAM Identity Center-Portal anmelden, wodurch der Aufwand für die Verwaltung separater Anmeldeinformationen auf das IAM Identity Center reduziert wird. Sie können AD FS auch so konfigurieren, dass es [Sitzungs-Tags](id_session-tags.md) weiterleitet. Weitere Informationen finden Sie unter [Verwenden der attributbasierten Zugriffssteuerung mit AD FS, um die IAM-Berechtigungsverwaltung zu vereinfachen](https://aws.amazon.com/blogs/security/attribute-based-access-control-ad-fs-simplify-iam-permissions-management/).  | 
| miniOrange | [SSO für AWS](http://miniorange.com/amazon-web-services-%28aws%29-single-sign-on-%28sso%29) — Auf dieser Seite der MiniOrange-Website wird beschrieben, wie ein sicherer Zugriff AWS für Unternehmen und die vollständige Kontrolle über den Zugriff auf AWS Anwendungen eingerichtet werden können.  | 
| Okta |  [Integration der Amazon Web Services Command Line Interface mit Okta](https://support.okta.com/help/Documentation/Knowledge_Article/Integrating-the-Amazon-Web-Services-Command-Line-Interface-Using-Okta) – Auf dieser Seite der Okta-Support-Website erfahren Sie, wie Sie Okta für die Verwendung mit AWS. Sie können Okta so konfigurieren, dass [Sitzungs-Tags](id_session-tags.md) übergeben werden. Weitere Informationen finden Sie unter [Okta und AWS Partner to Simplify Access via Session Tags](https://www.okta.com/blog/2019/11/okta-and-aws-partner-to-simplify-access-via-session-tags/). | 
| Okta | [AWS Kontoverbund](https://help.okta.com/oie/en-us/Content/Topics/DeploymentGuides/AWS/aws-deployment.htm) — In diesem Abschnitt auf der Okta-Website wird beschrieben, wie Sie IAM Identity Center für einrichten und aktivieren. AWS | 
| OneLogin | Suchen Sie in der [OneLoginKnowledgebase](https://onelogin.service-now.com/support) nach SAML AWS einer Liste von Artikeln, in denen erklärt wird, wie Sie die IAM Identity Center-Funktionalität zwischen OneLogin und AWS für Einzelrollen- und Mehrrollenszenarien einrichten. [Sie können so konfigurieren, dass Sitzungs-Tags übergeben werden. OneLogin ](id_session-tags.md) Weitere Informationen finden Sie unter [OneLogin und Sitzungs-Tags: Attributbasierte Zugriffskontrolle](https://www.onelogin.com/blog/aws-session-tags-integration) für Ressourcen. AWS  | 
| Ping Identity |  [PingFederate AWS Connector](https://support.pingidentity.com/s/marketplace-integration-details?recordId=a7i1W0000004HBwQAM) — Hier finden Sie Details zum PingFederate AWS Connector, einer Schnellverbindungsvorlage, mit der Sie auf einfache Weise Single Sign-On (SSO) und Bereitstellungsverbindung einrichten können. Lesen Sie die Dokumentation und laden Sie den neuesten PingFederate AWS Connector für Integrationen mit herunter. AWS Sie können Ping Identity so konfigurieren, dass [Sitzungs-Tags](id_session-tags.md) übergeben werden. Weitere Informationen finden Sie unter [Ankündigung der Ping-Identitätsunterstützung für die attributbasierte Zugriffskontrolle in AWS](https://support.pingidentity.com/s/document-item?bundleId=integrations&topicId=pon1571779451105.html).  | 
| RadiantLogic | [Technologiepartner von Radiant Logic](http://www.radiantlogic.com/about/partners/technology-partners/) — Der RadiantOne Federated Identity Service von Radiant Logic lässt sich integrieren und bietet so einen Identitätsknotenpunkt für SAML-basiertes SSO. AWS  | 
| RSA | [Amazon Web Services – Implementierungsleitfaden für die Arbeit mit RSA](https://community.rsa.com/s/article/Amazon-Web-Services-RSA-Ready-Implementation-Guide) bietet Anleitungen zur Integration von AWS und RSA. Weitere Informationen zur SAML-Konfiguration finden Sie unter [Amazon Web Services – SAML Meine Seite SSO-Konfiguration – Implementierungsleitfaden für die Arbeit mit RSA](https://community.rsa.com/s/article/Amazon-Web-Services-SAML-My-Page-SSO-Configuration-RSA-Ready-Implementation-Guide). | 
| Salesforce.com |  [So konfigurieren Sie SSO von Salesforce bis AWS](https://developer.salesforce.com/page/Configuring-SAML-SSO-to-AWS) — In diesem How-to-Artikel auf der Entwicklerseite von Salesforce.com wird beschrieben, wie Sie einen Identitätsanbieter (IdP) in Salesforce einrichten und als Dienstanbieter konfigurieren AWS .  | 
| SecureAuth |  [AWS - SecureAuth SAML SSO](https://docs.secureauth.com/2104/en/amazon-web-services--aws---idp-initiated--integration-guide.html) — In diesem Artikel auf der SecureAuth Website wird beschrieben, wie die SAML-Integration für eine Appliance eingerichtet wird. AWS SecureAuth  | 
| Shibboleth |  [So verwenden Sie Shibboleth für SSO zum AWS-Managementkonsole— Dieser Eintrag im](https://aws.amazon.com/blogs/security/how-to-use-shibboleth-for-single-sign-on-to-the-aws-management-console) AWS Sicherheits-Blog enthält ein step-by-step Tutorial zur Einrichtung von Shibboleth und zur Konfiguration als Identitätsanbieter für. AWS Sie können Shibboleth so konfigurieren, dass [Sitzungs-Tags](id_session-tags.md) übergeben werden. | 

Weitere Informationen finden Sie auf der Seite mit den [IAM-Partnern auf der Website](https://aws.amazon.com/iam/partners/). AWS 

# Konfigurieren von SAML-Assertionen für die Authentifizierungsreaktion
<a name="id_roles_providers_create_saml_assertions"></a>

Nachdem Sie die Identität eines Benutzers in Ihrer Organisation überprüft haben, sendet der externe Identitätsanbieter (IdP) eine Authentifizierungsantwort an die URL des AWS Anmeldeendpunkts. Diese Antwort ist eine POST-Anforderung, die ein SAML-Token enthält, das dem Standard für [HTTP-POST-Bindungen für SAML 2.0](http://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf) entspricht und die folgenden Elemente oder *Ansprüche* enthält. Sie konfigurieren diese Ansprüche in Ihrem SAML-kompatiblen Identitätsanbieter. Anweisungen dazu, wie Sie diese Ansprüche eingeben, finden Sie in der Dokumentation für Ihren Identitätsanbieter.

Wenn der IdP die Antwort mit den Ansprüchen an sendet AWS, werden viele der eingehenden Ansprüche AWS Kontextschlüsseln zugeordnet. Diese Kontextschlüssel können in IAM-Richtlinien mithilfe des `Condition`-Elements überprüft werden. Eine Liste der verfügbaren Zuordnungen folgt im Abschnitt [Zuordnung von SAML-Attributen zu AWS vertrauenswürdigen Policy-Kontextschlüsseln](#saml-attribute-mapping).

## `Subject` und `NameID`
<a name="saml_subject-name-id"></a>

Die Antwort muss genau ein `SubjectConfirmation`-Element mit einem `SubjectConfirmationData`-Element enthalten, das das `NotOnOrAfter`-Attribut und das `Recipient`-Attribut enthält. Das Recipient-Attribut muss einen Wert enthalten, der mit der URL des AWS Anmeldeendpunkts übereinstimmt. Ihr Identitätsanbieter kann den Begriff `ACS`, `Recipient` oder `Target` verwenden, um auf dieses Attribut zu verweisen.

Wenn eine SAML-Verschlüsselung erforderlich ist, muss die Anmelde-URL die eindeutige Kennung enthalten, die AWS Ihrem SAML-Anbieter zuweist. Diese finden Sie auf der Detailseite des Identitätsanbieters. Das folgende Beispiel veranschaulicht das Format der Anmelde-URL mit dem optionalen `region-code`.

`https://region-code.signin.aws.amazon.com/saml`

Im folgenden Beispiel enthält die Anmelde-URL eine eindeutige Kennung, weshalb /acs/ an den Anmeldepfad angefügt werden muss.

`https://region-code.signin.aws.amazon.com/saml/acs/IdP-ID`

Eine Liste möglicher *region-code* Werte finden Sie in der Spalte **Region** unter [AWS Anmelde-Endpunkte](https://docs.aws.amazon.com/general/latest/gr/signin-service.html). Für den AWS Wert können Sie auch den globalen Anmeldeendpunkt verwenden. `https://signin.aws.amazon.com/saml`

`NameID`-Elemente können den Wert „persistent“ oder „transient“ haben oder aus dem vollständigen Format-URI bestehen, der von der IDP-Lösung bereitgestellt wird. Der Wert „persistent“ gibt an, dass der Wert in `NameID` für einen Benutzer für alle Sitzungen identisch ist. Wenn der Wert „transient“ lautet, hat der Benutzer für jede Sitzung einen anderen `NameID`-Wert. Single-Sign-On-Interaktionen unterstützen die folgenden Arten von Identifikatoren:
+ `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`
+ `urn:oasis:names:tc:SAML:2.0:nameid-format:transient`
+ `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`
+ `urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`
+ `urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName`
+ `urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName`
+ `urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos`
+ `urn:oasis:names:tc:SAML:2.0:nameid-format:entity`

Der folgende Auszug zeigt ein Beispiel. Ersetzen Sie die markierten Werte durch Ihre eigenen Werte.

```
<Subject>
  <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">_cbb88bf52c2510eabe00c1642d4643f41430fe25e3</NameID>
  <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
    <SubjectConfirmationData NotOnOrAfter="2013-11-05T02:06:42.876Z" Recipient="https://region-code.signin.aws.amazon.com/saml/SAMLSP4SHN3UIS2D558H46"/>
  </SubjectConfirmation>
</Subject>
```

**Wichtig**  
Der `saml:aud`-Kontextschlüssel stammt aus dem *Empfänger*-Attribut in SAML, da dies das SAML-Äquivalent zum OIDC-Zielgruppenfeld ist, z. B. `accounts.google.com:aud`.

## `PrincipalTag`-SAML-Attribut
<a name="saml_role-session-tags"></a>

(Optional) Sie können ein `Attribute`-Element verwenden, bei dem das `Name`-Attribut auf `https://aws.amazon.com/SAML/Attributes/PrincipalTag:{TagKey}` festgelegt ist. Mit diesem Element können Sie Attribute als Sitzungs-Tags in der SAML-Zusicherung übergeben. Weitere Hinweise zu Sitzungs-Tags finden Sie unter [Sitzungs-Tags übergeben AWS STS](id_session-tags.md).

Um Attribute als Sitzungs-Tags zu übergeben, schließen Sie das `AttributeValue`-Element ein, das den Wert des Tags angibt. Verwenden Sie zum Beispiel das folgende Attribut, um die Tag-Schlüssel-Wert-Paare `Project` = `Marketing` und `CostCenter` = `12345` zu übergeben. Fügen Sie für jedes Tag ein separates `Attribute`-Element hinzu.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:Project">
  <AttributeValue>Marketing</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:CostCenter">
  <AttributeValue>12345</AttributeValue>
</Attribute>
```

Um die oben genannten Tags als transitiv festzulegen, schließen Sie ein weiteres `Attribute`-Element ein und legen dabei für das Attribut `Name` den Wert`https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys` fest. Dies ist ein optionales Mehrwertattribut, das Ihre Sitzungs-Tags als transitiv festlegt. Transitive Tags bleiben erhalten, wenn Sie die SAML-Sitzung verwenden, um eine andere Rolle in AWS zu übernehmen. Dies wird als [Rollenverkettung](id_roles.md#iam-term-role-chaining) bezeichnet. Um beispielsweise die Tags `Principal` und `CostCenter` als transitiv festzulegen, verwenden Sie das folgende Attribut, um die Schlüssel anzugeben.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys">
  <AttributeValue>Project</AttributeValue>
  <AttributeValue>CostCenter</AttributeValue>
</Attribute>
```

## `Role`-SAML-Attribut
<a name="saml_role-attribute"></a>

Sie können ein `Attribute`-Element verwenden, bei dem das `Name`-Attribut auf `https://aws.amazon.com/SAML/Attributes/Role` festgelegt ist. Dieses Element enthält mindestens ein `AttributeValue`-Element, das den IAM-Identitätsanbieter und die Rolle aufführt, denen der Benutzer von Ihrem Identitätsanbieter zugeordnet wird. [Die IAM-Rolle und der IAM-Identitätsanbieter werden als kommagetrenntes Paar ARNs in demselben Format wie die Parameter `RoleArn` und `PrincipalArn` angegeben, die an SAML übergeben werden. AssumeRoleWith](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) Dieses Element muss mindestens ein Rolle-Anbieter-Paar (`AttributeValue`-Element) enthalten und kann auch mehrere Paare enthalten. Wenn das Element mehrere Paare enthält, werden die Benutzer aufgefordert auszuwählen, welche Rolle übernommen werden soll, wenn sie sich mithilfe von WebSSO bei der AWS-Managementkonsole anmelden.

**Wichtig**  
Beim Wert des `Name`-Attributs im `Attribute`-Tag ist die Groß-/Kleinschreibung zu beachten. Er muss ganz genau auf `https://aws.amazon.com/SAML/Attributes/Role` festgelegt werden.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/Role">
  <AttributeValue>arn:aws:iam::account-number:role/role-name1,arn:aws:iam::account-number:saml-provider/provider-name</AttributeValue>
  <AttributeValue>arn:aws:iam::account-number:role/role-name2,arn:aws:iam::account-number:saml-provider/provider-name</AttributeValue>
  <AttributeValue>arn:aws:iam::account-number:role/role-name3,arn:aws:iam::account-number:saml-provider/provider-name</AttributeValue>
</Attribute>
```

## `RoleSessionName`-SAML-Attribut
<a name="saml_role-session-attribute"></a>

Sie können ein `Attribute`-Element verwenden, bei dem das `Name`-Attribut auf `https://aws.amazon.com/SAML/Attributes/RoleSessionName` festgelegt ist. Dieses Element enthält ein `AttributeValue`-Element, das einen Bezeichner für die temporären -Anmeldeinformationen bereitstellt, die für SSO ausgestellt werden. Damit können Sie die temporären Anmeldeinformationen dem Benutzer zuordnen, der Ihre Anwendung verwendet. Dieses Element wird verwendet, um Benutzerinformationen in der anzuzeigen. AWS-Managementkonsole Der Wert des `AttributeValue`-Elements muss zwischen 2 und 64 Zeichen lang sein und darf nur alphanumerische Zeichen, Unterstriche und die folgenden Zeichen enthalten: **. , \$1 = @ -** (Bindestrich). Er darf keine Leerzeichen enthalten. Der Wert ist in der Regel eine Benutzer-ID (`john`) oder eine E-Mail-Adresse (`johndoe@example.com`). Er sollte kein Wert sein, der ein Leerzeichen enthält, wie etwa der Anzeigename eines Benutzers (`John Doe`).

**Wichtig**  
Beim Wert des `Name`-Attributs im `Attribute`-Tag ist die Groß-/Kleinschreibung zu beachten. Er muss ganz genau auf `https://aws.amazon.com/SAML/Attributes/RoleSessionName` festgelegt werden.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/RoleSessionName">
  <AttributeValue>user-id-name</AttributeValue>
</Attribute>
```

## `SessionDuration`-SAML-Attribut
<a name="saml_role-session-duration"></a>

(Optional) Sie können ein `Attribute`-Element verwenden, bei dem das `Name`-Attribut auf `https://aws.amazon.com/SAML/Attributes/SessionDuration"` festgelegt ist. Dieses Element enthält ein `AttributeValue` Element, das angibt, wie lange der Benutzer darauf zugreifen kann, AWS-Managementkonsole bevor er neue temporäre Anmeldeinformationen anfordern muss. Der Wert ist eine Ganzzahl, die die Anzahl der Sekunden für die Sitzung angibt. Der Wert kann im Bereich zwischen 900 Sekunden (15 Minuten) und 43 200 Sekunden (12 Stunden) liegen. Wenn dieses Attribut nicht vorhanden ist, gelten die Anmeldeinformationen eine Stunde lang (der Standardwert des `DurationSeconds`-Parameters der `AssumeRoleWithSAML`-API).

Um dieses Attribut verwenden zu können, müssen Sie den SAML-Anbieter so konfigurieren, dass er Single Sign-On-Zugriff auf den Web-Endpunkt für die Anmeldung AWS-Managementkonsole über die Konsole gewährt. `https://region-code.signin.aws.amazon.com/saml` [Eine Liste möglicher *region-code* Werte finden Sie in AWS der Spalte **Region unter Anmelde-Endpunkte**.](https://docs.aws.amazon.com/general/latest/gr/signin-service.html) Optional können Sie die folgende URL verwenden: `https://signin.aws.amazon.com/static/saml`. Beachten Sie, dass dieses Attribut nur Sitzungen in der AWS-Managementkonsole verlängert. Es kann nicht die Lebensdauer anderer Anmeldeinformationen verlängern. Wenn es jedoch in einem `AssumeRoleWithSAML`-API-Aufruf vorhanden ist, kann es verwendet werden, um die Dauer der Sitzung zu *verkürzen*. Die standardmäßige Gültigkeitsdauer der vom Aufruf zurückgegebenen Anmeldeinformationen beträgt 60 Minuten. 

Beachten Sie außerdem: Wenn auch ein `SessionNotOnOrAfter`-Attribut definiert ist, bestimmt der ***niedrigere*** Wert der beiden Attribute, `SessionDuration` oder `SessionNotOnOrAfter`, die maximale Dauer der Konsolensitzung.

Wenn Sie Konsolensitzungen mit einer erweiterten Dauer aktivieren, steigt das Risiko, dass die Sicherheit der Anmeldeinformationen gefährdet wird. Um dieses Risiko zu minimieren, können Sie die aktiven Konsolensitzungen für jede Rolle direkt deaktivieren, indem Sie **Revoke Sessions** auf der Seite **Role Summary** in der IAM-Konsole wählen. Weitere Informationen finden Sie unter [Temporäre Sicherheitsanmeldeinformationen der IAM-Rolle widerrufen](id_roles_use_revoke-sessions.md). 

**Wichtig**  
Beim Wert des `Name`-Attributs im `Attribute`-Tag ist die Groß-/Kleinschreibung zu beachten. Er muss ganz genau auf `https://aws.amazon.com/SAML/Attributes/SessionDuration` festgelegt werden.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/SessionDuration">
  <AttributeValue>1800</AttributeValue>
</Attribute>
```

## `SourceIdentity`-SAML-Attribut
<a name="saml_sourceidentity"></a>

(Optional) Sie können ein `Attribute`-Element verwenden, bei dem das `Name`-Attribut auf `https://aws.amazon.com/SAML/Attributes/SourceIdentity` festgelegt ist. Dieses Element enthält ein `AttributeValue`-Element, das einen Identifikator für die Person oder Anwendung bereitstellt, die eine IAM-Rolle verwendet. [Der Wert für die Quellidentität bleibt bestehen, wenn Sie die SAML-Sitzung verwenden, um eine andere Rolle zu übernehmen, was als Rollenverkettung AWS bezeichnet wird.](id_roles.md#iam-term-role-chaining) Der Wert für die Quellidentität ist in der Anforderung für jede Aktion vorhanden, die während der Rollensitzung ausgeführt wird. Der festgelegte Wert kann während der Rollensitzung nicht geändert werden. Administratoren können dann AWS CloudTrail Protokolle verwenden, um die Quellidentitätsinformationen zu überwachen und zu prüfen, um festzustellen, wer Aktionen mit gemeinsam genutzten Rollen ausgeführt hat.

Der Wert des `AttributeValue`-Elements muss zwischen 2 und 64 Zeichen lang sein und darf nur alphanumerische Zeichen, Unterstriche und die folgenden Zeichen enthalten: **. , \$1 = @ -** (Bindestrich). Er darf keine Leerzeichen enthalten. Der Wert ist normalerweise ein Attribut, das dem Benutzer zugeordnet ist, z. B. eine Benutzer-ID (`john`) oder eine E-Mail-Adresse (`johndoe@example.com`) enthalten. Er sollte kein Wert sein, der ein Leerzeichen enthält, wie etwa der Anzeigename eines Benutzers (`John Doe`). Weitere Informationen zur Verwendung von identitätsbasierten Richtlinien finden Sie unter [Überwachen und Steuern von Aktionen mit übernommenen Rollen](id_credentials_temp_control-access_monitor.md).

**Wichtig**  
Wenn Ihre SAML-Zusicherung für die Verwendung des [`SourceIdentity`](#saml_sourceidentity)-Attributs konfiguriert ist, muss Ihre Vertrauensrichtlinie auch die `sts:SetSourceIdentity`-Aktion enthalten. Weitere Informationen zur Verwendung von identitätsbasierten Richtlinien finden Sie unter [Überwachen und Steuern von Aktionen mit übernommenen Rollen](id_credentials_temp_control-access_monitor.md).

Um ein Quellidentitätsattribut zu übergeben, schließen Sie das `AttributeValue`-Element ein, das den Wert der Quellidentität angibt. Um zum Beispiel die Quellidentität `Diego` zu übergeben, verwenden Sie das folgende Attribut.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/SourceIdentity">
  <AttributeValue>Diego</AttributeValue>
```

## Zuordnung von SAML-Attributen zu AWS vertrauenswürdigen Policy-Kontextschlüsseln
<a name="saml-attribute-mapping"></a>

Die Tabellen in diesem Abschnitt enthalten häufig genutzte SAML-Attribute und deren Zuordnung zu Bedingungskontextschlüsseln von Vertrauensrichtlinien in AWS. Mit diesen Schlüsseln können Sie den Zugriff auf eine Rolle steuern. Vergleichen Sie dazu die Schlüssel mit den Werten, die in den eine SAML-Zugriffsanforderung begleitenden Zusicherungen enthalten sind.

**Wichtig**  
Diese Schlüssel sind nur in IAM-Vertrauensrichtlinien verfügbar (Richtlinien, die bestimmen, wer eine Rolle übernehmen kann) und gelten nicht für Berechtigungsrichtlinien.

In der Tabelle mit den eduPerson- und eduOrg-Attributen werden Werte entweder als Zeichenfolgen oder als Listen von Zeichenfolgen eingegeben. Bei Zeichenfolgenwerten können Sie diese Werte in IAM-Vertrauensrichtlinien mithilfe der `StringEquals`- oder der `StringLike`-Bedingung testen. Bei Werten, die eine Liste von Zeichenfolgen enthalten, können Sie die `ForAnyValue`- und `ForAllValues` [-Richtlinienmengenoperatoren](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys) verwenden, um die Werte in Vertrauensrichtlinien zu testen.

**Anmerkung**  
Sie sollten nur einen Anspruch pro AWS Kontextschlüssel angeben. Wenn Sie mehr als einen Anspruch einfügen, wird nur ein einziger Anspruch zugeordnet. 

In der folgenden Tabelle werden die eduPerson- und eduOrg-Attribute angezeigt.


| eduPerson- oder eduOrg-Attribut (`Name`-Schlüssel) | Ordnet diesem AWS Kontextschlüssel (`FriendlyName`Schlüssel) zu | Typ | 
| --- | --- | --- | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.1`   |   `eduPersonAffiliation`   |  Liste von Zeichenfolgen  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.2`   |   `eduPersonNickname`   |  Liste von Zeichenfolgen  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.3`   |   `eduPersonOrgDN`   |  Zeichenfolge  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.4`   |   `eduPersonOrgUnitDN`   |  Liste von Zeichenfolgen  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.5`   |   `eduPersonPrimaryAffiliation`   |  Zeichenfolge  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.6`   |   `eduPersonPrincipalName`   |  Zeichenfolge  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.7`   |   `eduPersonEntitlement`   |  Liste von Zeichenfolgen  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.8`   |   `eduPersonPrimaryOrgUnitDN`   |  Zeichenfolge  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.9`   |   `eduPersonScopedAffiliation`   |  Liste von Zeichenfolgen  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.10`   |   `eduPersonTargetedID`   |  Liste von Zeichenfolgen  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.1.1.11`   |   `eduPersonAssurance`   |  Liste von Zeichenfolgen  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.2.1.2`   |   `eduOrgHomePageURI`   |  Liste von Zeichenfolgen  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.2.1.3`   |   `eduOrgIdentityAuthNPolicyURI`   |  Liste von Zeichenfolgen  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.2.1.4`   |   `eduOrgLegalName`   |  Liste von Zeichenfolgen  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.2.1.5`   |   `eduOrgSuperiorURI`   |  Liste von Zeichenfolgen  | 
|   `urn:oid:1.3.6.1.4.1.5923.1.2.1.6`   |   `eduOrgWhitePagesURI`   |  Liste von Zeichenfolgen  | 
|   `urn:oid:2.5.4.3`   |   `cn`   |  Liste von Zeichenfolgen  | 

In der folgenden Tabelle sind die Active-Directory-Attribute aufgeführt.


| AD-Attribut | Ordnet diesem AWS Kontextschlüssel zu | Typ | 
| --- | --- | --- | 
|  `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name`  |  `name`  |  Zeichenfolge  | 
|  `http://schemas.xmlsoap.org/claims/CommonName`  |  `commonName`  |  Zeichenfolge  | 
|  `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname`  |  `givenName`  |  Zeichenfolge  | 
|  `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname`  |  `surname`  |  Zeichenfolge  | 
|  `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`  |  `mail`  |  Zeichenfolge  | 
|  `http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid`  |  `uid`  |  Zeichenfolge  | 

In der folgenden Tabelle werden die X.500-Attribute aufgeführt.


| X.500-Attribut | Ordnet diesem AWS Kontextschlüssel zu | Typ | 
| --- | --- | --- | 
|  `2.5.4.3`  |  `commonName`  |  Zeichenfolge  | 
|  `2.5.4.4`  |  `surname`  |  Zeichenfolge  | 
|  `2.4.5.42`  |  `givenName`  |  Zeichenfolge  | 
|  `2.5.4.45`  |  `x500UniqueIdentifier`  |  Zeichenfolge  | 
|  `0.9.2342.19200300100.1.1`  |  `uid`  |  Zeichenfolge  | 
|  `0.9.2342.19200300100.1.3`  |  `mail`  |  Zeichenfolge  | 
|  `0.9.2342.19200300.100.1.45`  |  `organizationStatus`  |  Zeichenfolge  | 

# Aktivieren des Zugriffs von SAML 2.0-Verbundprinzipalen auf AWS-Managementkonsole
<a name="id_roles_providers_enable-console-saml"></a>

Sie können eine Rolle verwenden, um Ihren SAML 2.0-kompatiblen Identitätsanbieter (IdP) zu konfigurieren und SAML-Verbundprinzipalen den Zugriff AWS auf zu ermöglichen. AWS-Managementkonsole Die Rolle gewährt dem Benutzer die Berechtigung, bestimmte Aufgaben in der Konsole auszuführen. Wenn Sie SAML-Verbundprinzipalen andere Zugriffsmöglichkeiten bieten möchten, finden Sie weitere Informationen in einem der folgenden Themen: AWS
+ AWS CLI: [Zu einer IAM-Rolle wechseln (AWS CLI)](id_roles_use_switch-role-cli.md)
+ Tools für Windows: PowerShell [Zu einer IAM-Rolle wechseln (Tools für Windows PowerShell)](id_roles_use_switch-role-twp.md)
+ AWS API: [Zu einer IAM-Rolle (AWS API) wechseln](id_roles_use_switch-role-api.md)

## -Übersicht
<a name="enable-console-saml-overview"></a>

Die folgende Abbildung zeigt den Ablauf von SAML-fähigem Single-Sign-On-Zugriff. 

**Anmerkung**  
Diese spezielle Verwendung von SAML unterscheidet sich von der allgemeineren Verwendung, die unter dargestellt ist[SAML 2.0-Föderation](id_roles_providers_saml.md), da dieser Workflow das AWS-Managementkonsole im Namen des Benutzers öffnet. Hierfür müssen Sie den AWS -Anmelde-Endpunkt verwenden, statt die `AssumeRoleWithSAML`-API direkt aufzurufen. Der Endpunkt ruft die API für den Benutzer auf und gibt eine URL zurück, über die der Browser des Benutzers automatisch an die AWS-Managementkonsole geleitet wird.

![\[Single Sign-On (SSO) bei der AWS Management Console mithilfe von SAML\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/saml-based-sso-to-console.diagram.png)


Die Abbildung zeigt die folgenden Schritte:

1. Der Benutzer öffnet das Portal Ihrer Organisation und wählt die Option aus, zur AWS-Managementkonsole zu wechseln. In Ihrer Organisation ist das Portal in der Regel eine Funktion Ihres IdP, der den Vertrauensaustausch zwischen Ihrer Organisation und AWS abwickelt. Die Portal-URL für Active Directory Federation Services lautet beispielsweise: `https://ADFSServiceName/adfs/ls/IdpInitiatedSignOn.aspx`. 

1. Das Portal überprüft die Identität des Benutzers in Ihrer Organisation.

1. Das Portal generiert eine SAML-Authentifizierungsantwort, die eine Zusicherung enthält, über die der Benutzer identifiziert wird und die Attribute zu dem Benutzer enthält. Sie können in der Konfiguration Ihres Identitätsanbieters das SAML-Zusicherungsattribut `SessionDuration` aufnehmen, um die maximale Länge der Konsolensitzung festzulegen. Sie können den Identitätsanbieter auch so konfigurieren, dass Attribute als [Sitzungs-Tags](id_session-tags.md) übergeben werden. Das Portal sendet diese Antwort an den Client-Browser.

1. Der Client-Browser wird zum AWS Single Sign-On-Endpunkt umgeleitet und veröffentlicht die SAML-Assertion. 

1. Der Endpunkt fordert temporäre Sicherheitsanmeldeinformationen für den Benutzer an und erstellt eine Konsolenanmelde-URL, in der diese Anmeldeinformationen verwendet werden. 

1. AWS sendet die Anmelde-URL als Umleitung zurück an den Client.

1. Der Client-Browser wird an die AWS-Managementkonsole weitergeleitet. Wenn die SAML-Authentifizierungsantwort Attribute enthält, die mehrere IAM-Rollen abbilden, wird der Benutzer zunächst aufgefordert, die Rolle für den Zugriff auf die Konsole auszuwählen. 

Aus Sicht des Benutzers läuft der Prozess transparent ab: Der Benutzer beginnt im internen Portal Ihrer Organisation und endet am Ende im AWS-Managementkonsole, ohne jemals Anmeldeinformationen angeben zu müssen. AWS 

Die folgenden Abschnitte enthalten einen Überblick über die Konfiguration dieses Verhaltens sowie Links zu detaillierten Anleitungen.

## Konfigurieren Sie Ihr Netzwerk als SAML-Anbieter für AWS
<a name="fedconsole-config-network-as-saml"></a>

Konfigurieren Sie im Netzwerk Ihrer Organisation den Identitätsspeicher (z. B. Windows Active Directory) für die Zusammenarbeit mit einem SAML-basierten Identitätsanbieter, wie etwa Windows Active Directory Federation Services, Shibboleth usw. Mithilfe Ihres Identitätsanbieters generieren Sie ein Metadatendokument, in dem Ihre Organisation als Identitätsanbieter beschrieben wird und das Authentifizierungsschlüssel enthält. Sie konfigurieren das Portal Ihrer Organisation auch so, dass Benutzeranfragen für die Authentifizierung mithilfe von SAML-Assertionen AWS-Managementkonsole an den AWS SAML-Endpunkt weitergeleitet werden. Die konkrete Konfiguration des Identitätsanbieters zur Bereitstellung der Datei metadata.xml ist abhängig von Ihrem Identitätsanbieter. Eine Anleitung finden Sie in der Dokumentation Ihres Identitätsanbieters. Unter [Integrieren Sie SAML-Lösungsanbieter von Drittanbietern mit AWS](id_roles_providers_saml_3rd-party.md) finden Sie Links zur Onlinedokumentation für viele unterstützte SAML-Anbieter.

## Erstellen eines SAML-Anbieters in IAM
<a name="fedconsole-create-saml-provider"></a>

Als Nächstes melden Sie sich bei der an AWS-Managementkonsole und gehen zur IAM-Konsole. Erstellen Sie dort einen neuen SAML-Anbieter. Dabei handelt es sich um eine Entität in IAM, in der die Informationen zum Identitätsanbieter Ihrer Organisation gespeichert sind. Laden Sie in diesem Prozess das Metadatendokument hoch, das von der Identitätsanbieter-Software Ihrer Organisation wie im vorherigen Abschnitt erwähnt erstellt wurde. Details hierzu finden Sie unter [Erstellen eines SAML-Identitätsanbieters in IAM](id_roles_providers_create_saml.md). 

## Konfigurieren Sie die Berechtigungen AWS für SAML-Federated Principals
<a name="fedconsole-grantperms"></a>

Im nächsten Schritt erstellen Sie eine IAM-Rolle, die eine Vertrauensbeziehung zwischen Ihrer IAM und der IdP Ihrer Organisation einrichtet. Diese Rolle muss Ihren Identitätsanbieter als Auftraggeber (vertrauenswürdige Entität) für die Zwecke des Identitätsverbunds identifizieren. Die Rolle definiert auch, was Benutzer, die vom IdP Ihrer Organisation authentifiziert wurden, tun dürfen. AWS Sie können diese Rolle mit der IAM-Konsole erstellen. Beim Erstellen der Vertrauensrichtlinie, die angibt, wer die Rolle übernehmen kann, geben Sie den SAML-Anbieter an, den Sie zuvor in IAM erstellt haben. Sie geben auch ein oder mehrere SAML-Attribute an, denen ein Benutzer entsprechen muss, um die Rolle übernehmen zu dürfen. Sie können beispielsweise festlegen, dass sich nur Benutzer, deren SAML-`[eduPersonOrgDN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_edupersonorgdn)`-Wert `ExampleOrg` lautet, anmelden können. Der Rollenassistent fügt automatisch eine Bedingung hinzu, um das Attribut `saml:aud` zu testen und sicherzustellen, dass die Rolle nur zur Anmeldung bei der AWS-Managementkonsole verwendet wird.

Wenn eine SAML-Verschlüsselung erforderlich ist, muss die Anmelde-URL die eindeutige Kennung enthalten, die AWS Ihrem SAML-Anbieter zuweist. Diese finden Sie auf der Detailseite des Identitätsanbieters. Die Vertrauensrichtlinie für die Rolle kann wie folgt aussehen:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Federated": "arn:aws:iam::111122223333:saml-provider/ExampleOrgSSOProvider"
            },
            "Action": "sts:AssumeRoleWithSAML",
            "Condition": {
                "StringEquals": {
                    "saml:edupersonorgdn": "ExampleOrg",
                    "saml:aud": "https://region-code.signin.aws.amazon.com/saml/acs/SAMLSP4SHN3UIS2D558H46"
                }
            }
        }
    ]
}
```

------

**Anmerkung**  
SAML, das in einer Rollenvertrauensrichtlinie IDPs verwendet wird, muss sich in demselben Konto befinden, in dem sich die Rolle befindet.

Wir empfehlen die Verwendung regionaler Endpunkte für das Attribut `saml:aud` in `https://region-code.signin.aws.amazon.com/static/saml-metadata.xml`. Eine Liste möglicher *region-code* Werte finden Sie in der Spalte **Region** unter [AWS Anmelde-Endpunkte](https://docs.aws.amazon.com/general/latest/gr/signin-service.html).

Für die [Berechtigungsrichtlinie](access_policies.md) in der Rolle geben Sie Berechtigungen wie für beliebige andere Rollen, Benutzer oder Gruppen auch an. Wenn Benutzer in Ihrer Organisation beispielsweise Amazon EC2-Instances verwalten dürfen, erlauben Sie in der Berechtigungsrichtlinie ausdrücklich Amazon EC2-Aktionen. Weisen Sie dafür eine [verwaltete Richtlinie](access_policies_manage-attach-detach.md) zu, beispielsweise die verwaltete Richtlinie **Amazon EC2 Full Access**. 

Weitere Informationen zum Erstellen von Rollen für SAML-Identitätsanbieter finden Sie unter [Rollen für den SAML 2.0-Verbund erstellen (Konsole)](id_roles_create_for-idp_saml.md). 

## Konfiguration beenden und SAML-Zusicherungen erstellen
<a name="fedconsole-configassertions"></a>

Informieren Sie Ihren SAML-IdP, AWS Ihren Dienstanbieter, indem Sie die `saml-metadata.xml` Datei installieren, die Sie unter `https://region-code.signin.aws.amazon.com/static/saml-metadata.xml` oder finden. `https://signin.aws.amazon.com/static/saml-metadata.xml` Wenn eine SAMl Verschlüsselung erforderlich ist, finden Sie die Datei unter. `https://region-code.signin.aws.amazon.com/static/saml/SAMLSP4SHN3UIS2D558H46/saml-metadata.xml`

Eine Liste möglicher *region-code* Werte finden Sie in der Spalte **Region** unter [AWS Anmelde-Endpunkte](https://docs.aws.amazon.com/general/latest/gr/signin-service.html). 

Wie Sie diese Datei installieren, ist abhängig von Ihrem Identitätsanbieter. Bei einigen Anbietern können Sie die URL eingeben, woraufhin der Identitätsanbieter die Datei für Sie abruft und installiert. Bei anderen Anbietern müssen Sie die Datei über eine URL herunterladen und dann als lokale Datei bereitstellen. Eine Anleitung finden Sie in der Dokumentation Ihres Identitätsanbieters. Unter [Integrieren Sie SAML-Lösungsanbieter von Drittanbietern mit AWS](id_roles_providers_saml_3rd-party.md) finden Sie Links zur Onlinedokumentation für viele unterstützte SAML-Anbieter.

Konfigurieren Sie auch die Informationen, die der Identitätsanbieter als SAML-Attribute an AWS als Teil der Authentifizierungsantwort übergeben soll. Die meisten dieser Informationen werden in AWS Form von Zustandskontextschlüsseln angezeigt, die Sie in Ihren Richtlinien auswerten können. Diese Bedingungsschlüssel stellen sicher, dass nur autorisierte Benutzer in den richtigen Kontexten Berechtigungen für den Zugriff auf Ihre AWS -Ressourcen erhalten. Sie können Zeitfenster angeben, die die Zeiten, in denen die Konsole verwendet werden darf, einschränken. Sie können auch die maximale Zeit (bis zu 12 Stunden) angeben, die Benutzer auf die Konsole zugreifen können, bevor sie ihre Anmeldeinformationen aktualisieren müssen. Details hierzu finden Sie unter [Konfigurieren von SAML-Assertionen für die Authentifizierungsreaktion](id_roles_providers_create_saml_assertions.md).

# SAML-Antwort in Ihrem Browser anzeigen
<a name="troubleshoot_saml_view-saml-response"></a>

In den folgenden Verfahren wird beschrieben, wie Sie die SAML-Antwort Ihres Dienstanbieters in Ihrem Browser anzeigen, wenn Sie ein Problem im Zusammenhang mit SAML 2.0 beheben. 

Öffnen Sie in Ihrem jeweiligen Browser die Seite, auf der Sie das Problem reproduzieren können. Führen Sie dann die Schritte in Ihrem jeweiligen Browser aus:

**Topics**
+ [

## Google Chrome
](#chrome)
+ [

## Mozilla Firefox
](#firefox)
+ [

## Apple Safari
](#safari)
+ [

## Vorgehensweise bei der Base64-kodierten SAML-Antwort
](#whatnext)

## Google Chrome
<a name="chrome"></a>

**So zeigen Sie eine SAML-Antwort in Chrome an**

Diese Schritte wurden mit der Version 106.0.5249.103 (Official Build) (arm64) von Google Chrome getestet. Wenn Sie eine andere Version verwenden, müssen Sie diese Schritte möglicherweise entsprechend anpassen.

1. Drücken Sie **F12**, um die **Developer-Tools**-Konsole zu starten.

1. Wählen Sie die Registerkarte **Network** (Netzwerk) und dann oben links im Fenster **Developer Tools** (Entwicklertools) die Option **Preserve log** (Protokoll beibehalten) aus.

1. Reproduzieren Sie das Problem.

1. (Optional) Wenn die Spalte **Method** (Methode) im Protokollbereich **Developer Tools** (Entwicklertools) **Network** (Netzwerk) nicht sichtbar ist, klicken Sie mit der rechten Maustaste auf eine beliebige Spaltenbezeichnung, und wählen Sie **Method** (Methode) aus, um die Spalte hinzuzufügen.

1. Suchen Sie im Protokollbereich **Developer Tools** (Entwicklertools) **Network** (Netzwerk) nach einem **SAML-Beitrag**. Wählen Sie diese Zeile aus und öffnen Sie dann oben die Registerkarte **Payload** (Nutzlast). Suchen Sie nach dem **SAMLResponse**Element, das die kodierte Anfrage enthält. Der zugehörige Wert ist die Base64-kodierte Antwort.

## Mozilla Firefox
<a name="firefox"></a>

**So zeigen Sie eine SAML-Antwort in Firefox an**

Diese Schritte wurden mit der Mozilla-Firefox-Version 105.0.3 (64-bit) getestet. Wenn Sie eine andere Version verwenden, müssen Sie diese Schritte möglicherweise entsprechend anpassen.

1. Drücken Sie **F12**, um die **Web-Developer-Tools**-Konsole zu starten.

1. Wählen Sie die Registerkarte **Network (Netzwerk)**. 

1. Klicken Sie oben rechts im Fenster **Web Developer Tools** (Entwicklertools) auf „Options“ (Optionen) (das kleine Zahnradsymbol). Wählen Sie **Persist logs** (Protokolle beibehalten) aus. 

1. Reproduzieren Sie das Problem.

1. (Optional) Wenn die Spalte **Method** (Methode) im Protokollbereich **Web Developer Tools** (Webentwicklertools) **Network** (Netzwerk) nicht sichtbar ist, klicken Sie mit der rechten Maustaste auf eine beliebige Spaltenbezeichnung, und wählen Sie **Method** (Methode) aus, um die Spalte hinzuzufügen.

1. Suchen Sie in der Tabelle nach einer **POST** **SAML**. Wählen Sie diese Zeile aus, öffnen Sie dann die Registerkarte „**Anfrage**“ und suchen Sie das **SAMLResponse**Element. Der zugehörige Wert ist die Base64-kodierte Antwort.

## Apple Safari
<a name="safari"></a>

**So zeigen Sie eine SAML-Antwort in Safari an**

Diese Schritte wurden mit Version 16.0 (17614.1.25.9.10, 17614) von Apple Safari getestet. Wenn Sie eine andere Version verwenden, müssen Sie diese Schritte möglicherweise entsprechend anpassen.

1. Aktivieren Sie Web Inspector in Safari. Öffnen Sie das Fenster **Preferences (Präferenzen)**, klicken Sie auf die Registerkarte **Advanced (Erweitert)** und wählen Sie dann die Option für **Show Develop menu in the menu bar (Menü "Entwickeln" in der Menüleiste anzeigen)**.

1. Nun können Sie Web Inspector öffnen. Wählen Sie in der Menüleiste **Develop** (Entwickeln) und dann **Show Web Inspector** (Web Inspector anzeigen) aus.

1. Wählen Sie die Registerkarte **Network (Netzwerk)**.

1. Wählen Sie oben links im Fenster **Web Inspector** „Options“ (Optionen) aus (das kleine Kreissymbol mit drei horizontalen Linien). Wählen Sie **Preserve log** (Protokoll beibehalten) aus.

1. (Optional) Wenn die Spalte **Method** (Methode) im Protokollbereich **Web Developer Inspector** **Network** (Netzwerk) nicht sichtbar ist, klicken Sie mit der rechten Maustaste auf eine beliebige Spaltenbezeichnung, und wählen Sie **Method** (Methode) aus, um die Spalte hinzuzufügen.

1. Reproduzieren Sie das Problem.

1. Suchen Sie in der Tabelle nach einer **POST** **SAML**. Wählen Sie diese Zeile aus und rufen Sie die Registerkarte „Header“ auf.

1. Suchen Sie nach dem **SAMLResponse**Element, das die kodierte Anfrage enthält. Führen Sie einen Bildlauf nach unten durch, um nach `Request Data` mit dem Namen `SAMLResponse` zu suchen. Der zugehörige Wert ist die Base64-kodierte Antwort.

## Vorgehensweise bei der Base64-kodierten SAML-Antwort
<a name="whatnext"></a>

Wenn Sie das Base64-kodierte SAML-Antwortelement in Ihrem Browser gefunden haben, kopieren Sie es und extrahieren Sie die XML-markierte Antwort mit Ihrem bevorzugten Base64-Decodierungstool.

**Sicherheitshinweis**  
Da die angezeigten SAML-Antwortdaten möglicherweise sensible Sicherheitsdaten enthalten, empfehlen wir Ihnen, keinen *Online*-Base64-Decoder zu verwenden. Verwenden Sie stattdessen ein auf Ihrem lokalen Computer installiertes Tool, das Ihre SAML-Daten nicht über das Netzwerk sendet.

**Integrierte Option für Windows-Systeme (PowerShell):**

```
PS C:\> [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("base64encodedtext"))
```

**Integrierte Option für MacOS- und Linux-Systeme:**

```
$ echo "base64encodedtext" | base64 --decode
```

**Überprüfen der Werte in der dekodierten Datei**  
Überprüfen Sie die Werte in der dekodierten SAML-Antwortdatei. 
+ Überprüfen Sie, ob der Wert für das Attribut saml:NameID mit dem Benutzernamen des authentifizierten Benutzers übereinstimmt.
+ Überprüfen Sie den Wert für https://aws.amazon.com/SAML/ Attribute/Rolle. Bei ARN und SAML-Anbieter muss die Groß-/Kleinschreibung beachtet werden und die [ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) muss mit der Ressource in Ihrem Konto übereinstimmen.
+ Überprüfen Sie den Wert für Attributes/ https://aws.amazon.com/SAML/. RoleSessionName Der Wert muss mit dem Wert in der [Antragsregel](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html) übereinstimmen.
+ Wenn Sie den Attributwert für eine E-Mail-Adresse oder einen Kontonamen konfigurieren, achten Sie darauf, dass die Werte korrekt sind. Die Werte müssen der E-Mail-Adresse oder dem Kontonamen des authentifizierten Benutzers entsprechen.

**Auf Fehler prüfen und Konfiguration bestätigen**  
Überprüfen Sie, ob die Werte Fehler enthalten und bestätigen Sie die Richtigkeit der folgenden Konfigurationen.
+ Die Reklamationsregeln erfüllen die erforderlichen Elemente und ARNs sind alle korrekt. Weitere Informationen finden Sie unter [Konfigurieren Ihres SAML 2.0-IdP mit der Vertrauensstellung der vertrauenden Seite und Hinzufügen von Anträgen](id_roles_providers_create_saml_relying-party.md).
+ Sie haben die neueste Metadatendatei von Ihrem IdP AWS in Ihren SAML-Anbieter hochgeladen. Weitere Informationen finden Sie unter [Aktivieren des Zugriffs von SAML 2.0-Verbundprinzipalen auf AWS-Managementkonsole](id_roles_providers_enable-console-saml.md).
+ Sie haben die Vertrauensrichtlinie der IAM-Rolle korrekt konfiguriert. Weitere Informationen finden Sie unter [Methoden, um eine Rolle zu übernehmen](id_roles_manage-assume.md).

# AWS Identitäten mit externen Diensten verbinden
<a name="id_roles_providers_outbound"></a>

Der IAM-Identitätsverbund für ausgehende Verbindungen ermöglicht Ihren AWS Workloads den sicheren Zugriff auf externe Dienste, ohne dass langfristige Anmeldeinformationen gespeichert werden müssen. Ihre AWS Workloads können kurzlebige JSON-Webtoken (JWTs) vom AWS Security Token Service (AWS STS) anfordern, indem Sie die API aufrufen. [GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html) Diese Token sind kryptografisch signiert, öffentlich überprüfbar und enthalten einen umfassenden Satz von Ansprüchen, mit denen die Identität Ihres AWS Workloads gegenüber externen Diensten bestätigt wird. Sie können diese Token mit einer Vielzahl von Cloud-Drittanbietern, SaaS-Plattformen und selbst gehosteten Anwendungen verwenden. Externe Dienste überprüfen die Echtheit des AWS Tokens anhand von Bestätigungsschlüsseln, die an bekannten Endpunkten veröffentlicht wurden, und verwenden die Informationen in den Token, um Authentifizierungs- und Autorisierungsentscheidungen zu treffen.

Durch den ausgehenden Identitätsverbund entfällt die Notwendigkeit, langfristige Anmeldeinformationen wie API-Schlüssel oder Passwörter in Ihrem Anwendungscode oder in Umgebungsvariablen zu speichern, wodurch Ihr Sicherheitsstatus verbessert wird. Mithilfe von IAM-Richtlinien können Sie den Zugriff auf die Token-Generierung kontrollieren und Token-Eigenschaften wie Signaturalgorithmen, zulässige Zielgruppen und Dauer durchsetzen. Alle Token-Anfragen werden protokolliert AWS , sodass vollständige Prüfprotokolle für die Sicherheitsüberwachung und Compliance-Berichterstattung zur Verfügung stehen. Sie können Token auch mit Tags anpassen, die als benutzerdefinierte Ansprüche angezeigt werden, sodass externe Dienste eine differenzierte, attributbasierte Zugriffskontrolle implementieren können.

## Häufige Anwendungsfälle
<a name="outbound-federation-use-cases"></a>

Mithilfe des ausgehenden Identitätsverbunds können Ihre Workloads sicher: AWS 
+ Greifen Sie auf Ressourcen und Dienste externer Cloud-Anbieter zu. Beispielsweise kann eine Lambda-Funktion, die Daten verarbeitet, Ergebnisse in den Speicherdienst eines externen Cloud-Anbieters schreiben oder dessen Datenbank abfragen.
+ Integrieren Sie externe software-as-a-service (SaaS) Anbieter für Analysen, Datenverarbeitung, Überwachung usw. Ihre Lambda-Funktionen können beispielsweise Metriken an Observability-Plattformen senden.
+ Authentifizieren Sie sich mit Ihren eigenen Anwendungen, die auf externen Cloud-Anbietern oder lokalen Rechenzentren gehostet werden AWS, und ermöglichen Sie so sichere Hybrid- und Multi-Cloud-Architekturen. Ihre AWS Workloads können beispielsweise mit containerisierten Anwendungen interagieren, die in Ihrem lokalen Kubernetes-Cluster ausgeführt werden.

## So funktioniert’s
<a name="outbound-federation-how-it-works"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/outbound-use-cases.png)


1. Die Lambda-Funktion ruft die [GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html)API auf, um ein JSON Web Token (JWT) vom AWS Security Token Service (AWS STS) anzufordern.

1. AWS STS validiert die Anfrage und gibt ein signiertes JWT an die Lambda-Funktion zurück.

1. Die Lambda-Funktion sendet das JWT an den externen Dienst.

1. Der externe Dienst extrahiert die Aussteller-URL aus dem Token, überprüft, ob sie mit einem bekannten vertrauenswürdigen Aussteller übereinstimmt, und ruft die Bestätigungsschlüssel und Metadaten vom AWS OIDC-Discovery-Endpunkt ab.

1. Der externe Dienst verwendet die Bestätigungsschlüssel, um die Signatur des Tokens zu verifizieren und Angaben wie Ablaufzeit, Betreff und Zielgruppe zu validieren.

1. Nach erfolgreicher Validierung gewährt der externe Dienst Zugriff auf die Lambda-Funktion.

# Erste Schritte mit Outbound Identity Federation
<a name="id_roles_providers_outbound_getting_started"></a>

In dieser Anleitung erfahren Sie, wie Sie den ausgehenden Identitätsverbund für Ihr AWS Konto aktivieren und Ihr erstes JSON Web Token (JWT) (mithilfe der [GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html)API) abrufen. Sie aktivieren die Funktion, richten eine Vertrauensbeziehung mit einem externen Dienst ein, konfigurieren IAM-Berechtigungen und fordern mithilfe von AWS CLI oder AWS SDK for Python (Boto3) ein Token an.

## Voraussetzungen
<a name="outbound-federation-prerequisites"></a>

Stellen Sie vor Beginn sicher, dass Sie über Folgendes verfügen:
+ Aktuelle Version der AWS CLI oder Python 3.8 (oder höher) und Boto3 installiert (für AWS SDK-Beispiele)
+ Ein externes Dienstkonto, in dem Sie Vertrauensbeziehungen konfigurieren können (z. B. ein externer Cloud-Anbieter, SaaS-Anbieter oder eine Testanwendung)

**Anmerkung**  
Die `GetWebIdentityToken` API ist auf dem STS Global-Endpunkt nicht verfügbar.
Die von der `GetWebIdentityToken` API generierten JSON-Web-Tokens (JWTs) können nicht für den OpenID Connect (OIDC) -Verbund AWS (über die [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)API) verwendet werden.

## Aktivieren Sie den ausgehenden Identitätsverbund für Ihr Konto
<a name="enable-outbound-federation"></a>

Sie müssen den ausgehenden Identitätsverbund aktivieren, bevor Sie Token anfordern können. Sie können die Funktion mithilfe der AWS Management Console oder programmgesteuert mithilfe der API aktivieren. [EnableOutboundWebIdentityFederation](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableOutboundWebIdentityFederation.html)

### Verwenden der AWS CLI
<a name="enable-using-cli"></a>

```
aws iam enable-outbound-web-identity-federation
```

### AWS SDK für Python verwenden
<a name="enable-using-sdk"></a>

```
import boto3

# Create IAM client
iam_client = boto3.client('iam')

# Enable outbound identity federation
response = iam_client.enable_outbound_web_identity_federation()
print(f"Feature enabled. Issuer URL: {response['IssuerUrl']}")
print(f"Status: {response['Status']}")
```

### Die AWS Konsole verwenden
<a name="enable-using-console"></a>

Navigieren Sie zu IAM und wählen Sie im linken Navigationsmenü im Bereich **Access Management** die Option **Kontoeinstellungen**

![\[alt text not found\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/outbound-screen-1.png)


Notieren Sie sich nach der Aktivierung der Funktion Ihre kontospezifische Aussteller-URL. Sie werden diese URL verwenden, wenn Sie Vertrauensbeziehungen in externen Diensten konfigurieren. Sie können diese Aussteller-URL bei Bedarf auch über die [GetOutboundWebIdentityFederationInfo](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetOutboundWebIdentityFederationInfo.html)API abrufen.

![\[alt text not found\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/outbound-screen-2.png)


## Stellen Sie eine Vertrauensbeziehung im externen Dienst her
<a name="establish-trust-relationship"></a>

Konfigurieren Sie den externen Dienst so, dass er von Ihrem AWS Konto ausgegebene Token als vertrauenswürdig einstuft und akzeptiert. Die spezifischen Schritte variieren je nach Dienst, beinhalten aber im Allgemeinen:
+ Registrierung der URL Ihres AWS Kontoausstellers als vertrauenswürdiger Identitätsanbieter
+ Konfiguration der zu validierenden Behauptungen (Zielgruppe, Betreffmuster)
+ Zuordnung von Token-Ansprüchen zu Berechtigungen im externen Dienst

Ausführliche Anweisungen zur Konfiguration finden Sie in der Dokumentation zum externen Dienst.

## Konfigurieren Sie die IAM-Berechtigungen.
<a name="configure-iam-permissions"></a>

Erstellen Sie eine IAM-Richtlinie, die die Berechtigung zum Aufrufen der [GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html)API erteilt, und fügen Sie die Richtlinie einer IAM-Rolle hinzu, die Token generieren muss.

Diese Beispielrichtlinie gewährt Zugriff auf die Token-Generierung mit bestimmten Einschränkungen. Sie erlaubt das Anfordern von Token nur für https://api.example.com "" als Zielgruppe und erzwingt eine maximale Token-Lebensdauer von 5 Minuten (300 Sekunden). Eine Liste von Bedingungsschlüsseln, mit denen Sie Token-Eigenschaften erzwingen können, finden Sie unter. [IAM- und AWS STS Bedingungskontextschlüssel](reference_policies_iam-condition-keys.md)

### Beispiel für eine IAM-Richtlinie
<a name="example-iam-policy"></a>

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:GetWebIdentityToken",
            "Resource": "*",
            "Condition": {
                "ForAllValues:StringEquals": {
                    "sts:IdentityTokenAudience": "https://api.example.com"
                },
                "NumericLessThanEquals": {
                    "sts:DurationSeconds": 300
                }
            }
        }
    ]
}
```

## Fordern Sie Ihr erstes JSON Web Token (JWT) an
<a name="request-first-jwt"></a>

Sie können über die [GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html)API ein JSON-Webtoken anfordern. Sie können beim Aufrufen der API die folgenden Parameter angeben:
+ **Zielgruppe (erforderlich):** Der beabsichtigte Empfänger des Tokens. Dieser Wert füllt den Anspruch „aud“ im JWT auf. Externe Dienste validieren diesen Anspruch, um sicherzustellen, dass das Token für sie bestimmt war.
+ **SigningAlgorithm (erforderlich):** Der kryptografische Algorithmus, der zum Signieren des Tokens verwendet wurde. Gültige Werte sind ES384 und RS256. Verwenden Sie diese Option ES384 für optimale Sicherheit und Leistung oder RS256 für eine umfassendere Kompatibilität mit Systemen, die ECDSA nicht unterstützen.
+ **DurationSeconds (optional):** Die Lebensdauer des Tokens in Sekunden. Gültige Werte liegen im Bereich von 60 bis 3600. Der Standardwert ist 300 (5 Minuten). Aus Sicherheitsgründen empfehlen wir kürzere Token-Lebenszeiten.
+ **Tags (optional):** Eine Liste von Schlüssel-Wert-Paaren, die als benutzerdefinierte Ansprüche in das Token aufgenommen werden sollen. Externe Dienste können diese Ansprüche für eine detaillierte Autorisierung verwenden.

Die API gibt die folgenden Felder zurück:
+ **IdentityToken:** Das signierte JWT als Base64URL-kodierte Zeichenfolge. Nehmen Sie dieses Token in Anfragen an externe Dienste auf.
+ **Ablauf:** Der UTC-Zeitstempel für das Ablaufen des Tokens.

### Verwenden der AWS CLI
<a name="using-aws-cli"></a>

```
aws sts get-web-identity-token \
    --audience "https://api.example.com" \
    --signing-algorithm ES384 \
    --duration-seconds 300 \
    --tags Key=team,Value=data-engineering \
           Key=environment,Value=production \
           Key=cost-center,Value=analytics
```

### AWS SDK für Python verwenden
<a name="using-aws-sdk-python"></a>

```
import boto3

sts_client = boto3.client('sts')

response = sts_client.get_web_identity_token(
    Audience=['https://api.example.com'],
    DurationSeconds=300,
    SigningAlgorithm='RS256',
    Tags=[
        {'Key': 'team', 'Value': 'data-engineering'},
        {'Key': 'environment', 'Value': 'production'},
        {'Key': 'cost-center', 'Value': 'analytics'}
    ]
)

token = response['WebIdentityToken']
```

Sie können das JWT auch dekodieren, um seinen Inhalt mit Standard-JWT-Bibliotheken wie PyJWT, Python-JOSE für Python, Nimbus JOSE\$1JWT für Java oder Debuggern wie jwt.io zu überprüfen. [Grundlegendes zu Token-Ansprüchen](id_roles_providers_outbound_token_claims.md)Weitere Informationen zu den im Token enthaltenen Ansprüchen finden Sie unter.

## Verwenden Sie das Token mit einem externen Dienst
<a name="use-token-with-external-service"></a>

Nachdem Sie das Token erhalten haben, fügen Sie es in Anfragen an den externen Dienst ein. Die Methode ist je nach Dienst unterschiedlich, aber die meisten Dienste akzeptieren Token im Authorization-Header. Der externe Dienst sollte eine Token-Validierungslogik implementieren, die die JWKS-Schlüssel vom bekannten Endpunkt Ihres Ausstellers abruft, die Signatur des Tokens überprüft und wichtige Ansprüche validiert, bevor der Zugriff auf Ihre Workloads gewährt wird. AWS 

## Rufen Sie Bestätigungsschlüssel und Metadaten von den OpenID Connect (OIDC) -Endpunkten ab
<a name="fetch-verification-keys"></a>

Die eindeutige Aussteller-URL für Ihr AWS Konto hostet die OpenID Connect (OIDC) Discovery-Endpunkte, die Bestätigungsschlüssel und Metadaten enthalten, die für die Tokenverifizierung erforderlich sind.

Die URL des OIDC-Discovery-Endpunkts enthält Metadaten, die einige Anbieter zur Überprüfung von Token verwenden. Sie ist verfügbar unter:

```
{issuer_url}/.well-known/openid-configuration
```

Der JWKS-Endpunkt (JSON Web Key Set) enthält Schlüssel, die zur Überprüfung von Tokensignaturen verwendet werden. Er ist verfügbar unter:

```
{issuer_url}/.well-known/jwks.json
```

### Rufen Sie JWKS mit Curl ab
<a name="fetch-jwks-curl"></a>

```
curl https://{issuer_url}/.well-known/jwks.json
```

Antwort:

```
{
  "keys": [
    {
      "kty": "EC",
      "use": "sig",
      "kid": "key-id-1",
      "alg": "ES384",
      "crv": "P-384",
      "x": "base64-encoded-x-coordinate",
      "y": "base64-encoded-y-coordinate"
    },
    {
      "kty": "RSA",
      "use": "sig",
      "kid": "key-id-2",
      "n": "base64-encoded-modulus",
      "e": "AQAB"
    }
  ]
}
```

### AWS SDK für Python verwenden
<a name="fetch-using-sdk"></a>

```
import requests

# Fetch Openid Configuration
open_id_config_response = requests.get("https://{issuer_url}/.well-known/openid-configuration")
open_id_config = open_id_config_response.json()

# Fetch JWKS
jwks_response = requests.get("https://{issuer_url}/.well-known/jwks.json")
jwks = jwks_response.json()
```

Wir empfehlen, diese Schlüssel zwischenzuspeichern, um zu vermeiden, dass sie bei jeder Token-Überprüfung abgerufen werden.

### Unerlässliche Validierungen von Ansprüchen
<a name="essential-claim-validations"></a>
+ **Betreff (Sub):** Stellen Sie sicher, dass der Betreffanspruch das erwartete IAM-Prinzipal-ARN-Muster enthält.
+ **Ablauf (exp):** Stellen Sie sicher, dass das Token nicht abgelaufen ist. JWT-Bibliotheken behandeln dies normalerweise automatisch.
+ **Zielgruppe (aud):** Stellen Sie sicher, dass die Zielgruppe Ihrem erwarteten Wert entspricht. Dadurch wird verhindert, dass Token, die für andere Dienste bestimmt sind, mit Ihren verwendet werden.
+ **Emittent (iss):** Stellen Sie sicher, dass der Emittent mit den AWS Konten übereinstimmt, denen Sie vertrauen. Führen Sie eine Liste vertrauenswürdiger Emittenten. URLs

Wann immer möglich, sollten Sie zusätzliche AWS spezifische Behauptungen validieren, um eine differenzierte Zugriffskontrolle in Ihrem externen Dienst zu implementieren. Überprüfen Sie beispielsweise den Anspruch org\$1id, um den Zugriff auf IAM-Prinzipale in Ihrer AWS Organisation einzuschränken, aktivieren Sie principal\$1tags, um eine attributebasierte Zugriffskontrolle durchzusetzen (z. B. nur Produktionsumgebungen oder bestimmte Teams zuzulassen), oder überprüfen Sie Ansprüche im Sitzungskontext wie lambda\$1source\$1function\$1arn oder ec2\$1instance\$1source\$1vpc, um den Zugriff basierend auf der Rechenressource einzuschränken. Eine vollständige Liste der im [Token enthaltenen Ansprüche finden Sie unter Grundlegendes](id_roles_providers_outbound_token_claims.md) zu Token-Ansprüchen.

# Grundlegendes zu Token-Ansprüchen
<a name="id_roles_providers_outbound_token_claims"></a>

Wenn Sie die [GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html)API aufrufen, gibt der AWS Security Token Service ein signiertes JSON Web Token (JWT) zurück, das eine Reihe von Ansprüchen enthält, die die Identität des IAM-Prinzipals darstellen. Diese Token entsprechen [RFC](https://datatracker.ietf.org/doc/html/rfc7519) 7519. Wenn Sie die Struktur und den Inhalt dieser Token verstehen, können Sie sichere Authentifizierungsabläufe implementieren, entsprechende Anspruchsvalidierungen in externen Diensten konfigurieren und benutzerdefinierte Ansprüche effektiv für eine detaillierte Zugriffskontrolle nutzen.

Das JWT umfasst standardmäßige OpenID Connect (OIDC) -Angaben wie Betreff („Sub“), Zielgruppe („aud“) und Emittent („iss“), um die Interoperabilität zwischen verschiedenen externen Diensten zu erleichtern. AWS STS füllt das Token gegebenenfalls mit AWS identitätsspezifischen Ansprüchen (wie AWS Konto-ID und Principal-Tags) und Sitzungskontextansprüchen (wie Instanz) auf. EC2 ARNs Sie können dem Token auch benutzerdefinierte Ansprüche hinzufügen, indem Sie sie als Anforderungs-Tags an die API übergeben. [GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html) Die AWS identitätsspezifischen Ansprüche sowie die Ansprüche im Sitzungskontext und die benutzerdefinierten Ansprüche sind im Token unter dem Namespace "https://sts.amazonaws.com/“ verschachtelt.

Im folgenden Beispieltoken finden Sie eine Liste der im Token enthaltenen Ansprüche. Bitte beachten Sie, dass möglicherweise nicht alle diese Ansprüche gleichzeitig in einem Token enthalten sind. 

```
{
  "iss": "https://abc123-def456-ghi789-jkl012.tokens.sts.global.api.aws",
  "aud": "https://api.example.com",
  "sub": "arn:aws:iam::123456789012:role/DataProcessingRole",
  "iat": 1700000000,
  "exp": 1700000900,
  "jti": "xyz123-def456-ghi789-jkl012",
  "https://sts.amazonaws.com/": {
    "aws_account": "123456789012",
    "source_region": "us-east-1",
    "org_id": "o-abc1234567",
    "ou_path": "o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/",
    "principal_tags": {
      "environment": "production",
      "team": "data-engineering",
      "cost-center": "engineering"
    },
    "lambda_source_function_arn": "arn:aws:lambda:us-east-1:123456789012:function:process-data",
    "request_tags": {
        "job-id": "job-2024-001",
        "priority": "high",
        "data-classification": "sensitive"
    }
  }
}
```

## Standardansprüche
<a name="standard-claims"></a>

Die in den Tokens enthaltenen OIDC-Standardansprüche erleichtern die Interoperabilität mit einer Vielzahl externer Dienste. Diese Behauptungen können mit den meisten JWT-Bibliotheken validiert werden.


| Antrag | Name | Description | Beispielwert | 
| --- | --- | --- | --- | 
| Miss | Aussteller | Ihre kontospezifische Aussteller-URL. Externe Dienste überprüfen diesen Anspruch, um sicherzustellen, dass er dem Emittenten entspricht, dem sie vertrauen. | https://abc123-def456-ghi789-jkl012.tokens.sts.global.api.aws | 
| aud | Zielgruppe | Der beabsichtigte Empfänger für das in der [GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html)Anfrage angegebene Token. | https://api.example.com | 
| sub | Betreff | Der ARN des IAM-Prinzipals, der das Token angefordert hat. | arn:aws:iam: :123456789012:role/ DataProcessingRole | 
| iat | Ausgestellt am | NumericDate Wert, der den Zeitpunkt angibt, zu dem das JWT ausgestellt wurde. | 1700000000 | 
| exp | Ablauf | NumericDate Wert, der die Ablaufzeit angibt, an oder nach der das JWT NICHT zur Verarbeitung akzeptiert werden DARF. | 1700000900 | 
| jti | JWT IST | Eindeutiger Bezeichner für diese Token-Instanz. | xyz123-def456-ghi789-jkl012 | 

## Kundenspezifische Ansprüche
<a name="custom-claims"></a>

 AWS STS Fügt zusätzlich zu den standardmäßigen OIDC-Ansprüchen gegebenenfalls auch Ansprüche zur Identität und zum Sitzungskontext hinzu. Sie können dem Token auch Ihre eigenen Ansprüche hinzufügen, indem Sie sie als Anforderungs-Tags übergeben. Benutzerdefinierte Ansprüche sind unter dem Namespace https://sts.amazonaws.com/verschachtelt.

### AWS Identitätsansprüche
<a name="aws-identity-claims"></a>

Diese Angaben enthalten detaillierte Informationen zu Ihrem AWS Konto, Ihrer Organisationsstruktur und Ihrem IAM-Prinzipal.


| Antrag | Description | Wird dem Condition Key zugeordnet | Beispielwert | 
| --- | --- | --- | --- | 
| aws\$1account | Ihre Konto-ID AWS  | [war: PrincipalAccount](reference_policies_condition-keys.md#condition-keys-principalaccount) | 123456789012 | 
| source\$1region | Die AWS Region, in der das Token angefordert wurde | [war: RequestedRegion](reference_policies_condition-keys.md#condition-keys-requestedregion) | us-east-1 | 
| Org-ID | Ihre AWS Organisations-ID (wenn Ihr Konto Teil einer Organisation ist) | [aws: PrincipalOrg ID](reference_policies_condition-keys.md#condition-keys-principalorgid) | o-abc1234567 | 
| ou\$1path | Pfad Ihrer Organisationseinheit (falls zutreffend) | [als: PrincipalOrgPaths](reference_policies_condition-keys.md#condition-keys-principalorgpaths) | o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-2222222222/ | 
| Haupte\$1Schlagworte | Tags, die dem IAM-Prinzipal oder der Sitzung mit der angenommenen Rolle zugeordnet sind. Wenn ein Token angefordert wird, bei dem der anfordernde IAM-Principal sowohl Principal- als auch Sitzungs-Tags hat, sind die Sitzungs-Tags im JWT vorhanden. | [aws:/PrincipalTag](reference_policies_condition-keys.md#condition-keys-principaltag)<tag-key> | \$1"Umgebung“: „Produktion“, „Team“: „Datentechnik“, „Kostenstelle“ :"Technik "\$1 | 

### Ansprüche aus dem Sitzungskontext
<a name="session-context-claims"></a>

Diese Behauptungen enthalten Informationen über die Rechenumgebung und die Sitzung, aus der die Token-Anfrage stammt. AWS AWS STS schließt diese Ansprüche automatisch ein, sofern sie auf der Grundlage des Sitzungskontextes des anfragenden Prinzipals zutreffen.


| Antrag | Description | Ordnet dem Condition Key zu | Beispielwert | 
| --- | --- | --- | --- | 
| original\$1session\$1exp | Wann die Anmeldeinformationen für die ursprüngliche Rollensitzung ablaufen (für angenommene Rollen) | – | 2024-01-15T 10:00:00 Z | 
| föderierter\$1Anbieter | Der Name des Identitätsanbieters für Verbundsitzungen | [war: FederatedProvider](reference_policies_condition-keys.md#condition-keys-federatedprovider) | arn:aws:iam: :111122223333: oidc-provider/your\$1oidc\$1provider | 
| identity\$1store\$1user\$1id | IAM Identity Center-Benutzer-ID | [Identitätsspeicher: UserId](reference_policies_condition-keys.md#condition-keys-identity-store-user-id) | benutzer-abc123def456 | 
| identity\$1store\$1arn | ARN des Identity Center-Identitätsspeichers | [Identitätsspeicher: IdentityStoreArn](https://docs.aws.amazon.com/singlesignon/latest/userguide/condition-context-keys-sts-idc.html#condition-keys-identity-store-arn) | arn:aws:identitystore: :123456789012:identitystore/d-abc1234567 | 
| ec2\$1source\$1instance\$1arn | ARN der anfragenden EC2 Instanz | [ec2: SourceInstanceArn](reference_policies_condition-keys.md#condition-keys-ec2-source-instance-arn) | arn:aws:ec2:us-east-1:123456789012:instance/i-abc123def456 | 
| ec2\$1instance\$1source\$1vpc | VPC-ID, an die die EC2 Rollenanmeldedaten übermittelt wurden | [AWS: EC2 InstanceSourceVpc](reference_policies_condition-keys.md#condition-keys-ec2instancesourcevpc) | vpc-abc123def456 | 
| ec2\$1instance\$1source\$1private\$1ipv4 | Private Adresse der Instanz IPv4 EC2  | [AWS: EC2 InstanceSourcePrivate IPv4](reference_policies_condition-keys.md#condition-keys-ec2instancesourceprivateip4) | 10.0.1.25 | 
| ec2\$1role\$1delivery | Version des Instanz-Metadatendienstes | [ec2: RoleDelivery](reference_policies_condition-keys.md#condition-keys-ec2-role-delivery) | 2 | 
| Quellidentität | Vom Prinzipal festgelegte Quellidentität | [war: SourceIdentity](reference_policies_condition-keys.md#condition-keys-sourceidentity) | Admin-Benutzer | 
| lambda\$1source\$1function\$1arn | ARN der aufrufenden Lambda-Funktion | [Lambda: SourceFunctionArn](reference_policies_condition-keys.md#condition-keys-lambda-source-function-arn) | arn:aws:lambda:us-east-1:123456789012:funktion:meine-funktion | 
| glue\$1credentials issuing\$1service | AWS Glue-Service-ID für Glue-Jobs | [Klebstoff: CredentialIssuingService](reference_policies_condition-keys.md#condition-keys-glue-credential-issuing) | kleber.amazonaws.com | 

### Tags anfordern
<a name="request-tags"></a>

Sie können Tokens benutzerdefinierte Ansprüche hinzufügen, indem Sie in der [GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html)API-Anfrage Tags angeben. Diese Ansprüche werden unter dem Feld request\$1tags im Token angezeigt und ermöglichen es Ihnen, spezifische Informationen weiterzugeben, die externe Dienste für detaillierte Autorisierungsentscheidungen verwenden können. Sie können bis zu 50 Tags pro Anfrage angeben.

Beispielanforderung:

```
response = sts_client.get_web_identity_token(
    Audience=['https://api.example.com'],
    SigningAlgorithm='ES384'
    Tags=[
        {'Key': 'team', 'Value': 'data-engineering'},
        {'Key': 'cost-center', 'Value': 'analytics'},
        {'Key': 'environment', 'Value': 'production'}
    ]
)
```

Daraus resultierende Ansprüche in Form eines Tokens:

```
{
  "request_tags": {
    "team": "data-engineering",
    "cost-center": "analytics",
    "environment": "production"
  }
}
```

# Steuern des Zugriffs mit IAM-Richtlinien
<a name="id_roles_providers_outbound_policies"></a>

IAM bietet mehrere Richtlinientypen zur Steuerung des Zugriffs auf die Funktion „Outbound Identity Federation“. Mithilfe [identitätsbasierter Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) können Sie steuern, welche IAM-Prinzipale Token anfordern können, und bestimmte Token-Eigenschaften wie Zielgruppe, Gültigkeitsdauer und Signaturalgorithmen durchsetzen. Mithilfe von [Service Control-Richtlinien](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) (SCPs) können Sie unternehmensweite Einschränkungen bei der Token-Generierung für alle Konten in Ihren AWS Organizations durchsetzen. [Richtlinien zur Ressourcenkontrolle](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) (RCPs) steuern den Zugriff auf Ressourcenebene. Sie können auch [VPC-Endpunktrichtlinien](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) verwenden, um einzuschränken, welche Principals über Ihre VPC-Endpunkte auf die AWS STS `GetWebIdentityToken` API zugreifen können, und so Ihren Sicherheitsstatus um Kontrollen auf Netzwerkebene erweitern. In diesem Abschnitt wird erklärt, wie Sie mithilfe dieser Richtlinientypen und Bedingungsschlüssel detaillierte Zugriffskontrollen implementieren.

Um Identitätstoken anzufordern, muss ein IAM-Prinzipal über die entsprechende Genehmigung verfügen. `sts:GetWebIdentityToken` Erteilen Sie diese Berechtigung über Identitätsrichtlinien, die IAM-Benutzern oder -Rollen zugewiesen sind. Damit Tags (Schlüssel- und Wertepaare) an den GetWebIdentityToken Anruf übergeben werden können, muss der IAM-Prinzipal über die `sts:TagGetWebIdentityToken` entsprechende Berechtigung verfügen.
+ Verwenden Sie den IdentityTokenAudience Bedingungsschlüssel [sts:](reference_policies_iam-condition-keys.md#ck_identitytokenaudience), um einzuschränken, welche externen Dienste Token empfangen können.
+ Verwenden Sie den DurationSeconds Bedingungsschlüssel [sts:](reference_policies_iam-condition-keys.md#ck_durationseconds), um die maximale Lebensdauer von Token durchzusetzen.
+ Verwenden Sie den SigningAlgorithm Bedingungsschlüssel [sts:](reference_policies_iam-condition-keys.md#ck_signingalgorithm), um bestimmte kryptografische Algorithmen vorzuschreiben.
+ Verwenden Sie den RequestTag Bedingungsschlüssel [aws:](reference_policies_condition-keys.md#condition-keys-requesttag) und vergleichen Sie das Tag-Schlüssel-Wert-Paar, das in der Anfrage übergeben wurde, mit dem Tag-Paar, das Sie in der Richtlinie angeben.
+ Verwenden Sie den TagKeys Bedingungsschlüssel [aws:](reference_policies_condition-keys.md#condition-keys-tagkeys), um die Tag-Schlüssel in einer Anfrage mit den Schlüsseln zu vergleichen, die Sie in der Richtlinie angeben.

Weitere Informationen zu den in [IAM-Richtlinien verfügbaren AWS STS Bedingungsschlüsseln finden Sie unter IAM und](reference_policies_iam-condition-keys.md) Bedingungsschlüssel.

In dieser Beispiel-Identitätsrichtlinie werden mehrere Bedingungsschlüssel kombiniert:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowTokenGenerationWithRestrictions",
            "Effect": "Allow",
            "Action": "sts:GetWebIdentityToken",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "sts:IdentityTokenAudience": [
                        "https://api1.example.com",
                        "https://api2.example.com"
                    ]
                },
                "NumericLessThanEquals": {
                    "sts:DurationSeconds": 300
                },
                "StringEquals": {
                    "sts:SigningAlgorithm": "ES384"
                }
            }
        }
    ]
}
```

## Best Practices
<a name="outbound-best-practices"></a>

Folgen Sie diesen Empfehlungen, um Ihre AWS Identitäten sicher mit externen Diensten zu verbinden.
+ **Verwenden Sie kurze Token-Lebenszeiten:** Fordern Sie Token mit der kürzesten Lebensdauer an, die Ihren betrieblichen Anforderungen entsprechen.
+ **Implementieren Sie den Zugriff mit geringsten Rechten und schränken Sie die Token-Eigenschaften mit IAM-Richtlinien ein:** Erteilen Sie die `sts:GetWebIdentityToken` Erlaubnis nur IAM-Prinzipalen, die sie benötigen. Verwenden Sie Bedingungsschlüssel, um Signaturalgorithmen, zulässige Token-Zielgruppen und maximale Token-Gültigkeitsdauer nach Bedarf festzulegen.
+ **Bestätigen Sie Ansprüche in externen Diensten:** Überprüfen Sie aus Sicherheitsgründen immer relevante Angaben wie Betreff („Sub“), Zielgruppe („aud“) usw., um sicherzustellen, dass sie Ihren erwarteten Werten entsprechen. Validieren Sie nach Möglichkeit benutzerdefinierte Ansprüche, um detaillierte Autorisierungsentscheidungen in externen Diensten zu ermöglichen.

# Temporäre IAM Sicherheitsanmeldeinformationen
<a name="id_credentials_temp"></a>

Mit AWS -Security-Token-Service (AWS STS) können Sie temporäre Sicherheitsanmeldedaten erstellen und vertrauenswürdigen Benutzern zur Verfügung stellen, mit denen der Zugriff auf Ihre AWS Ressourcen gesteuert werden kann. Temporäre Sicherheitsanmeldeinformationen funktionieren fast genauso wie die langfristigen Zugriffsschlüssel-Anmeldeinformationen, mit folgenden Unterschieden:
+ Temporäre Sicherheitsanmeldeinformationen sind über einen *kurzen Zeitraum* gültig, wie der Name schon sagt. Sie können mit einer Gültigkeitsdauer von wenigen Minuten bis mehrere Stunden konfiguriert werden. Wenn die Anmeldeinformationen abgelaufen sind, werden sie nicht AWS mehr erkannt und es ist auch kein Zugriff mehr über API-Anfragen möglich, die mit ihnen gestellt wurden.
+ Temporäre Sicherheitsanmeldeinformationen werden nicht mit dem Benutzer gespeichert, sondern auf Anforderung des Benutzers dynamisch generiert und bereitgestellt. Wenn (oder sogar bevor) die temporären Anmeldeinformationen ablaufen, kann der Benutzer neue Anmeldeinformationen anfordern, solange der anfordernde Benutzer weiterhin dazu berechtigt ist.

Daher haben temporäre Anmeldeinformationen die folgenden Vorteile gegenüber langfristigen Anmeldeinformationen:
+ Sie müssen keine langfristigen AWS Sicherheitsnachweise verteilen oder in eine Anwendung einbetten.
+ Sie können Benutzern Zugriff auf Ihre AWS Ressourcen gewähren, ohne eine AWS Identität für sie definieren zu müssen. Temporäre Anmeldeinformationen sind die Grundlage für [Rollen](id_roles.md) und den [Identitätsverbund](id_roles_providers.md).
+ Die temporären Anmeldeinformationen haben eine begrenzte Nutzungsdauer. Somit müssen Sie sie aktualisieren oder explizit widerrufen, wenn Sie sie nicht mehr benötigen. Nachdem die temporären Anmeldeinformationen abgelaufen sind, können sie nicht erneut verwendet werden. Sie können die Gültigkeit der Anmeldeinformationen bis zu einem bestimmten Höchstwert festlegen. 

## AWS STS und AWS Regionen
<a name="sts-regionalization"></a>

Temporäre Sicherheitsanmeldeinformationen werden von AWS STS generiert. Standardmäßig AWS STS ist dies ein globaler Dienst mit einem einzigen Endpunkt bei`https://sts.amazonaws.com`. Sie können sich jedoch auch dafür entscheiden, AWS STS API-Aufrufe an Endpunkte in jeder anderen unterstützten Region zu tätigen. Dies kann die Latenz (Serververzögerung) verringern, indem die Anforderungen an Server in einer Region in Ihrer Nähe gesendet werden. Ihre Anmeldeinformationen sind unabhängig von der Region, in der sie generiert werden, weltweit gültig. Weitere Informationen finden Sie unter [Verwalte AWS STS in einem AWS-Region](id_credentials_temp_enable-regions.md).

## Gängige Szenarien für temporäre Anmeldeinformationen
<a name="sts-introduction"></a>

Temporäre Anmeldeinformationen sind in Szenarien mit Identitätsverbund, Delegierung, kontoübergreifenden Zugriff und IAM-Rollen nützlich.

### Identitätsverbund
<a name="id-federation"></a>

Sie können Ihre Benutzeridentitäten in einem externen System außerhalb von verwalten AWS und Benutzern, die sich von diesen Systemen aus anmelden, Zugriff gewähren, um AWS Aufgaben auszuführen und auf Ihre AWS Ressourcen zuzugreifen. IAM unterstützt zwei Arten von Identitätsverbund. In beiden Fällen werden die Identitäten außerhalb von gespeichert. AWS Der Unterschied liegt darin, wo Ihr externes System angesiedelt ist &endash in Ihrem Rechenzentrum oder bei einem Anbieter im Internet. Einen Vergleich der Features temporärer Sicherheitsanmeldedaten für den Identitätsverbund finden Sie unter [AWS STS Referenzen vergleichen](id_credentials_sts-comparison.md).

Weitere Informationen zu externen Identitätsanbietern erhalten Sie unter [Identitätsanbieter und Verbund zu AWS](id_roles_providers.md).
+ **OpenID Connect (OIDC)-Identitätsverbund** – Sie können Benutzern die Anmeldung über einen bekannten Identitätsanbieter eines Drittanbieters wie Login mit Amazon, Facebook, Google oder einem beliebigen OIDC 2.0-kompatiblen Anbieter für Ihre Mobil- oder Web-Anwendung ermöglichen. Sie müssen keinen benutzerdefinierten Anmelde-Code erstellen oder Ihre eigenen Benutzeridentitäten verwalten. Die Verwendung des OIDC-Verbunds hilft Ihnen dabei, Ihre AWS-Konto Sicherheit zu gewährleisten, da Sie keine langfristigen Sicherheitsanmeldedaten wie IAM-Benutzerzugriffsschlüssel mit Ihrer Anwendung verteilen müssen. Weitere Informationen finden Sie unter [OIDC-Verbund](id_roles_providers_oidc.md).

  AWS STS Der OIDC-Verbund unterstützt die Login with Amazon, Facebook, Google und jedem OpenID Connect (OIDC) -kompatiblen Identitätsanbieter.
**Anmerkung**  
Für mobile Anwendungen empfehlen wir die Verwendung von Amazon Cognito. Sie können diesen Service für die mobile Entwicklung verwenden, um eindeutige Identitäten AWS SDKs für Benutzer zu erstellen und sie für den sicheren Zugriff auf Ihre Ressourcen zu authentifizieren. AWS Amazon Cognito unterstützt dieselben Identitätsanbieter wie AWS STS und unterstützt auch nicht authentifizierten (Gast-) Zugriff. Außerdem können Sie Benutzerdaten migrieren, wenn sich ein Benutzer anmeldet. Amazon Cognito stellt auch API-Operationen für die Synchronisierung von Benutzerdaten bereit, sodass diese erhalten bleiben, wenn die Benutzer zwischen Geräten wechseln. Weitere Informationen finden Sie unter [Authentifizierung mit Amplify](https://docs.amplify.aws/lib/auth/getting-started/q/platform/js/#authentication-with-amplify) in der *Amplify-Dokumentation*.
+ **SAML-Verbund** — Sie können Benutzer im Netzwerk Ihrer Organisation authentifizieren und diesen Benutzern dann Zugriff gewähren, AWS ohne neue AWS Identitäten für sie zu erstellen und von ihnen zu verlangen, dass sie sich mit anderen Anmeldeinformationen anmelden müssen. Dies wird als *Single-Sign-On-Ansatz* für temporären Zugriff bezeichnet. AWS STS unterstützt offene Standards wie Security Assertion Markup Language (SAML) 2.0, mit der Sie Microsoft AD FS verwenden können, um Ihr Microsoft Active Directory zu nutzen. Sie können mit SAML 2.0 auch Ihre eigene Lösung zum Verbinden von Benutzeridentitäten verwalten. Weitere Informationen finden Sie unter [SAML 2.0-Föderation](id_roles_providers_saml.md).
  + **Benutzerdefinierter Federation Broker** — Sie können das Authentifizierungssystem Ihrer Organisation verwenden, um Zugriff auf Ressourcen zu gewähren. AWS Ein Beispielszenario finden Sie unter [Benutzerdefinierten Identity Broker-Zugriff auf die AWS Konsole aktivieren](id_roles_providers_enable-console-custom-url.md).
  + **Verbund mit SAML 2.0** – Verwenden Sie das Authentifizierungssystem Ihrer Organisation und SAML, um Zugriff auf AWS -Ressourcen zu gewähren. Weitere Informationen sowie ein Beispielszenario finden Sie unter [SAML 2.0-Föderation](id_roles_providers_saml.md).

### Rollen für den kontoübergreifenden Zugriff
<a name="role_cross-account"></a>

Viele Organisationen verfügen über mehrere AWS-Konto. Mithilfe von Rollen und dem kontoübergreifenden Zugriff können Sie Benutzeridentitäten in einem Konto definieren und diese Identitäten für den Zugriff auf AWS -Ressourcen in anderen Konten Ihrer Organisation verwenden. Dies wird als *Delegierung* für den temporären Zugriff bezeichnet. Weitere Informationen zum Erstellen kontenübergreifender Rollen finden Sie unter [Erstellen einer Rolle zum Erteilen von Berechtigungen an einen IAM-Benutzer](id_roles_create_for-user.md). Informationen darüber, ob Auftraggeber in Konten außerhalb Ihrer Vertrauenszone (vertrauenswürdige Organisation oder Konto) Zugriff zur Annahme Ihrer Rollen haben, finden Sie unter [Was ist IAM Access Analyzer?](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html).

### IAM-Rollen für Amazon EC2
<a name="role_ec2"></a>

Wenn Sie Anwendungen auf Amazon EC2-Instances ausführen und diese Anwendungen auf AWS -Ressourcen zugreifen müssen, können Sie temporäre Sicherheitsanmeldeinformationen für Ihre Instances bereitstellen, wenn Sie sie starten. Diese temporären Sicherheitsanmeldeinformationen sind für alle Anwendungen verfügbar, die in der Instance ausgeführt werden. Sie müssen daher keine langfristigen Anmeldeinformationen in der Instance speichern. Weitere Informationen finden Sie unter [Verwendung einer IAM-Rolle zur Gewährung von Berechtigungen für Anwendungen, die in Amazon-EC2-Instances ausgeführt werden](id_roles_use_switch-role-ec2.md).

Weitere Informationen zu den IAM-Amazon-EC2-Rollen-Anmeldeinformationen finden Sie unter [IAM-Rollen für Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) im *Benutzerhandbuch zur Amazon Elastic Compute Cloud*.

### Andere AWS Dienste
<a name="other-services"></a>

Für den Zugriff auf die meisten AWS Dienste können Sie temporäre Sicherheitsanmeldedaten verwenden. Eine Liste der Services, die temporäre Sicherheitsanmeldeinformationen zulassen, finden Sie unter [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md).

## Beispielanwendungen, für die temporäre Anmeldeinformationen verwendet werden
<a name="id_credentials_temp_sample-apps"></a>

Sie können AWS -Security-Token-Service (AWS STS) verwenden, um temporäre Sicherheitsanmeldeinformationen für vertrauenswürdige Benutzer zu erstellen und ihnen zur Verfügung zu stellen, mit denen der Zugriff auf Ihre AWS Ressourcen gesteuert werden kann. Weitere Informationen zu finden AWS STS Sie unter[Temporäre IAM Sicherheitsanmeldeinformationen](#id_credentials_temp). Um zu erfahren, wie Sie temporäre Sicherheitsanmeldeinformationen verwalten können, können Sie die folgenden Beispielanwendungen herunterladen, die vollständige Beispielszenarien implementieren: AWS STS 
+ [Aktivierung des Verbunds für die AWS Verwendung von Windows Active Directory, ADFS und SAML 2.0](https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/). Demonstriert, wie der Zugriff mithilfe von Enterprise Federation auf die AWS Verwendung von Windows Active Directory (AD), Active Directory Federation Services (ADFS) 2.0 und SAML (Security Assertion Markup Language) 2.0 delegiert wird.
+ [Benutzerdefinierten Identity Broker-Zugriff auf die AWS Konsole aktivieren](id_roles_providers_enable-console-custom-url.md): Zeigt, wie Sie einen benutzerdefinierten Verbund-Proxy erstellen, um Single Sign-On (SSO) zu aktivieren und es vorhandenen Active Directory-Benutzern zu ermöglichen, sich bei der AWS-Managementkonsole anzumelden.
+ [So verwenden Sie Shibboleth für Single Sign-On auf dem. AWS-Managementkonsole](https://aws.amazon.com/blogs/security/how-to-use-shibboleth-for-single-sign-on-to-the-aws-management-console/) . Zeigt, wie Sie mithilfe von [Shibboleth](http://shibboleth.net/) und [SAML](id_roles_providers_saml.md) Benutzern SSO-Zugriff (Single Sign-On) auf die AWS-Managementkonsole gewähren.

### Beispiele für den OIDC-Verbund
<a name="sts-sample-apps-wif"></a>

Die folgenden Beispielanwendungen veranschaulichen die Verwendung OIDCfederation mit Anbietern wie Login with Amazon, Amazon Cognito, Facebook oder Google. Sie können die Authentifizierung dieser Anbieter gegen temporäre AWS Sicherheitsanmeldedaten für den Zugriff auf AWS Dienste eintauschen.
+ [Amazon Cognito-Tutorials](https://docs.aws.amazon.com/cognito/latest/developerguide/tutorials.html) — Wir empfehlen Ihnen, Amazon Cognito mit dem AWS SDKs für die mobile Entwicklung zu verwenden. Amazon Cognito ist die einfachste Methode zur Identitätsverwaltung für mobile Apps. Außerdem werden hier zusätzliche Funktionen wie die Synchronisierung und geräteübergreifende Identitäten unterstützt. Weitere Informationen zu Amazon Cognito finden Sie unter [Authentifizierung mit Amplify](https://docs.amplify.aws/lib/auth/getting-started/q/platform/js/#authentication-with-amplify) in der *Amplify-Dokumentation*.

## Zusätzliche Ressourcen für temporäre Sicherheitsanmeldeinformationen
<a name="id_credentials_temp_related-topics"></a>

Folgende Szenarien und Anwendungen führen Sie durch die Verwendungsmöglichkeiten von temporären Sicherheitsanmeldeinformationen: 
+ [So integrieren Sie sich AWS STS SourceIdentity mit Ihrem Identitätsanbieter](https://aws.amazon.com/blogs/security/how-to-integrate-aws-sts-sourceidentity-with-your-identity-provider/). In diesem Beitrag erfahren Sie, wie Sie das AWS STS `SourceIdentity` Attribut einrichten, wenn Sie Okta, Ping oder OneLogin als Ihren IdP verwenden.
+  [OIDC-Verbund](id_roles_providers_oidc.md). In diesem Abschnitt wird erläutert, wie Sie IAM-Rollen konfigurieren, wenn Sie den OIDC-Verbund und die `AssumeRoleWithWebIdentity`-API verwenden. 
+ [Sicherer API-Zugriff mit MFA](id_credentials_mfa_configure-api-require.md). In diesem Thema wird erläutert, wie Sie mithilfe von Rollen die Multi-Factor Authentication (MFA) verlangen können, um die sensiblen API-Aktionen in Ihrem Konto zu schützen.

Weitere Informationen zu Richtlinien und Berechtigungen AWS finden Sie in den folgenden Themen:
+ [Zugriffsmanagement für AWS Ressourcen](access.md)
+ [Auswertungslogik für Richtlinien](reference_policies_evaluation-logic.md).
+ [Verwalten von Zugriffsberechtigungen für Ihre Amazon-S3-Ressourcen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) im *Benutzerhandbuch für Amazon Simple Storage Service*.
+  Informationen darüber, ob Auftraggeber in Konten außerhalb Ihrer Vertrauenszone (vertrauenswürdige Organisation oder Konto) Zugriff zur Annahme Ihrer Rollen haben, finden Sie unter [Was ist IAM Access Analyzer?](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html).

# AWS STS Referenzen vergleichen
<a name="id_credentials_sts-comparison"></a>

In der folgenden Tabelle werden die Funktionen der API-Operationen verglichen AWS STS , bei denen temporäre Sicherheitsanmeldedaten zurückgegeben werden. Weitere Informationen zu den verschiedenen Methoden, die Sie verwenden können, um temporäre Anmeldeinformationen anzufordern, indem Sie eine Rolle übernehmen, finden Sie unter [Methoden, um eine Rolle zu übernehmen](id_roles_manage-assume.md). Weitere Informationen zu den verschiedenen AWS STS API-Vorgängen, mit denen Sie Sitzungs-Tags übergeben können, finden Sie unter[Sitzungs-Tags übergeben AWS STS](id_session-tags.md).

**Anmerkung**  
Sie können AWS STS API-Aufrufe entweder an einen globalen Endpunkt oder an einen der regionalen Endpunkte senden. Wenn Sie einen Endpunkt näher bei Ihnen wählen, können Sie die Latenz verringern und verbessern Sie die Leistung Ihrer API-Aufrufe verbessern. Sie können Ihre Aufrufe auch an einen alternativen regionalen Endpunkt richten, wenn Sie nicht mehr mit dem ursprünglichen Endpunkt kommunizieren können. Wenn Sie eine der verschiedenen Methoden verwenden AWS SDKs, verwenden Sie diese SDK-Methode, um eine Region anzugeben, bevor Sie den API-Aufruf ausführen. Wenn Sie HTTP-API-Anforderungen manuell konstruieren, müssen Sie die Anforderung selbst an den korrekten Endpunkt richten. Weitere Informationen finden Sie im [AWS STS -Abschnitt von *Regionen und Endpunkte*](https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region) und [Verwalte AWS STS in einem AWS-Region](id_credentials_temp_enable-regions.md).


|  **AWS STS API**  |  **Wer kann aufrufen?**  |  **Lebensdauer der Anmeldeinformationen (min \$1 max \$1 Standard)**  |  **MFA-Unterstützung**¹  |  **Sitzungsrichtlinienunterstützung**²  |  **Einschränkungen bei den sich ergebenden temporären Anmeldeinformationen**  | 
| --- | --- | --- | --- | --- | --- | 
|  [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)  | IAM-Benutzer oder IAM-Rolle mit vorhandenen temporären Sicherheitsanmeldeinformationen  | 15 Min. \$1 Maximale Sitzungsdauer³ \$1 1 Std.  | Ja  | Ja |  Kein Aufruf von `GetFederationToken` oder `GetSessionToken`.  | 
|  [AssumeRoleWithSAML](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html)  | Jeder user;-Anrufer muss eine SAML-Authentifizierungsantwort übergeben, die die Authentifizierung von einem bekannten Identitätsanbieter angibt | 15 Min. \$1 Maximale Sitzungsdauer³ \$1 1 Std.  | Nein | Ja |  Kein Aufruf von `GetFederationToken` oder `GetSessionToken`.  | 
|  [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)  | Jeder Benutzer; der Anrufer muss ein OIDC-kompatibles JWT-Token übergeben, das die Authentifizierung von einem bekannten Identitätsanbieter anzeigt | 15 Min. \$1 Maximale Sitzungsdauer³ \$1 1 Std.  | Nein | Ja |  Kein Aufruf von `GetFederationToken` oder `GetSessionToken`.  | 
| [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) | IAM-Benutzer oder Root-Benutzer des AWS-Kontos |  IAM-Benutzer: 15 m \$1 36 h \$1 12 h Stammbenutzer: 15 Min. \$1 1 Stunde \$1 1 Stunde  | Nein  | Ja  |  IAM-Operationen können nicht mit der AWS CLI oder AWS API aufgerufen werden. Diese Beschränkung gilt nicht für Konsolensitzungen. Es können keine AWS STS Operationen außer `GetCallerIdentity` .³ aufgerufen werden SSO an Konsole ist erlaubt.⁵  | 
| [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) | IAM-Benutzer oder Root-Benutzer des AWS-Kontos |  IAM-Benutzer: 15 m \$1 36 h \$1 12 h Stammbenutzer: 15 Min. \$1 1 Stunde \$1 1 Stunde  | Ja  | Nein  |  IAM-API-Operationen können nur aufgerufen werden, wenn MFA-Informationen in der Anforderung enthalten sind.  AWS STS API-Operationen außer `AssumeRole` oder `GetCallerIdentity` können nicht aufgerufen werden. SSO an Konsole ist nicht erlaubt.⁶  | 

 ¹ **MFA-Unterstützung**. Sie können Informationen über ein Gerät mit Multi-Faktor-Authentifizierung (MFA) angeben, wenn Sie die AssumeRole und GetSessionToken API-Operationen aufrufen. Auf diese Weise wird sichergestellt, dass die temporären Sicherheitsanmeldeinformationen, die sich aus dem API-Aufruf ergeben, nur von Benutzern verwendet werden, die mit einem MFA-Gerät authentifiziert werden. Weitere Informationen finden Sie unter [Sicherer API-Zugriff mit MFA](id_credentials_mfa_configure-api-require.md). 

 ² **Sitzungsrichtlinienunterstützung**. Sitzungsrichtlinien sind Richtlinien, die Sie als Parameter übergeben, wenn Sie programmgesteuert eine temporäre Sitzung für eine Rolle oder AWS STS eine Verbundbenutzersitzung erstellen. Diese Richtlinie beschränkt die Berechtigungen der identitätsbasierten Richtlinie der Rolle oder des Benutzers, die bzw. der der Sitzung zugeordnet ist. Die resultierenden Sitzungsberechtigungen bilden die Schnittmenge der auf der Identität der Entity basierenden Richtlinien und der Sitzungsrichtlinien. Sie können mit Sitzungsrichtlinien nicht mehr Berechtigungen erteilen, als durch die identitätsbasierte Richtlinie der Rolle, die angenommen wird, zulässig sind. Weitere Informationen über Rollensitzungsberechtigungen finden Sie unter [Sitzungsrichtlinien](access_policies.md#policies_session).

³ **Einstellung der maximalen Sitzungsdauer**. Verwenden Sie den `DurationSeconds`-Parameter, um die Dauer Ihrer Rollensitzung von 900 Sekunden (15 Minuten) bis zur maximalen Sitzungsdauer für die Rolle anzugeben. 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).

⁴. **GetCallerIdentity** Für diese Operation sind keine Berechtigungen erforderlich. Wenn ein Administrator Ihrem IAM-Benutzer oder Ihrer IAM-Rolle eine Richtlinie hinzufügt, die den Zugriff auf die `sts:GetCallerIdentity`-Aktion explizit verweigert, können Sie diese Operation trotzdem ausführen. Berechtigungen sind nicht erforderlich, da dieselben Informationen zurückgegeben werden, wenn einem IAM-Benutzer oder einer -Rolle der Zugriff verweigert wird. Eine Beispielantwort finden Sie unter [Ich bin nicht berechtigt, Folgendes aufzuführen: iam: DeleteVirtual MFADevice](troubleshoot.md#troubleshoot_general_access-denied-delete-mfa).

⁵ **Single Sign-On (SSO) an der Konsole**. Um SSO zu unterstützen, AWS können Sie einen Verbundendpunkt (`https://signin.aws.amazon.com/federation`) aufrufen und temporäre Sicherheitsanmeldedaten übergeben. Der Endpunkt gibt ein Token zurück, das Sie verwenden können, um eine URL zu erstellen, die einen Benutzer direkt an der Konsole anmeldet, ohne dass ein Passwort erforderlich ist. Weitere Informationen finden Sie unter [Aktivieren des Zugriffs von SAML 2.0-Verbundprinzipalen auf AWS-Managementkonsole](id_roles_providers_enable-console-saml.md) und [So aktivieren Sie den kontoübergreifenden Zugriff auf die AWS Managementkonsole](https://aws.amazon.com/blogs/security/how-to-enable-cross-account-access-to-the-aws-management-console) im AWS Sicherheitsblog. 

⁶ Nach dem Abrufen der temporären Anmeldedaten können Sie nicht auf die AWS-Managementkonsole zugreifen, indem Sie die Anmeldedaten an den Single-Sign-On-Verbund-Endpunkt übergeben. Weitere Informationen finden Sie unter [Benutzerdefinierten Identity Broker-Zugriff auf die AWS Konsole aktivieren](id_roles_providers_enable-console-custom-url.md).

# Service-Inhaber-Token
<a name="id_credentials_bearer"></a>

Für einige AWS Dienste benötigen Sie die Erlaubnis, ein AWS STS Service-Bearer-Token abzurufen, bevor Sie programmgesteuert auf ihre Ressourcen zugreifen können. Diese Services unterstützen ein Protokoll, das die Verwendung eines Inhaber-Tokens anstelle eines herkömmlichen [AWS Signaturversion 4 für API-Anfragen](reference_sigv.md) erfordert. Wenn Sie AWS API-Operationen ausführen AWS CLI , für die Inhaber-Token erforderlich sind, fordert der AWS Service in Ihrem Namen ein Inhaber-Token an. Der Service stellt Ihnen das Token zur Verfügung, mit dem Sie anschließend nachfolgende Vorgänge in diesem Service ausführen können. 

AWS STS Service-Bearer-Token enthalten Informationen aus Ihrer ursprünglichen Prinzipalauthentifizierung, die sich auf Ihre Berechtigungen auswirken könnten. Diese Informationen können Auftraggeber-Tags, Sitzungs-Tags und Sitzungsrichtlinien enthalten. Die Zugriffsschlüssel-ID des Tokens beginnt mit dem Präfix `ABIA`. Auf diese Weise können Sie Vorgänge identifizieren, die mithilfe von Service-Bearertoken in Ihren CloudTrail-Protokollen ausgeführt wurden.

**Wichtig**  
Das Bearertoken kann nur für Aufrufe an den Service verwendet werden, der es generiert hat, und in der Region, in der es generiert wurde. Sie können das Bearertoken nicht verwenden, um Operationen in anderen Services oder Regionen auszuführen.

Ein Beispiel für einen Dienst, der Inhabertoken unterstützt, ist. AWS CodeArtifact Bevor Sie AWS CodeArtifact mit einem Paketmanager wie NPM, Maven oder PIP interagieren können, müssen Sie den Vorgang aufrufen. `aws codeartifact get-authorization-token` Dieser Vorgang gibt ein Bearer-Token zurück, mit dem Sie Operationen ausführen können. AWS CodeArtifact Alternativ können Sie den Befehl `aws codeartifact login` verwenden, der denselben Vorgang ausführt und den Client dann automatisch konfiguriert. 

Wenn Sie eine Aktion in einem AWS Dienst ausführen, der ein Bearer-Token für Sie generiert, müssen Sie in Ihrer IAM-Richtlinie über die folgenden Berechtigungen verfügen:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowServiceBearerToken",
            "Effect": "Allow",
            "Action": "sts:GetServiceBearerToken",
            "Resource": "*"
        }
    ]
}
```

------

Ein Beispiel für Service Bearer-Token finden Sie unter [ Verwenden von identitätsbasierten Richtlinien für AWS CodeArtifact](https://docs.aws.amazon.com/codeartifact/latest/ug/auth-and-access-control-iam-identity-based-access-control.html) im *AWS CodeArtifact*-Benutzerhandbuch.

# Temporäre Sicherheitsanmeldeinformationen anfordern
<a name="id_credentials_temp_request"></a>

Um temporäre Sicherheitsanmeldedaten anzufordern, können Sie AWS -Security-Token-Service (AWS STS) -Operationen in der AWS API verwenden. Dazu gehören Operationen zur Erstellung und Bereitstellung temporärer Sicherheitsanmeldedaten für vertrauenswürdige Benutzer, mit denen der Zugriff auf Ihre AWS Ressourcen gesteuert werden kann. Weitere Informationen zu finden AWS STS Sie unter[Temporäre IAM Sicherheitsanmeldeinformationen](id_credentials_temp.md). Weitere Informationen zu den verschiedenen Methoden, die Sie verwenden können, um temporäre Anmeldeinformationen anzufordern, indem Sie eine Rolle übernehmen, finden Sie unter [Methoden, um eine Rolle zu übernehmen](id_roles_manage-assume.md).

Um die API-Operationen aufzurufen, können Sie einen der folgenden verwenden [AWS SDKs](https://aws.amazon.com/tools/). Sie SDKs sind für eine Vielzahl von Programmiersprachen und Umgebungen verfügbar, darunter Java, .NET, Python, Ruby, Android und iOS. SDKs Sie kümmern sich um Aufgaben wie das kryptografische Signieren Ihrer Anfragen, das Wiederholen von Anfragen, falls erforderlich, und die Behandlung von Fehlerantworten. [Sie können auch die AWS STS Query API verwenden, die in der AWS -Security-Token-Service API-Referenz beschrieben wird.](https://docs.aws.amazon.com/STS/latest/APIReference/) Schließlich unterstützen zwei Befehlszeilentools die AWS STS Befehle: the [AWS Command Line Interface](https://aws.amazon.com/documentation/cli), und the [AWS Tools for Windows PowerShell](https://aws.amazon.com/documentation/powershell). 

Die AWS STS API-Operationen erstellen eine neue Sitzung mit temporären Sicherheitsanmeldeinformationen, die ein Zugriffsschlüsselpaar und ein Sitzungstoken enthalten. Das Zugriffschlüsselpaar besteht aus einer Zugriffsschlüssel-ID und einem geheimen Schlüssel. Benutzer (oder eine Anwendung, die vom Benutzer ausgeführt wird) können diese Anmeldeinformationen verwenden, um auf Ihre Ressourcen zuzugreifen. Sie können eine Rollensitzung erstellen und Sitzungsrichtlinien und Sitzungs-Tags mithilfe von AWS STS API-Vorgängen programmgesteuert übergeben. Die resultierenden Sitzungsberechtigungen sind eine Schnittmenge der Identität des Benutzers oder der auf die Rolle basierenden Richtlinien und der Sitzungssrichtlinien. Weitere Informationen zu Sitzungsrichtlinien finden Sie unter [Sitzungsrichtlinien](access_policies.md#policies_session). Weitere Hinweise zu Sitzungs-Tags finden Sie unter [Sitzungs-Tags übergeben AWS STS](id_session-tags.md).

**Anmerkung**  
Die Größe des Sitzungstokens, das AWS STS API-Operationen zurückgeben, ist nicht festgelegt. Es wird ausdrücklich empfohlen, dass Sie keine Annahmen über die maximale Größe machen. Die typische Tokengröße ist kleiner als 4096 Bytes, diese kann jedoch variieren.

## Verwendung AWS STS mit AWS Regionen
<a name="using_sts_regions"></a>

Sie können AWS STS API-Aufrufe entweder an einen globalen Endpunkt oder an einen der regionalen Endpunkte senden. Wenn Sie einen Endpunkt näher bei Ihnen wählen, können Sie die Latenz verringern und verbessern Sie die Leistung Ihrer API-Aufrufe verbessern. Sie können Ihre Aufrufe auch an einen alternativen regionalen Endpunkt richten, wenn Sie nicht mehr mit dem ursprünglichen Endpunkt kommunizieren können. Wenn Sie eine der verschiedenen Methoden verwenden AWS SDKs, verwenden Sie diese SDK-Methode, um eine Region anzugeben, bevor Sie den API-Aufruf ausführen. Wenn Sie HTTP-API-Anforderungen manuell konstruieren, müssen Sie die Anforderung selbst an den korrekten Endpunkt richten. Weitere Informationen finden Sie im [AWS STS -Abschnitt von *Regionen und Endpunkte*](https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region) und [Verwalte AWS STS in einem AWS-Region](id_credentials_temp_enable-regions.md).

Im Folgenden sind die API-Operationen aufgeführt, mit denen Sie temporäre Anmeldeinformationen für die Verwendung in Ihrer AWS Umgebung und Ihren Anwendungen abrufen können.

## Anfordern von Anmeldeinformationen für die kontounabhängige Delegierung und den Verbund über einen benutzerdefinierten Identity Broker
<a name="api_assumerole"></a>

Der [https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html)API-Vorgang ist nützlich, um bestehenden IAM-Benutzern den Zugriff auf AWS Ressourcen zu ermöglichen, auf die sie noch keinen Zugriff haben. Beispielsweise benötigt der Benutzer möglicherweise Zugriff auf Ressourcen in einem anderen AWS-Konto. Es ist auch nützlich, um vorübergehend privilegierten Zugang zu erhalten – zum Beispiel, um eine Multi-Faktor-Authentifizierung (MFA) zu ermöglichen. Sie müssen diese API mit den vorhandenen Benutzeranmeldeinformationen aufrufen. Um zu erfahren, wer diesen Vorgang aufrufen kann, siehe [AWS STS Referenzen vergleichen](id_credentials_sts-comparison.md). Weitere Informationen erhalten Sie unter [Erstellen einer Rolle zum Erteilen von Berechtigungen an einen IAM-Benutzer](id_roles_create_for-user.md) und [Sicherer API-Zugriff mit MFA](id_credentials_mfa_configure-api-require.md).

**So fordern Sie temporäre Anmeldeinformationen für die kontounabhängige Delegierung und den Verbund über einen benutzerdefinierten Identity Broker an**

1. Authentifizieren Sie sich mit Ihren AWS Sicherheitsanmeldedaten. Dieser Aufruf muss unter Verwendung von gültigen AWS -Sicherheitsanmeldeinformationen gemacht werden.

1. Rufen Sie den Vorgang [https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html) auf.

Im folgenden Beispiel wird eine Beispielanforderung und -antwort mit `AssumeRole` gezeigt. In dieser Beispielanforderung wird die `demo`-Rolle für die angegebene Dauer mit der enthaltenen [Sitzungsrichtlinie](access_policies.md#policies_session), den [Sitzungs-Tags](id_session-tags.md) und der [externen ID](id_roles_common-scenarios_third-party.md) und [Quellidentität](id_credentials_temp_control-access_monitor.md) übernommen. Die resultierende Sitzung wird als `John-session` bezeichnet. 

**Example Beispielanforderung**  

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=AssumeRole
&RoleSessionName=John-session
&RoleArn=arn:aws::iam::123456789012:role/demo
&Policy=%7B%22Version%22%3A%222012-10-17		 	 	 %22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%20%22Stmt1%22%2C%22Effect%22%3A%20%22Allow%22%2C%22Action%22%3A%20%22s3%3A*%22%2C%22Resource%22%3A%20%22*%22%7D%5D%7D
&DurationSeconds=1800
&Tags.member.1.Key=Project
&Tags.member.1.Value=Pegasus
&Tags.member.2.Key=Cost-Center
&Tags.member.2.Value=12345
&ExternalId=123ABC
&SourceIdentity=DevUser123
&AUTHPARAMS
```

Der im vorherigen Beispiel gezeigte Richtlinienwert ist die URL-codierte Version der folgenden Richtlinie:

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

****  

```
{"Version":"2012-10-17",		 	 	 "Statement":[{"Sid":"Stmt1","Effect":"Allow","Action":"s3:*","Resource":"*"}]}
```

------

Der `AUTHPARAMS`-Parameter in diesem Beispiel ist ein Platzhalter für Ihre *Signatur*. Eine Signatur ist die Authentifizierungsinformation, die Sie AWS HTTP-API-Anfragen beifügen müssen. Wir empfehlen die Verwendung von, [AWS SDKs](https://aws.amazon.com/tools/)um API-Anfragen zu erstellen. Ein Vorteil dabei ist, dass sie die SDKs Anforderungssignierung für Sie übernimmt. Wenn Sie API-Anfragen manuell erstellen und signieren müssen, erfahren Sie unter [Signieren von AWS Anfragen mithilfe von Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) in der *Allgemeine Amazon Web Services-Referenz*, wie Sie eine Anfrage signieren.

Zusätzlich zu den temporären Sicherheitsanmeldeinformationen, enthält die Antwort den Amazon-Ressourcennamen (ARN) für den Verbundbenutzer und die Ablaufzeit der Anmeldeinformationen.

**Example Beispielantwort**  

```
<AssumeRoleResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<AssumeRoleResult>
<SourceIdentity>DevUser123</SourceIdentity>
<Credentials>
  <SessionToken>
   AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQW
   LWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd
   QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU
   9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz
   +scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
  </SessionToken>
  <SecretAccessKey>
   wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY
  </SecretAccessKey>
  <Expiration>2019-07-15T23:28:33.359Z</Expiration>
  <AccessKeyId>AKIAIOSFODNN7EXAMPLE</AccessKeyId>
</Credentials>
<AssumedRoleUser>
  <Arn>arn:aws:sts::123456789012:assumed-role/demo/John</Arn>
  <AssumedRoleId>ARO123EXAMPLE123:John</AssumedRoleId>
</AssumedRoleUser>
<PackedPolicySize>8</PackedPolicySize>
</AssumeRoleResult>
<ResponseMetadata>
<RequestId>c6104cbe-af31-11e0-8154-cbc7ccf896c7</RequestId>
</ResponseMetadata>
</AssumeRoleResponse>
```

**Anmerkung**  
Bei einer AWS Konvertierung werden die übergebenen Sitzungsrichtlinien und Sitzungs-Tags in ein gepacktes Binärformat komprimiert, für das ein separates Limit gilt. Ihre Anforderung kann für diese Begrenzung fehlschlagen, selbst wenn Ihr Nur-Text-Inhalt die übrigen Anforderungen erfüllt. Das `PackedPolicySize`-Antwortelement gibt in Prozent an, wie nah die Richtlinien und Tags für Ihre Anforderung an der oberen Größengrenze liegen.

## Anmeldeinformationen über einen OIDC-Anbieter anfordern
<a name="api_assumerolewithwebidentity"></a>

Die [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)-API-Operation gibt einen Satz temporärer AWS -Sicherheits-Anmeldeinformationen im Austausch gegen ein JSON Web Token (JWT) zurück. Dazu gehören öffentliche Identitätsanbieter wie Login with Amazon, Facebook, Google und Anbieter, deren Probleme JWTs mit OpenID Connect (OIDC) Discovery kompatibel sind, wie GitHub Actions oder Azure DevOps. Weitere Informationen finden Sie unter [OIDC-Verbund](id_roles_providers_oidc.md).

**Anmerkung**  
`AssumeRoleWithWebIdentity`-Anfragen sind nicht signiert und erfordern keine AWS -Anmeldeinformationen.

**Anmeldeinformationen über einen OIDC-Anbieter anfordern**

1. Rufen Sie den Vorgang [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) auf.

   Wenn Sie anrufen`AssumeRoleWithWebIdentity`, AWS validiert das vorgelegte Token, indem es die digitale Signatur anhand von öffentlichen Schlüsseln überprüft, die über das JSON-Web-Keyset (JWKS) Ihres IdP zur Verfügung gestellt werden. Wenn das Token gültig ist und alle in der IAM-Rollenvertrauensrichtlinie festgelegten Bedingungen erfüllt sind, AWS werden Ihnen die folgenden Informationen zurückgegeben:
   + Einen Satz temporärer Sicherheitsanmeldeinformationen. Diese bestehen aus einer Zugriffsschlüssel-ID, einem geheimen Zugriffsschlüssel und einem Sitzungs-Token.
   + Die Rollen-ID und den ARN der übernommenen Rolle.
   + Ein `SubjectFromWebIdentityToken`-Wert mit der eindeutigen Benutzer-ID.

1. Ihre Anwendung kann dann die temporären Sicherheitsanmeldedaten, die in der Antwort zurückgegeben wurden, für AWS API-Aufrufe verwenden. Dies ist derselbe Vorgang wie bei einem AWS API-Aufruf mit langfristigen Sicherheitsanmeldedaten. Der Unterschied besteht darin, dass Sie das Sitzungstoken angeben müssen, mit dem AWS überprüft werden kann, ob die temporären Sicherheitsanmeldedaten gültig sind.

Ihre Anwendung sollte die von zurückgegebenen Anmeldeinformationen zwischenspeichern AWS STS und bei Bedarf aktualisieren. Wenn Ihre Anwendung mit einem SDK erstellt wurde, verfügt das AWS SDK über Anmeldeinformationsanbieter, die das Aufrufen `AssumeRoleWithWebIdentity` und Aktualisieren von AWS Anmeldeinformationen übernehmen können, bevor sie ablaufen. Weitere Informationen finden Sie unter [AWS SDKs Tools standardisierte Credential Providers](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) im *AWS SDKs Tools-Referenzhandbuch*.

## Anfordern von Anmeldeinformationen über einen SAML 2.0-Identitätsanbieter
<a name="api_assumerolewithsaml"></a>

Der [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html)-API-Vorgang gibt einen Satz an temporären Sicherheitsanmeldeinformationen für SAML-Verbundprinzipale zurück, die über das bestehende Identitätssystem Ihrer Organisation authentifiziert werden. Die Benutzer müssen auch [SAML](https://www.oasis-open.org/standards#samlv2.0) 2.0 (Security Assertion Markup Language) verwenden, um Authentifizierungs- und Autorisierungsinformationen an AWS zu übergeben. Diese API-Operation ist hilfreich für Organisationen, die ihre Identitätssysteme (z. B. Windows Active Directory oder OpenLDAP) in Software integriert haben, die SAML-Assertionen produzieren können. Eine solche Integration bietet Informationen über Benutzeridentität und Berechtigungen (wie Active Directory Federation Services oder Shibboleth). Weitere Informationen finden Sie unter [SAML 2.0-Föderation](id_roles_providers_saml.md).

1. Rufen Sie den Vorgang [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) auf.

   Dies ist ein unsignierter Anruf, was bedeutet, dass Sie keine AWS Sicherheitsanmeldedaten authentifizieren müssen, bevor Sie die Anfrage stellen.
**Anmerkung**  
Ein Aufruf an `AssumeRoleWithSAML` ist nicht signiert (verschlüsselt). Daher sollten Sie diese optionale Sitzungsrichtlinie nur einschließen, wenn die Anforderung über einen vertrauenswürdigen Vermittler übertragen wird. In diesem Fall könnte jemand die Richtlinie ändern, um die Beschränkungen zu entfernen.

1. Wenn Sie anrufen`AssumeRoleWithSAML`, AWS wird die Echtheit der SAML-Assertion überprüft. Unter der Annahme, dass der Identitätsanbieter die Assertion validiert, werden Ihnen die folgenden AWS Informationen zurückgegeben:
   + Einen Satz temporärer Sicherheitsanmeldeinformationen. Diese bestehen aus einer Zugriffsschlüssel-ID, einem geheimen Zugriffsschlüssel und einem Sitzungs-Token. 
   + Die Rollen-ID und den ARN der übernommenen Rolle. 
   + Einen `Audience`-Wert, der den Wert des `Recipient`-Attributs des `SubjectConfirmationData`-Elements der SAML-Zusicherung enthält.
   + Einen `Issuer`-Wert, der den Wert des `Issuer`-Elements der SAML-Zusicherung enthält.
   + Ein `NameQualifier` Element, das einen Hashwert enthält, der aus dem `Issuer` Wert, der AWS-Konto ID und dem Anzeigenamen des SAML-Anbieters besteht. In Kombination mit dem `Subject`-Element können sie den SAML-Verbundprinzipal eindeutig identifizieren.
   + Ein `Subject`-Element, das den Wert des `NameID`-Elements im `Subject`-Element der SAML-Zusicherung enthält.
   + Ein `SubjectType`-Element, das das Format des `Subject`-Elements angibt. Der Wert kann `persistent`, `transient`oder die vollständige `Format`-URI aus den `Subject`- und `NameID`-Elementen sein, die in Ihrer SAML-Zusicherung verwendet wurden. Weitere Informationen zum `NameID`-Attribut des `Format`-Elements finden Sie unter [Konfigurieren von SAML-Assertionen für die Authentifizierungsreaktion](id_roles_providers_create_saml_assertions.md). 

1. Verwenden Sie die temporären Sicherheitsanmeldedaten, die in der Antwort zurückgegeben wurden, um AWS API-Aufrufe zu tätigen. Dies ist derselbe Vorgang wie bei einem AWS API-Aufruf mit langfristigen Sicherheitsanmeldedaten. Der Unterschied besteht darin, dass Sie das Sitzungstoken einschließen müssen, mit dem AWS überprüfen kann, dass die temporären Sicherheitsanmeldeinformationen gültig sind.

Ihre App sollte die Anmeldeinformationen zwischenspeichern. Standardmäßig laufen die Anmeldeinformationen nach einer Stunde ab. Wenn Sie die [Amazon STSCredentials Provider-Aktion](https://aws.amazon.com/blogs/mobile/using-the-amazoncredentialsprovider-protocol-in-the-aws-sdk-for-ios) im AWS SDK nicht verwenden, liegt es an Ihnen und Ihrer App, `AssumeRoleWithSAML` erneut anzurufen. Rufen Sie diese Operation auf, um einen neuen Satz an temporären Sicherheitsanmeldeinformationen zu erhalten, bevor die alten ablaufen.

## Anfordern von Anmeldeinformationen über einen benutzerdefinierten Identity Broker
<a name="api_getfederationtoken"></a>

Der [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)API-Vorgang gibt einen Satz temporärer Sicherheitsanmeldeinformationen für AWS STS föderierte Benutzerprinzipale zurück. Diese API unterscheidet sich von `AssumeRole` dahingehend, dass der Standard-Ablaufzeitraum wesentlich länger ist (zwölf Stunden anstelle von einer Stunde). Außerdem können Sie den `DurationSeconds`- Parameter verwenden, um eine Dauer anzugeben, in der die temporären Sicherheitsanmeldeinformationen gültig bleiben. Die ausgegebenen Anmeldeinformationen sind für die angegebene Dauer zwischen 900 Sekunden (15 Minuten) und 129 600 Sekunden (36 Stunden) gültig. Der längere Ablaufzeitraum kann dazu beitragen, die Anzahl der Aufrufe zu reduzieren AWS , da Sie nicht so oft neue Anmeldeinformationen abrufen müssen.

1. Authentifizieren Sie sich mit den AWS Sicherheitsanmeldedaten Ihres spezifischen IAM-Benutzers. Dieser Anruf muss mit gültigen AWS Sicherheitsanmeldedaten erfolgen.

1. Rufen Sie den Vorgang [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) auf.

Der `GetFederationToken`-Aufruf gibt temporäre Sicherheitsanmeldeinformationen zurück, die aus dem Sitzungstoken, dem Zugriffsschlüssel, dem geheimen Schlüssel und dem Ablaufdatum bestehen. Sie können `GetFederationToken` verwenden, wenn Sie Berechtigungen in Ihrer Organisation verwalten möchten (z. B. mithilfe der Proxy-Anwendung für die Zuweisung von Berechtigungen).

Im folgenden Beispiel wird eine Beispielanforderung und -antwort mit `GetFederationToken` gezeigt. In dieser Beispielanforderung wird der aufrufende Benutzer für die angegebene Dauer mit dem ARN der [Sitzungsrichtlinie](access_policies.md#policies_session) und den [Sitzungs-Tags](id_session-tags.md)verbunden. Die resultierende Sitzung wird als `Jane-session` bezeichnet.

**Example Beispielanforderung**  

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=GetFederationToken
&Name=Jane-session
&PolicyArns.member.1.arn==arn%3Aaws%3Aiam%3A%3A123456789012%3Apolicy%2FRole1policy
&DurationSeconds=1800
&Tags.member.1.Key=Project
&Tags.member.1.Value=Pegasus
&Tags.member.2.Key=Cost-Center
&Tags.member.2.Value=12345
&AUTHPARAMS
```

Der Richtlinien-ARN im vorherigen Beispiel enthält den folgenden URL-kodierten ARN: 

`arn:aws:iam::123456789012:policy/Role1policy`

Beachten Sie außerdem, dass der `&AUTHPARAMS`-Parameter im Beispiel als Platzhalter für die Authentifizierungsinformationen gedacht ist. Dies ist die *Signatur*, die Sie den AWS HTTP-API-Anfragen beifügen müssen. Wir empfehlen die Verwendung von, [AWS SDKs](https://aws.amazon.com/tools/)um API-Anfragen zu erstellen. Ein Vorteil dabei ist, dass sie die SDKs Anforderungssignierung für Sie übernimmt. Wenn Sie API-Anfragen manuell erstellen und signieren müssen, erfahren Sie unter [Signieren von AWS Anfragen mithilfe von Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) in der *Allgemeine Amazon Web Services-Referenz*, wie Sie eine Anfrage signieren.

Zusätzlich zu den temporären Sicherheitsanmeldeinformationen, enthält die Antwort den Amazon-Ressourcennamen (ARN) für den Verbundbenutzer und die Ablaufzeit der Anmeldeinformationen.

**Example Beispielantwort**  

```
<GetFederationTokenResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<GetFederationTokenResult>
<Credentials>
  <SessionToken>
   AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQW
   LWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd
   QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU
   9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz
   +scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCEXAMPLE==
  </SessionToken>
  <SecretAccessKey>
  wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY
  </SecretAccessKey>
  <Expiration>2019-04-15T23:28:33.359Z</Expiration>
  <AccessKeyId>AKIAIOSFODNN7EXAMPLE;</AccessKeyId>
</Credentials>
<FederatedUser>
  <Arn>arn:aws:sts::123456789012:federated-user/Jean</Arn>
  <FederatedUserId>123456789012:Jean</FederatedUserId>
</FederatedUser>
<PackedPolicySize>4</PackedPolicySize>
</GetFederationTokenResult>
<ResponseMetadata>
<RequestId>c6104cbe-af31-11e0-8154-cbc7ccf896c7</RequestId>
</ResponseMetadata>
</GetFederationTokenResponse>
```

**Anmerkung**  
Bei einer AWS Konvertierung werden die übergebenen Sitzungsrichtlinien und Sitzungs-Tags in ein gepacktes Binärformat komprimiert, für das ein separates Limit gilt. Ihre Anforderung kann für diese Begrenzung fehlschlagen, selbst wenn Ihr Nur-Text-Inhalt die übrigen Anforderungen erfüllt. Das `PackedPolicySize`-Antwortelement gibt in Prozent an, wie nah die Richtlinien und Tags für Ihre Anforderung an der oberen Größengrenze liegen.

AWS empfiehlt, dass Sie Berechtigungen auf Ressourcenebene gewähren (wenn Sie beispielsweise eine ressourcenbasierte Richtlinie an einen Amazon S3 S3-Bucket anhängen). Sie können den Parameter weglassen. `Policy` Wenn Sie jedoch keine Richtlinie für den AWS STS Verbundbenutzerprinzipal angeben, gewähren die temporären Sicherheitsanmeldedaten keine Berechtigungen. In diesem Fall *müssen* Sie Ressourcenrichtlinien verwenden, um dem Verbundbenutzer Zugriff auf Ihre AWS -Ressourcen zu gewähren.

Nehmen wir zum Beispiel an, Ihre AWS-Konto Nummer ist 111122223333 und Sie haben einen Amazon S3 S3-Bucket, auf den Sie Susan Zugriff gewähren möchten. Susans temporäre Sicherheitsanmeldeinformationen enthalten keine Richtlinie für den Bucket. In diesem Fall müssen Sie sicherstellen, dass der Bucket eine Richtlinie mit einem ARN hat, der mit Susans ARN übereinstimmt, z. B. `arn:aws:sts::111122223333:federated-user/Susan`. 

## Anfordern von Anmeldeinformationen für Benutzer in nicht vertrauenswürdigen Umgebungen
<a name="api_getsessiontoken"></a>

Der [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html)-API-Vorgang gibt einen Satz an temporären Sicherheitsanmeldeinformationen an einen vorhandenen IAM-Benutzer zurück. Dies ist nützlich, um mehr Sicherheit zu bieten, z. B. AWS Anfragen nur zuzulassen, wenn MFA für den IAM-Benutzer aktiviert ist. Da die Anmeldedaten temporär sind, bieten sie erweiterte Sicherheit, wenn ein IAM-Benutzer über eine weniger sichere Umgebung auf Ihre Ressourcen zugreift. Beispiele für weniger sicheren Umgebungen sind ein mobiles Gerät oder ein Webbrowser.

1. Authentifizieren Sie sich mit den AWS Sicherheitsanmeldedaten Ihres spezifischen IAM-Benutzers. Dieser Anruf muss mit gültigen AWS Sicherheitsanmeldedaten erfolgen.

1. Rufen Sie den Vorgang [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) auf.

1. `GetSessionToken` gibt temporäre Sicherheitsanmeldeinformationen bestehend aus einem Sitzungstoken, einer Zugriffsschlüssel-ID und einem geheimen Zugriffsschlüssel zurück.

Standardmäßig sind temporäre Sicherheitsanmeldeinformationen für einen IAM-Benutzer für maximal zwölf Stunden gültig. Sie können jedoch mit dem `DurationSeconds`-Parameter die Dauer beliebig zwischen 15 Minuten und 36 Stunden festlegen. Aus Sicherheitsgründen Root-Benutzer des AWS-Kontos ist ein Token für einen auf eine Dauer von einer Stunde beschränkt.

Im folgenden Beispiel wird eine Beispielanforderung und -antwort mit `GetSessionToken` gezeigt. Die Antwort umfasst auch die Ablaufzeit der temporären Sicherheitsanmeldeinformationen. 

**Example Beispielanforderung**  

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=GetSessionToken
&DurationSeconds=1800
&AUTHPARAMS
```

Der `AUTHPARAMS`-Parameter in diesem Beispiel ist ein Platzhalter für Ihre *Signatur*. Eine Signatur ist die Authentifizierungsinformation, die Sie AWS HTTP-API-Anfragen beifügen müssen. Wir empfehlen die Verwendung von, [AWS SDKs](https://aws.amazon.com/tools/)um API-Anfragen zu erstellen. Ein Vorteil dabei ist, dass sie die SDKs Anforderungssignierung für Sie übernimmt. Wenn Sie API-Anfragen manuell erstellen und signieren müssen, erfahren Sie unter [Signieren von AWS Anfragen mithilfe von Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) in der *Allgemeine Amazon Web Services-Referenz*, wie Sie eine Anfrage signieren.

**Example Beispielantwort**  

```
<GetSessionTokenResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
<GetSessionTokenResult>
<Credentials>
  <SessionToken>
   AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L
   To6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3z
   rkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtp
   Z3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE
  </SessionToken>
  <SecretAccessKey>
  wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY
  </SecretAccessKey>
  <Expiration>2011-07-11T19:55:29.611Z</Expiration>
  <AccessKeyId>AKIAIOSFODNN7EXAMPLE</AccessKeyId>
</Credentials>
</GetSessionTokenResult>
<ResponseMetadata>
<RequestId>58c5dbae-abef-11e0-8cfe-09039844ac7d</RequestId>
</ResponseMetadata>
</GetSessionTokenResponse>
```

Optional kann die `GetSessionToken` Anfrage `TokenCode` Werte für die Überprüfung der AWS Multi-Faktor-Authentifizierung (MFA) enthalten`SerialNumber`. Wenn die angegebenen Werte gültig sind, werden temporäre Sicherheitsanmeldeinformationen AWS STS bereitgestellt, die den Status der MFA-Authentifizierung enthalten. Die temporären Sicherheitsanmeldedaten können dann für den Zugriff auf die MFA-geschützten API-Operationen oder AWS Websites verwendet werden, solange die MFA-Authentifizierung gültig ist. 

Das folgende Beispiel zeigt eine `GetSessionToken`-Anforderung, die einen MFA-Verifizierungscode und die Seriennummer des Geräts enthält. 

```
https://sts.amazonaws.com/
?Version=2011-06-15
&Action=GetSessionToken
&DurationSeconds=7200
&SerialNumber=YourMFADeviceSerialNumber
&TokenCode=123456
&AUTHPARAMS
```

**Anmerkung**  
Der Anruf an AWS STS kann an den globalen Endpunkt oder an einen der regionalen Endpunkte erfolgen, den Sie aktivieren. AWS-Konto Weitere Informationen finden Sie im [AWS STS -Abschnitt von *Regionen und Endpunkte*](https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region).  
Der `AUTHPARAMS`-Parameter in diesem Beispiel ist ein Platzhalter für Ihre *Signatur*. Eine Signatur ist die Authentifizierungsinformation, die Sie AWS HTTP-API-Anfragen beifügen müssen. Wir empfehlen die Verwendung von, [AWS SDKs](https://aws.amazon.com/tools/)um API-Anfragen zu erstellen. Ein Vorteil dabei ist, dass sie die SDKs Anforderungssignierung für Sie übernimmt. Wenn Sie API-Anfragen manuell erstellen und signieren müssen, erfahren Sie unter [Signieren von AWS Anfragen mithilfe von Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html) in der *Allgemeine Amazon Web Services-Referenz*, wie Sie eine Anfrage signieren.

# Verwenden Sie temporäre Anmeldeinformationen mit AWS Ressourcen
<a name="id_credentials_temp_use-resources"></a>

Sie können temporäre Sicherheitsanmeldedaten verwenden, um programmatische Anfragen nach AWS Ressourcen mithilfe der AWS CLI oder AWS -API (mithilfe der) zu stellen. [AWS SDKs](https://aws.amazon.com/tools/) Die temporären Anmeldeinformationen bieten die gleichen Berechtigungen wie langfristige Sicherheitsanmeldeinformationen, z. B. IAM-Benutzer-Anmeldeinformationen. Es gibt jedoch einige Unterschiede:
+ Wenn Sie einen Anruf mit temporären Sicherheitsanmeldeinformationen tätigen, muss der Aufruf ein Sitzungstoken enthalten, das zusammen mit diesen temporären Anmeldeinformationen zurückgegeben wird. AWS verwendet das Sitzungstoken, um die temporären Sicherheitsanmeldedaten zu validieren. 
+ Die temporären Anmeldeinformationen laufen nach einem bestimmten Intervall ab. Nach Ablauf der temporären Anmeldeinformationen schlagen alle Aufrufe, die Sie mit diesen Anmeldeinformationen tätigen, fehl, so dass Sie einen neuen Satz temporärer Anmeldeinformationen generieren müssen. Temporäre Anmeldeinformationen können nicht über das ursprünglich angegebene Intervall hinaus erweitert oder aktualisiert werden.
+ Wenn Sie zur Erstellung einer Anforderung temporäre Anmeldeinformationen verwenden, enthält Ihr Auftraggeber möglicherweise eine Reihe von Tags. Diese Tags stammen von Sitzungs-Tags und Tags, die der von Ihnen angenommenen Rolle angefügt sind. Weitere Hinweise zu Sitzungs-Tags finden Sie unter [Sitzungs-Tags übergeben AWS STS](id_session-tags.md).

Wenn Sie die Tools [AWS SDKs](https://aws.amazon.com/tools), die [AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/)(AWS CLI) oder die [Tools für Windows](https://aws.amazon.com/powershell) verwenden, unterscheidet sich die Art und Weise PowerShell, wie temporäre Sicherheitsanmeldeinformationen abgerufen und verwendet werden, je nach Kontext. Wenn Sie Code- oder Tools for PowerShell Windows-Befehle innerhalb einer EC2-Instance ausführen, können Sie Rollen für Amazon EC2 nutzen. AWS CLI Andernfalls können Sie eine [AWS STS -API](https://docs.aws.amazon.com/STS/latest/APIReference/) aufrufen, um die temporären Anmeldeinformationen abzurufen, und sie dann explizit verwenden, um Aufrufe an AWS -Services auszuführen.

**Anmerkung**  
Sie können AWS -Security-Token-Service (AWS STS) verwenden, um vertrauenswürdige Benutzer zu erstellen und ihnen temporäre Sicherheitsanmeldedaten zur Verfügung zu stellen, mit denen der Zugriff auf Ihre AWS Ressourcen gesteuert werden kann. Weitere Informationen zu finden AWS STS Sie unter[Temporäre IAM Sicherheitsanmeldeinformationen](id_credentials_temp.md). AWS STS ist ein globaler Dienst mit einem Standardendpunkt bei`https://sts.amazonaws.com`. Dieser Endpunkt befindet sich zwar in der Region USA Ost (Nord-Virginia), die Anmeldedaten, die Sie von diesem und anderen Endpunkten erhalten, sind jedoch weltweit gültig. Diese Anmeldeinformationen funktionieren mit Services und Ressourcen in jeder Region. Sie können sich auch dafür entscheiden, AWS STS API-Aufrufe an Endpunkte in einer der unterstützten Regionen zu tätigen. Dies kann die Latenz verringern, indem die Anforderungen an Server in einer Region in Ihrer Nähe gesendet werden. Ihre Anmeldeinformationen sind unabhängig von der Region, in der sie generiert werden, weltweit gültig. Weitere Informationen finden Sie unter [Verwalte AWS STS in einem AWS-Region](id_credentials_temp_enable-regions.md).

**Contents**
+ [

## Verwenden von temporären Anmeldeinformationen in Amazon EC2-Instances
](#using-temp-creds-sdk-ec2-instances)
+ [

## Verwenden temporärer Sicherheitsanmeldedaten mit dem AWS SDKs
](#using-temp-creds-sdk)
+ [

## Verwenden Sie temporäre Sicherheitsanmeldedaten mit AWS CLI
](#using-temp-creds-sdk-cli)
+ [

## Verwenden von temporären Sicherheitsanmeldeinformationen mit API-Operationen
](#RequestWithSTS)
+ [

## Weitere Informationen
](#using-temp-creds-more-info)

## Verwenden von temporären Anmeldeinformationen in Amazon EC2-Instances
<a name="using-temp-creds-sdk-ec2-instances"></a>

Wenn Sie AWS CLI Befehle oder Code innerhalb einer EC2-Instance ausführen möchten, empfiehlt es sich, [Rollen für Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) zu verwenden, um Anmeldeinformationen abzurufen. Sie erstellen eine IAM-Rolle, die die Berechtigungen angibt, die Sie Anwendungen zuweisen möchten, die auf EC2-Instances ausgeführt werden. Wenn Sie die Instance starten, weisen Sie die Rolle der Instance zu.

Anwendungen und Tools for PowerShell Windows-Befehle AWS CLI, die auf der Instance ausgeführt werden, können dann automatische temporäre Sicherheitsanmeldedaten aus den Instance-Metadaten abrufen. Sie müssen die temporären Anmeldeinformationen nicht explizit abrufen. Die AWS SDKs Befehle AWS CLI, und Tools für Windows rufen die Anmeldeinformationen PowerShell automatisch vom EC2 Instance Metadata Service (IMDS) ab und verwenden sie. Die temporären Anmeldeinformationen verfügen über die Berechtigungen, die Sie für die Rolle definieren, die mit der Instance verknüpft ist.

Weitere Informationen und Beispiele finden Sie in den folgenden Themen:
+  [Verwenden von IAM-Rollen, um Zugriff auf AWS Ressourcen in Amazon Elastic Compute Cloud zu gewähren](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/java-dg-roles.html) — AWS SDK für Java
+  [Zugriff mithilfe einer IAM-Rolle gewähren](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-hosm.html) — AWS SDK für .NET 
+  [Erstellen einer IAM-Rolle](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/iam-example-create-role.html) - AWS SDK für Ruby

## Verwenden temporärer Sicherheitsanmeldedaten mit dem AWS SDKs
<a name="using-temp-creds-sdk"></a>

Um temporäre Sicherheitsanmeldedaten im Code zu verwenden, rufen Sie programmgesteuert eine AWS STS API auf `AssumeRole` und extrahieren die resultierenden Anmeldeinformationen und das Sitzungstoken. Anschließend verwenden Sie diese Werte als Anmeldeinformationen für nachfolgende Aufrufe von. AWS Das folgende Beispiel zeigt Pseudocode für die Verwendung temporärer Sicherheitsanmeldedaten, wenn Sie ein AWS SDK verwenden:

```
assumeRoleResult = AssumeRole(role-arn);
tempCredentials = new SessionAWSCredentials(
   assumeRoleResult.AccessKeyId, 
   assumeRoleResult.SecretAccessKey, 
   assumeRoleResult.SessionToken);
s3Request = CreateAmazonS3Client(tempCredentials);
```

Ein Beispiel, das in Python geschrieben wurde (mit der[AWS SDK für Python (Boto)](https://aws.amazon.com/sdk-for-python/)), finden Sie unter [Zu einer IAM-Rolle (AWS API) wechseln](id_roles_use_switch-role-api.md). In diesem Beispiel wird veranschaulicht, wie Sie mit `AssumeRole` temporäre Anmeldeinformationen abrufen und dann diese Anmeldeinformationen verwenden, um einen Aufruf von Amazon S3 durchzuführen.

Einzelheiten über den Aufruf von `AssumeRole`, `GetFederationToken` und anderen API-Vorgängen finden Sie in der [AWS -Security-Token-Service -API-Referenz](https://docs.aws.amazon.com/STS/latest/APIReference/). Informationen dazu, wie die temporären Sicherheitsanmeldeinformationen und das Sitzungstoken aus dem Ergebnis abgerufen werden, finden Sie in der Dokumentation für das SDK, mit dem Sie arbeiten. Sie finden die Dokumentation für alle AWS SDKs auf der [AWS Hauptdokumentationsseite](https://aws.amazon.com/documentation) im Abschnitt **SDKs und Toolkits**.

Sie müssen sicherstellen, dass Sie neue Anmeldeinformationen erhalten, bevor die alten ablaufen. In einigen Fällen können Sie einen Anbieter verwenden SDKs, der den Prozess der Aktualisierung der Anmeldeinformationen für Sie verwaltet. Schauen Sie in der Dokumentation für das von Ihnen verwendete SDK nach. 

## Verwenden Sie temporäre Sicherheitsanmeldedaten mit AWS CLI
<a name="using-temp-creds-sdk-cli"></a>

Sie können temporäre Sicherheitsanmeldeinformationen mit der AWS CLI verwenden. Dies kann nützlich für das Testen von Richtlinien sein. 

Unter Verwendung der [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/) können Sie eine [AWS STS -API](https://docs.aws.amazon.com/STS/latest/APIReference/) wie `AssumeRole` oder `GetFederationToken` aufrufen und dann die resultierende Ausgabe erfassen. Das folgende Beispiel zeigt einen Aufruf an `AssumeRole`, durch den die Ausgabe an eine Datei gesendet wird. In dem Beispiel wird davon ausgegangen, dass es sich bei dem `profile` Parameter um ein Profil in der AWS CLI Konfigurationsdatei handelt. Es wird auch davon ausgegangen, dass Anmeldeinformationen für einen IAM-Benutzer referenziert werden, der über Berechtigungen verfügt, um die Rolle zu übernehmen.

```
aws sts assume-role --role-arn arn:aws:iam::123456789012:role/role-name --role-session-name "RoleSession1" --profile IAM-user-name > assume-role-output.txt
```

Wenn der Befehl abgeschlossen ist, können Sie die Zugriffsschlüssel-ID, den geheimen Zugriffsschlüssel und den Sitzungs-Token unabhängig von deren Routingziel extrahieren. Sie können dies entweder manuell oder mithilfe eines Skripts tun. Anschließend können Sie diese Werte Umgebungsvariablen zuweisen. 

Wenn Sie AWS CLI Befehle ausführen, AWS CLI sucht der in einer bestimmten Reihenfolge nach Anmeldeinformationen — zuerst in den Umgebungsvariablen und dann in der Konfigurationsdatei. Nachdem Sie die temporären Anmeldeinformationen in Umgebungsvariablen eingegeben haben, werden diese Anmeldeinformationen daher standardmäßig AWS CLI verwendet. (Wenn Sie im Befehl einen `profile` Parameter angeben, werden die Umgebungsvariablen AWS CLI übersprungen. Stattdessen wird in AWS CLI der Konfigurationsdatei gesucht, sodass Sie die Anmeldeinformationen in den Umgebungsvariablen bei Bedarf überschreiben können.) 

Das folgende Beispiel zeigt, wie Sie die Umgebungsvariablen für temporäre Sicherheitsanmeldedaten festlegen und dann einen AWS CLI Befehl aufrufen können. Da der AWS CLI Befehl keinen `profile` Parameter enthält, AWS CLI sucht der zuerst in Umgebungsvariablen nach Anmeldeinformationen und verwendet daher die temporären Anmeldeinformationen. 

**Linux**

```
$ export AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of session token>
$ aws ec2 describe-instances --region us-west-1
```

**Windows**

```
C:\> SET AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
C:\> SET AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\> SET AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of token> 
C:\> aws ec2 describe-instances --region us-west-1
```

## Verwenden von temporären Sicherheitsanmeldeinformationen mit API-Operationen
<a name="RequestWithSTS"></a>

Wenn Sie direkte HTTPS-API-Anfragen an stellen AWS, können Sie diese Anfragen mit den temporären Sicherheitsanmeldedaten signieren, die Sie von AWS -Security-Token-Service (AWS STS) erhalten. Dazu verwenden Sie die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel, die Sie von erhalten AWS STS. Verwenden Sie dazu die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel auf dieselbe Weise, wie Sie langfristige Anmeldeinformationen zum Signieren einer Anforderung verwenden würden. Sie fügen Ihrer API-Anfrage auch das Sitzungstoken hinzu, von dem Sie es erhalten AWS STS. Fügen Sie den Sitzungs-Token zu einem HTTP-Header oder zu einem Abfragezeichenfolgeparameter mit dem Namen `X-Amz-Security-Token` hinzu. Fügen Sie den Sitzungs-Token zum HTTP-Header *oder* zum Abfragezeichenfolgeparameter hinzu, jedoch nicht zu beiden. Weitere Informationen zum Signieren von HTTPS-API-Anfragen finden Sie unter [Signieren von AWS API-Anfragen](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) in der *Allgemeine AWS-Referenz*.

## Weitere Informationen
<a name="using-temp-creds-more-info"></a>

Weitere Informationen zur Verwendung AWS STS mit anderen AWS Diensten finden Sie unter den folgenden Links:
+ **Amazon S3**. Siehe [Anforderungen mit temporären IAM-Benutzeranmeldeinformationen stellen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/AuthUsingTempSessionToken.html) oder [Anforderungen mit temporären Benutzeranmeldeinformationen im Verbund stellen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/AuthUsingTempFederationToken.html) im *Benutzerhandbuch für Amazon Simple Storage Service*.
+ **Amazon SNS**. Weitere Informationen finden Sie unter [Verwenden identitätsbasierter Richtlinien mit Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/UsingIAMwithSNS.html#UsingTemporarySecurityCredentials_SNS) im *Entwicklerhandbuch für Amazon Simple Notification Service*.
+ **Amazon SQS**. Weitere Informationen finden Sie unter [Identitäts- und Zugriffsverwaltung in Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/UsingIAM.html#UsingTemporarySecurityCredentials_SQS) im *Entwicklerhandbuch für Amazon Simple Queue Service*.
+ **Amazon SimpleDB**. Siehe [Using Temporary Security Credentials](https://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/index.html?UsingTemporarySecurityCredentials_SDB.html) im *Developer Guide für Amazon SimpleDB*.

# Berechtigungen für temporäre Sicherheits-Anmeldeinformationen
<a name="id_credentials_temp_control-access"></a>

Sie können AWS -Security-Token-Service (AWS STS) verwenden, um vertrauenswürdige Benutzer zu erstellen und ihnen temporäre Sicherheitsanmeldeinformationen zur Verfügung zu stellen, mit denen der Zugriff auf Ihre AWS Ressourcen gesteuert werden kann. Weitere Informationen zu finden AWS STS Sie unter[Temporäre IAM Sicherheitsanmeldeinformationen](id_credentials_temp.md). Nachdem AWS STS temporäre Sicherheitsanmeldeinformationen ausgestellt hat, sind diese bis zum Ablaufzeitpunkt gültig und können nicht aufgehoben werden. Die den temporären Sicherheitsanmeldeinformationen zugewiesenen Berechtigungen werden jedoch bei jeder Anforderung, die über diese Anmeldeinformationen gestellt wird, erneut überprüft. daher können Sie die Gültigkeit von Anmeldeinformationen aufheben, indem Sie die Zugriffsrechte nach dem Ausstellen der Anmeldeinformationen widerrufen. 

Bei den folgenden Themen wird davon ausgegangen, dass Sie über fundierte Kenntnisse im Bereich AWS Berechtigungen und Richtlinien verfügen. Weitere Informationen zu diesen Themen finden Sie unter [Zugriffsmanagement für AWS Ressourcen](access.md). 

**Topics**
+ [

# Berechtigungen für AssumeRole, AssumeRoleWith SAML und AssumeRoleWithWebIdentity
](id_credentials_temp_control-access_assumerole.md)
+ [

# Überwachen und Steuern von Aktionen mit übernommenen Rollen
](id_credentials_temp_control-access_monitor.md)
+ [

# Berechtigungen für GetFederationToken
](id_credentials_temp_control-access_getfederationtoken.md)
+ [

# Berechtigungen für GetSessionToken
](id_credentials_temp_control-access_getsessiontoken.md)
+ [

# Deaktivieren von Berechtigungen für temporäre Sicherheitsanmeldeinformationen
](id_credentials_temp_control-access_disable-perms.md)
+ [

# Erteilen von Berechtigungen zum Erstellen von temporären Sicherheitsanmeldeinformationen
](id_credentials_temp_control-access_enable-create.md)
+ [

# Gewähren von Berechtigungen zur Verwendung von Konsolensitzungen mit verbesserter Identität
](id_credentials_temp_control-access_sts-setcontext.md)

# Berechtigungen für AssumeRole, AssumeRoleWith SAML und AssumeRoleWithWebIdentity
<a name="id_credentials_temp_control-access_assumerole"></a>

Die Berechtigungsrichtlinie der übernommenen Rolle bestimmt die Berechtigungen für die temporären Sicherheitsanmeldeinformationen, die von `AssumeRole`, `AssumeRoleWithSAML` und `AssumeRoleWithWebIdentity` zurückgegeben werden. Sie definieren diese Berechtigungen beim Erstellen oder Aktualisieren der Rolle. 

Optional können Sie eingebundene oder verwaltete [Sitzungsrichtlinien](access_policies.md#policies_session) als Parameter der API-Operationen `AssumeRole`, `AssumeRoleWithSAML` oder `AssumeRoleWithWebIdentity` übergeben. Sitzungsrichtlinien beschränken die Berechtigungen für die temporäre Anmeldedatensitzung der Rolle. Die resultierenden Sitzungsberechtigungen sind eine Schnittmenge der auf der Identität der Rolle basierenden Richtlinien und der Sitzungsrichtlinien. Sie können die temporären Anmeldeinformationen der Rolle in nachfolgenden AWS API-Aufrufen verwenden, um auf Ressourcen in dem Konto zuzugreifen, dem die Rolle gehört. Sie können mit Sitzungsrichtlinien nicht mehr Berechtigungen erteilen, als durch die identitätsbasierte Richtlinie der Rolle, die angenommen wird, zulässig sind. Weitere Informationen darüber, wie AWS die effektiven Berechtigungen einer Rolle bestimmt, finden Sie unter [Auswertungslogik für Richtlinien](reference_policies_evaluation-logic.md).

![\[PermissionsWhenPassingRoles_Diagramm\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/role_passed_policy_permissions.png)


Die Richtlinien, die an die Anmeldeinformationen angehängt sind, die den ursprünglichen Aufruf getätigt haben, `AssumeRole` werden AWS bei der Entscheidung über die Autorisierung „Zulassen“ oder „Verweigern“ nicht berücksichtigt. Der Benutzer verliert vorübergehend seine ursprünglichen Berechtigungen zugunsten der Berechtigungen, die von der angenommenen Rolle zugewiesen sind. Bei den Operationen `AssumeRoleWithSAML` und der `AssumeRoleWithWebIdentity` API gibt es keine zu bewertenden Richtlinien, da es sich bei dem API-Aufrufer nicht um eine AWS Identität handelt.

## Beispiel: Zuweisen von Berechtigungen mit AssumeRole
<a name="permissions-assume-role-example"></a>

Sie können die API-Operation `AssumeRole` mit verschiedenen Arten von Richtlinien verwenden. Nachfolgend sind einige Beispiele aufgeführt.

### Rollenberechtigungsrichtlinie
<a name="permissions-assume-role-example-role-access-policy"></a>

In diesem Beispiel rufen Sie die API-Operation `AssumeRole` auf, ohne die Sitzungsrichtlinie im optionalen Parameter `Policy` anzugeben. Die den temporären Anmeldeinformationen zugewiesenen Berechtigungen werden laut der Berechtigungsrichtlinie der übernommenen Rolle bestimmt. Das folgende Beispiel einer Berechtigungsrichtlinie gewährt der Rolle die Berechtigung, alle Objekte in einem S3-Bucket namens `productionapp` aufzulisten. Außerdem wird der Rolle gestattet, Objekte im Bucket zu platzieren, daraus abzurufen oder zu löschen.

**Example Rollenberechtigungsrichtlinie**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::productionapp"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject"
      ],
      "Resource": "arn:aws:s3:::productionapp/*"
    }
  ]
}
```

### Als Parameter übergebene Sitzungsrichtlinie
<a name="permissions-assume-role-example-passed-policy"></a>

Stellen Sie sich vor, Sie möchten einem Benutzer erlauben, die gleiche Rolle wie im vorherigen Beispiel anzunehmen. Aber in diesem Fall soll die Rollensitzung nur über die Berechtigung zum Abrufen und Speichern von Objekten im S3-Bucket `productionapp` verfügen. Sie wollen nicht zulassen, dass sie Objekte löschen. Eine Möglichkeit, dies zu erreichen, ist das Erstellen einer neuen Rolle und das Angeben der gewünschten Berechtigungen in der Berechtigungsrichtlinie dieser Rolle. Eine weitere Möglichkeit besteht darin, die `AssumeRole`-API aufzurufen und eine Sitzungsrichtlinie in den optionalen `Policy`-Parameter als Teil der API-Operation einzuschließen. Die resultierenden Sitzungsberechtigungen sind eine Schnittmenge der auf der Identität des Benutzers oder der Rolle basierenden Richtlinien und der Sitzungsrichtlinien. Sie können mit Sitzungsrichtlinien nicht mehr Berechtigungen erteilen, als durch die identitätsbasierte Richtlinie der Rolle, die angenommen wird, zulässig sind. Weitere Informationen über Rollensitzungsberechtigungen finden Sie unter [Sitzungsrichtlinien](access_policies.md#policies_session). 

Nachdem Sie die temporären Anmeldedaten der neuen Sitzung abgerufen haben, können Sie sie an den Benutzer übergeben, der diese Berechtigungen erhalten soll.

Stellen Sie sich beispielsweise vor, dass Sie die folgende Richtlinie als Parameter des API-Aufrufs übergeben wird. Die Person, die die Sitzung verwendet, hat Berechtigungen, um nur diese Aktionen durchzuführen: 
+ Liste aller Objekte im `productionapp`-Bucket.
+ Rufen und legen Sie Objekte im `productionapp`-Bucket ab.

In der folgenden Sitzungsrichtlinie wird die Berechtigung `s3:DeleteObject` herausgefiltert und der übernommenen Sitzung wird die Berechtigung `s3:DeleteObject` nicht gewährt. Die Richtlinie legt die maximalen Berechtigungen für die Rollensitzung so fest, dass sie alle vorhandenen Berechtigungsrichtlinien für die Rolle überschreibt.

**Example Mit API-Aufruf `AssumeRole` übergebene Sitzungsrichtlinie**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::productionapp"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::productionapp/*"
    }
  ]
}
```

### Ressourcenbasierte Richtlinie
<a name="permissions-assume-role-example-resource-based-policy"></a>

Einige AWS Ressourcen unterstützen ressourcenbasierte Richtlinien, und diese Richtlinien bieten einen weiteren Mechanismus zur Definition von Berechtigungen, die sich auf temporäre Sicherheitsanmeldedaten auswirken. Nur einige Ressourcen, wie Amazon S3-Buckets, Amazon SNS-Themen und Amazon SQS-Warteschlangen, unterstützen ressourcenbasierte Richtlinien. Das folgende Beispiel ist eine Erweiterung der vorherigen Beispiele, in dem ein S3-Bucket mit dem Namen `productionapp` verwendet wird. Die folgende Richtlinie ist zum Bucket angefügt. 

Wenn Sie die folgende ressourcenbasierte Richtlinie an den `productionapp`-Bucket anfügen, wird *allen* Benutzern die Berechtigung zum Löschen von Objekten aus dem Bucket verweigert. (Weitere Informationen finden Sie im `Principal`-Element in der Richtlinie.) Dies umfasst alle Benutzer der angenommenen Rolle, auch wenn die Rollenberechtigungsrichtlinie die `DeleteObject`-Berechtigung erteilt. Eine explizite `Deny`-Anweisung hat immer Vorrang vor einer `Allow`-Anweisung.

**Example Beispiel einer Bucket-Richtlinie**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Principal": {"AWS": "*"},
    "Effect": "Deny",
    "Action": "s3:DeleteObject",
    "Resource": "arn:aws:s3:::productionapp/*"
  }
}
```

Weitere Informationen darüber, wie mehrere Richtlinientypen kombiniert und bewertet werden AWS, finden Sie unter. [Auswertungslogik für Richtlinien](reference_policies_evaluation-logic.md)

# Überwachen und Steuern von Aktionen mit übernommenen Rollen
<a name="id_credentials_temp_control-access_monitor"></a>

Eine [IAM-Rolle](id_roles.md) ist ein Objekt in IAM, dem [Berechtigungen](access_policies.md) zugewiesen sind. Wenn Sie [diese Rolle mit einer IAM-Identität oder einer Identität von außerhalb übernehmen](id_roles_manage-assume.md) AWS, erhalten Sie eine Sitzung mit den Berechtigungen, die der Rolle zugewiesen sind. 

Wenn Sie Aktionen in ausführen AWS, können die Informationen über Ihre Sitzung protokolliert werden, AWS CloudTrail sodass Ihr Kontoadministrator sie überwachen kann. Administratoren können Rollen so konfigurieren, dass Identitäten eine benutzerdefinierte Zeichenfolge übergeben müssen, die die Person oder Anwendung identifiziert, die Aktionen in AWS durchführt. Diese Identitätsinformation wird als *Quellidentität* in AWS CloudTrail gespeichert. Wenn der Administrator die Aktivitäten in überprüft CloudTrail, kann er anhand der Informationen zur Quellenidentität feststellen, wer oder was Aktionen in Sitzungen mit angenommenen Rollen ausgeführt hat.

Nachdem eine Quellidentität festgelegt wurde, ist sie in Anfragen für alle AWS Aktionen enthalten, die während der Rollensitzung ausgeführt wurden. Der festgelegte Wert bleibt bestehen, wenn eine Rolle verwendet wird, um über die AWS CLI AWS OR-API eine andere Rolle anzunehmen, was als [Rollenverkettung](id_roles.md#iam-term-role-chaining) bezeichnet wird. Der festgelegte Wert kann während der Rollensitzung nicht geändert werden. Administratoren können detaillierte Berechtigungen auf der Grundlage des Vorhandenseins oder des Werts der Quellidentität konfigurieren, um die AWS Aktionen, die mit gemeinsam genutzten Rollen ausgeführt werden, weiter zu kontrollieren. Sie können entscheiden, ob das Quellidentitätsattribut verwendet werden kann, ob es erforderlich ist und welcher Wert verwendet werden kann.



Die Art und Weise, wie Sie die Quellidentität verwenden, unterscheidet sich von Rollensitzungsnamen und Sitzungs-Tags auf wichtige Weise. Der Quellidentitätswert kann nicht geändert werden, nachdem er festgelegt wurde, und er bleibt für alle zusätzlichen Aktionen bestehen, die mit der Rollensitzung ausgeführt werden. So können Sie Sitzungs-Tags und Rollensitzungsnamen verwenden: 
+ **Sitzungs-Tags** – Sie können Sitzungs-Tags übergeben, wenn Sie eine Rolle übernehmen oder einen Benutzer föderieren. Sitzungs-Tags sind vorhanden, wenn eine Rolle angenommen wird. Sie können Richtlinien definieren, die Tag-Bedingungsschlüssel verwenden, um Ihren Auftraggeber basierend auf ihren Tags Berechtigungen zu erteilen. Anschließend können Sie die Anfragen CloudTrail zur Übernahme von Rollen oder zur Zusammenführung von Benutzern anzeigen. Weitere Informationen zu Sitzungs-Tags finden Sie unter [Sitzungs-Tags übergeben AWS STS](id_session-tags.md).
+ **Rollensitzungsname** – Sie können den `sts:RoleSessionName`-Bedingungsschlüssel in einer Rollenvertrauensrichtlinie verwenden, um zu verlangen, dass Ihre Benutzer einen bestimmten Sitzungsnamen angeben, wenn sie eine Rolle übernehmen. Rollensitzungsname kann verwendet werden, um Rollensitzungen zu unterscheiden, wenn eine Rolle von verschiedenen Auftraggeber verwendet wird. Weitere Informationen zum Namen der Rollensitzung finden Sie unter [sts: RoleSessionName](reference_policies_iam-condition-keys.md#ck_rolesessionname).

Es wird empfohlen, die Quellidentität zu verwenden, wenn Sie die Identität steuern möchten, die eine Rolle übernimmt. Die Quellenidentität ist auch nützlich für das CloudTrail Miningprotokoll, um festzustellen, wer die Rolle zur Ausführung von Aktionen verwendet hat. 

**Topics**
+ [

## Einrichten für die Verwendung der Quellidentität
](#id_credentials_temp_control-access_monitor-setup)
+ [

## Wissenswertes über die Quellidentität
](#id_credentials_temp_control-access_monitor-know)
+ [

## Zum Festlegen der Quellidentität erforderliche Berechtigungen
](#id_credentials_temp_control-access_monitor-perms)
+ [

## Angeben einer Quellidentität bei der Übernahme einer Rolle
](#id_credentials_temp_control-access_monitor-specify-sourceid)
+ [

## Verwenden Sie die Quellidentität mit AssumeRole
](#id_credentials_temp_control-access_monitor-assume-role)
+ [

## Verwendung der Quellidentität mit AssumeRoleWith SAML
](#id_credentials_temp_control-access_monitor-assume-role-saml)
+ [

## Verwenden Sie die Quellidentität mit AssumeRoleWithWebIdentity
](#id_credentials_temp_control-access_monitor-assume-role-web-id)
+ [

## Steuern des Zugriffs mithilfe von Informationen zur Quell
](#id_credentials_temp_control-access_monitor-control-access)
+ [

## Quellenidentität anzeigen in CloudTrail
](#id_credentials_temp_control-access_monitor-ct)

## Einrichten für die Verwendung der Quellidentität
<a name="id_credentials_temp_control-access_monitor-setup"></a>

Die Art und Weise, wie Sie die Quellidentität verwenden, hängt von der Methode ab, die verwendet wird, wenn Ihre Rollen angenommen werden. Beispielsweise können Ihre IAM-Benutzer Rollen direkt übernehmen, indem sie die `AssumeRole` verwenden. Wenn Sie über Unternehmensidentitäten verfügen, die auch als Personalidentitäten bezeichnet werden, greifen diese möglicherweise mithilfe von auf Ihre AWS Ressourcen zu. `AssumeRoleWithSAML` Wenn Endbenutzer auf Ihre mobilen oder Webanwendungen zugreifen, tun sie dies möglicherweise über `AssumeRoleWithWebIdentity`. Im Folgenden finden Sie einen Überblick über den Workflow auf hoher Ebene, mit dem Sie verstehen, wie Sie die Verwendung von Quellidentitätsinformationen in Ihrer vorhandenen Umgebung einrichten können.

1. **Konfigurieren von Testbenutzern und -rollen** – Konfigurieren Sie mithilfe einer Vorproduktionsumgebung Testbenutzer und -rollen und konfigurieren Sie ihre Richtlinien so, dass eine Quellidentität festgelegt werden kann.

   Wenn Sie einen Identitätsanbieter (IdP) für Ihre Verbundidentitäten verwenden, konfigurieren Sie Ihren IdP so, dass ein Benutzerattribut Ihrer Wahl für die Quellidentität in der Assertion oder Token übergeben wird.

1. **Nehmen Sie die Rolle an.** – Testen Sie das Annehmen von Rollen und Übergeben einer Quellidentität mit den Benutzern und Rollen, die Sie zum Testen eingerichtet haben.

1. **Überprüfung CloudTrail** — Überprüfen Sie die Quellidentitätsinformationen für Ihre Testrollen in Ihren CloudTrail Protokollen.

1. **Trainieren von Benutzern** – Stellen Sie nach dem Test in Ihrer Vorproduktionsumgebung sicher, dass Ihre Benutzer wissen, wie sie die Quellidentitätsinformationen eingeben, falls erforderlich. Legen Sie einen Stichtag fest, an dem Ihre Benutzer eine Quellidentität in Ihrer Produktionsumgebung angeben müssen.

1. **Konfigurieren von Produktionsrichtlinien** – Konfigurieren Sie Ihre Richtlinien für Ihre Produktionsumgebung und fügen Sie sie dann Ihren Produktionsbenutzern und -rollen hinzu.

1. **Aktivität überwachen** — Überwachen Sie die Aktivitäten Ihrer Produktionsrollen mithilfe von CloudTrail Protokollen.

## Wissenswertes über die Quellidentität
<a name="id_credentials_temp_control-access_monitor-know"></a>

Beachten Sie bei der Arbeit mit der Quellenidentität folgende Punkte.
+ Bei der Verwendung von Sitzungs-Tags müssen die Rollenvertrauensrichtlinien für alle Rollen, die mit einem Identitätsanbieter (IdP) verbunden sind, über die `sts:SetSourceIdentity`-Berechtigung verfügen. Bei Rollen, die diese Berechtigung in der Vertrauensrichtlinie nicht haben, schlägt der `AssumeRole*`-Vorgang fehl. Wenn Sie die Vertrauensrichtlinie für Rollen nicht für jede Rolle aktualisieren möchten, können Sie eine separate IdP-Instance zum Übergeben von Sitzungs-Tags verwenden. Fügen Sie dann die `sts:SetSourceIdentity`-Berechtigung nur den Rollen hinzu, die mit dem separaten IdP verbunden sind.
+ Wenn eine Identität eine Quellidentität festlegt, wird die `sts:SourceIdentity`-Schlüssel in der Anforderung. Für nachfolgende Aktionen, die während der Rollensitzung ausgeführt werden, ist der Schlüssel `aws:SourceIdentity` in der Anfrage vorhanden. AWS kontrolliert den Wert der Quellidentität weder in den Schlüsseln `sts:SourceIdentity` noch `aws:SourceIdentity`. Wenn Sie eine Quellidentität benötigen, müssen Sie ein Attribut auswählen, das Ihre Benutzer oder IdP bereitstellen sollen. Aus Sicherheitsgründen müssen Sie sicherstellen, dass Sie steuern können, wie diese Werte bereitgestellt werden.
+ Der Wert der Quell-Identität muss zwischen 2 und 64 Zeichen lang sein und darf nur alphanumerische Zeichen, Unterstriche und die folgenden Zeichen enthalten:**., \$1 = @ -**(Bindestrich). Sie können keinen Tag-Schlüssel oder -Wert erstellen, der mit dem Text **aws:** beginnt. Dieses Präfix ist für den AWS internen Gebrauch reserviert.
+ Die Quellidentitätsinformationen werden nicht erfasst, CloudTrail wenn ein AWS Dienst oder eine dienstbezogene Rolle eine Aktion im Namen einer föderierten Identität oder einer Belegschaftsidentität ausführt. 

**Wichtig**  
Sie können nicht zu einer Rolle in der wechseln, für AWS-Managementkonsole die eine Quellidentität festgelegt werden muss, wenn die Rolle übernommen wird. Um eine solche Rolle anzunehmen, können Sie die AWS CLI AWS OR-API verwenden, um den `AssumeRole` Vorgang aufzurufen und den Quellidentitätsparameter anzugeben.

## Zum Festlegen der Quellidentität erforderliche Berechtigungen
<a name="id_credentials_temp_control-access_monitor-perms"></a>

Zusätzlich zu der Aktion, die der API-Operation entspricht, muss in Ihrer Richtlinie die folgende reine Berechtigungsaktion enthalten sein: 

```
sts:SetSourceIdentity
```
+ Um eine Quellidentität anzugeben, müssen Auftraggeber (IAM-Benutzer und IAM-Rollen) über Berechtigungen für `sts:SetSourceIdentity` haben. Als Administrator können Sie dies in der Rollenvertrauensrichtlinie und in der Berechtigungsrichtlinie des Auftraggebers konfigurieren.
+ Wenn Sie eine Rolle mit einer anderen Rolle übernehmen, was als [Rollenverkettung](id_roles.md#iam-term-role-chaining) bezeichnet wird, sind Berechtigungen für `sts:SetSourceIdentity` sowohl in der Berechtigungsrichtlinie des Auftraggebers, der die Rolle übernimmt, als auch in der Rollenvertrauensrichtlinie der Zielrolle erforderlich. Andernfalls schlägt die Operation fehl.
+ Bei der Verwendung von Sitzungs-Tags müssen die Rollenvertrauensrichtlinien für alle Rollen, die mit einem Identitätsanbieter (IdP) verbunden sind, über die `sts:SetSourceIdentity`-Berechtigung verfügen. Der `AssumeRole*`-Vorgang schlägt für jede Rolle fehl, die mit einem IdP verbunden ist, der Sitzungs-Tags ohne diese Berechtigung übergibt. Wenn Sie die Vertrauensrichtlinie für Rollen nicht für jede Rolle aktualisieren möchten, können Sie eine separate IdP Instance zum Übergeben der Quell-Identität verwenden und die `sts:SetSourceIdentity`-Berechtigung nur die Rollen, die mit dem separaten IdP verbunden sind.
+ Um eine Quellidentität über Kontogrenzen hinweg festzulegen, müssen Sie die Berechtigung `sts:SetSourceIdentity` an zwei Stellen einfügen. Sie muss sich in der Berechtigungsrichtlinie des Auftraggebers im Ursprungskonto und in der Rollenvertrauensrichtlinie der Rolle im Zielkonto befinden. Dies kann z. B. erforderlich sein, wenn eine Rolle verwendet wird, um eine Rolle in einem anderen Konto mit [Rollenverkettung](id_roles.md#iam-term-role-chaining) zu übernehmen.

Stellen Sie sich als Kontoadministrator vor, Sie möchten den IAM-Benutzer `DevUser` in Ihrem Konto, um die `Developer_Role` auf demselben Konto zu übernehmen. Sie möchten diese Aktion jedoch nur zulassen, wenn der Benutzer die Quellidentität auf seinen IAM-Benutzernamen festgelegt hat. Sie können dazu diesem Benutzer die folgende IAM-Richtlinie zuweisen.

**Example Beispiel für eine identitätsbasierte Richtlinie, die angehängt ist DevUser**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AssumeRole",
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::123456789012:role/Developer_Role"
    },
    {
      "Sid": "SetAwsUserNameAsSourceIdentity",
      "Effect": "Allow",
      "Action": "sts:SetSourceIdentity",
      "Resource": "arn:aws:iam::123456789012:role/Developer_Role",
      "Condition": {
        "StringLike": {
          "sts:SourceIdentity": "${aws:username}"
        }
      }
    }
  ]
}
```

Um die zulässigen Werte für die Quellidentität zu erzwingen, können Sie die folgende Rollenvertrauensrichtlinie konfigurieren. Die Richtlinie gibt dem IAM-Benutzer `DevUser` die Berechtigung, die Rolle zu übernehmen und eine Quellidentität festzulegen. Der `sts:SourceIdentity`-Bedingungsschlüssel definiert den zulässigen Wert der Quellenidentität.

**Example Beispiel einer Rollenvertrauensrichtlinie für Quellidentität**  

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowDevUserAssumeRole",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:user/DevUser"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:SetSourceIdentity"
      ],
      "Condition": {
        "StringEquals": {
          "sts:SourceIdentity": "DevUser"
        }
      }
    }
  ]
}
```

------

Unter Verwendung der Anmeldeinformationen für den IAM-Benutzer versucht der Benutzer anzunehmen`DevUser`, dass er die folgende Anfrage `DeveloperRole` verwendet. AWS CLI 

**Example Beispiel für eine AssumeRole CLI-Anfrage**  

```
aws sts assume-role \
--role-arn arn:aws:iam::123456789012:role/Developer_Role \
--role-session-name Dev-project \ 
--source-identity DevUser \
```

Bei der AWS Auswertung der Anfrage enthält der Anforderungskontext das `sts:SourceIdentity` of`DevUser`.

## Angeben einer Quellidentität bei der Übernahme einer Rolle
<a name="id_credentials_temp_control-access_monitor-specify-sourceid"></a>

Sie können eine Quellidentität angeben, wenn Sie eine der AWS STS `AssumeRole*` API-Operationen verwenden, um temporäre Sicherheitsanmeldeinformationen für eine Rolle abzurufen. Die API-Operation, die Sie verwenden, unterscheidet sich je nach Anwendungsfall. Wenn Sie beispielsweise IAM-Rollen verwenden, um IAM-Benutzern Zugriff auf AWS Ressourcen zu gewähren, auf die sie normalerweise keinen Zugriff haben, können Sie den `AssumeRole` Vorgang verwenden. Wenn Sie zur Verwaltung Ihrer Mitarbeiter den Identitätsverbund verwenden, können Sie den Vorgang `AssumeRoleWithSAML` verwenden. Wenn Sie den OIDC-Verbund verwenden, um Endbenutzern den Zugriff auf Ihre Mobil- oder Webanwendungen zu ermöglichen, können Sie diese `AssumeRoleWithWebIdentity`-Operation verwenden. In den folgenden Abschnitten wird die Verwendung von Quellidentitäten bei jedem Vorgang erläutert. Weitere Informationen über häufige Szenarien für temporäre Berechtigungsnachweise finden Sie unter [Gängige Szenarien für temporäre Anmeldeinformationen](id_credentials_temp.md#sts-introduction).

## Verwenden Sie die Quellidentität mit AssumeRole
<a name="id_credentials_temp_control-access_monitor-assume-role"></a>

Der `AssumeRole` Vorgang gibt einen Satz temporärer Anmeldeinformationen zurück, mit denen Sie auf AWS Ressourcen zugreifen können. Sie können IAM-Benutzer- oder Rollenanmeldeinformationen verwenden, um `AssumeRole` aufzurufen. Verwenden Sie die `-–source-identity` AWS CLI Option oder den `SourceIdentity` AWS API-Parameter, um bei der Übernahme einer Rolle die Quellenidentität zu übergeben. Das folgende Beispiel zeigt, wie die Quellidentität mit der AWS CLI angegeben werden kann.

**Example Beispiel für eine AssumeRole CLI-Anfrage**  

```
aws sts assume-role \
--role-arn arn:aws:iam::123456789012:role/developer \
--role-session-name Audit \ 
--source-identity Admin \
```

## Verwendung der Quellidentität mit AssumeRoleWith SAML
<a name="id_credentials_temp_control-access_monitor-assume-role-saml"></a>

Die `AssumeRoleWithSAML`-Operation wird mit dem SAML-basierten Verbund authentifiziert. Dieser Vorgang gibt einen Satz temporärer Anmeldeinformationen zurück, mit denen Sie auf AWS Ressourcen zugreifen können. Weitere Informationen zur Verwendung eines SAML-basierten Verbunds für den AWS-Managementkonsole Zugriff finden Sie unter. [Aktivieren des Zugriffs von SAML 2.0-Verbundprinzipalen auf AWS-Managementkonsole](id_roles_providers_enable-console-saml.md) Einzelheiten zu AWS CLI unserem AWS API-Zugriff finden Sie unter. [SAML 2.0-Föderation](id_roles_providers_saml.md) Eine Anleitung zur Einrichtung eines SAML-Verbunds für Ihre Active Directory-Benutzer finden Sie unter [AWS Verbundauthentifizierung mit Active Directory Federation Services (ADFS) im AWS Sicherheitsblog](https://aws.amazon.com/blogs/security/aws-federated-authentication-with-active-directory-federation-services-ad-fs/). 

Als Administrator können Sie es Mitgliedern Ihres Unternehmensverzeichnisses ermöglichen, den Vorgang gemeinsam zu AWS nutzen. AWS STS `AssumeRoleWithSAML` Hierfür müssen Sie die folgenden Aufgaben ausführen:

1. [Konfigurieren Sie einen SAML-Anbieter in Ihrer Organisation.](id_roles_providers_saml_3rd-party.md)

1. [Erstellen eines SAML-Anbieters in IAM](id_roles_providers_create_saml.md).

1. [Konfigurieren Sie eine Rolle und ihre Berechtigungen AWS für Ihre SAML-Verbundprinzipale](id_roles_create_for-idp_saml.md).

1. [Abschließen der Konfiguration des SAML-Identitätsanbieters und Erstellen von Zusicherungen für die SAML-Authentifizierungsantwort](id_roles_providers_create_saml_assertions.md).

Um ein SAML-Attribut für die Quellidentität festzulegen, schließen Sie das `Attribute`-Element mit dem `Name`-Attribut gesetzt auf `https://aws.amazon.com/SAML/Attributes/SourceIdentity`. Verwenden Sie das `AttributeValue`-Element, um den Wert der Quellidentität anzugeben. Angenommen, Sie möchten die folgenden Identitätsattribute als Sitzungs-Tags übergeben. 

`SourceIdentity:DiegoRamirez`

Um diese Attribute zu übergeben, schließen Sie die folgenden Elemente in Ihre SAML-Zusicherung ein.

**Example Beispielausschnitt einer SAML-Zusicherung**  

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/SourceIdentity">
<AttributeValue>DiegoRamirez</AttributeValue>
</Attribute>
```

## Verwenden Sie die Quellidentität mit AssumeRoleWithWebIdentity
<a name="id_credentials_temp_control-access_monitor-assume-role-web-id"></a>

Der Aufruf der `AssumeRoleWithWebIdentity`-Operation durch den Prinzipal wird mithilfe eines OpenID Connect (OIDC)-konformen Verbunds authentifiziert. Diese Operation gibt einen Satz temporärer Anmeldeinformationen zurück, die Sie für den Zugriff auf AWS -Ressourcen verwenden können. Weitere Informationen zur Verwendung des OIDC-Verbundes für den AWS-Managementkonsole -Zugriff finden Sie unter [OIDC-Verbund](id_roles_providers_oidc.md).

Um die Quellidentität von OpenID Connect (OIDC) zu übergeben, müssen Sie die Quellidentität in das JSON Web Token (JWT) einbeziehen. Fügen Sie Sitzungs-Tags in den `[https://aws.amazon.com/](https://aws.amazon.com/)source_identity`-Namespace in dem Token ein, wenn Sie die `AssumeRoleWithWebIdentity`-Anforderung senden. Weitere Informationen zu OIDC-Token und Ansprüchen finden Sie unter [Verwenden von Token mit Benutzerpools](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html) im *Amazon Cognito Developer Guide*.

Der folgende entschlüsselte JWT ist beispielsweise ein Token, das zum Aufrufen von `AssumeRoleWithWebIdentity` mit der Quellidentität `Admin` verwendet wird.

**Example Beispiel für ein dekodiertes JSON-Web-Token**  

```
{
    "sub": "john",
    "aud": "ac_oic_client",
    "jti": "ZYUCeRMQVtqHypVPWAN3VB",
    "iss": "https://xyz.com",
    "iat": 1566583294,
    "exp": 1566583354,
    "auth_time": 1566583292,
    "https://aws.amazon.com/source_identity":"Admin"
}
```

## Steuern des Zugriffs mithilfe von Informationen zur Quell
<a name="id_credentials_temp_control-access_monitor-control-access"></a>

Wenn eine Quellidentität anfänglich festgelegt wird, ist der SourceIdentity Schlüssel [sts:](reference_policies_iam-condition-keys.md#ck_sourceidentity) in der Anfrage enthalten. Nachdem eine Quellidentität festgelegt wurde, ist der SourceIdentity Schlüssel [aws:](reference_policies_condition-keys.md#condition-keys-sourceidentity) in allen nachfolgenden Anfragen vorhanden, die während der Rollensitzung gestellt wurden. Als Administrator können Sie Richtlinien schreiben, die eine bedingte Autorisierung zur Ausführung von AWS Aktionen gewähren, die auf der Existenz oder dem Wert des Quellidentitätsattributs basieren.

Stellen Sie sich vor, Sie möchten von Ihren Entwicklern verlangen, dass sie eine Quellidentität festlegen, damit sie eine wichtige Rolle übernehmen können, die über Schreibberechtigungen für eine produktionskritische AWS Ressource verfügt. Stellen Sie sich außerdem vor, Sie gewähren AWS Zugriff auf die Identitäten Ihrer Belegschaft mithilfe von`AssumeRoleWithSAML`. Sie möchten nur, dass ältere Entwickler Saanvi und Diego Zugriff auf die Rolle haben. Daher erstellen Sie die folgende Vertrauensrichtlinie für die Rolle.

**Example Beispiel einer Rollenvetrauensichtlinie für Quellidentität (SAML)**  

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "SAMLProviderAssumeRoleWithSAML",
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::111122223333:saml-provider/name-of-identity-provider"
      },
      "Action": [
        "sts:AssumeRoleWithSAML"
      ],
      "Condition": {
        "StringEquals": {
          "SAML:aud": "https://signin.aws.amazon.com/saml"
        }
      }
    },
    {
      "Sid": "SetSourceIdentitySrEngs",
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::111122223333:saml-provider/name-of-identity-provider"
      },
      "Action": [
        "sts:SetSourceIdentity"
      ],
      "Condition": {
        "StringLike": {
          "sts:SourceIdentity": [
            "Saanvi",
            "Diego"
          ]
        }
      }
    }
  ]
}
```

------

Die Vertrauensrichtlinie enthält eine Bedingung für `sts:SourceIdentity`, die eine Quellidentität erfordert, die auf Saanvi oder Diego eingestellt ist, um die kritische Rolle anzunehmen.

Wenn Sie jedoch einen OIDC-Anbieter für den Verbund verwenden und Benutzer mit `AssumeRoleWithWebIdentity` authentifiziert werden, könnte Ihre Rollenvertrauensrichtlinie wie folgt aussehen.

**Example Beispiel einer Rollenvetrauensichtlinie für Quellidentität (OIDC-Anbieter)**  

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::111122223333:oidc-provider/server.example.com"
      },
      "Action": [
        "sts:AssumeRoleWithWebIdentity",
        "sts:SetSourceIdentity"
      ],
      "Condition": {
        "StringEquals": {
          "server.example.com:aud": "oidc-audience-id"
        },
        "StringLike": {
          "sts:SourceIdentity": [
            "Saanvi",
            "Diego"
          ]
        }
      }
    }
  ]
}
```

------

### Rollenverkettung und kontenübergreifende Anforderungen
<a name="id_credentials_temp_control-access_monitor-chain"></a>

Stellen Sie sich vor, Sie möchten Benutzern, die `CriticalRole` angenommen haben, erlauben, ein `CriticalRole_2` in einem anderen Konto anzunehmen. Die Anmeldeinformationen für die Rollensitzung, die für die Annahme von `CriticalRole` erlangt wurden, werden für die [Rollenkette](id_roles.md#iam-term-role-chaining) einer zweiten Rolle, `CriticalRole_2`, in einem anderen Konto verwendet. Die Rolle wird über eine Kontengrenze hinweg übernommen. Daher muss die Berechtigung `sts:SetSourceIdentity` sowohl in der Berechtigungsrichtlinie für `CriticalRole` als auch in der Rollenvertrauensrichtlinie für `CriticalRole_2` erteilt werden.

**Example Beispiel für eine Berechtigungsrichtlinie für CriticalRole**  

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AssumeRoleAndSetSourceIdentity",
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole",
        "sts:SetSourceIdentity"
      ],
      "Resource": "arn:aws:iam::222222222222:role/CriticalRole_2"
    }
  ]
}
```

------

Um das Festlegen der Quellidentität über die Kontengrenze hinweg zu sichern, vertraut die folgende Rollenvertrauensrichtlinie nur dem Rollenauftraggeber für`CriticalRole`, um die Quellidentität festzulegen.

**Example Beispiel für eine Vertrauensrichtlinie für eine Rolle auf CriticalRole \$12**  

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111111111111:role/CriticalRole"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:SetSourceIdentity"
      ],
      "Condition": {
        "StringLike": {
          "aws:SourceIdentity": ["Saanvi","Diego"]
        }
      }
    }
  ]
}
```

------

Der Benutzer führt den folgenden Aufruf mit den Anmeldeinformationen für die Rollensitzung durch, die er bei der Annahme abgerufen hat CriticalRole. Die Quellidentität wurde während der Annahme von festgelegt CriticalRole, sodass sie nicht erneut explizit festgelegt werden muss. Wenn der Benutzer versucht, eine Quellidentität festzulegen, die sich von dem Wert unterscheidet, der bei der Übernahme von `CriticalRole` festgelegt wurde, wird die Anforderung der Rollenübernahme abgelehnt.

**Example Beispiel für eine AssumeRole CLI-Anfrage**  

```
aws sts assume-role \ 
--role-arn arn:aws:iam::222222222222:role/CriticalRole_2 \
--role-session-name Audit \
```

Wenn der aufrufende Auftraggeber die Rolle übernimmt, bleibt die Quellidentität in der Anforderung ab der ersten angenommenen Rollensitzung bestehen. Daher sind sowohl der `aws:SourceIdentity`- als auch der `sts:SourceIdentity`-Schlüssel im Anfragekontext vorhanden.

## Quellenidentität anzeigen in CloudTrail
<a name="id_credentials_temp_control-access_monitor-ct"></a>

Hier können Sie die Anfragen CloudTrail zur Übernahme von Rollen oder zur Zusammenführung von Benutzern anzeigen. Sie können auch die Rolle oder die Benutzeranfragen zur Durchführung von Aktionen in AWS einsehen. Die CloudTrail Protokolldatei enthält Informationen über die Quellidentität, die für die Sitzung mit übernommener Rolle oder Verbundbenutzer festgelegt wurde. Weitere Informationen finden Sie unter [Protokollierung von IAM- und AWS STS API-Aufrufen mit AWS CloudTrail](cloudtrail-integration.md).

Gehen Sie beispielsweise davon aus, dass ein Benutzer eine AWS STS `AssumeRole` Anfrage stellt und eine Quellidentität festlegt. Sie finden die `sourceIdentity` Informationen im `requestParameters` Schlüssel in Ihrem CloudTrail Protokoll.

**Example Beispiel für einen RequestParameter-Abschnitt in einem Protokoll AWS CloudTrail**  

```
"eventVersion": "1.05",
    "userIdentity": {
        "type": "AWSAccount",
        "principalId": "AIDAJ45Q7YFFAREXAMPLE",
        "accountId": "111122223333"
    },
    "eventTime": "2020-04-02T18:20:53Z",
    "eventSource": "sts.amazonaws.com",
    "eventName": "AssumeRole",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "203.0.113.64",
    "userAgent": "aws-cli/1.16.96 Python/3.6.0 Windows/10 botocore/1.12.86",
    "requestParameters": {
        "roleArn": "arn:aws:iam::123456789012:role/DevRole",
        "roleSessionName": "Dev1",
        "sourceIdentity": "source-identity-value-set"
    }
```

Wenn der Benutzer die angenommene Rollensitzung verwendet, um eine Aktion auszuführen, sind die Informationen zur Quellidentität im `userIdentity` Schlüssel im CloudTrail Protokoll enthalten.

**Example Beispiel für einen UserIdentity-Schlüssel in einem Protokoll AWS CloudTrail**  

```
{
  "eventVersion": "1.08",
  "userIdentity": {
    "type": "AssumedRole",
    "principalId": "AROAJ45Q7YFFAREXAMPLE:Dev1",
    "arn": "arn:aws:sts::123456789012:assumed-role/DevRole/Dev1",
    "accountId": "123456789012",
    "accessKeyId": "ASIAIOSFODNN7EXAMPLE",
    "sessionContext": {
      "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAJ45Q7YFFAREXAMPLE",
        "arn": "arn:aws:iam::123456789012:role/DevRole",
        "accountId": "123456789012",
        "userName": "DevRole"
      },
      "webIdFederationData": {},
      "attributes": {
        "mfaAuthenticated": "false",
        "creationDate": "2021-02-21T23:46:28Z"
      },
      "sourceIdentity": "source-identity-value-present"
    }
  }
}
```

Beispiele für AWS STS API-Ereignisse in CloudTrail Protokollen finden Sie unter. [Beispiel für IAM-API-Ereignisse im Protokoll CloudTrail](cloudtrail-integration.md#cloudtrail-integration_examples-iam-api) Weitere Informationen zu den in CloudTrail Protokolldateien enthaltenen Informationen finden Sie unter [CloudTrail Event Reference](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/eventreference.html) im *AWS CloudTrail Benutzerhandbuch*.

# Berechtigungen für GetFederationToken
<a name="id_credentials_temp_control-access_getfederationtoken"></a>

Die `GetFederationToken`-Operation wird von einem IAM-Benutzer aufgerufen und gibt temporäre Anmeldedaten für diesen Benutzer zurück. Diese Operation *verbindet* die Benutzer. Die einer AWS STS Verbundbenutzersitzung zugewiesenen Berechtigungen werden an einer von zwei Stellen definiert: 
+ In den Sitzungsrichtlinien, die als Parameter im API-Aufruf `GetFederationToken` übergeben werden. (Dies ist am üblichsten.)
+ Eine ressourcenbasierte Richtlinie, die die AWS STS Verbundbenutzersitzung explizit im `Principal` Element der Richtlinie benennt. (Dies ist weniger üblich.)

Sitzungsrichtlinien sind erweiterte Richtlinien, die Sie als Parameter übergeben, wenn Sie eine temporäre Sitzung programmgesteuert erstellen. Wenn Sie eine AWS STS Verbundbenutzersitzung erstellen und Sitzungsrichtlinien übergeben, stellen die daraus resultierenden Sitzungsberechtigungen die Schnittmenge zwischen der identitätsbasierten Richtlinie des Benutzers und den Sitzungsrichtlinien dar. Sie können mit der Sitzungsrichtlinie nicht mehr Berechtigungen erteilen, als durch die identitätsbasierte Richtlinie des Benutzers, der verbunden wird, zulässig sind.

Wenn Sie also keine Richtlinie mit dem `GetFederationToken`-API-Aufruf übergeben, verfügen die resultierenden temporären Sicherheitsanmeldedaten über keine Berechtigungen. Allerdings kann eine ressourcenbasierte Richtlinie zusätzliche Berechtigungen für die Sitzung bereitstellen. Sie können auf eine Ressource mit einer ressourcenbasierten Richtlinie zugreifen, die Ihre Sitzung als zulässigen Auftraggeber angibt. 

Die folgenden Abbildungen zeigen eine visuelle Darstellung der Interaktion von Richtlinien, um die Berechtigungen für die von einem `GetFederationToken`-Aufruf zurückgegebenen temporären Anmeldeinformationen zu bestimmen.

![\[IAM-Benutzer: Die folgenden Abbildungen zeigen Häkchen, um anzuzeigen, dass es sich bei den Sitzungsberechtigungen um die Schnittmenge aus der identitätsbasierten Richtlinie des Benutzers und den Sitzungsrichtlinien handelt. Sitzungsberechtigungen können auch die Schnittmenge aus identitätsbasierten Richtlinien und ressourcenbasierten Richtlinien des Benutzers sein.\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/getfederationtoken-permissions.diagram.png)


## Beispiel: Zuweisen von Berechtigungen mit GetFederationToken
<a name="permissions-get-federation-token-example"></a>

Sie können die `GetFederationToken`-API-Aktion mit verschiedenen Arten von Richtlinien verwenden. Nachfolgend sind einige Beispiele aufgeführt.

### Zum IAM-Benutzer angefügte Richtlinie
<a name="permissions-get-federation-token-example-iam-user"></a>

In diesem Beispiel verfügen Sie über eine browserbasierte Clientanwendung, die sich auf zwei Backend-Web-Services stützt. Ein Backend-Service ist Ihr eigener Authentifizierungsserver, der Ihr eigenes Identitätssystem zum Authentifizieren der Clientanwendung verwendet. Der andere Backend-Service ist ein AWS -Service, der einige Funktionalitäten der Clientanwendung bereitstellt. Die Clientanwendung wird von Ihrem Server authentifiziert und Ihr Server erstellt die entsprechende Berechtigungsrichtlinie oder ruft sie ab. Der Server ruft dann das `GetFederationToken`-API auf, um temporäre Anmeldeinformationen zu erhalten und diese Anmeldeinformationen zur Clientanwendung zurückzugeben. Die Client-Anwendung kann dann mit den temporären Sicherheitsanmeldedaten Anfragen direkt an den AWS Dienst richten. Diese Architektur ermöglicht es der Client-Anwendung, AWS Anfragen zu stellen, ohne langfristige AWS Anmeldeinformationen einzubetten.

Der Authentifizierungsserver ruft die `GetFederationToken`-API mit den langfristigen Sicherheitsanmeldedaten eines IAM-Benutzers mit dem Namen `token-app` auf. Die langfristigen IAM-Benutzeranmeldedaten bleiben jedoch auf Ihrem Server und werden unter keinen Umständen an den Client weitergegeben. Die folgende Beispielrichtlinie ist an den `token-app` IAM-Benutzer angehängt und definiert die umfassendsten Berechtigungen, die Ihre AWS STS Verbundbenutzer (Clients) benötigen. Beachten Sie, dass die `sts:GetFederationToken` Berechtigung erforderlich ist, damit Ihr Authentifizierungsdienst temporäre Sicherheitsanmeldeinformationen für die AWS STS Verbundbenutzer abrufen kann.

**Example Die dem IAM-Benutzer `token-app` angefügte Richtlinie, die `GetFederationToken` aufruft**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:GetFederationToken",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "dynamodb:ListTables",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "sqs:ReceiveMessage",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "sns:ListSubscriptions",
      "Resource": "*"
    }
  ]
}
```

Die obige Richtlinie erteilt dem IAM-Benutzer mehrere Berechtigungen. Diese Richtlinie allein gewährt dem AWS STS Verbundbenutzer jedoch keine Berechtigungen. Wenn dieser IAM-Benutzer eine Richtlinie als Parameter des API-Aufrufs aufruft `GetFederationToken` und sie nicht weitergibt, hat der daraus resultierende AWS STS Verbundbenutzer keine effektiven Berechtigungen. 

### Als Parameter übergebene Sitzungsrichtlinie
<a name="permissions-get-federation-token-example-passed-policy"></a>

Die gängigste Methode, um sicherzustellen, dass dem AWS STS Verbundbenutzer die entsprechenden Berechtigungen zugewiesen werden, besteht darin, Sitzungsrichtlinien im `GetFederationToken` API-Aufruf zu übergeben. Aufbauend auf dem vorherigen Beispiel nehmen wir an, das `GetFederationToken` mit den Anmeldedaten des IAM-Benutzers `token-app` aufgerufen wird. Angenommen, die folgende Sitzungsrichtlinie wird als Parameter des API-Aufrufs übergeben. Der resultierende AWS STS -Verbundbenutzer verfügt über die Berechtigung zum Auflisten der Inhalte des Amazon-S3-Buckets mit dem Namen `productionapp`. Der Benutzer kann die Amazon S3-Aktionen `GetObject`, `PutObject` und `DeleteObject` für Elemente im `productionapp`-Bucket nicht ausführen.

Dem Verbundbenutzer werden diese Berechtigungen zugewiesen, da die Berechtigungen die Schnittmenge der IAM-Benutzerberechtigungen und der Sitzungsrichtlinien bilden, die Sie übergeben.

Der AWS STS Verbundbenutzer konnte außer in Amazon SNS, Amazon SQS, Amazon DynamoDB oder in einem anderen S3-Bucket keine Aktionen ausführen. `productionapp` Diese Aktionen werden abgelehnt, auch wenn diese Berechtigungen dem IAM-Benutzer erteilt werden, der mit dem `GetFederationToken`-Aufruf verknüpft ist.

**Example Als Parameter im API-Aufruf `GetFederationToken` übergebene Sitzungsrichtlinie**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::productionapp"]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject"
      ],
      "Resource": ["arn:aws:s3:::productionapp/*"]
    }
  ]
}
```

### Ressourcenbasierte Richtlinien
<a name="permissions-get-federation-token-resource-based-policy"></a>

Einige AWS Ressourcen unterstützen ressourcenbasierte Richtlinien, und diese Richtlinien bieten einen weiteren Mechanismus, um einem Verbundbenutzer direkt Berechtigungen zu erteilen. AWS STS Nur einige AWS Dienste unterstützen ressourcenbasierte Richtlinien. Amazon S3 verfügt beispielsweise über Buckets, Amazon SNS über Themen und Amazon SQS über Warteschlangen, denen Sie Richtlinien zuordnen können. Eine Liste aller Services, die ressourcenbasierte Richtlinien unterstützen, finden Sie unter [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md). Überprüfen Sie die Spalte "Ressourcenbasierte Richtlinien" der Tabellen. Sie können ressourcenbasierte Richtlinien verwenden, um einem Verbundbenutzer direkt Berechtigungen zuzuweisen. AWS STS Geben Sie dazu den Amazon-Ressourcennamen (ARN) des AWS STS Verbundbenutzers im `Principal` Element der ressourcenbasierten Richtlinie an. Das folgende Beispiel veranschaulicht diesen Vorgang und ist eine Erweiterung der vorherigen Beispiele, wobei ein S3-Bucket mit dem Namen `productionapp` verwendet wird. 

Die folgende ressourcenbasierte Richtlinie wird dem Bucket angefügt. Diese Bucket-Richtlinie ermöglicht einem AWS STS Verbundbenutzer namens Carol den Zugriff auf den Bucket. Wenn die zuvor beschriebene Beispielrichtlinie an den `token-app` IAM-Benutzer angehängt wird, hat der AWS STS Verbundbenutzer namens Carol die Berechtigung, die `s3:DeleteObject` Aktionen `s3:GetObject``s3:PutObject`, und für den genannten Bucket auszuführen. `productionapp` Dies gilt auch, wenn keine Sitzungsrichtlinie als Parameter im `GetFederationToken`-API-Aufruf übergeben wird. Das liegt daran, dass in diesem Fall dem AWS STS Verbundbenutzer namens Carol durch die folgende ressourcenbasierte Richtlinie ausdrücklich Berechtigungen erteilt wurden. 

***Denken Sie daran, dass einem AWS STS Verbundbenutzer nur dann Berechtigungen erteilt werden, wenn diese Berechtigungen sowohl dem IAM-Benutzer als auch dem Verbundbenutzer ausdrücklich erteilt wurden.*** AWS STS Sie können (innerhalb des Kontos) auch durch eine ressourcenbasierte Richtlinie gewährt werden, die den AWS STS Verbundbenutzer explizit im `Principal` Element der Richtlinie benennt, wie im folgenden Beispiel.

**Example Bucket-Richtlinie, die dem Verbundbenutzer Zugriffsberechtigungen erteilt**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Principal": {
            "AWS": "arn:aws:sts::111122223333:federated-user/Carol"
        },
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:PutObject",
            "s3:DeleteObject"
        ],
        "Resource": [
            "arn:aws:s3:::productionapp/*"
        ]
    }
}
```

Weitere Informationen über das Auswerten von Richtlinien finden Sie unter [Logik der Richtlinienevaluierung](reference_policies_evaluation-logic.md).

# Berechtigungen für GetSessionToken
<a name="id_credentials_temp_control-access_getsessiontoken"></a>

Primärer Anlass zum Aufruf der API-Operation `GetSessionToken` oder des CLI-Befehls `get-session-token` ist, wenn ein Benutzer mit Multi-Factor Authentication (MFA) authentifiziert werden muss. Es ist möglich, eine Richtlinie zu verfassen, die bestimmte Aktionen nur dann erlaubt, wenn diese Aktionen von einem Benutzer angefordert werden, der mit MFA authentifiziert wurde. Um die MFA-Autorisierungsprüfung erfolgreich zu bestehen, muss ein Benutzer zunächst `GetSessionToken` aufrufen und die optionalen Parameter `SerialNumber` und `TokenCode` einschließen. Wenn sich der Benutzer erfolgreich bei einem MFA-Gerät authentifiziert, enthalten die von der API-Operation `GetSessionToken` zurückgegebenen Anmeldeinformationen den MFA-Kontext. Dieser Kontext gibt an, dass der Benutzer mit MFA authentifiziert und für API-Operationen autorisiert ist, für die eine MFA-Authentifizierung erforderlich ist.

## Berechtigungen erforderlich für GetSessionToken
<a name="getsessiontoken-permissions-required"></a>

Ein Benutzer benötigt keine Berechtigungen, um ein Sitzungstoken zu erhalten. Der Zweck der Operation `GetSessionToken` besteht darin, den Benutzer mithilfe von MFA zu authentifizieren. Richtlinien können nicht dazu verwendet werden, Authentifizierungsoperationen zu steuern.

Um Berechtigungen für die Ausführung der meisten AWS Operationen zu erteilen, fügen Sie die Aktion mit dem gleichen Namen zu einer Richtlinie hinzu. Um einen Benutzer zu erstellen, müssen Sie z. B. die API-Operation `CreateUser`, den CLI-Befehl `create-user` oder die AWS-Managementkonsole verwenden. Um diese Operationen durchführen zu können, müssen Sie über eine Richtlinie verfügen, die Ihnen Zugriff auf die Aktion `CreateUser` gewährt.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateUser",
            "Resource": "*"
        }
    ]
}
```

------

Sie können die Aktion `GetSessionToken` in Ihre Richtlinien einfügen, dies hat aber keine Auswirkungen auf die Fähigkeit des Benutzers, die Operation `GetSessionToken` auszuführen.

## Berechtigungen erteilt von GetSessionToken
<a name="getsessiontoken-permissions-granted"></a>

Wenn `GetSessionToken` mit den Anmeldeinformationen eines IAM-Benutzers aufgerufen wird, haben die temporären Sicherheitsanmeldeinformationen dieselben Berechtigungen wie der IAM-Benutzer. In ähnlicher Weise verfügen die temporären Root-Benutzer des AWS-Kontos Sicherheitsanmeldedaten über Root-Benutzerberechtigungen, wenn `GetSessionToken` sie mit Anmeldeinformationen aufgerufen werden.

**Anmerkung**  
Es wird empfohlen, `GetSessionToken` nicht mit Stammbenutzer-Anmeldeinformationen aufzurufen. Befolgen Sie stattdessen unsere [bewährten Methoden](best-practices-use-cases.md) und erstellen Sie IAM-Benutzer mit den Berechtigungen, die sie benötigen. Verwenden Sie diese IAM-Benutzer dann für die tägliche Interaktion mit AWS.

Die temporären Anmeldeinformationen, die Sie erhalten, wenn Sie `GetSessionToken` aufrufen, haben die folgenden Funktionen und Einschränkungen:
+ Sie können die Anmeldeinformationen für den Zugriff auf verwenden, AWS-Managementkonsole indem Sie die Anmeldeinformationen an den Single Sign-On-Endpunkt des Verbunds unter übergeben. `https://signin.aws.amazon.com/federation` Weitere Informationen finden Sie unter [Benutzerdefinierten Identity Broker-Zugriff auf die AWS Konsole aktivieren](id_roles_providers_enable-console-custom-url.md).
+ Sie können die Anmeldeinformationen **nicht** verwenden, um IAM- oder AWS STS -API-Operationen aufzurufen. Sie **können** sie verwenden, um API-Operationen für andere AWS Dienste aufzurufen.

Unter [AWS STS Referenzen vergleichen](id_credentials_sts-comparison.md) können Sie diese API-Operation und ihre Grenzen und Funktionen mit den anderen API-Operationen, die temporäre Sicherheitsanmeldeinformationen erstellen, vergleichen.

Weitere Informationen über MFA-geschützten API-Zugriff mithilfe von `GetSessionToken` finden Sie unter [Sicherer API-Zugriff mit MFA](id_credentials_mfa_configure-api-require.md).

# Deaktivieren von Berechtigungen für temporäre Sicherheitsanmeldeinformationen
<a name="id_credentials_temp_control-access_disable-perms"></a>

Temporäre Sicherheitsanmeldeinformationen sind bis zu ihrem Ablauf gültig. Diese Anmeldeinformationen sind für die angegebene Dauer von 900 Sekunden (15  Minuten) bis maximal 129 600 Sekunden (36 Stunden) gültig. Die Standardsitzungsdauer beträgt 43 200 Sekunden (12 Stunden). Sie können diese Anmeldeinformationen widerrufen, müssen aber auch die Berechtigungen für den IAM-Benutzer oder die IAM-Rolle ändern, um die Verwendung kompromittierter Anmeldeinformationen für bösartiger Kontoaktivitäten zu verhindern. Berechtigungen, die temporären Sicherheitsanmeldedaten zugewiesen wurden, werden jedes Mal bewertet, wenn sie für eine AWS Anfrage verwendet werden. Sobald Sie alle Berechtigungen aus den Anmeldeinformationen entfernt haben, schlagen AWS Anfragen, die sie verwenden, fehl.

Es kann einige Minuten dauern, bis Richtlinienaktualisierungen wirksam werden. Bei IAM-Rollensitzungen können Sie die temporären Sicherheits-Anmeldeinformationen der Rolle widerrufen, um alle Benutzer, die die Rolle übernehmen, zu einer erneuten Authentifizierung und Anforderung neuer Anmeldeinformationen zu zwingen. Weitere Informationen finden Sie unter [Widerrufen der temporären Sicherheitsanmeldeinformationen der Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_revoke-sessions.html).

Sie können die Berechtigungen für eine nicht ändern Root-Benutzer des AWS-Kontos. Ebenso können die Berechtigungen für die temporären Sicherheitsanmeldeinformationen nicht geändert werden, die durch Aufrufen von `GetFederationToken` oder `GetSessionToken` erstellt wurden, während der Benutzer als Stammbenutzer angemeldet war. Daher empfehlen wir, dass Sie `GetFederationToken` oder `GetSessionToken` nicht als Stammbenutzer aufrufen.

Vorgehensweisen zum Ändern der Berechtigungen für einen IAM-Benutzer finden Sie unter [Ändern von Berechtigungen für einen IAM-Benutzer](id_users_change-permissions.md).

Vorgehensweisen zum Ändern der Berechtigungen für eine IAM-Rolle finden Sie unter [Berechtigungen für eine Rolle aktualisieren](id_roles_update-role-permissions.md).

**Wichtig**  
Sie können in IAM keine Rollen bearbeiten, die aus Berechtigungssätzen des IAM Identity Center erstellt wurden. Sie müssen die aktive Berechtigungssatz-Sitzung für einen Benutzer im IAM Identity Center widerrufen. Weitere Informationen finden Sie unter [Widerrufen aktiver IAM-Rollensitzungen, die durch Berechtigungssätze erstellt wurden](https://docs.aws.amazon.com/singlesignon/latest/userguide/useraccess.html#revoke-user-permissions) im *Benutzerhandbuch zum IAM Identity Center*.

**Topics**
+ [

## Verweigerung des Zugriffs auf alle IAM-Rollensitzungen, die einer Rolle zugeordnet sind
](#deny-access-to-all-sessions)
+ [

## Zugriff auf eine bestimmte IAM-Rollensitzung verweigern
](#deny-access-to-specific-session)
+ [

## Zugriff auf Sitzungen mit temporären Sicherheits-Anmeldeinformationen mit Bedingungskontextschlüsseln verweigern
](#deny-access-to-specific-session-condition-key)
+ [

## Zugriff auf einen bestimmten Prinzipal mit ressourcenbasierten Richtlinien verweigern
](#deny-access-with-resource-based)

## Verweigerung des Zugriffs auf alle IAM-Rollensitzungen, die einer Rolle zugeordnet sind
<a name="deny-access-to-all-sessions"></a>

Dieses Verfahren verweigert Berechtigungen für **alle** IAM-Rollensitzungen, die einer Rolle zugeordnet sind. Verwenden Sie diesen Ansatz, wenn Sie Bedenken hinsichtlich verdächtiger Zugriffe durch Folgendes haben:


+ Prinzipale von einem anderen Konto mit kontoübergreifendem Zugriff
+ Externe Benutzeridentitäten mit Berechtigungen für den Zugriff auf AWS Ressourcen in Ihrem Konto
+ Benutzer, die in einer mobilen oder Web-Anwendung mit einem OIDC-Anbieter authentifiziert wurden

Um die Berechtigungen zu ändern oder zu entfernen, die den temporären Sicherheitsanmeldeinformationen zugewiesen sind, die durch den Aufruf von `AssumeRole`, `AssumeRoleWithSAML` und `AssumeRoleWithWebIdentity`, `GetFederationToken`, oder `GetSessionToken` abgerufen wurden, können Sie die identitätsbasierte Richtlinie bearbeiten oder löschen, die die Berechtigungen für die Rolle definiert.

**Wichtig**  
Wenn es eine ressourcenbasierte Richtlinie gibt, die dem Prinzipal Zugriff gewährt, müssen Sie auch eine explizite Ablehnung für diese Ressource hinzufügen. Details dazu finden Sie unter [Zugriff auf einen bestimmten Prinzipal mit ressourcenbasierten Richtlinien verweigern](#deny-access-with-resource-based).

**So verweigern Sie den Zugriff auf **alle** IAM-Rollensitzungen, die einer Rolle zugeordnet sind**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole.

1. Wählen Sie im Navigationsbereich die Option **Rollen** aus.

1. Wählen Sie den Namen der zu bearbeitenden Rolle aus. Sie können das Suchfeld verwenden, um die Liste zu filtern.

1. Wählen Sie die Registerkarte **Berechtigungen**.

1. Wählen Sie die entsprechende Richtlinie zum Bearbeiten aus. Bevor Sie eine vom Kunden verwaltete Richtlinie bearbeiten, überprüfen Sie die Registerkarte **Angefügte Entitäten**, um eine Unterbrechung des Zugriffs auf andere Identitäten zu vermeiden, denen möglicherweise dieselbe Richtlinie zugeordnet ist.

1. Wählen Sie die Registerkarte **JSON** und aktualisieren Sie die Richtlinie, um alle Ressourcen und Aktionen zu verweigern.
**Anmerkung**  
Diese Berechtigungen sind dieselben wie in der AWS verwalteten Richtlinie „[AWSDenyAlle](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSDenyAll.html)“. Sie können diese AWS verwaltete Richtlinie an jeden IAM-Benutzer oder jede IAM-Rolle anhängen, für die Sie jeglichen Zugriff verweigern möchten.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "DenyAll",
               "Effect": "Deny",
               "Action": [
                   "*"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Überprüfen Sie auf der Seite **Review (Prüfen)** unter **Summary (Übersicht)** die Richtlinienzusammenfassung und wählen Sie dann **Save changes (Änderungen speichern)** aus, um Ihre Eingaben zu speichern.

Wenn Sie die Richtlinie aktualisieren, wirken sich die Änderungen auf die Berechtigungen aller temporären Anmeldeinformationen aus, die mit der Rolle verknüpft sind. Dies gilt auch für Anmeldeinformationen, die ausgestellt wurden, bevor Sie die Richtlinie für die Berechtigungen der Rolle geändert haben. 

Nachdem Sie die Richtlinie aktualisiert haben, können Sie [die temporären Sicherheitsanmeldeinformationen der Rolle widerrufen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_revoke-sessions.html), um sofort alle Berechtigungen für die ausgegebenen Anmeldeinformationen der Rolle zu entziehen.

## Zugriff auf eine bestimmte IAM-Rollensitzung verweigern
<a name="deny-access-to-specific-session"></a>

Wenn Sie IAM-Rollen mit einer „Alle verweigern“-Richtlinie aktualisieren oder die Rolle vollständig löschen, wird der Zugriff aller Benutzer auf die Rolle unterbrochen. Sie können den Zugriff verweigern, ohne die Berechtigungen aller anderen mit der Rolle verknüpften Sitzungen zu beeinträchtigen.

Dem `Principal` können mithilfe von [Bedingungskontextschlüsseln](#deny-access-to-specific-session-condition-key) oder [ressourcenbasierten Richtlinien](#deny-access-with-resource-based) Berechtigungen verweigert werden.

**Tipp**  
Sie können die Anzahl der Verbundbenutzer anhand ARNs AWS CloudTrail von Protokollen ermitteln. Weitere Informationen finden Sie unter [So identifizieren Sie Ihre Verbundbenutzer auf einfache Weise mithilfe von](https://aws.amazon.com/blogs/security/how-to-easily-identify-your-federated-users-by-using-aws-cloudtrail/). AWS CloudTrail

## Zugriff auf Sitzungen mit temporären Sicherheits-Anmeldeinformationen mit Bedingungskontextschlüsseln verweigern
<a name="deny-access-to-specific-session-condition-key"></a>

Sie können Bedingungskontextschlüssel in identitätsbasierten Richtlinien in Situationen verwenden, in denen Sie den Zugriff auf bestimmte Sitzungen mit temporären Sicherheitsanmeldeinformationen verweigern möchten, ohne die Berechtigungen des IAM-Benutzers oder der IAM-Rolle zu beeinträchtigen, die die Anmeldeinformationen erstellt hat. Für IAM-Rollen können Sie nach der Aktualisierung der Richtlinie auch die Sitzungen mit [temporären Sicherheitsanmeldeinformationen der Rolle widerrufen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_revoke-sessions.html), um alle ausgestellten Anmeldeinformationen sofort zu entziehen.

Weitere Informationen zu Bedingungskontextschlüsseln finden Sie unter [AWS Kontextschlüssel für globale Bedingungen](reference_policies_condition-keys.md).

### als: PrincipalArn
<a name="deny-access-condition-key-principalarn"></a>

Sie können den Bedingungskontextschlüssel [aws:PrincipalArn](reference_policies_condition-keys.md#condition-keys-principalarn) in einer identitätsbasierten Richtlinie verwenden, um einem bestimmten Prinzipal den Zugriff über seinen Amazon-Ressourcennamen (ARN) zu verweigern. Dazu geben Sie im Condition-Element einer Richtlinie den ARN des IAM-Benutzers, der Rolle oder der AWS STS Verbundbenutzersitzung an, mit der die temporären Sicherheitsanmeldedaten verknüpft sind.

**So verweigern Sie den Zugriff auf einen bestimmten Prinzipal anhand seines ARN**

1. Wählen Sie im Navigationsbereich der IAM-Konsole **Benutzer** oder **Rollen** aus.

1. Wählen Sie den Namen des zu bearbeitenden IAM-Benutzers oder der IAM-Rolle aus. Sie können das Suchfeld verwenden, um die Liste zu filtern.

1. Wählen Sie die Registerkarte **Berechtigungen**.

1. Wählen Sie die entsprechende Richtlinie zum Bearbeiten aus. Bevor Sie eine vom Kunden verwaltete Richtlinie bearbeiten, überprüfen Sie die Registerkarte **Angefügte Entitäten**, um eine Unterbrechung des Zugriffs auf andere Identitäten zu vermeiden, denen möglicherweise dieselbe Richtlinie zugeordnet ist.

1. Wählen Sie die Registerkarte **JSON** und fügen Sie eine Verweigerungsanweisung für den Prinzipal-ARN hinzu, wie im folgenden Beispiel gezeigt.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Deny",
         "Action": "*",
         "Resource": "*",
         "Condition": {
           "ArnEquals": {
             "aws:PrincipalArn": [
               "arn:aws:iam::222222222222:role/ROLENAME",
               "arn:aws:iam::222222222222:user/USERNAME",
               "arn:aws:iam::222222222222:federated-user/USERNAME" 
             ]
           }
         }
       }
     ]
   }
   ```

------

1. Überprüfen Sie auf der Seite **Review (Prüfen)** unter **Summary (Übersicht)** die Richtlinienzusammenfassung und wählen Sie dann **Save changes (Änderungen speichern)** aus, um Ihre Eingaben zu speichern.

### aws: SourceIdentity
<a name="deny-access-condition-key-sourceidentity"></a>

Sie können den Bedingungskontextschlüssel [aws:SourceIdentity](reference_policies_condition-keys.md#condition-keys-sourceidentity) in einer identitätsbasierten Richtlinie verwenden, um den Zugriff auf eine bestimmte Quellidentität zu verweigern, die einer IAM-Rollensitzung zugeordnet ist. Dies gilt, solange die Rollensitzung durch das Setzen des `SourceIdentity` Anforderungsparameters ausgelöst wurde, als der Principal mithilfe AWS STS `assume-role` beliebiger\$1 CLI-Befehle oder AWS STS `AssumeRole` \$1 API-Operationen eine Rolle annahm. Geben Sie hierzu die Quellidentität an, mit der die temporären Sicherheits-Anmeldeinformationen im `Condition`-Element einer Richtlinie verknüpft sind. 

Im Gegensatz zum Kontextschlüssel [sts:RoleSessionName](reference_policies_iam-condition-keys.md#ck_rolesessionname) kann der Wert nach Festlegung der Quellidentität nicht mehr geändert werden. Der Schlüssel `aws:SourceIdentity` ist im Anforderungskontext für alle von der Rolle ausgeführten Aktionen vorhanden. Die Quellidentität bleibt in nachfolgenden Rollensitzungen bestehen, wenn Sie die Sitzungs-Anmeldeinformationen verwenden, um eine andere Rolle zu übernehmen. Die Annahme einer Rolle von einer anderen wird als [Rollenverkettung](id_roles.md#iam-term-role-chaining) bezeichnet.

Die folgende Richtlinie zeigt ein Beispiel dafür, wie Sie den Zugriff auf temporäre Sicherheitsanmeldeinformationssitzungen mithilfe des Bedingungskontextschlüssels `aws:SourceIdentity` verweigern können. Wenn Sie die mit einer Rollensitzung verknüpfte Quellidentität angeben, werden Rollensitzungen mit der benannten Quellidentität verweigert, ohne dass die Berechtigungen der Rolle, die die Anmeldeinformationen erstellt hat, beeinträchtigt werden. In diesem Beispiel lautet die Quellidentität, die vom Prinzipal beim Ausgeben der Rollensitzung festgelegt wurde, `nikki_wolf@example.com`. Jede Anfrage einer Rollensitzung mit der Quellidentität `nikki_wolf@example.com` wird abgelehnt, da die Quellidentität in der Richtlinienbedingung enthalten ist und die Richtlinienwirkung auf `Deny` festgelegt ist.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "*",
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "aws:SourceIdentity": [
            "nikki_wolf@example.com",
            "<source identity value>"
          ]
        }
      }
    }
  ]
}
```

------

### aws:userid
<a name="deny-access-condition-key-userid"></a>

Sie können den Bedingungskontextschlüssel [aws:userid](reference_policies_condition-keys.md#condition-keys-userid) in einer identitätsbasierten Richtlinie verwenden, um den Zugriff auf alle oder bestimmte temporäre Sicherheits-Anmeldeinformationssitzungen zu verweigern, die mit dem IAM-Benutzer oder der IAM-Rolle verknüpft sind. Dazu geben Sie im `Condition` Element einer Richtlinie die eindeutige Kennung (ID) des IAM-Benutzers, der Rolle oder der AWS STS Verbundbenutzersitzung an, mit der die temporären Sicherheitsanmeldedaten verknüpft sind.

Die folgende Richtlinie zeigt ein Beispiel dafür, wie Sie den Zugriff auf temporäre Sicherheitsanmeldeinformationssitzungen mithilfe des Bedingungskontextschlüssels `aws:userid` verweigern können.
+ `AIDAXUSER1` stellt die eindeutige Kennung für einen IAM-Benutzer dar. Wenn Sie die eindeutige ID eines IAM-Benutzers als Wert für den Kontextschlüssel `aws:userid` angeben, wird dem IAM-Benutzer der Zugriff verweigert. Dazu gehören alle temporären Sitzungen mit Sicherheits-Anmeldeinformationen, die durch den Aufruf der `GetSessionToken`-API erstellt wurden.
+ `AROAXROLE1:*` stellt die eindeutige ID für alle Sitzungen dar, die mit der IAM-Rolle verknüpft sind. Wenn Sie die eindeutige ID einer IAM-Rolle und ein Platzhalterzeichen (\$1) im Abschnitt caller-specified-role-session -name als Wert für den Kontextschlüssel angeben, `aws:userid` werden alle mit der Rolle verknüpften Sitzungen verweigert.
+ `AROAXROLE2:<caller-specified-role-session-name>` stellt die eindeutige ID für eine Sitzung mit übernommener Rolle dar. Im caller-specified-role-session -name-Teil der eindeutigen ID für die angenommene Rolle können Sie einen Namen für die Rollensitzung oder ein Platzhalterzeichen angeben, wenn der Bedingungsoperator verwendet wird. StringLike Wenn Sie den Namen der Rollensitzung angeben, wird die benannte Rollensitzung verweigert, ohne dass dies Auswirkungen auf die Berechtigungen der Rolle hat, die die Anmeldeinformationen erstellt hat. Durch die Angabe eines Platzhalterzeichens für den Rollensitzungsnamen, werden alle mit der Rolle verknüpften Sitzungen abgelehnt.
**Anmerkung**  
Der vom Aufrufer angegebene Rollensitzungsname, der Teil der eindeutigen Kennung für eine angenommene Rollensitzung ist, kann sich während der Rollenverkettung ändern. Eine Rollenverkettung findet statt, wenn eine Rolle eine andere Rolle übernimmt. Der Name der Rollensitzung wird mithilfe des `RoleSessionName` Anforderungsparameters festgelegt, wenn der Principal mithilfe der API-Operation eine Rolle annimmt. AWS STS `AssumeRole`
+ `account-id:<federated-user-caller-specified-name>`stellt die eindeutige ID für eine AWS STS Verbundbenutzersitzung dar. Ein IAM-Benutzer erstellt diese Sitzung, indem er die `GetFederationToken`-API aufruft. Durch die Angabe der eindeutigen ID für eine AWS STS -Verbundbenutzersitzung wird die benannte Verbundsitzung verweigert, ohne dass dies Auswirkungen auf die Berechtigungen des IAM-Benutzers hat, der die Anmeldeinformationen erstellt hat.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "*",
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "aws:userId": [
            "AIDAXUSER1",
            "AROAXROLE1:*",
            "AROAXROLE2:<caller-specified-role-session-name>",
            "123456789012:<federated-user-caller-specified-name>"
          ]
        }
      }
    }
  ]
}
```

------

Konkrete Beispiele für Hauptschlüsselwerte finden Sie unter [Auftraggeber-Schlüsselwerte](reference_policies_variables.md#principaltable). Informationen zu eindeutigen IAM-Identifikatoren und wie Sie diese abrufen, finden Sie unter [Eindeutige Bezeichner](reference_identifiers.md#identifiers-unique-ids).

## Zugriff auf einen bestimmten Prinzipal mit ressourcenbasierten Richtlinien verweigern
<a name="deny-access-with-resource-based"></a>

Um den Zugriff auf einen bestimmten Prinzipal mit einer ressourcenbasierten Richtlinie einzuschränken, können Sie im `Condition`-Element die Bedingungskontextschlüssel [aws:PrincipalArn](reference_policies_condition-keys.md#condition-keys-principalarn) oder [aws:SourceIdentity](reference_policies_condition-keys.md#condition-keys-sourceidentity) verwenden. Eine ressourcenbasierte Richtlinie ist eine Berechtigungsrichtlinie, die einer Ressource zugeordnet ist und steuert, wer auf die Ressource zugreifen und welche Aktionen damit ausgeführt werden können. 

Wenn Sie den `aws:PrincipalARN` Kontextschlüssel verwenden, geben Sie den ARN des IAM-Benutzers, der Rolle oder der AWS STS Verbundbenutzersitzung an, die mit den temporären Sicherheitsanmeldedaten verknüpft ist, im Condition-Element einer Richtlinie. Die folgende Beispielrichtlinie veranschaulicht die Verwendung des `aws:PrincipalARN`-Kontextschlüssels in einer ressourcenbasierten Richtlinie:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Principal": "*",
    "Effect": "Deny",
    "Action": "s3:*",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
    "Condition": {
      "ArnEquals": {
        "aws:PrincipalArn": [
          "arn:aws:iam::222222222222:role/ROLENAME",
          "arn:aws:iam::222222222222:user/USERNAME",
          "arn:aws:sts::222222222222:federated-user/USERNAME"
        ]
      }
    }
  }
}
```

------

Wenn Sie den `aws:SourceIdentity`-Kontextschlüssel verwenden, geben Sie den Quellidentitätswert an, der den temporären Sicherheits-Anmeldeinformationen der Rolle im `Condition`-Element einer Richtlinie zugeordnet ist. Dies gilt, solange die Rollensitzung durch das Setzen des `SourceIdentity` Anforderungsparameters ausgelöst wurde, als der Principal mithilfe AWS STS `assume-role` beliebiger\$1 CLI-Befehle oder AWS STS `AssumeRole` \$1 API-Operationen eine Rolle annahm. Das folgende Beispiel zeigt, wie der `aws:SourceIdentity`-Kontextschlüssel in einer ressourcenbasierten Richtlinie verwendet wird:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Principal": "*",
    "Effect": "Deny",
    "Action": "s3:*",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
    "Condition": {
      "StringLike": {
        "aws:SourceIdentity": [
          "nikki_wolf@example.com",
          "<source identity value>"
        ]
      }
    }
  }
}
```

------

Wenn Sie nur die identitätsbasierte Richtlinie für einen Prinzipal aktualisieren, kann dieser weiterhin die in der ressourcenbasierten Richtlinie zulässigen Aktionen ausführen, es sei denn, diese Aktionen sind in der identitätsbasierten Richtlinie explizit verweigert.

**So verweigern Sie einem bestimmten Prinzipal den Zugriff in einer ressourcenbasierten Richtlinie**

1. Lesen Sie in [AWS Dienste, die mit IAM funktionieren](reference_aws-services-that-work-with-iam.md) nach, ob der Service ressourcenbasierte Richtlinien unterstützt.

1. Melden Sie sich bei dem an AWS-Managementkonsole und öffnen Sie die Konsole für den Dienst. Jeder Service verfügt über einen anderen Standort in der Konsole zum Anfügen von Richtlinien.

1. Bearbeiten Sie die ressourcenbasierte Richtlinie. Fügen Sie eine Verweigerungs-Richtlinienanweisung hinzu, um die identifizierenden Informationen der Anmeldeinformationen anzugeben:

   1. Geben Sie im `Principal`-Element ein Platzhalter (\$1) ein. Der Prinzipal wird im `Condition`-Element eingeschränkt.

   1. Geben Sie im `Effect`-Element „Verweigern“ ein.

   1. Geben Sie unter `Action` den Service-Namespace und den Namen der abzulehnenden Aktion ein. Um alle Aktionen zu verweigern, verwenden Sie das Platzhalterzeichen (\$1). Beispiel: `"s3:*"`.

   1. Geben Sie im `Resource`-Element die ARN der Zielressource ein. Beispiel: `"arn:aws:s3:::amzn-s3-demo-bucket"`.

   1. Geben Sie im `Condition`-Element entweder den Kontextschlüssel `aws:PrincipalARN` oder `aws:SourceIdentity` an.

      Wenn Sie den `aws:PrincipalARN`-Kontextschlüssel verwenden, geben Sie die ARN des Prinzipals ein, dessen Zugriff Sie verweigern möchten.

      Wenn Sie den `aws:SourceIdentity`-Kontextschlüssel verwenden, geben Sie den Quellidentitätswert ein, der in der Rollensitzung festgelegt wurde, für die der Zugriff verweigert werden soll.

1. Speichern Sie Ihre Arbeit.

# Erteilen von Berechtigungen zum Erstellen von temporären Sicherheitsanmeldeinformationen
<a name="id_credentials_temp_control-access_enable-create"></a>

Standardmäßig haben IAM-Benutzer keine Berechtigung zum Erstellen temporärer Sicherheitsanmeldeinformationen für AWS STS -Verbundbenutzersitzungen und Rollen. Sie müssen eine Richtlinie verwenden, um Ihren Benutzern diese Berechtigungen zu gewähren. Obwohl Sie einem Benutzer Berechtigungen direkt erteilten können, empfehlen wir dringend, die Berechtigungen einer Gruppe zu erteilen. Dadurch ist die Verwaltung der Berechtigungen wesentlich einfacher. Wenn ein Benutzer nicht mehr die berechtigten Aufgaben ausführen muss, entfernen Sie ihn einfach aus der Gruppe. Wenn diese Aufgabe von einem anderen Benutzer auszuführen ist, fügen Sie ihn der Gruppe hinzu, um die Berechtigungen zu erteilen.

Um einer IAM-Gruppe die Berechtigung zum Erstellen von temporären Sicherheitsanmeldeinformationen für AWS STS -Verbundbenutzersitzungen oder Rollen zu erteilen, fügen Sie eine Richtlinie an, die eine oder beide der folgenden Berechtigungen gewährt:
+ Damit verbundene OIDC- und SAML-Prinzipale auf eine IAM-Rolle zugreifen können, gewähren Sie Zugriff auf. AWS STS `AssumeRole`
+ <a name="para_gsy_hxg_1t"></a>Gewähren Sie AWS STS Verbundbenutzern, die keine Rolle benötigen, Zugriff auf. AWS STS `GetFederationToken`

 Weitere Informationen zu den Unterschieden zwischen den API-Operationen `AssumeRole` und `GetFederationToken` finden Sie unter [Temporäre Sicherheitsanmeldeinformationen anfordern](id_credentials_temp_request.md).

IAM-Benutzer können auch [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) aufrufen, um temporäre Sicherheitsanmeldeinformationen zu erstellen. Für den Aufruf von `GetSessionToken` benötigt ein Benutzer keine Berechtigungen. Der Zweck dieser Operation besteht darin, den Benutzer mithilfe von MFA zu authentifizieren. Die Authentifizierung kann nicht über Richtlinien gesteuert werden. Dies bedeutet, dass Sie IAM-Benutzer nicht daran hindern können, zum Erstellen von temporären Anmeldeinformationen `GetSessionToken` aufzurufen.

**Example Beispiel für eine Richtlinie, die die Erlaubnis zur Übernahme einer Rolle erteilt**  
Die folgende Beispielrichtlinie gewährt die Erlaubnis, die `UpdateApp` Rolle in AWS-Konto `123123123123` aufzurufen`AssumeRole`. Wenn `AssumeRole` verwendet wird, kann der Benutzer (oder die Anwendung), der die Sicherheitsanmeldeinformationen im Namen eines Verbundbenutzers erstellt, nur die explizit in der Berechtigungsrichtlinie der Rolle angegebenen Berechtigungen delegieren.     
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::123123123123:role/UpdateAPP"
  }]
}
```

**Example Beispielrichtlinie, die die Erlaubnis zum Erstellen temporärer Sicherheitsnachweise für einen Verbundbenutzer erteilt**  
Die folgende Beispielrichtlinie zeigt, wie Sie die Zugriffsberechtigung für `GetFederationToken` erteilen.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Action": "sts:GetFederationToken",
    "Resource": "*"
  }]
}
```

**Wichtig**  
Wenn Sie IAM-Benutzern die Berechtigung zum Erstellen von temporären Sicherheitsanmeldeinformationen für AWS STS -Verbundbenutzer mit `GetFederationToken` erteilen, sollten Sie sich darüber im Klaren sein, dass hiermit diesen Benutzern die Delegierung ihrer eigenen Berechtigungen ermöglicht wird. Weitere Informationen zum Delegieren von Berechtigungen zwischen IAM-Benutzern und finden Sie AWS-Konten unter. [Beispiele für Richtlinien zum Delegieren des Zugriffs](id_roles_create_policy-examples.md) Weitere Informationen zum Steuern von Berechtigungen in temporären Sicherheitsanmeldeinformationen finden Sie unter [Berechtigungen für temporäre Sicherheits-Anmeldeinformationen](id_credentials_temp_control-access.md). 

**Example Beispielrichtlinie, die einem Benutzer die eingeschränkte Berechtigung erteilt, temporäre Sicherheitsnachweise für Benutzer im Verbund zu erstellen**  
Wenn Sie einem IAM-Benutzer ermöglichen, `GetFederationToken` aufzurufen, ist es eine bewährte Methode, die Berechtigungen einzuschränken, die der IAM-Benutzer delegieren kann. *Die folgende Richtlinie zeigt beispielsweise, wie ein IAM-Benutzer temporäre Sicherheitsanmeldeinformationen nur für AWS STS Verbundbenutzer erstellen kann, deren Namen mit Manager beginnen.*    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Action": "sts:GetFederationToken",
    "Resource": ["arn:aws:sts::123456789012:federated-user/Manager*"]
  }]
}
```

# Gewähren von Berechtigungen zur Verwendung von Konsolensitzungen mit verbesserter Identität
<a name="id_credentials_temp_control-access_sts-setcontext"></a>

Konsolensitzungen mit verbesserter Identität ermöglichen es IDs , AWS IAM Identity Center Benutzer und Sitzung bei der Anmeldung in die AWS Konsolensitzungen der Benutzer aufzunehmen. Amazon Q Developer Pro verwendet beispielsweise Konsolensitzungen mit verbesserter Identität, um die Serviceerfahrung zu personalisieren. Weitere Informationen zu Konsolensitzungen mit verbesserter Identität finden Sie unter [Aktivieren von Konsolensitzungen mit verbesserter Identität](https://docs.aws.amazon.com/singlesignon/latest/userguide/identity-enhanced-sessions.html) im *AWS IAM Identity Center -Benutzerhandbuch*. Informationen zum Einrichten von Amazon Q Developer finden Sie unter [Einrichtung von Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/setting-up.html) im *Amazon-Q-Developer-Benutzerhandbuch*.

Damit einem Benutzer Konsolensitzungen mit verbesserter Identität zur Verfügung stehen, müssen Sie eine identitätsbasierte Richtlinie verwenden, um dem IAM-Prinzipal die `sts:SetContext`-Berechtigung für die Ressource zu gewähren, die seine eigene Konsolensitzung darstellt. 

**Wichtig**  
Standardmäßig verfügen Benutzer nicht über die Berechtigung, den Kontext für ihre Konsolensitzungen mit verbesserter Identität festzulegen. Um dies zu ermöglichen, müssen Sie dem IAM-Prinzipal die `sts:SetContext`-Berechtigung in einer identitätsbasierten Richtlinie gewähren, wie im folgenden Richtlinienbeispiel dargestellt.

Das folgende Beispiel für eine identitätsbasierte Richtlinie erteilt einem IAM-Prinzipal die `sts:SetContext` Berechtigung, sodass der Principal den Kontext für die Konsolensitzungen mit erweiterter Identität für seine eigenen Konsolensitzungen festlegen kann. AWS Die Richtlinienressource,, steht für die Sitzung des `arn:aws:sts::account-id:self` Aufrufers. AWS Das ARN-Segment `account-id` kann durch ein Platzhalterzeichen `*` ersetzt werden, wenn die gleiche Berechtigungsrichtlinie für mehrere Konten bereitgestellt wird, z. B. wenn diese Richtlinie mithilfe von Berechtigungssätzen für IAM Identity Center bereitgestellt wird.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:SetContext",
            "Resource": "arn:aws:sts::111122223333:self"
        }
    ]
}
```

------

# Verwalte AWS STS in einem AWS-Region
<a name="id_credentials_temp_enable-regions"></a>

Ein regionaler Endpunkt ist die URL des Einstiegspunkts innerhalb einer bestimmten Region für einen AWS Webdienst. AWS empfiehlt die Verwendung von regionalen AWS -Security-Token-Service (AWS STS) Endpunkten anstelle des globalen Endpunkts, um die Latenz zu reduzieren, Redundanz zu gewährleisten und die Gültigkeit von Sitzungstoken zu erhöhen. Obwohl der globale (ältere) AWS STS Endpunkt hochverfügbar `https://sts.amazonaws.com` ist, wird er in einer einzigen AWS Region, USA Ost (Nord-Virginia), gehostet und bietet wie andere Endpunkte kein automatisches Failover für Endpunkte in anderen Regionen.
+ **Latenz reduzieren** — Indem Sie Ihre AWS STS Anrufe an einen Endpunkt tätigen, der geografisch näher an Ihren Diensten und Anwendungen liegt, können Sie auf AWS STS Dienste mit geringerer Latenz und besseren Reaktionszeiten zugreifen.
+ **Integrierte Redundanz** – Sie können die Auswirkungen eines Fehlers innerhalb eines Workloads auf eine begrenzte Anzahl von Komponenten mit einem vorhersehbaren Umfang der Auswirkungen einschränken. Durch die Verwendung regionaler AWS STS Endpunkte können Sie den Umfang Ihrer Komponenten an den Umfang Ihrer Sitzungstoken anpassen. Weitere Informationen zu dieser Zuverlässigkeitssäule finden Sie unter [Verwendung der Fehlerisolierung zum Schutz Ihres Workloads](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/use-fault-isolation-to-protect-your-workload.html) im *AWS -Well-Architected-Framework*.
+ **Erhöhen Sie die Gültigkeit** von Sitzungstoken — Sitzungstoken von regionalen AWS STS Endpunkten sind insgesamt gültig. AWS-Regionen Sitzungstoken vom globalen STS-Endpunkt sind nur gültig AWS-Regionen , wenn sie standardmäßig aktiviert sind. Wenn Sie beabsichtigen, eine neue Region für Ihr Konto zu aktivieren, können Sie Sitzungstoken von regionalen AWS STS Endpunkten verwenden. Wenn Sie den globalen Endpunkt verwenden möchten, müssen Sie die Regionskompatibilität der AWS STS Sitzungstoken für den globalen Endpunkt ändern. Dadurch wird sichergestellt, dass alle Tokens gültig sind AWS-Regionen.

Eine Liste der AWS STS Regionen und ihrer Endpunkte finden Sie unter[AWS STS Regionen und Endpunkte](id_credentials_temp_region-endpoints.md).

**Anmerkung**  
AWS hat Änderungen am globalen Endpunkt AWS -Security-Token-Service (AWS STS) (`https://sts.amazonaws.com`) in Regionen vorgenommen, die [standardmäßig aktiviert](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) sind, um dessen Stabilität und Leistung zu verbessern. AWS STS Anfragen an den globalen Endpunkt werden automatisch in denselben Workloads bearbeitet AWS-Region wie Ihre Workloads. Diese Änderungen werden nicht in Opt-in-Regionen bereitgestellt. Wir empfehlen, dass Sie die entsprechenden AWS STS regionalen Endpunkte verwenden. Weitere Informationen finden Sie unter [AWS STS globale Änderungen an den Endpunkten](id_credentials_temp_region-endpoints.md#reference_sts_global_endpoint_changes).

**Topics**
+ [

## Aktivierung und Deaktivierung AWS STS in einem AWS-Region
](#sts-regions-activate-deactivate)
+ [

## Code zur Verwendung von AWS STS Regionen schreiben
](#id_credentials_temp_enable-regions_writing_code)
+ [

## Verwalten von Sitzungstoken des globalen Endpunkts
](#sts-regions-manage-tokens)

## Aktivierung und Deaktivierung AWS STS in einem AWS-Region
<a name="sts-regions-activate-deactivate"></a>

Wenn Sie AWS STS Endgeräte für eine Region aktivieren, AWS STS kann temporäre Anmeldeinformationen für Benutzer und Rollen in Ihrem Konto ausgestellt werden, die eine AWS STS Anfrage stellen. Diese Anmeldedaten können dann in einer beliebigen Region verwendet werden, die standardmäßig oder manuell aktiviert ist. Für Regionen, die standardmäßig aktiviert sind, müssen Sie den regionalen AWS STS Endpunkt in dem Konto aktivieren, in dem die temporären Anmeldeinformationen generiert werden. Es spielt beim Senden der Anforderung keine Rolle, ob ein Benutzer bei diesem oder einem anderen Konto angemeldet ist. Wenn Sie AWS-Konto mithilfe einer manuell aktivierten Region temporäre Anmeldeinformationen für eine Rolle in einer anderen Rolle anfordern, muss das Zielkonto (das Konto, das die Rolle enthält) diese Region für den AWS STS Betrieb aktivieren. Dadurch wird sichergestellt, dass die temporären Sicherheitsanmeldeinformationen korrekt generiert werden können.

Beispiel: Ein Benutzer aus Konto A möchte die API-Anforderung `sts:AssumeRole` an den [regionalen AWS STS -Endpunkt](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_region-endpoints.html) `https://sts.ap-southeast-3.amazonaws.com` senden. Die Anforderung gilt für die temporären Anmeldeinformationen für die Rolle `Developer` in Konto B. Da die Anforderung zum Erstellen von Anmeldeinformationen für eine Entität des Kontos B gesendet wird, muss Konto B die Region `ap-southeast-3` aktiviert haben. Benutzer aus Konto A (oder einem anderen Konto) können den Endpunkt `ap-southeast-3` AWS STS aufrufen, um Anmeldeinformationen für Konto B anzufordern. Dabei spielt es keine Rolle, ob die Region in ihren Konten aktiviert ist oder nicht. Weitere Informationen finden Sie unter [AWS-Regionen In Ihrem Konto aktivieren oder deaktivieren](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html).

**Anmerkung**  
Aktive Regionen stehen allen Benutzern zur Verfügung, die temporäre Anmeldedaten in diesem Konto verwendet. Um zu steuern, welche IAM-Benutzer oder Rollen auf die Region zugreifen können, verwenden Sie den Bedingungsschlüssel `aws:RequestedRegion` in Ihren Berechtigungsrichtlinien.

**So aktivierst oder deaktivierst du sie AWS STS in einer Region, die standardmäßig aktiviert ist (Konsole)**

1. Melden Sie sich als Root-Benutzer oder als IAM-Benutzer mit der Berechtigung zur Durchführung von IAM-Verwaltungsaufgaben an.

1. Öffnen Sie die [IAM-Konsole](https://console.aws.amazon.com/iam/home?#home) und wählen Sie im Navigationsbereich [https://console.aws.amazon.com/iam/home?#account_settings](https://console.aws.amazon.com/iam/home?#account_settings).

1. Suchen Sie im Abschnitt **Security Token Service (STS)** **Endpunkte** nach der Region, die Sie konfigurieren möchten, und wählen Sie dann in der Spalte **STS-Status** **Aktiv** oder **Inaktiv** aus.

1. Wählen Sie in dem sich öffnenden Dialogfeld **Activate (Aktivieren)** oder **Deactivate (Deaktivieren)**.

Regionen, die aktiviert werden müssen, werden AWS STS automatisch aktiviert, wenn Sie die Region aktivieren. Nachdem Sie eine Region aktiviert haben, AWS STS ist sie immer für die Region aktiv und Sie können sie nicht deaktivieren. Weitere Informationen zur Aktivierung von Regionen, die standardmäßig deaktiviert sind, finden Sie im *AWS -Kontenverwaltung Referenzhandbuch* [unter Spezifizieren, welche Regionen für AWS-Regionen Ihr Konto verwendet werden können](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html).

## Code zur Verwendung von AWS STS Regionen schreiben
<a name="id_credentials_temp_enable-regions_writing_code"></a>

Nachdem Sie eine Region aktiviert haben, können Sie AWS STS API-Aufrufe an diese Region weiterleiten. Der folgende Java-Codeausschnitt zeigt, wie ein `AWSSecurityTokenService`-Objekt so konfiguriert wird, dass es Anfragen an die Region Europa (Mailand) (eu-south-1) stellt.

```
EndpointConfiguration regionEndpointConfig = new EndpointConfiguration("https://sts.eu-south-1.amazonaws.com", "eu-south-1");
AWSSecurityTokenService stsRegionalClient = AWSSecurityTokenServiceClientBuilder.standard()
.withCredentials(credentials)
.withEndpointConfiguration(regionEndpointConfig)
.build();
```

AWS STS empfiehlt, dass Sie Aufrufe an einen regionalen Endpunkt tätigen. Informationen zur manuellen Aktivierung einer Region finden Sie unter unter [Festlegen der AWS-Regionen , die Ihr Konto verwenden kann](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) im *AWS -Kontenverwaltung -Referenzhandbuch*.

In diesem Beispiel instanziiert die erste Zeile ein `EndpointConfiguration`-Objekt namens `regionEndpointConfig`, wobei die URL des Endpunkts und die AWS-Region als Parameter übergeben werden.

Informationen zum Einrichten AWS STS regionaler Endpunkte mithilfe einer Umgebungsvariablen für AWS SDKs finden Sie unter [AWS STS Regionalisierte Endpunkte](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sts-regionalized-endpoints.html) im Referenzhandbuch zu *Tools AWS SDKs und Tools*.

Angaben zu allen anderen Sprach- und Programmierumgebungskombinationen finden Sie in der [Dokumentation des entsprechenden SDK](https://aws.amazon.com/tools/).

## Verwalten von Sitzungstoken des globalen Endpunkts
<a name="sts-regions-manage-tokens"></a>

Die meisten AWS-Regionen sind standardmäßig für alle AWS-Services Operationen aktiviert. Diese Regionen werden automatisch für die Verwendung mit aktiviert AWS STS. Einige Regionen, wie z. B. Asien-Pazifik (Hongkong), müssen manuell aktiviert werden. Weitere Informationen zum Aktivieren und Deaktivieren von AWS-Regionen finden Sie unter [Festlegen, welche AWS-Regionen Ihr Konto verwenden kann](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) im *AWS -Kontenverwaltung -Referenzhandbuch*. Wenn Sie diese AWS Regionen aktivieren, werden sie automatisch für die Verwendung mit aktiviert AWS STS. Sie können den AWS STS Endpunkt nicht für eine Region aktivieren, die deaktiviert ist. Sitzungstoken, die in allen Fällen gültig sind, AWS-Regionen enthalten mehr Zeichen als Token, die in Regionen gültig sind, die standardmäßig aktiviert sind. Das Ändern dieser Einstellung kann sich auf vorhandene Systeme auswirken, in denen Sie Token vorübergehend speichern.

Sie können diese Einstellung mithilfe der AWS API AWS-Managementkonsole AWS CLI, oder ändern.

**So ändern Sie die Vereinbarkeit der Region für die Sitzungstoken des globalen Endpunkts (Konsole)**

1. Melden Sie sich als Root-Benutzer oder als IAM-Benutzer mit der Berechtigung zur Durchführung von IAM-Verwaltungsaufgaben an. Um die Vereinbarkeit der Sitzungstoken zu ändern, benötigen Sie eine Richtlinie, die die `iam:SetSecurityTokenServicePreferences`-Aktion zulässt.

1. Öffnen Sie die [IAM-Konsole](https://console.aws.amazon.com/iam/home?#home). Wählen Sie im Navigationsbereich **Account Settings (Kontoeinstellungen)**.

1. Im Abschnitt **Security Token Service (STS)** finden Sie **Sitzungstoken von den STS-Endpunkten**. Der **globale Endpunkt** gibt `Valid only in AWS-Regionen enabled by default` an. Wählen Sie **Change**.

1. Wählen **Sie im Dialogfeld „Regionskompatibilität ändern**“ die Option **Alle** aus AWS-Regionen. Wählen Sie dann **Save changes (Änderungen speichern)**.
**Anmerkung**  
Sitzungstoken, die in allen Fällen gültig sind, AWS-Region enthalten mehr Zeichen als Token, die in Regionen gültig sind, die standardmäßig aktiviert sind. Das Ändern dieser Einstellung kann sich auf vorhandene Systeme auswirken, in denen Sie Token vorübergehend speichern.

**So ändern Sie die Vereinbarkeit der Region für die Sitzungstoken des globalen Endpunkts (AWS CLI)**  
Legen Sie die Version des Sitzungs-Tokens fest. Token der Version 1 sind nur gültig AWS-Regionen , wenn sie standardmäßig verfügbar sind. Diese Token funktionieren icht in manuell aktivierten Regionen, wie z. B. Asien-Pazifik (Hongkong), nicht. Token der Version 2 sind in allen Regionen gültig. Token der Version 2 enthalten jedoch mehr Zeichen und können sich auf Systeme auswirken, in denen Sie Token vorübergehend speichern.
+ [https://docs.aws.amazon.com/cli/latest/reference/iam/set-security-token-service-preferences.html](https://docs.aws.amazon.com/cli/latest/reference/iam/set-security-token-service-preferences.html)

**Um die Regionskompatibilität von Sitzungstoken für den globalen Endpunkt (AWS API) zu ändern**  
Legen Sie die Version des Sitzungs-Tokens fest. Tokens der Version 1 sind nur gültig AWS-Regionen , wenn sie standardmäßig verfügbar sind. Diese Token funktionieren icht in manuell aktivierten Regionen, wie z. B. Asien-Pazifik (Hongkong), nicht. Token der Version 2 sind in allen Regionen gültig. Token der Version 2 enthalten jedoch mehr Zeichen und können sich auf Systeme auswirken, in denen Sie Token vorübergehend speichern.
+ [https://docs.aws.amazon.com/IAM/latest/APIReference/API_SetSecurityTokenServicePreferences.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_SetSecurityTokenServicePreferences.html) 

# AWS STS Regionen und Endpunkte
<a name="id_credentials_temp_region-endpoints"></a>

**Anmerkung**  
AWS hat Änderungen am globalen Endpunkt AWS -Security-Token-Service (AWS STS`https://sts.amazonaws.com`) in Regionen vorgenommen, die [standardmäßig aktiviert](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) sind, um dessen Stabilität und Leistung zu verbessern. AWS STS Anfragen an den globalen Endpunkt werden automatisch in denselben Workloads bearbeitet AWS-Region wie Ihre Workloads. Diese Änderungen werden nicht in Opt-in-Regionen bereitgestellt. Wir empfehlen, dass Sie die entsprechenden AWS STS regionalen Endpunkte verwenden. Weitere Informationen finden Sie unter [AWS STS globale Änderungen an den Endpunkten](#reference_sts_global_endpoint_changes).

In der folgenden Tabelle sind die Regionen und deren Endpunkte aufgelistet. Es wird angegeben, welche standardmäßig aktiviert sind und welche Sie selbst aktivieren oder deaktivieren können.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/id_credentials_temp_region-endpoints.html)

¹Sie müssen [die Region aktivieren](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html), um sie nutzen zu können. Dies aktiviert AWS STS automatisch. Sie können AWS STS in diesen Regionen nicht manuell aktivieren oder deaktivieren.

²Für die Nutzung AWS in China benötigen Sie ein Konto und spezielle Anmeldeinformationen für AWS China.

## AWS STS globale Änderungen an den Endpunkten
<a name="reference_sts_global_endpoint_changes"></a>

AWS hat Änderungen am globalen Endpunkt AWS -Security-Token-Service (AWS STS`https://sts.amazonaws.com`) in [standardmäßig aktivierten](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) Regionen vorgenommen, um dessen Stabilität und Leistung zu verbessern. Bisher wurden alle Anfragen an den AWS STS globalen Endpunkt von einem einzigen Server AWS-Region, USA Ost (Nord-Virginia), bedient. In Regionen, die [standardmäßig aktiviert](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) sind, werden Anfragen an den AWS STS globalen Endpunkt jetzt automatisch in derselben Region bearbeitet, aus der die Anfrage stammt, und nicht in der Region USA Ost (Nord-Virginia). Diese Änderungen werden nicht in Opt-in-Regionen bereitgestellt.

Mit dieser Änderung AWS STS wird Ihre Anfrage auf der Grundlage der ursprünglichen Region und des verwendeten DNS-Resolvers bearbeitet. Anfragen an den AWS STS globalen Endpunkt werden in derselben Region wie Ihr AWS bereitgestellter Workload bearbeitet, wenn die DNS-Anfrage für den AWS STS globalen Endpunkt vom Amazon DNS-Server in Regionen bearbeitet wird, die standardmäßig aktiviert sind. Anfragen an den globalen Endpunkt von AWS STS werden weiterhin in der Region USA Ost (Nord-Virginia) verarbeitet, wenn Ihre Anfrage aus einer Opt-in-Region stammt oder mit einem anderen DNS-Auflöser als dem Amazon-DNS-Server aufgelöst wurde. Weitere Informationen zu Amazon DNS finden Sie im *Benutzerhandbuch zu Amazon Virtual Private Cloud* unter [Amazon-DNS-Server](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html#AmazonDNS).

Die folgende Tabelle zeigt, wie Anfragen an den AWS STS globalen Endpunkt je nach Ihrem DNS-Anbieter weitergeleitet werden.


| DNS-Auflöser | Werden Anfragen an den AWS STS globalen Endpunkt an den lokalen weitergeleitet? AWS-Region | 
| --- | --- | 
|  Amazon-DNS-Resolver in einer Amazon VPC in einer standardmäßig aktivierten Region  |  Ja  | 
|  Amazon-DNS-Resolver in einer Amazon VPC in einer Opt-in-Region  |  Nein, die Anfrage wird an die Region USA Ost (Nord-Virginia) weitergeleitet.  | 
|  DNS-Resolver Ihres ISP, eines öffentlichen DNS-Anbieters oder eines anderen DNS-Anbieters  |  Nein, die Anfrage wird an die Region USA Ost (Nord-Virginia) weitergeleitet.  | 

Um sicherzustellen, dass Ihre bestehenden Prozesse so wenig wie möglich gestört werden, AWS hat das Unternehmen die folgenden Maßnahmen ergriffen:
+ AWS CloudTrail Protokolle für Anfragen an den AWS STS globalen Endpunkt werden an die Region USA Ost (Nord-Virginia) gesendet. CloudTrail Protokolle für Anfragen, die von AWS STS regionalen Endpunkten bedient werden, werden weiterhin in CloudTrail der jeweiligen Region protokolliert.
+ CloudTrail Protokolle für Operationen, die vom AWS STS globalen Endpunkt und den regionalen Endpunkten ausgeführt werden, enthalten zusätzliche Felder`endpointType`, in denen angegeben wird`awsServingRegion`, welcher Endpunkt und welche Region die Anfrage bearbeitet haben. Beispiele für CloudTrail Protokolle finden Sie unter[Beispiel für ein AWS STS API-Ereignis, das den globalen Endpunkt in der Protokolldatei verwendet CloudTrail](cloudtrail-integration.md#stscloudtrailexample-assumerole-sts-global-endpoint).
+ Anfragen an den AWS STS globalen Endpunkt haben `us-east-1` für den `aws:RequestedRegion` Bedingungsschlüssel den Wert von, unabhängig davon, welche Region die Anfrage bearbeitet hat.
+ Anfragen, die vom AWS STS globalen Endpunkt bearbeitet werden, teilen sich nicht die Quote für Anfragen pro Sekunde mit regionalen AWS STS Endpunkten.

Wenn Sie Workloads in einer Opt-in-Region haben und trotzdem den AWS STS globalen Endpunkt verwenden, empfehlen wir Ihnen, zur Verbesserung der Ausfallsicherheit und Leistung auf AWS STS regionale Endpunkte zu migrieren. *Weitere Informationen zur Konfiguration regionaler AWS STS Endpunkte finden Sie unter Regionale Endpunkte im Referenzhandbuch und im [AWS STS Tools-Referenzhandbuch](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sts-regionalized-endpoints.html).AWS SDKs *

## AWS CloudTrail und regionale Endpunkte
<a name="sts-regions-cloudtrail"></a>

Anrufe an regionale und globale Endpunkte werden im `tlsDetails`-Feld in AWS CloudTrail angemeldet. Anrufe an regionale Endpunkte, z. B.`us-east-2.amazonaws.com`, werden in der CloudTrail entsprechenden Region angemeldet. Aufrufe des globalen Endpunkts, z. B. `sts.amazonaws.com`, werden als Aufrufe eines globalen Services protokolliert. Ereignisse für globale AWS STS Endpunkte werden in us-east-1 protokolliert.

**Anmerkung**  
 `tlsDetails` kann nur für Services eingesehen werden, die dieses Feld unterstützen. [https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-tls-details.html](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-tls-details.html)  
Weitere Informationen finden Sie unter [Protokollierung von IAM- und AWS STS API-Aufrufen mit AWS CloudTrail](cloudtrail-integration.md).

# Benutzerdefinierten Identity Broker-Zugriff auf die AWS Konsole aktivieren
<a name="id_roles_providers_enable-console-custom-url"></a>

Sie können Code schreiben und ausführen, um eine URL zu erstellen, über die Benutzer, die sich beim Netzwerk Ihrer Organisation anmelden, sicheren Zugriff auf die AWS-Managementkonsole haben. Die URL enthält ein Anmeldetoken, das Sie erhalten AWS und das den Benutzer authentifiziert. AWS Die daraus resultierende Konsolensitzung kann aufgrund eines Verbunds eine eindeutige `AccessKeyId` enthalten. [Informationen zur Verwendung des Zugriffsschlüssels für die Verbundanmeldung anhand verwandter CloudTrail Ereignisse finden Sie unter [Protokollierung von IAM- und AWS STS API-Aufrufen mit AWS CloudTrail](cloudtrail-integration.md) und AWS-Managementkonsole unter Anmeldeereignisse.](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-aws-console-sign-in-events.html) 

**Anmerkung**  
Wenn Ihre Organisation einen Identitätsanbieter (IdP) verwendet, der mit SAML kompatibel ist, können Sie den Zugriff auf die Konsole einrichten, ohne dass Code geschrieben werden muss. Dies funktioniert mit Anbietern wie Microsoft Active Directory Federation Services oder Open-Source-Shibboleth. Details hierzu finden Sie unter [Aktivieren des Zugriffs von SAML 2.0-Verbundprinzipalen auf AWS-Managementkonsole](id_roles_providers_enable-console-saml.md). 

Um den Benutzern Ihrer Organisation den Zugriff auf zu ermöglichen AWS-Managementkonsole, können Sie einen benutzerdefinierten *Identity Broker* erstellen, der die folgenden Schritte ausführt:

1. Überprüfen Sie, ob der Benutzer von Ihrem lokalen Identitätssystem authentifiziert ist.

1. Rufen Sie die Operationen AWS -Security-Token-Service (AWS STS) [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)(empfohlen) oder [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)API auf, um temporäre Sicherheitsanmeldeinformationen für den Benutzer abzurufen. 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). Weitere Informationen zur Übergabe optionaler Sitzungs-Tags bei Erhalt Ihrer Sicherheitsanmeldeinformationen finden Sie unter [Sitzungs-Tags übergeben AWS STS](id_session-tags.md).
   + Wenn Sie eine der `AssumeRole*` API-Operationen verwenden, um die temporären Sicherheitsanmeldeinformationen für eine Rolle zu erhalten, können Sie den Parameter `DurationSeconds` in Ihren Aufruf einschließen. Dieser Parameter gibt die Dauer Ihrer Rollensitzung von 900 Sekunden (15 Minuten) bis zur maximalen Sitzungsdauer für die Rolle an. Wenn Sie `DurationSeconds` in einer `AssumeRole*`-Operation verwenden, müssen Sie das als IAM-Benutzer mit langfristigen Anmeldeinformationen aufrufen. Andernfalls schlägt der Aufruf des Verbund-Endpunkts in Schritt 3 fällt. Weitere Informationen dazu, wie Sie den maximalen Wert für eine Rolle anzeigen oder ändern können, 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 `GetFederationToken`-API-Operation verwenden, um die Anmeldeinformationen zu erhalten, können Sie den `DurationSeconds`-Parameter in Ihre Aufruf aufnehmen. Dieser Parameter gibt die Dauer Ihrer Rollensitzung an. Der Wert kann im Bereich zwischen 900 Sekunden (15 Minuten) und 129 600 Sekunden (36 Stunden) liegen. Sie können diesen API-Aufruf nur mit den langfristigen AWS Sicherheitsanmeldedaten eines IAM-Benutzers ausführen. Sie können diese Aufrufe auch mit Root-Benutzer des AWS-Kontos Anmeldeinformationen tätigen, wir empfehlen dies jedoch nicht. Wenn Sie diesen Aufruf als Stammbenutzer tätigen, dauert die Standardsitzung eine Stunde. Sie können auch eine Sitzung zwischen 900 Sekunden (15 Minuten) und 3 600 Sekunden (eine Stunde) festlegen. 

1. Rufen Sie den AWS Verbundendpunkt auf und geben Sie die temporären Sicherheitsanmeldedaten ein, um ein Anmeldetoken anzufordern.

1. Erstellen Sie eine URL für die Konsole, die das Token enthält:
   + Wenn Sie eine der `AssumeRole*`-API-Operationen in Ihrer URL verwenden, können Sie den `SessionDuration`-HTTP-Parameter einschließen. Dieser Parameter gibt die Dauer der Konsolensitzung an, von 900 Sekunden (15 Minuten) bis 43 200 Sekunden (12 Stunden).
   + Wenn Sie die `GetFederationToken`-API-Operation in Ihrer URL verwenden, können Sie den `DurationSeconds`-Parameter einschließen. Dieser Parameter gibt die Dauer der verbundenen Konsolensitzung an. Der Wert kann im Bereich zwischen 900 Sekunden (15 Minuten) und 129 600 Sekunden (36 Stunden) liegen. 
**Anmerkung**  
Ihr `SessionDuration` darf nicht größer oder gleich der Einstellung für die maximale Sitzungsdauer für die von Ihnen übernommene Rolle sein. Sie haben beispielsweise die maximale Sitzungsdauer für die Rolle, die Sie übernehmen möchten, auf 5 Stunden festgelegt. Ihr `SessionDuration`-Parameter kann 16 524 Sekunden oder 4 Stunden und 59 Sekunden betragen.
Verwenden Sie nicht den HTTP-Parameter `SessionDuration`, wenn Sie temporäre Anmeldeinformationen mit `GetFederationToken` abrufen. Der Vorgang schlägt fehl.
Die Verwendung der Anmeldeinformationen für eine Rolle zur Übernahme einer anderen Rolle wird als [*Verketten von Rollen*](id_roles.md#iam-term-role-chaining) bezeichnet. Wenn Sie die Verkettung von Rollen verwenden, sind Ihre neuen Anmeldeinformationen auf eine maximale Dauer von einer Stunde begrenzt. Wenn Sie Rollen verwenden, um [Berechtigungen für Anwendungen zu erteilen, die auf EC2-Instances ausgeführt werden](id_roles_use_switch-role-ec2.md), unterliegen diese Anwendungen nicht dieser Einschränkung.
Verwenden Sie nicht den HTTP-Parameter `SessionDuration`, wenn Sie temporäre Anmeldeinformationen über Rollenverkettung abrufen. Der Vorgang schlägt fehl.

1. Geben Sie die URL an den Benutzer weiter oder rufen Sie sie im Namen des Benutzers auf.

Die vom Verbund-Endpunkt bereitgestellte URL ist 15 Minuten lang gültig, nachdem sie erstellt wurde. Dies unterscheidet sich von der Dauer (in Sekunden) der Sitzung mit temporären Sicherheitsanmeldeinformationen, die mit der URL verbunden ist. Diese Anmeldeinformationen sind für die Dauer gültig, die Sie beim Erstellen angegeben haben, beginnend ab dem Zeitpunkt der Erstellung.

**Wichtig**  
Die URL gewährt Zugriff auf Ihre AWS Ressourcen über die, AWS-Managementkonsole sofern Sie in den zugehörigen temporären Sicherheitsanmeldedaten die entsprechenden Berechtigungen aktiviert haben. Aus diesem Grund sollten Sie die URL geheim halten. Wir empfehlen, die URL über eine sichere Umleitung zurückzugeben, z. B. mittels eines HTTP-Antwortstatuscodes 302 über eine SSL-Verbindung. Weitere Informationen über den HTTP-Antwortstatuscode 302 finden Sie unter [RFC 2616, section 10.3.3](https://datatracker.ietf.org/doc/html/rfc2616#section-10.3.3).

Um diese Aufgaben zu erledigen, können Sie die [HTTPS Query API für AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/APIReference/) und die [AWS -Security-Token-Service (AWS STS) verwenden](https://docs.aws.amazon.com/STS/latest/APIReference/). Sie können aber auch Programmiersprachen, wie Java, Ruby oder C\$1, zusammen mit dem entsprechenden [AWS -SDK](https://aws.amazon.com/tools/), verwenden. Jede dieser Methoden wird in den folgenden Themen beschrieben.

**Topics**
+ [

## Beispielcode unter Verwendung von IAM-Abfrage-API-Operationen
](#STSConsoleLink_manual)
+ [

## Beispielcode unter Verwendung von Python
](#STSConsoleLink_programPython)
+ [

## Beispielcode unter Verwendung von Java
](#STSConsoleLink_programJava)
+ [

## Beispiel für das Erstellen einer URL (Ruby)
](#STSConsoleLink_programRuby)

## Beispielcode unter Verwendung von IAM-Abfrage-API-Operationen
<a name="STSConsoleLink_manual"></a>

Sie können eine URL erstellen, die Rollen und Verbundprinzipalen direkten Zugriff auf die AWS-Managementkonsole gewährt. Diese Aufgabe verwendet die IAM- und AWS STS HTTPS-Abfrage-API. Weitere Informationen zum Erstellen von Abfrageanforderungen finden Sie unter [Erstellen von Abfrageanforderungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html).

**Anmerkung**  
Das folgende Verfahren enthält Beispiele für Textzeichenfolgen. Zur Erhöhung der Lesbarkeit wurden Zeilenumbrüche zu einigen der längeren Beispiele hinzugefügt. Wenn Sie diese Zeichenfolgen zur eigenen Verwendung erstellen, sollten Sie keine Zeilenumbrüche setzen.

**Um Rollen und Verbundprinzipalen Zugriff auf Ihre Ressourcen zu gewähren AWS-Managementkonsole**

1. Authentifizieren Sie den Benutzer in Ihrem Identitäts- und Autorisierungssystem.

1. Rufen Sie temporäre Sicherheitsanmeldeinformationen für den Benutzer ab. Die temporären Anmeldeinformationen bestehen aus einer Zugriffsschlüssel-ID, einem geheimen Zugriffsschlüssel und einem Sitzungs-Token. Weitere Informationen über das Erstellen temporärer Anmeldeinformationen finden Sie unter [Temporäre IAM Sicherheitsanmeldeinformationen](id_credentials_temp.md).

   Um temporäre Anmeldeinformationen zu erhalten, rufen Sie entweder die AWS STS [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API (empfohlen) oder die [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)API auf. Weitere Informationen zu den Unterschieden zwischen diesen API-Vorgängen finden Sie im AWS Sicherheitsblog unter [Grundlegendes zu den API-Optionen für die sichere Delegierung des Zugriffs auf Ihr AWS Konto](https://aws.amazon.com/blogs/security/understanding-the-api-options-for-securely-delegating-access-to-your-aws-account).
**Wichtig**  
Wenn Sie die [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)API verwenden, um temporäre Sicherheitsanmeldedaten zu erstellen, müssen Sie die Berechtigungen angeben, die die Anmeldeinformationen dem Benutzer gewähren, der die Rolle übernimmt. Für alle API-Operationen, die mit `AssumeRole*` beginnen, verwenden Sie eine IAM-Rolle, um Berechtigungen zuzuweisen. Für die anderen API-Operationen hängt der Mechanismus von der API ab. Weitere Details finden Sie unter [Berechtigungen für temporäre Sicherheits-Anmeldeinformationen](id_credentials_temp_control-access.md). Wenn Sie die `AssumeRole*`-API-Operationen verwenden, müssen Sie sie außerdem als IAM-Benutzer mit langfristigen Anmeldeinformationen aufrufen. Andernfalls schlägt der Aufruf des Verbund-Endpunkts in Schritt 3 fällt.  


1. Nachdem Sie die temporären Sicherheitsanmeldeinformationen abgerufen haben, integrieren Sie sie in eine JSON-Sitzungs-Zeichenfolge, um sie geben ein Anmelde-Token zu tauschen. Im folgenden Beispiel wird gezeigt, wie Sie die Anmeldeinformationen codieren. Ersetzen Sie den Platzhaltertext durch die entsprechenden Werte aus den Anmeldeinformationen, die Sie im vorherigen Schritt erhalten haben.

   ```
   {"sessionId":"*** temporary access key ID ***",
   "sessionKey":"*** temporary secret access key ***",
   "sessionToken":"*** session token ***"}
   ```

1. Führen Sie eine [URL-Codierung](https://en.wikipedia.org/wiki/Percent-encoding) der Sitzungs-Zeichenfolge aus dem vorherigen Schritt durch. Da die Informationen, die Sie codieren, sensibel sind, raten wir davon ab, einen Webservice für diese Codierung zu verwenden. Verwenden Sie stattdessen ein lokal installiertes Feature in Ihrem Entwicklungs-Toolkits, um diese Informationen sicher zu codieren. Sie können die Funktion `urllib.quote_plus` in Python, die Funktion `URLEncoder.encode`in Java oder die Funktion `CGI.escape` in Ruby verwenden. Beispiele finden Sie an späterer Stelle in diesem Thema.

1. <a name="STSConsoleLink_manual_step5"></a>
**Anmerkung**  
AWS unterstützt hier POST-Anfragen.

   Senden Sie Ihre Anfrage an den AWS Föderationsendpunkt:

   `https://region-code.signin.aws.amazon.com/federation` 

   Eine Liste möglicher *region-code* Werte finden Sie in der Spalte **Region** unter [AWS Anmelde-Endpunkte](https://docs.aws.amazon.com/general/latest/gr/signin-service.html). Sie können optional den standardmäßigen AWS Anmeldendpunkt für den Verbund verwenden:

   `https://signin.aws.amazon.com/federation` 

   Die Anforderung muss die `Action`- und `Session`-Parameter enthalten und (optional) – wenn Sie eine [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)-API-Operation verwendet haben – einen `SessionDuration`-HTTP-Parameter, wie im folgenden Beispiel gezeigt.

   ```
   Action = getSigninToken
   SessionDuration = time in seconds
   Session = *** the URL encoded JSON string created in steps 3 & 4 ***
   ```
**Anmerkung**  
Die folgenden Anweisungen in diesem Schritt funktionieren nur mithilfe von GET-Anforderungen.

   Der `SessionDuration`-HTTP-Parameter gibt die Dauer der Konsolensitzung an. Dies ist von der Dauer der temporären Anmeldeinformationen, die Sie mit dem `DurationSeconds`-Parameter angeben, unabhängig. Sie können für `SessionDuration` einen maximalen Wert von 43200 (12 Stunden) festlegen. Wenn der `SessionDuration` Parameter fehlt, wird für die Sitzung standardmäßig die Dauer der Anmeldeinformationen verwendet, die Sie AWS STS in Schritt 2 abgerufen haben (standardmäßig eine Stunde). Details zur Festlegung der Dauer unter Verwendung des Parameters `DurationSeconds` finden Sie in der [-Dokumentation für die `AssumeRole`-API](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html). Die Möglichkeit zum Erstellen einer Konsolensitzung, die länger als eine Stunde dauert, ist eine intrinsische `getSigninToken`-Operation des Verbund-Endpunkts.
**Anmerkung**  
Ihr `SessionDuration` darf nicht größer oder gleich der Einstellung für die maximale Sitzungsdauer für die von Ihnen übernommene Rolle sein. Sie haben beispielsweise die maximale Sitzungsdauer für die Rolle, die Sie übernehmen möchten, auf 5 Stunden festgelegt. Ihr `SessionDuration`-Parameter kann 16 524 Sekunden oder 4 Stunden und 59 Sekunden betragen.
Verwenden Sie nicht den HTTP-Parameter `SessionDuration`, wenn Sie temporäre Anmeldeinformationen mit `GetFederationToken` abrufen. Der Vorgang schlägt fehl.
Die Verwendung der Anmeldeinformationen für eine Rolle zur Übernahme einer anderen Rolle wird als [*Verketten von Rollen*](id_roles.md#iam-term-role-chaining) bezeichnet. Wenn Sie die Verkettung von Rollen verwenden, sind Ihre neuen Anmeldeinformationen auf eine maximale Dauer von einer Stunde begrenzt. Wenn Sie Rollen verwenden, um [Berechtigungen für Anwendungen zu erteilen, die auf EC2-Instances ausgeführt werden](id_roles_use_switch-role-ec2.md), unterliegen diese Anwendungen nicht dieser Einschränkung.
Verwenden Sie nicht den HTTP-Parameter `SessionDuration`, wenn Sie temporäre Anmeldeinformationen über Rollenverkettung abrufen. Der Vorgang schlägt fehl.

   Wenn Sie Konsolensitzungen mit einer erweiterten Dauer aktivieren, erhöhen Sie das Risiko einer Aufdeckung der Anmeldeinformationen. Um dieses Risiko zu minimieren, können Sie die aktiven Konsolensitzungen für jede Rolle direkt deaktivieren, indem Sie **Revoke Sessions** (Sitzungen aufheben) auf der Seite **Role Summary** (Rollenübersicht) in der IAM-Konsole wählen. Weitere Informationen finden Sie unter [Temporäre Sicherheitsanmeldeinformationen der IAM-Rolle widerrufen](id_roles_use_revoke-sessions.md). 

    Das folgende Beispiel zeigt, wie die Anforderung aussehen kann. Die Zeilen sind hier für bessere Lesbarkeit gebrochen, die Zeichenfolge sollte aber in einer Zeile übermittelt werden.

   ```
   https://signin.aws.amazon.com/federation
   ?Action=getSigninToken
   &SessionDuration=1800
   &Session=%7B%22sessionId%22%3A+%22ASIAJUMHIZPTOKTBMK5A%22%2C+%22sessionKey%22
   %3A+%22LSD7LWI%2FL%2FN%2BgYpan5QFz0XUpc8s7HYjRsgcsrsm%22%2C+%22sessionToken%2
   2%3A+%22FQoDYXdzEBQaDLbj3VWv2u50NN%2F3yyLSASwYtWhPnGPMNmzZFfZsL0Qd3vtYHw5A5dW
   AjOsrkdPkghomIe3mJip5%2F0djDBbo7SmO%2FENDEiCdpsQKodTpleKA8xQq0CwFg6a69xdEBQT8
   FipATnLbKoyS4b%2FebhnsTUjZZQWp0wXXqFF7gSm%2FMe2tXe0jzsdP0O12obez9lijPSdF1k2b5
   PfGhiuyAR9aD5%2BubM0pY86fKex1qsytjvyTbZ9nXe6DvxVDcnCOhOGETJ7XFkSFdH0v%2FYR25C
   UAhJ3nXIkIbG7Ucv9cOEpCf%2Fg23ijRgILIBQ%3D%3D%22%7D
   ```

   Die Antwort des Verbund-Endpunkts ist ein JSON-Dokument mit einem `SigninToken`-Wert. Er sollte wie im folgenden Beispiel aussehen.

   ```
   {"SigninToken":"*** the SigninToken string ***"}
   ```

1. 
**Anmerkung**  
AWS unterstützt hier POST-Anfragen.

   Schließlich erstellen Sie die URL, die Ihre Benutzer für den Zugriff auf die AWS-Managementkonsole verwenden können. Die URL ist derselbe Verbund-URL-Endpunkt, den Sie in [Step 5](#STSConsoleLink_manual_step5) verwendet haben, plus die folgenden Parameter:

   ```
   ?Action = login
   &Issuer = *** the form-urlencoded URL for your internal sign-in page ***
   &Destination = *** the form-urlencoded URL to the desired AWS console page ***
   &SigninToken = *** the value of SigninToken received in the previous step ***
   ```
**Anmerkung**  
Die folgenden Anweisungen in diesem Schritt funktionieren nur mithilfe von GET-API.

   Das folgende Beispiel zeigt, wie die endgültige URL aussehen könnte. Die URL ist ab dem Zeitpunkt, zu dem sie erstellt wurde, 15 Minuten lang gültig. Die temporären Sicherheitsanmeldeinformationen und die in der URL eingebettete Konsolensitzung ist für die Dauer gültig, die Sie bei der ersten Anforderung im `SessionDuration`-HTTP-Parameter angegeben haben. 

   ```
   https://signin.aws.amazon.com/federation
   ?Action=login
   &Issuer=https%3A%2F%2Fexample.com
   &Destination=https%3A%2F%2Fconsole.aws.amazon.com%2F
   &SigninToken=VCQgs5qZZt3Q6fn8Tr5EXAMPLEmLnwB7JjUc-SHwnUUWabcRdnWsi4DBn-dvC
   CZ85wrD0nmldUcZEXAMPLE-vXYH4Q__mleuF_W2BE5HYexbe9y4Of-kje53SsjNNecATfjIzpW1
   WibbnH6YcYRiBoffZBGExbEXAMPLE5aiKX4THWjQKC6gg6alHu6JFrnOJoK3dtP6I9a6hi6yPgm
   iOkPZMmNGmhsvVxetKzr8mx3pxhHbMEXAMPLETv1pij0rok3IyCR2YVcIjqwfWv32HU2Xlj471u
   3fU6uOfUComeKiqTGX974xzJOZbdmX_t_lLrhEXAMPLEDDIisSnyHGw2xaZZqudm4mo2uTDk9Pv
   9l5K0ZCqIgEXAMPLEcA6tgLPykEWGUyH6BdSC6166n4M4JkXIQgac7_7821YqixsNxZ6rsrpzwf
   nQoS14O7R0eJCCJ684EXAMPLEZRdBNnuLbUYpz2Iw3vIN0tQgOujwnwydPscM9F7foaEK3jwMkg
   Apeb1-6L_OB12MZhuFxx55555EXAMPLEhyETEd4ZulKPdXHkgl6T9ZkIlHz2Uy1RUTUhhUxNtSQ
   nWc5xkbBoEcXqpoSIeK7yhje9Vzhd61AEXAMPLElbWeouACEMG6-Vd3dAgFYd6i5FYoyFrZLWvm
   0LSG7RyYKeYN5VIzUk3YWQpyjP0RiT5KUrsUi-NEXAMPLExMOMdoODBEgKQsk-iu2ozh6r8bxwC
   RNhujg
   ```

## Beispielcode unter Verwendung von Python
<a name="STSConsoleLink_programPython"></a>

Das folgende Beispiel zeigt, wie Sie mit Python programmgesteuert eine URL erstellen können, die Benutzern direkten Zugriff auf die AWS-Managementkonsole gewährt. Es gibt zwei Beispiele:
+ Föderieren Sie über GET-Anfragen an AWS
+ Verbinden Sie sich über POST-Anfragen an AWS

Beide Beispiele verwenden die [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API [AWS SDK für Python (Boto3)](https://aws.amazon.com/tools/)und, um temporäre Sicherheitsanmeldedaten abzurufen.

Geben Sie `SessionDuration` nicht an, wenn Ihre `AssumeRoleSession`-Anmeldeinformationen aus einer Rollenverkettung stammen. Wenn Sie `SessionDuration` angeben, schlägt der Vorgang fehl.

### GET-Anforderungen verwenden
<a name="post-api-py-example"></a>

```
import urllib, json, sys
import requests # 'pip install requests'
import boto3 # AWS SDK for Python (Boto3) 'pip install boto3'

# Step 1: Authenticate user in your own identity system.

# Step 2: Using the access keys for an IAM user in your AWS-Konto,
# call "AssumeRole" to get temporary access keys for the role or federated principal

# Note: Calls to AWS STS AssumeRole must be signed using the access key ID 
# and secret access key of an IAM user or using existing temporary credentials.
# The credentials can be in Amazon EC2 instance metadata, in environment variables, 
# or in a configuration file, and will be discovered automatically by the 
# client('sts') function. For more information, see the Python SDK docs:
# http://boto3.readthedocs.io/en/latest/reference/services/sts.html
# http://boto3.readthedocs.io/en/latest/reference/services/sts.html#STS.Client.assume_role
sts_connection = boto3.client('sts')

assumed_role_object = sts_connection.assume_role(
    RoleArn="arn:aws:iam::account-id:role/ROLE-NAME",
    RoleSessionName="AssumeRoleSession",
)

# Step 3: Format resulting temporary credentials into JSON
url_credentials = {}
url_credentials['sessionId'] = assumed_role_object.get('Credentials').get('AccessKeyId')
url_credentials['sessionKey'] = assumed_role_object.get('Credentials').get('SecretAccessKey')
url_credentials['sessionToken'] = assumed_role_object.get('Credentials').get('SessionToken')
json_string_with_temp_credentials = json.dumps(url_credentials)

# Step 4. Make request to AWS federation endpoint to get sign-in token. Construct the parameter string with
# the sign-in action request, a 12-hour session duration, and the JSON document with temporary credentials 
# as parameters.
request_parameters = "?Action=getSigninToken"
request_parameters += "&SessionDuration=43200"
if sys.version_info[0] < 3:
    def quote_plus_function(s):
        return urllib.quote_plus(s)
else:
    def quote_plus_function(s):
        return urllib.parse.quote_plus(s)
request_parameters += "&Session=" + quote_plus_function(json_string_with_temp_credentials)
request_url = "https://signin.aws.amazon.com/federation" + request_parameters
r = requests.get(request_url)
# Returns a JSON document with a single element named SigninToken.
signin_token = json.loads(r.text)

# Step 5: Create URL where users can use the sign-in token to sign in to 
# the console. This URL must be used within 15 minutes after the
# sign-in token was issued.
request_parameters = "?Action=login" 
request_parameters += "&Issuer=Example.org" 
request_parameters += "&Destination=" + quote_plus_function("https://console.aws.amazon.com/")
request_parameters += "&SigninToken=" + signin_token["SigninToken"]
request_url = "https://signin.aws.amazon.com/federation" + request_parameters

# Send final URL to stdout
print (request_url)
```

### GET-Anforderungen verwenden
<a name="get-api-py-example-1"></a>

```
import urllib, json, sys
import requests # 'pip install requests'
import boto3 # AWS SDK for Python (Boto3) 'pip install boto3'
import os
from selenium import webdriver # 'pip install selenium', 'brew install chromedriver'

# Step 1: Authenticate user in your own identity system.

# Step 2: Using the access keys for an IAM user in your A AWS-Konto,
# call "AssumeRole" to get temporary access keys for the role or federated principal

# Note: Calls to AWS STS AssumeRole must be signed using the access key ID 
# and secret access key of an IAM user or using existing temporary credentials.
# The credentials can be in Amazon EC2 instance metadata, in environment variables, 

# or in a configuration file, and will be discovered automatically by the 
# client('sts') function. For more information, see the Python SDK docs:
# http://boto3.readthedocs.io/en/latest/reference/services/sts.html
# http://boto3.readthedocs.io/en/latest/reference/services/sts.html#STS.Client.assume_role
if sys.version_info[0] < 3:
    def quote_plus_function(s):
        return urllib.quote_plus(s)
else:
    def quote_plus_function(s):
        return urllib.parse.quote_plus(s)

sts_connection = boto3.client('sts')

assumed_role_object = sts_connection.assume_role(
    RoleArn="arn:aws:iam::account-id:role/ROLE-NAME",
    RoleSessionName="AssumeRoleDemoSession",
)

# Step 3: Format resulting temporary credentials into JSON
url_credentials = {}
url_credentials['sessionId'] = assumed_role_object.get('Credentials').get('AccessKeyId')
url_credentials['sessionKey'] = assumed_role_object.get('Credentials').get('SecretAccessKey')
url_credentials['sessionToken'] = assumed_role_object.get('Credentials').get('SessionToken')
json_string_with_temp_credentials = json.dumps(url_credentials)

# Step 4. Make request to AWS federation endpoint to get sign-in token. Construct the parameter string with
# the sign-in action request, a 12-hour session duration, and the JSON document with temporary credentials 
# as parameters.
request_parameters = {}
request_parameters['Action'] = 'getSigninToken'
request_parameters['SessionDuration'] = '43200'
request_parameters['Session'] = json_string_with_temp_credentials

request_url = "https://signin.aws.amazon.com/federation"
r = requests.post( request_url, data=request_parameters)

# Returns a JSON document with a single element named SigninToken.
signin_token = json.loads(r.text)

# Step 5: Create a POST request where users can use the sign-in token to sign in to 
# the console. The POST request must be made within 15 minutes after the
# sign-in token was issued.
request_parameters = {}
request_parameters['Action'] = 'login'
request_parameters['Issuer']='Example.org'
request_parameters['Destination'] = 'https://console.aws.amazon.com/'
request_parameters['SigninToken'] =signin_token['SigninToken']

jsrequest = '''
var form = document.createElement('form');
form.method = 'POST';
form.action = '{request_url}';
request_parameters = {request_parameters}
for (var param in request_parameters) {{
    if (request_parameters.hasOwnProperty(param)) {{
        const hiddenField = document.createElement('input');
        hiddenField.type = 'hidden';
        hiddenField.name = param;
        hiddenField.value = request_parameters[param];
        form.appendChild(hiddenField);
    }}
}}
document.body.appendChild(form);
form.submit();
'''.format(request_url=request_url, request_parameters=request_parameters)

driver = webdriver.Chrome()
driver.execute_script(jsrequest)
input("Press Enter to close the browser window...")
```

## Beispielcode unter Verwendung von Java
<a name="STSConsoleLink_programJava"></a>

Das folgende Beispiel zeigt, wie Sie mit Java programmgesteuert eine URL erstellen können, die Benutzern direkten Zugriff auf die AWS-Managementkonsole gewährt. Das folgende Codefragment verwendet das [AWS SDK for Java](https://aws.amazon.com/documentation/sdkforjava/).

```
import java.net.URLEncoder;
import java.net.URL;
import java.net.URLConnection;
import java.io.BufferedReader;
import java.io.InputStreamReader;
// Available at http://www.json.org/java/index.html
import org.json.JSONObject;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient;
import com.amazonaws.services.securitytoken.model.Credentials;
import com.amazonaws.services.securitytoken.model.GetFederationTokenRequest;
import com.amazonaws.services.securitytoken.model.GetFederationTokenResult;


/* Calls to AWS STS API operations must be signed using the access key ID 
   and secret access key of an IAM user or using existing temporary 
   credentials. The credentials should not be embedded in code. For 
   this example, the code looks for the credentials in a 
   standard configuration file.
*/
AWSCredentials credentials = 
  new PropertiesCredentials(
         AwsConsoleApp.class.getResourceAsStream("AwsCredentials.properties"));

AWSSecurityTokenServiceClient stsClient = 
  new AWSSecurityTokenServiceClient(credentials);

GetFederationTokenRequest getFederationTokenRequest = 
  new GetFederationTokenRequest();
getFederationTokenRequest.setDurationSeconds(1800);
getFederationTokenRequest.setName("UserName");

// A sample policy for accessing Amazon Simple Notification Service (Amazon SNS) in the console.

String policy = "{\"Version\":\"2012-10-17\",		 	 	 \"Statement\":[{\"Action\":\"sns:*\"," +
  "\"Effect\":\"Allow\",\"Resource\":\"*\"}]}";

getFederationTokenRequest.setPolicy(policy);

GetFederationTokenResult federationTokenResult = 
  stsClient.getFederationToken(getFederationTokenRequest);

Credentials federatedCredentials = federationTokenResult.getCredentials();

// The issuer parameter specifies your internal sign-in
// page, for example https://mysignin.internal.mycompany.com/.
// The console parameter specifies the URL to the destination console of the
// AWS Management Console. This example goes to Amazon SNS. 
// The signin parameter is the URL to send the request to.

String issuerURL = "https://mysignin.internal.mycompany.com/";
String consoleURL = "https://console.aws.amazon.com/sns";
String signInURL = "https://signin.aws.amazon.com/federation";
  
// Create the sign-in token using temporary credentials,
// including the access key ID,  secret access key, and session token.
String sessionJson = String.format(
  "{\"%1$s\":\"%2$s\",\"%3$s\":\"%4$s\",\"%5$s\":\"%6$s\"}",
  "sessionId", federatedCredentials.getAccessKeyId(),
  "sessionKey", federatedCredentials.getSecretAccessKey(),
  "sessionToken", federatedCredentials.getSessionToken());
              
// Construct the sign-in request with the request sign-in token action, a
// 12-hour console session duration, and the JSON document with temporary 
// credentials as parameters.

String getSigninTokenURL = signInURL + 
                           "?Action=getSigninToken" +
                           "&DurationSeconds=43200" + 
                           "&SessionType=json&Session=" + 
                           URLEncoder.encode(sessionJson,"UTF-8");

URL url = new URL(getSigninTokenURL);

// Send the request to the AWS federation endpoint to get the sign-in token
URLConnection conn = url.openConnection ();

BufferedReader bufferReader = new BufferedReader(new 
  InputStreamReader(conn.getInputStream()));  
String returnContent = bufferReader.readLine();

String signinToken = new JSONObject(returnContent).getString("SigninToken");

String signinTokenParameter = "&SigninToken=" + URLEncoder.encode(signinToken,"UTF-8");

// The issuer parameter is optional, but recommended. Use it to direct users
// to your sign-in page when their session expires.

String issuerParameter = "&Issuer=" + URLEncoder.encode(issuerURL, "UTF-8");

// Finally, present the completed URL for the AWS console session to the user

String destinationParameter = "&Destination=" + URLEncoder.encode(consoleURL,"UTF-8");
String loginURL = signInURL + "?Action=login" +
                     signinTokenParameter + issuerParameter + destinationParameter;
```

## Beispiel für das Erstellen einer URL (Ruby)
<a name="STSConsoleLink_programRuby"></a>

Das folgende Beispiel zeigt, wie Sie mit Ruby programmgesteuert eine URL erstellen können, die Benutzern direkten Zugriff auf die AWS-Managementkonsole gewährt. Dieses Codefragment verwendet das [AWS SDK for Ruby](https://aws.amazon.com/documentation/sdkforruby/). 

```
require 'rubygems'
require 'json'
require 'open-uri'
require 'cgi'
require 'aws-sdk'

# Create a new STS instance
# 
# Note: Calls to AWS STS API operations must be signed using an access key ID 
# and secret access key. The credentials can be in EC2 instance metadata 
# or in environment variables and will be automatically discovered by
# the default credentials provider in the AWS Ruby SDK. 
sts = Aws::STS::Client.new()

# The following call creates a temporary session that returns 
# temporary security credentials and a session token.
# The policy grants permissions to work
# in the AWS SNS console.

session = sts.get_federation_token({
  duration_seconds: 1800,
  name: "UserName",
  policy: "{\"Version\":\"2012-10-17\",		 	 	 \"Statement\":{\"Effect\":\"Allow\",\"Action\":\"sns:*\",\"Resource\":\"*\"}}",
})

# The issuer value is the URL where users are directed (such as
# to your internal sign-in page) when their session expires.
#
# The console value specifies the URL to the destination console.
# This example goes to the Amazon SNS console.
#
# The sign-in value is the URL of the AWS STS federation endpoint.
issuer_url = "https://mysignin.internal.mycompany.com/"
console_url = "https://console.aws.amazon.com/sns"
signin_url = "https://signin.aws.amazon.com/federation"

# Create a block of JSON that contains the temporary credentials
# (including the access key ID, secret access key, and session token).
session_json = {
  :sessionId => session.credentials[:access_key_id],
  :sessionKey => session.credentials[:secret_access_key],
  :sessionToken => session.credentials[:session_token]
}.to_json

# Call the federation endpoint, passing the parameters
# created earlier and the session information as a JSON block. 
# The request returns a sign-in token that's valid for 15 minutes.
# Signing in to the console with the token creates a session 
# that is valid for 12 hours.
get_signin_token_url = signin_url + 
                       "?Action=getSigninToken" + 
                       "&SessionType=json&Session=" + 
                       CGI.escape(session_json)

returned_content = URI.parse(get_signin_token_url).read

# Extract the sign-in token from the information returned
# by the federation endpoint.
signin_token = JSON.parse(returned_content)['SigninToken']
signin_token_param = "&SigninToken=" + CGI.escape(signin_token)

# Create the URL to give to the user, which includes the
# sign-in token and the URL of the console to open.
# The "issuer" parameter is optional but recommended.
issuer_param = "&Issuer=" + CGI.escape(issuer_url)
destination_param = "&Destination=" + CGI.escape(console_url)
login_url = signin_url + "?Action=login" + signin_token_param + 
  issuer_param + destination_param
```

# Tags für AWS Identity and Access Management Ressourcen
<a name="id_tags"></a>

Ein *Tag* ist eine benutzerdefinierte Attributbezeichnung, die Sie einer AWS -Ressource zuweisen können. Jedes -Tag besteht aus zwei Teilen:
+ einem *Tag-Schlüssel* (z. B. `CostCenter`, `Environment`, `Project` oder `Purpose`).
+ einem optionalen Feld, das als *Tag-Wert* bezeichnet wird (z. B. `111122223333`, `Production` oder ein Team-Name). Ein nicht angegebener Tag-Wert entspricht einer leeren Zeichenfolge.

Zusammen werden sie als Schlüssel-Wert-Paare bezeichnet. Informationen zu Beschränkungen für die Anzahl der Tags, die Sie für IAM-Ressourcen haben können, finden Sie unter [IAM und Kontingente AWS STS](reference_iam-quotas.md).

**Anmerkung**  
Einzelheiten zur Berücksichtigung der Groß- und Kleinschreibung bei Tag-Schlüsseln und Tag-Schlüsselwerten finden Sie unter [Case sensitivity](#case-sensitivity).

Mithilfe von Tags können Sie Ihre AWS Ressourcen identifizieren und organisieren. Viele AWS Dienste unterstützen Tagging, sodass Sie Ressourcen aus verschiedenen Diensten dasselbe Tag zuweisen können, um anzuzeigen, dass die Ressourcen miteinander verknüpft sind. Sie können beispielsweise das gleiche Tag einer IAM-Rolle zuweisen, das Sie einem Amazon S3-Bucket zuweisen. Weitere Informationen zu Tagging-Strategien finden Sie im Benutzerhandbuch zum *[Markieren von AWS Ressourcen](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)*.

Sie können Ihre IAM-Ressourcen nicht nur mit Tags identifizieren, organisieren und verfolgen, sondern auch Tags in IAM-Richtlinien verwenden, um zu kontrollieren, wer Ihre Ressourcen anzeigen und mit ihnen interagieren kann. Weitere Informationen über die Verwendung von Tags zur Zugriffskontrolle finden Sie unter [Steuerung des Zugriffs auf und für IAM-Benutzer und IAM-Rollen mithilfe von Tags](access_iam-tags.md).

Sie können Tags auch verwenden AWS STS , um benutzerdefinierte Attribute hinzuzufügen, wenn Sie eine Rolle übernehmen oder einen Benutzer zusammenschließen. Weitere Informationen finden Sie unter [Sitzungs-Tags übergeben AWS STS](id_session-tags.md).

**Topics**
+ [

## Wählen Sie eine Konvention zur Benennung von AWS Tags
](#id_tags_naming)
+ [

## Regeln für das Tagging in IAM und AWS STS
](#id_tags_rules)
+ [

# Markieren von IAM-Benutzern
](id_tags_users.md)
+ [

# Markieren von IAM-Rollen
](id_tags_roles.md)
+ [

# Markieren von von Kunden verwaltete Richtlinien
](id_tags_customer-managed-policies.md)
+ [

# OpenID Connect (OIDC)-Identitätsanbieter mit Tags versehen
](id_tags_oidc.md)
+ [

# Markieren von IAM-SAML-Identitätsanbieter
](id_tags_saml.md)
+ [

# Kennzeichnen von Instance-Profilen für Amazon-EC2-Rollen
](id_tags_instance-profiles.md)
+ [

# Markieren von Serverzertifikaten
](id_tags_server-certificates.md)
+ [

# Markieren virtueller MFA-Geräte
](id_tags_virtual-mfa.md)
+ [

# Sitzungs-Tags übergeben AWS STS
](id_session-tags.md)

## Wählen Sie eine Konvention zur Benennung von AWS Tags
<a name="id_tags_naming"></a>

Wenn Sie mit dem Anfügen von Tags an Ihre IAM-Ressourcen beginnen möchten, wählen Sie Ihre Tag-Benennungskonvention sorgfältig. Wenden Sie dieselbe Konvention auf alle Ihre AWS Tags an. Dies ist besonders wichtig, wenn Sie Tags in Richtlinien verwenden, um den Zugriff auf AWS Ressourcen zu kontrollieren. Wenn Sie bereits Tags in AWS verwenden, überprüfen Sie Ihre Namenskonvention und passen Sie sie entsprechend an.

**Anmerkung**  
Wenn Ihr Konto Mitglied von ist AWS Organizations, finden Sie unter [Tag-Richtlinien](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) im AWS Organizations Benutzerhandbuch weitere Informationen zur Verwendung von Tags in AWS Organizations.

### Best Practices für Tag-Benennung
<a name="id_tags_naming_best_practices"></a>

Dies sind einige Best Practices und Namenskonventionen für Tags.

Stellen Sie sicher, dass Tag-Namen konsistent verwendet werden. Zum Beispiel sind die Tags `CostCenter` und `costcenter` unterschiedlich, sodass eines möglicherweise als Kostenverteilungs-Tag für Finanzanalysen und Berichte konfiguriert ist und das andere möglicherweise nicht. In ähnlicher Weise wird das `Name` Tag für viele Ressourcen in der AWS Konsole angezeigt, das `name` Tag jedoch nicht. Einzelheiten zur Berücksichtigung der Groß- und Kleinschreibung bei Tag-Schlüsseln und Tag-Schlüsselwerten finden Sie unter [Case sensitivity](#case-sensitivity).

Eine Reihe von Tags ist von verschiedenen AWS Diensten vordefiniert AWS oder wird automatisch von diesen erstellt. Bei vielen AWS-definierten Tagnamen werden ausschließlich Kleinbuchstaben verwendet, wobei Wörter im Namen durch Bindestriche voneinander getrennt werden, und Präfixe, um den Quelldienst für das Tag zu identifizieren. Beispiel: 
+ `aws:ec2spot:fleet-request-id`identifiziert die Amazon EC2 Spot-Instance-Anfrage, mit der die Instance gestartet wurde.
+ `aws:cloudformation:stack-name`identifiziert den CloudFormation Stack, der die Ressource erstellt hat. 
+ `elasticbeanstalk:environment-name` identifiziert die Anwendung, die die Ressource erstellt hat.

Benennen Sie Ihre Tags in Kleinbuchstaben, mit Bindestrichen, die Wörter trennen, und einem Präfix, das den Namen der Organisation oder den abgekürzten Namen identifiziert. Für ein fiktives Unternehmen mit dem Namen könnten Sie *AnyCompany*beispielsweise Tags definieren wie:
+ `anycompany:cost-center`, um den internen Cost Center-Code zu identifizieren 
+ `anycompany:environment-type`, um festzustellen, ob es sich bei der Umgebung um Entwicklung, Test oder Produktion handelt
+ `anycompany:application-id`, um die Anwendung zu identifizieren, für die die Ressource erstellt wurde 

Das Präfix stellt sicher, dass Tags eindeutig als von Ihrer Organisation definiert wurden und nicht von AWS einem Drittanbieter-Tool, das Sie möglicherweise verwenden. Die Verwendung von Kleinbuchstaben mit Bindestrichen für Trennzeichen vermeidet Verwirrung bei der Großschreibung eines Tag-Namens. Zum Beispiel ist es einfacher, sich `anycompany:project-id` zu merken als `ANYCOMPANY:ProjectID`, `anycompany:projectID` oder`Anycompany:ProjectId`.

## Regeln für das Tagging in IAM und AWS STS
<a name="id_tags_rules"></a>

Eine Reihe von Konventionen reguliert die Erstellung und Anwendung von Tags in IAM und AWS STS.

### Benennen von Tags
<a name="id_tags_rules_creating"></a>

Beachten Sie bei der Formulierung einer Konvention zur Benennung von Tags für IAM-Ressourcen, Sitzungen mit übernommener AWS STS Rolle und Verbundbenutzersitzungen die folgenden Konventionen: AWS STS 

**Zeichenanforderungen** – Tag-Schlüssel und -Werte können eine beliebige Kombination aus Buchstaben, Zahlen, Leerzeichen und den Symbolen \$1 . : / = \$1 - @ enthalten.

**Groß-/Kleinschreibung** – Die Berücksichtigung der Groß-/Kleinschreibung für Tag-Schlüssel hängt vom Typ der getaggten IAM-Ressource ab. Tag-Schlüsselwerte für IAM-Benutzer und IAM-Rollen unterscheiden nicht zwischen Groß-/Kleinschreibung, die Groß-/Kleinschreibung wird jedoch berücksichtigt. Dies bedeutet, dass Sie keine separaten **Department**- und **department**-Tag-Schlüssel haben können. Wenn Sie einen Benutzer mit dem **Department=finance**-Tag markiert haben und Sie das **department=hr**-Tag hinzufügen, wird das erste Tag ersetzt. Ein zweites Tag wird nicht hinzugefügt.

Bei anderen IAM-Ressourcentypen wird bei Tag-Schlüsselwerten die Groß-/Kleinschreibung unterscheiden. Das bedeutet, dass Sie separate **Costcenter**- und **costcenter**-Tag-Schlüssel haben können. Wenn Sie beispielsweise eine von Kunden verwaltete Richtlinie mit dem **Costcenter = 1234**-Tag markiert haben und das **costcenter = 5678**-Tag hinzufügen, verfügt die Richtlinie über die **Costcenter**- und die **costcenter**-Tag-Schlüssel.

Als Best Practice empfehlen wir Ihnen, die Verwendung ähnlicher Tags bei inkonsistenter Groß-/Kleinschreibung zu vermeiden. Wir empfehlen Ihnen, sich für eine einheitliche Schreibweise der Tag-Benennungen zu entscheiden und diese Strategie für alle Ressourcentypen umzusetzen. [Weitere Informationen zu bewährten Methoden für das Tagging finden Sie unter Tagging Resources im. AWS](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) Allgemeine AWS-Referenz

Die folgenden Listen zeigen die Unterschiede in der Groß-/Kleinschreibung für Tag-Schlüssel, die an IAM-Ressourcen angehängt sind.

Tag-Schlüsselwerte unterscheiden **nicht** zwischen Groß-/Kleinschreibung:
+ IAM-Rollen
+ IAM-Benutzer

Bei Tag-Schlüsselwerten wird die Groß-/Kleinschreibung berücksichtigt.
+ Kundenverwaltete Richtlinien
+ Instance-Profile
+ OpenID-Connect-Identitätsanbieter
+ SAML-Identitätsanbieter
+ Serverzertifikate
+ Virtuelle MFA-Geräte

Darüber hinaus gelten die folgenden Regeln:
+ Sie können keinen Tag-Schlüssel oder -Wert erstellen, der mit dem Text **aws:** beginnt. Dieses Tag-Präfix ist für den AWS internen Gebrauch reserviert.
+ Sie können ein Tag mit einem leeren Wert erstellen, wie z. B. **phoneNumber = **. Sie können keinen leeren Tag-Schlüssel erstellen.
+ Sie können nicht mehrere Werte in einem einzigen Tag angeben. Sie können jedoch eine benutzerdefinierte mehrwertige Struktur in dem einzelnen Wert erstellen. Nehmen Sie beispielsweise an, dass der Benutzer Zhang im Entwicklungsteam und dem QA-Team arbeitet. Wenn Sie das **team = Engineering**-Tag und dann das **team = QA** Tag anfügen, ändern Sie den Wert des Tags von **Engineering** zu **QA**. Stattdessen können Sie mehrere Werte in einem einzigen Tag mit einem benutzerdefinierten Trennzeichen einfügen. In diesem Beispiel könnten Sie das **team = Engineering:QA**-Tag Zhang anfügen.
**Anmerkung**  
Um den Zugriff auf die Entwickler in diesem Beispiel mit dem **team**-Tag zu steuern, müssen Sie eine Richtlinie erstellen, die jede Konfiguration zulässt, die **Engineering** einschließlich **Engineering:QA** enthalten könnte. Weitere Informationen zur Verwendung von Tags in Richtlinien finden Sie unter [Steuerung des Zugriffs auf und für IAM-Benutzer und IAM-Rollen mithilfe von Tags](access_iam-tags.md).

### Anwenden und Bearbeiten von Tags
<a name="id_tags_rules_applying"></a>

Beachten Sie die folgenden Konventionen beim Anfügen von Tags zu IAM-Ressourcen:
+ Sie können die meisten IAM-Ressourcen markieren, jedoch keine Gruppen, angenommene Rollen, Zugriffsberichte oder hardwarebasierte MFA-Geräte.
+ Sie können den Tag-Editor nicht verwenden, um IAM-Ressourcen zu markieren. Der Tag-Editor unterstützt keine IAM-Tags. Informationen zur Verwendung des Tag-Editors mit anderen Services finden Sie unter [Arbeiten mit dem Tag-Editor](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html) im *AWS -Ressourcengruppen -Leitfaden*.
+ Um eine IAM-Ressource zu markieren, müssen Sie über spezifische Berechtigungen verfügen. Um Ressourcen zu markieren oder die Markierung zu entfernen, müssen Sie auch über die Berechtigung verfügen, Tags aufzulisten. Weitere Informationen finden Sie in der Liste der Themen für jede IAM-Ressource am Ende dieser Seite. 
+ Die Anzahl und Größe der IAM-Ressourcen in einem AWS Konto sind begrenzt. Weitere Informationen finden Sie unter [IAM und Kontingente AWS STS](reference_iam-quotas.md).
+ Sie können dasselbe Tag auf mehrere IAM-Ressourcen anwenden. Angenommen, Sie haben eine Abteilung namens Namen `AWS_Development` mit 12 Mitarbeitern. Sie können 12 Benutzer und eine Rolle mit dem Tag-Schlüssel **department** und dem Wert **awsDevelopment** (**department = awsDevelopment**) haben. Darüber hinaus können Sie das gleiche Tag für Ressourcen in anderen [Services verwenden, die Markierungen unterstützen](reference_aws-services-that-work-with-iam.md).
+ IAM-Entitäten (Benutzer oder Rollen) können nicht mehrere Instances desselben Tag-Schlüssels haben. Wenn Sie z. B. einen Benutzer mit dem Tag-Schlüssel-Wert-Paar **costCenter = 1234** haben, können Sie das Tag-Schlüssel-Wert-Paar **costCenter = 5678** anfügen. IAM aktualisiert den Wert des **costCenter**-Tag auf **5678**.
+ Um ein Tag zu bearbeiten, das einer IAM-Entität (Benutzer oder Rolle) angefügt ist, fügen Sie ein Tag mit einem neuen Wert an, um das vorhandene Tag zu überschreiben. Angenommen, Sie haben einen Benutzer mit dem Tag-Schlüsselwertpaar **department = Engineering**. Wenn Sie den Benutzer in die QA-Abteilung verschieben möchten, dann können Sie das **department = QA**-Tag-Schlüsselwertpaar an den Benutzer anfügen. Dadurch wird der **Engineering**-Wert des **department**-Tag-Schlüssels mit dem **QA**-Wert ersetzt.

# Markieren von IAM-Benutzern
<a name="id_tags_users"></a>

Sie können IAM-Tag-Schlüsselwertpaare verwenden, um einem IAM-Benutzer benutzerdefinierte Attribute hinzuzufügen. Wenn Sie beispielsweise einem Benutzer Standortinformationen hinzufügen, können Sie den Tag-Schlüssel **location** und den Tag-Wert **us\$1wa\$1seattle** hinzufügen. Alternativ könnten Sie drei getrennte Standort-Tag-Schlüsselwertpaare verwenden: **loc-country = us**, **loc-state = wa** und **loc-city = seattle**. Sie können Tags verwenden, um den Zugriff eines Benutzers auf Ressourcen zu steuern oder zu kontrollieren, welche Tags mit einem Benutzer verknüpft werden können. Weitere Informationen über die Verwendung von Tags zur Zugriffskontrolle finden Sie unter [Steuerung des Zugriffs auf und für IAM-Benutzer und IAM-Rollen mithilfe von Tags](access_iam-tags.md).

Sie können Tags auch verwenden AWS STS , um benutzerdefinierte Attribute hinzuzufügen, wenn Sie eine Rolle übernehmen oder einen Benutzer verbinden. Weitere Informationen finden Sie unter [Sitzungs-Tags übergeben AWS STS](id_session-tags.md).

## Erforderliche Berechtigungen für das Markieren von IAM-Benutzern
<a name="id_tags_users_permissions"></a>

Sie müssen Berechtigungen konfigurieren, damit ein IAM-Benutzer andere Benutzer markieren kann. Sie können eine oder alle der folgenden IAM-Tag-Aktionen in einer IAM-Richtlinien angeben:
+ `iam:ListUserTags`
+ `iam:TagUser`
+ `iam:UntagUser`

**So erlauben Sie einem IAM-Benutzer das Hinzufügen, Auflisten oder Entfernen eines Tags für einen bestimmten Benutzer**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für den IAM-Benutzer hinzu, der Tags verwalten soll. Verwenden Sie Ihre Kontonummer und *<username>* ersetzen Sie sie durch den Namen des Benutzers, dessen Stichwörter verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListUserTags",
        "iam:TagUser",
        "iam:UntagUser"
    ],
    "Resource": "arn:aws:iam::<account-number>:user/<username>"
}
```

**So erlauben Sie einem IAM-Benutzer Tags selbst zu verwalten**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für Benutzer hinzu, um Benutzern zu erlauben, ihre eigenen Tags zu verwalten. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListUserTags",
        "iam:TagUser",
        "iam:UntagUser"
    ],
    "Resource": "arn:aws:iam::user/${aws:username}"
}
```

**So erlauben Sie einem IAM-Benutzer, einem bestimmten Benutzer ein Tag hinzuzufügen**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für den IAM-Benutzer hinzu, der Tags für einen bestimmten Benutzer hinzufügen, jedoch nicht entfernen soll.

**Anmerkung**  
Die `iam:TagUser`-Aktion erfordert, dass Sie auch die `iam:ListUserTags`-Aktion einbeziehen.

Um diese Richtlinie zu verwenden, *<username>* ersetzen Sie sie durch den Namen des Benutzers, dessen Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListUserTags",
        "iam:TagUser"
    ],
    "Resource": "arn:aws:iam::<account-number>:user/<username>"
}
```

Alternativ können Sie eine AWS verwaltete Richtlinie wie [IAMFullAccess verwenden, um vollen Zugriff](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/IAMFullAccess) auf IAM zu gewähren.

## Verwalten von Tags auf IAM-Benutzern (Konsole)
<a name="id_tags_users_procs-console"></a>

Sie können Tags für IAM-Benutzer über die AWS-Managementkonsole verwalten.

**Verwalten von Tags auf Benutzern (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. Wählen Sie im Navigationsbereich der Konsole **Users (Benutzer)** aus und wählen Sie dann den Namen des Benutzers aus, den Sie bearbeiten möchten.

1. Wählen Sie die Registerkarte **Tags** aus und schließen Sie eine der folgenden Aktionen ab:
   + Wählen Sie **Add new tag (Neues Tag hinzufügen)**, wenn der Benutzer noch nicht über Tags verfügt.
   + Wählen Sie **Manage tags** (Tags verwalten), um den vorhandenen Satz von Tags zu verwalten.

1. Fügen Sie Tags hinzu oder entfernen Sie sie, um den Satz von Tags abzuschließen. Wählen Sie dann **Save changes (Änderungen speichern)**.

## Verwaltung von Tags für IAM-Benutzer (AWS CLI oder AWS API)
<a name="id_tags_users_procs-cli-api"></a>

Sie können Tags für IAM-Benutzer auflisten, anfügen oder entfernen. Sie können die AWS CLI oder die AWS API verwenden, um Tags für IAM-Benutzer zu verwalten.

**Um die Tags aufzulisten, die derzeit einem IAM-Benutzer (AWS CLI oder AWS einer API) zugeordnet sind**
+ AWS CLI: [als iam list-user-tags](https://docs.aws.amazon.com/cli/latest/reference/iam/list-user-tags.html)
+ AWS API: [ListUserTags](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUserTags.html)

**Um Tags an einen IAM-Benutzer (AWS CLI oder eine AWS API) anzuhängen**
+ AWS CLI: [aws iam tag-user](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-user.html)
+ AWS API: [TagUser](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagUser.html)

**Um Tags von einem IAM-Benutzer (AWS CLI oder einer AWS API) zu entfernen**
+ AWS CLI: [aws iam untag-user](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-user.html)
+ AWS API: [UntagUser](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagUser.html)

Informationen zum Anhängen von Tags an Ressourcen für andere AWS Dienste finden Sie in der Dokumentation zu diesen Diensten. 

Weitere Informationen über die Verwendung von Tags, um präzisere Berechtigungen mit IAM-Berechtigungsrichtlinien festzulegen, finden Sie unter [IAM-Richtlinienelemente: Variablen und Tags](reference_policies_variables.md).

# Markieren von IAM-Rollen
<a name="id_tags_roles"></a>

Sie können -Tag-Schlüsselwertpaare verwenden, um einer IAM-Rolle benutzerdefinierte Attribute hinzuzufügen. Wenn Sie beispielsweise einer Rolle Standortinformationen hinzufügen, können Sie den Tag-Schlüssel **location** und den Tag-Wert **us\$1wa\$1seattle** hinzufügen. Alternativ könnten Sie drei getrennte Standort-Tag-Schlüsselwertpaare verwenden: **loc-country = us**, **loc-state = wa** und **loc-city = seattle**. Sie können Tags verwenden, um den Zugriff einer Rolle auf Ressourcen zu steuern oder zu kontrollieren, welche Tags mit einer Rolle verknüpft werden können. Weitere Informationen über die Verwendung von Tags zur Zugriffskontrolle finden Sie unter [Steuerung des Zugriffs auf und für IAM-Benutzer und IAM-Rollen mithilfe von Tags](access_iam-tags.md).

Sie können Tags auch verwenden AWS STS , um benutzerdefinierte Attribute hinzuzufügen, wenn Sie eine Rolle übernehmen oder einen Benutzer verbinden. Weitere Informationen finden Sie unter [Sitzungs-Tags übergeben AWS STS](id_session-tags.md).

## Erforderliche Berechtigungen für das Markieren von IAM-Rollen
<a name="id_tags_roles_permissions"></a>

Sie müssen Berechtigungen konfigurieren, damit eine IAM-Rolle andere Entitäten (Benutzer oder Rolle) markieren kann. Sie können eine oder alle der folgenden IAM-Tag-Aktionen in einer IAM-Richtlinien angeben:
+ `iam:ListRoleTags`
+ `iam:TagRole`
+ `iam:UntagRole`
+ `iam:ListUserTags`
+ `iam:TagUser`
+ `iam:UntagUser`

**So erlauben Sie einer IAM-Rolle das Hinzufügen, Auflisten oder Entfernen eines Tags für einen bestimmten Benutzer**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Rolle hinzu, die Tags verwalten soll. Verwenden Sie Ihre Kontonummer und *<username>* ersetzen Sie sie durch den Namen des Benutzers, dessen Stichwörter verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListUserTags",
        "iam:TagUser",
        "iam:UntagUser"
    ],
    "Resource": "arn:aws:iam::<account-number>:user/<username>"
}
```

**So erlauben Sie einer IAM-Rolle das Hinzufügen eines Tags zu einem bestimmten Benutzer**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Rolle hinzu, die Tags für einen bestimmten Benutzer hinzufügen, jedoch nicht entfernen soll.

Um diese Richtlinie zu verwenden, *<username>* ersetzen Sie sie durch den Namen des Benutzers, dessen Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListUserTags",
        "iam:TagUser"
    ],
    "Resource": "arn:aws:iam::<account-number>:user/<username>"
}
```

**So erlauben Sie einer IAM-Rolle das Hinzufügen, Auflisten oder Entfernen eines Tags für eine bestimmte Rolle**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Rolle hinzu, die Tags verwalten soll. *<rolename>*Ersetzen Sie es durch den Namen der Rolle, deren Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListRoleTags",
        "iam:TagRole",
        "iam:UntagRole"
    ],
    "Resource": "arn:aws:iam::<account-number>:role/<rolename>"
}
```

Alternativ können Sie eine AWS verwaltete Richtlinie wie [IAMFullAccess verwenden, um vollen Zugriff](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/IAMFullAccess) auf IAM zu gewähren.

## Verwalten von Tags auf IAM-Rollen (Konsole)
<a name="id_tags_roles_procs-console"></a>

Sie können Tags für IAM-Rollen über die AWS-Managementkonsole verwalten.

**Verwalten von Tags auf Rollen (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. Wählen Sie im Navigationsbereich der Konsole **Rollen** aus und wählen Sie dann den Namen der Rolle aus, die Sie bearbeiten möchten.

1. Wählen Sie die Registerkarte **Tags** aus und schließen Sie eine der folgenden Aktionen ab:
   + Wählen Sie **Add new tag** (Neues Tag hinzufügen), wenn die Rolle noch nicht über Tags verfügt.
   + Wählen Sie **Manage tags** (Tags verwalten), um den vorhandenen Satz von Tags zu verwalten.

1. Fügen Sie Tags hinzu oder entfernen Sie sie, um den Satz von Tags abzuschließen. Dann wählen Sie **Save changes** (Änderungen speichern) aus.

## Verwaltung von Tags in IAM-Rollen (AWS CLI oder AWS API)
<a name="id_tags_roles_procs-cli-api"></a>

Sie können Tags für IAM-Rollen auflisten, anfügen oder entfernen. Sie können die AWS CLI oder die AWS API verwenden, um Tags für IAM-Rollen zu verwalten.

**Um die Tags aufzulisten, die derzeit mit einer IAM-Rolle (AWS CLI oder AWS API) verknüpft sind**
+ AWS CLI: [war ich list-role-tags](https://docs.aws.amazon.com/cli/latest/reference/iam/list-role-tags.html)
+ AWS API: [ListRoleTags](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListRoleTags.html)

**Um Tags an eine IAM-Rolle (AWS CLI oder AWS API) anzuhängen**
+ AWS CLI: [aws iam tag-role](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-role.html)
+ AWS API: [TagRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagRole.html)

**Um Tags aus einer IAM-Rolle (AWS CLI oder AWS API) zu entfernen**
+ AWS CLI: [aws iam untag-role](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-role.html)
+ AWS API: [UntagRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagRole.html)

Informationen zum Anhängen von Tags an Ressourcen für andere AWS Dienste finden Sie in der Dokumentation zu diesen Diensten. 

Weitere Informationen über die Verwendung von Tags, um präzisere Berechtigungen mit IAM-Berechtigungsrichtlinien festzulegen, finden Sie unter [IAM-Richtlinienelemente: Variablen und Tags](reference_policies_variables.md).

# Markieren von von Kunden verwaltete Richtlinien
<a name="id_tags_customer-managed-policies"></a>

Sie können IAM-Tag-Schlüsselwertpaare verwenden, um Ihren vom Kunden verwalteten Richtlinien benutzerdefinierte Attribute hinzuzufügen. Wenn Sie beispielsweise eine Richtlinie mit Abteilungsinformationen markieren, können Sie den Tag-Schlüssel **Department** und den Tag-Wert **eng** hinzufügen. Oder Sie möchten Richtlinien markieren, um anzugeben, dass sie für eine bestimmte Umgebung bestimmt sind, z. B. **Environment = lab**. Sie können Tags verwenden, um den Zugriff auf Ressourcen zu steuern oder zu kontrollieren, welche Tags mit einer Ressource verknüpft werden können. Weitere Informationen über die Verwendung von Tags zur Zugriffskontrolle finden Sie unter [Steuerung des Zugriffs auf und für IAM-Benutzer und IAM-Rollen mithilfe von Tags](access_iam-tags.md).

Sie können Tags auch verwenden AWS STS , um benutzerdefinierte Attribute hinzuzufügen, wenn Sie eine Rolle übernehmen oder einen Benutzer zusammenschließen. Weitere Informationen finden Sie unter [Sitzungs-Tags übergeben AWS STS](id_session-tags.md).

## Erforderliche Berechtigungen zum Markieren von vom Kunden verwalteten Richtlinien
<a name="id_tags_customer-managed-policies_permissions"></a>

Sie müssen Berechtigungen konfigurieren, damit eine IAM-Entität (Benutzer oder Rollen) vom Kunden verwaltete Richtlinien markieren kann. Sie können eine oder alle der folgenden IAM-Tag-Aktionen in einer IAM-Richtlinien angeben:
+ `iam:ListPolicyTags`
+ `iam:TagPolicy`
+ `iam:UntagPolicy`

**So gestatten Sie einer IAM-Entität (Benutzer oder Rolle), ein Tag einer vom Kunden verwalteten Richtlinie hinzuzufügen, aufzulisten oder zu entfernen**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die Tags verwalten soll. Verwenden Sie Ihre Kontonummer und *<policyname>* ersetzen Sie sie durch den Namen der Richtlinie, deren Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListPolicyTags",
        "iam:TagPolicy",
        "iam:UntagPolicy"
    ],
    "Resource": "arn:aws:iam::<account-number>:policy/<policyname>"
}
```

**So gestatten Sie einer IAM-Entität (Benutzer oder Rolle), ein Tag einer speziellen vom Kunden verwalteten Richtlinie hinzuzufügen**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die Tags für eine bestimmte Richtlinie hinzufügen, jedoch nicht entfernen soll. 

**Anmerkung**  
Die `iam:TagPolicy`-Aktion erfordert, dass Sie auch die `iam:ListPolicyTags`-Aktion einbeziehen.

Um diese Richtlinie zu verwenden, *<policyname>* ersetzen Sie sie durch den Namen der Richtlinie, deren Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListPolicyTags",
        "iam:TagPolicy"
    ],
    "Resource": "arn:aws:iam::<account-number>:policy/<policyname>"
}
```

Alternativ können Sie eine AWS verwaltete Richtlinie wie [IAMFullAccess verwenden, um vollen Zugriff](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/IAMFullAccess) auf IAM zu gewähren.

## Verwalten von Tags für vom Kunden verwaltete IAM-Richtlinien (Konsole)
<a name="id_tags_customer-managed-policies_procs-console"></a>

Sie können Tags für von IAM-Kunden verwaltete Richtlinien über die AWS-Managementkonsole verwalten.

**Verwalten von Tags für von kundenverwalteten Richtlinien (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. Wählen Sie im Navigationsbereich der Konsole **Richtlinien** aus und wählen Sie dann den Namen der kundenverwalteten Richtlinie aus, die Sie bearbeiten möchten.

1. Wählen Sie die Registerkarte **Tags** und dann **Manage tags** (Tags verwalten) aus.

1. Fügen Sie Tags hinzu oder entfernen Sie sie, um den Satz von Tags abzuschließen. Wählen Sie dann **Save changes (Änderungen speichern)**.

## Verwaltung von Tags in vom Kunden verwalteten IAM-Richtlinien (AWS CLI oder AWS API)
<a name="id_tags_customer-managed-policies_procs-cli-api"></a>

Sie können Tags für von IAM-Kunden verwaltete Richtlinien auflisten, anfügen oder entfernen. Sie können die AWS CLI oder die AWS API verwenden, um Tags für vom Kunden verwaltete IAM-Richtlinien zu verwalten.

**Um die Tags aufzulisten, die derzeit mit einer vom Kunden verwalteten IAM-Richtlinie (AWS CLI oder AWS API) verknüpft sind**
+ AWS CLI: Was ich [bin list-policy-tags](https://docs.aws.amazon.com/cli/latest/reference/iam/list-policy-tags.html)
+ AWS API: [ListPolicyTags](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListPolicyTags.html)

**Um Tags an eine vom Kunden verwaltete IAM-Richtlinie (AWS CLI oder AWS API) anzuhängen**
+ AWS CLI: [aws iam tag-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-policy.html)
+ AWS API: [TagPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagPolicy.html)

**Um Tags aus einer vom Kunden verwalteten IAM-Richtlinie (AWS CLI oder AWS API) zu entfernen**
+ AWS CLI: [aws iam untag-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-policy.html)
+ AWS API: [UntagPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagPolicy.html)

Informationen zum Anhängen von Tags an Ressourcen für andere AWS Dienste finden Sie in der Dokumentation zu diesen Diensten. 

Weitere Informationen über die Verwendung von Tags, um präzisere Berechtigungen mit IAM-Berechtigungsrichtlinien festzulegen, finden Sie unter [IAM-Richtlinienelemente: Variablen und Tags](reference_policies_variables.md).

# OpenID Connect (OIDC)-Identitätsanbieter mit Tags versehen
<a name="id_tags_oidc"></a>

Sie können -Tag-Schlüsselwertpaare verwenden, um IAM-OpenID-Connect(OIDC)-Identitätsanbietern benutzerdefinierte Attribute hinzuzufügen. Um beispielsweise einen IAM-OIDC-Identitätsanbieter zu identifizieren, können Sie den Tag-Schlüssel **google** und den Tag-Wert **oidc** hinzufügen. Sie können Tags verwenden, um den Zugriff auf Ressourcen zu steuern oder zu kontrollieren, welche Tags mit einem Objekt verknüpft werden können. Weitere Informationen über die Verwendung von Tags zur Zugriffskontrolle finden Sie unter [Steuerung des Zugriffs auf und für IAM-Benutzer und IAM-Rollen mithilfe von Tags](access_iam-tags.md).

## Erforderliche Berechtigungen zum Markieren von IAM-OIDC-Identitätsanbietern
<a name="id_tags_oidc_permissions"></a>

Sie müssen Berechtigungen konfigurieren, damit eine IAM-Entität (Benutzer oder Rolle) andere IAM-OIDC-Identitätsanbieter markieren kann. Sie können eine oder alle der folgenden IAM-Tag-Aktionen in einer IAM-Richtlinien angeben:
+ `iam:ListOpenIDConnectProviderTags`
+ `iam:TagOpenIDConnectProvider`
+ `iam:UntagOpenIDConnectProvider`

**So erlauben Sie einer IAM-Entität, einen Tag für einen IAM-OIDC-Identitätsanbieter hinzuzufügen, aufzulisten oder zu entfernen**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die Tags verwalten soll. Verwenden Sie Ihre Kontonummer und *<OIDCProviderName>* ersetzen Sie sie durch den Namen des OIDC-Anbieters, dessen Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListOpenIDConnectProviderTags",
        "iam:TagOpenIDConnectProvider",
        "iam:UntagOpenIDConnectProvider"
    ],
    "Resource": "arn:aws:iam::<account-number>:oidc-provider/<OIDCProviderName>"
}
```

**So gestatten Sie einer IAM-Entität (Benutzer oder Rolle), einem bestimmten IAM-OIDC-Identitätsanbieter ein Tag hinzuzufügen**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die Tags für einen bestimmten Identitätsanbieter hinzufügen, jedoch nicht entfernen soll.

**Anmerkung**  
Die `iam:TagOpenIDConnectProvider`-Aktion erfordert, dass Sie auch die `iam:ListOpenIDConnectProviderTags`-Aktion einbeziehen.

Um diese Richtlinie zu verwenden, *<OIDCProviderName>* ersetzen Sie sie durch den Namen des OIDC-Anbieters, dessen Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListOpenIDConnectProviderTags",
        "iam:TagOpenIDConnectProvider"
    ],
    "Resource": "arn:aws:iam::<account-number>:oidc-provider/<OIDCProviderName>"
}
```

Alternativ können Sie eine AWS verwaltete Richtlinie wie [IAMFullAccess verwenden, um vollen Zugriff auf](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/IAMFullAccess) IAM zu gewähren.

## Verwalten von Tags auf IAM-OIDC-Identitätsanbietern (Konsole)
<a name="id_tags_oidc_procs-console"></a>

Sie können Tags für IAM-OIDC-Identitätsanbieter über AWS-Managementkonsole verwalten.

**Verwalten der Tags auf OIDC-Identitätsanbietern (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. Wählen Sie im Navigationsbereich der Konsole **Identitätsanbieter** und anschließend den Namen des Identitätsanbieters aus, den Sie bearbeiten möchten.

1. Wählen Sie die Registerkarte **Tags** und anschließend im Abschnitt **Tags** die Option **Tags verwalten** aus. Führen Sie dann eine der folgenden Aktionen aus:
   + Wählen Sie **Add Tag (Tag hinzufügen)**, wenn der OIDC-Identitätsanbieter noch keine Tags hat oder um ein neues Tag hinzuzufügen.
   + Bearbeiten Sie vorhandene Tag-Schlüssel und -Werte.
   + Klicken Sie zum Entfernen eines Tags auf **Remove tag (Tag entfernen)**.

1. Wählen Sie dann **Save changes (Änderungen speichern)**.

## Verwaltung von Tags auf IAM OIDC-Identitätsanbietern (oder API)AWS CLI AWS
<a name="id_tags_oidc_procs-cli-api"></a>

Sie können Tags für IAM-OIDC-Identitätsanbieter auflisten, anfügen oder entfernen. Sie können die AWS CLI oder die AWS API verwenden, um Tags für IAM OIDC-Identitätsanbieter zu verwalten.

**Um die Tags aufzulisten, die derzeit an einen IAM-OIDC-Identitätsanbieter (oder eine API) angehängt sind AWS CLI AWS**
+ AWS CLI[: aws iam -provider-Tags list-open-id-connect](https://docs.aws.amazon.com/cli/latest/reference/iam/list-open-id-connect-provider-tags.html)
+ AWS API: [ListOpenIDConnectProviderTags](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListOpenIDConnectProviderTags.html)

**Um Tags an einen IAM OIDC-Identitätsanbieter (AWS CLI oder eine API) anzuhängen AWS**
+ AWS CLI[: aws iam -provider tag-open-id-connect](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-open-id-connect-provider.html)
+ AWS [API: Anbieter TagOpen IDConnect](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagOpenIDConnectProvider.html)

**Um Tags von einem IAM OIDC-Identitätsanbieter (AWS CLI oder einer API) zu entfernen AWS**
+ AWS CLI[: aws iam -provider untag-open-id-connect](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-open-id-connect-provider.html)
+ AWS [API: Anbieter UntagOpen IDConnect](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagOpenIDConnectProvider.html)

Informationen zum Anhängen von Tags an Ressourcen für andere AWS Dienste finden Sie in der Dokumentation zu diesen Diensten. 

Weitere Informationen über die Verwendung von Tags, um präzisere Berechtigungen mit IAM-Berechtigungsrichtlinien festzulegen, finden Sie unter [IAM-Richtlinienelemente: Variablen und Tags](reference_policies_variables.md).

# Markieren von IAM-SAML-Identitätsanbieter
<a name="id_tags_saml"></a>

Sie können IAM-Tag-Schlüsselwertpaare verwenden, um SAML-Identitätsanbietern benutzerdefinierte Attribute hinzuzufügen. Um beispielsweise einen Anbieter zu identifizieren, können Sie den Tag-Schlüssel **okta** und den Tag-Wert **saml** hinzufügen. Sie können Tags verwenden, um den Zugriff auf Ressourcen zu steuern oder zu kontrollieren, welche Tags mit einem Objekt verknüpft werden können. Weitere Informationen über die Verwendung von Tags zur Zugriffskontrolle finden Sie unter [Steuerung des Zugriffs auf und für IAM-Benutzer und IAM-Rollen mithilfe von Tags](access_iam-tags.md).

## Erforderliche Berechtigungen zum Markieren von SAML-Identitätsanbietern
<a name="id_tags_saml_permissions"></a>

Sie müssen Berechtigungen konfigurieren, damit eine IAM-Entität (Benutzer oder Rollen) SAML 2.0-basierte Identitätsanbieter taggen kann (). IdPs Sie können eine oder alle der folgenden IAM-Tag-Aktionen in einer IAM-Richtlinien angeben:
+ `iam:ListSAMLProviderTags`
+ `iam:TagSAMLProvider`
+ `iam:UntagSAMLProvider`

**So gestatten Sie einer IAM-Entität (Benutzer oder Rolle), ein Tag für einen SAML-Identitätsanbieter hinzuzufügen, aufzulisten oder zu entfernen**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die Tags verwalten soll. Verwenden Sie Ihre Kontonummer und *<SAMLProviderName>* ersetzen Sie sie durch den Namen des SAML-Anbieters, dessen Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListSAMLProviderTags",
        "iam:TagSAMLProvider",
        "iam:UntagSAMLProvider"
    ],
    "Resource": "arn:aws:iam::<account-number>:saml-provider/<SAMLProviderName>"
}
```

**So gestatten Sie einer IAM-Entität (Benutzer oder Rolle), einem bestimmten SAML-Identitätsanbieter ein Tag hinzuzufügen**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die Tags für einen bestimmten SAML-Anbieter hinzufügen, jedoch nicht entfernen soll.

**Anmerkung**  
Die `iam:TagSAMLProvider`-Aktion erfordert, dass Sie auch die `iam:ListSAMLProviderTags`-Aktion einbeziehen.

Um diese Richtlinie zu verwenden, *<SAMLProviderName>* ersetzen Sie sie durch den Namen des SAML-Anbieters, dessen Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListSAMLProviderTags",
        "iam:TagSAMLProvider"
    ],
    "Resource": "arn:aws:iam::<account-number>:saml-provider/<SAMLProviderName>"
}
```

Alternativ können Sie eine AWS verwaltete Richtlinie wie [IAMFullAccess verwenden, um vollen Zugriff auf](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/IAMFullAccess) IAM zu gewähren.

## Verwalten von Tags auf IAM-SAML-Identitätsanbietern (Konsole)
<a name="id_tags_saml_procs-console"></a>

Sie können Tags für IAM–SAML-Identitätsanbieter über AWS-Managementkonsole verwalten.

**Verwalten der Tags auf SAML-Identitätsanbietern (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. Wählen Sie im Navigationsbereich der Konsole **Identitätsanbieter** und anschließend den Namen des SAML-Identitätsanbieters aus, den Sie bearbeiten möchten.

1. Wählen Sie die Registerkarte **Tags** und anschließend im Abschnitt **Tags** die Option **Tags verwalten** aus. Führen Sie dann eine der folgenden Aktionen aus:
   + Wählen Sie **Add Tag (Tag hinzufügen)**, wenn der SAML-Identitätsanbieter noch keine Tags hat oder um ein neues Tag hinzuzufügen.
   + Bearbeiten Sie vorhandene Tag-Schlüssel und -Werte.
   + Klicken Sie zum Entfernen eines Tags auf **Remove tag (Tag entfernen)**.

1. Fügen Sie Tags hinzu oder entfernen Sie sie, um den Satz von Tags abzuschließen. Wählen Sie dann **Save changes (Änderungen speichern)**.

## Verwaltung von Tags auf IAM-SAML-Identitätsanbietern (oder API)AWS CLI AWS
<a name="id_tags_saml_procs-cli-api"></a>

Sie können Tags für IAM-SAML-Identitätsanbieter auflisten, anfügen oder entfernen. Sie können die AWS CLI oder die AWS API verwenden, um Tags für IAM-SAML-Identitätsanbieter zu verwalten.

**Um die Tags aufzulisten, die derzeit an einen SAML-Identitätsanbieter (AWS CLI oder eine API) angehängt sind AWS**
+ AWS CLI: [als Ziel list-saml-provider-tags](https://docs.aws.amazon.com/cli/latest/reference/iam/list-saml-provider-tags.html)
+ AWS API: Tags [auflisten SAMLProvider](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListSAMLProviderTags.html)

**Um Tags an einen SAML-Identitätsanbieter (AWS CLI oder eine AWS API) anzuhängen**
+ AWS CLI: [als Ziel tag-saml-provider](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-saml-provider.html)
+ AWS [API: Etikett SAMLProvider](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagSAMLProvider.html)

**Um Tags von einem SAML-Identitätsanbieter (AWS CLI oder einer AWS API) zu entfernen**
+ AWS CLI: [als Ziel untag-saml-provider](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-saml-provider.html)
+ AWS [API: Untag SAMLProvider](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagSAMLProvider.html)

Informationen zum Anhängen von Tags an Ressourcen für andere AWS Dienste finden Sie in der Dokumentation zu diesen Diensten. 

Weitere Informationen über die Verwendung von Tags, um präzisere Berechtigungen mit IAM-Berechtigungsrichtlinien festzulegen, finden Sie unter [IAM-Richtlinienelemente: Variablen und Tags](reference_policies_variables.md).

# Kennzeichnen von Instance-Profilen für Amazon-EC2-Rollen
<a name="id_tags_instance-profiles"></a>

Wenn Sie eine Amazon EC2-Instance starten, geben Sie eine mit der Instance zu verknüpfende IAM-Rolle an. Ein Instance-Profil ist ein Container für eine IAM-Rolle, mit dem eine Amazon EC2-Instance bei ihrem Start Rolleninformationen erhält. Sie können Instanzprofile taggen, wenn Sie die AWS API AWS CLI oder verwenden.

Sie können IAM-Tag-Schlüsselwertpaare verwenden, um einem Instance-Profil benutzerdefinierte Attribute hinzuzufügen. Wenn Sie beispielsweise einem Instance-Profil Abteilungsinformationen hinzufügen, können Sie den Tag-Schlüssel **access-team** und den Tag-Wert **eng** hinzufügen. Auf diese Weise erhalten Auftraggeber mit übereinstimmenden Tags Zugriff auf Instanceprofile mit demselben Tag. Sie könnten mehrere Tag-Schlüsselwertpaare verwenden, um ein Team und ein Projekt anzugeben: **access-team = eng ** und **project = peg**. Sie können Tags verwenden, um den Zugriff eines Benutzers auf Ressourcen zu steuern oder zu kontrollieren, welche Tags mit einem Benutzer verknüpft werden können. Weitere Informationen über die Verwendung von Tags zur Zugriffskontrolle finden Sie unter [Steuerung des Zugriffs auf und für IAM-Benutzer und IAM-Rollen mithilfe von Tags](access_iam-tags.md).

Sie können Tags auch verwenden AWS STS , um benutzerdefinierte Attribute hinzuzufügen, wenn Sie eine Rolle übernehmen oder einen Benutzer zusammenschließen. Weitere Informationen finden Sie unter [Sitzungs-Tags übergeben AWS STS](id_session-tags.md).

## Erforderliche Berechtigungen für das Markieren von Instance-Profilen
<a name="id_tags_instance-profiles_permissions"></a>

Sie müssen Berechtigungen konfigurieren, damit eine IAM-Entität (Benutzer oder Rolle) andere Instance-Profile markieren kann. Sie können eine oder alle der folgenden IAM-Tag-Aktionen in einer IAM-Richtlinien angeben:
+ `iam:ListInstanceProfileTags`
+ `iam:TagInstanceProfile`
+ `iam:UntagInstanceProfile`

**So gestatten Sie einer IAM-Entität (Benutzer oder Rolle), ein Tag für ein Instance-Profil hinzuzufügen, aufzulisten oder zu entfernen**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die Tags verwalten soll. Verwenden Sie Ihre Kontonummer und *<InstanceProfileName>* ersetzen Sie sie durch den Namen des Instanzprofils, dessen Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListInstanceProfileTags",
        "iam:TagInstanceProfile",
        "iam:UntagInstanceProfile"
    ],
    "Resource": "arn:aws:iam::<account-number>:instance-profile/<InstanceProfileName>"
}
```

**So gestatten Sie einer IAM-Entität (Benutzer oder Rolle), einem bestimmten Instance-Profil ein Tag hinzuzufügen**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die Tags für ein bestimmtes Instance-Profil hinzufügen, jedoch nicht entfernen soll. 

**Anmerkung**  
Die `iam:TagInstanceProfile`-Aktion erfordert, dass Sie auch die `iam:ListInstanceProfileTags`-Aktion einbeziehen.

Um diese Richtlinie zu verwenden, *<InstanceProfileName>* ersetzen Sie sie durch den Namen des Instanzprofils, dessen Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListInstanceProfileTags",
        "iam:TagInstanceProfile"
    ],
    "Resource": "arn:aws:iam::<account-number>:instance-profile/<InstanceProfileName>"
}
```

Alternativ können Sie eine AWS verwaltete Richtlinie wie [IAMFullAccess verwenden, um vollen Zugriff](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/IAMFullAccess) auf IAM zu gewähren.

## Verwaltung von Tags in Instanzprofilen (AWS CLI oder AWS API)
<a name="id_tags_instance-profile_procs-cli-api"></a>

Sie können Tags für Instance-Profile auflisten, anfügen oder entfernen. Sie können die AWS CLI oder die AWS API verwenden, um Tags für Instanzprofile zu verwalten.

**Um die Tags aufzulisten, die derzeit an ein Instanzprofil (AWS CLI oder eine AWS API) angehängt sind**
+ AWS CLI: [war ich list-instance-profile-tags](https://docs.aws.amazon.com/cli/latest/reference/iam/list-instance-profile-tags.html)
+ AWS API: [ListInstanceProfileTags](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListInstanceProfileTags.html)

**Um Tags an ein Instanzprofil (AWS CLI oder eine AWS API) anzuhängen**
+ AWS CLI: [war ich tag-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-instance-profile.html)
+ AWS API: [TagInstanceProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagInstanceProfile.html)

**Um Tags aus einem Instanzprofil (AWS CLI oder einer AWS API) zu entfernen**
+ AWS CLI: [war ich untag-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-instance-profile.html)
+ AWS API: [UntagInstanceProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagInstanceProfile.html)

Informationen zum Anhängen von Tags an Ressourcen für andere AWS Dienste finden Sie in der Dokumentation zu diesen Diensten. 

Weitere Informationen über die Verwendung von Tags, um präzisere Berechtigungen mit IAM-Berechtigungsrichtlinien festzulegen, finden Sie unter [IAM-Richtlinienelemente: Variablen und Tags](reference_policies_variables.md).

# Markieren von Serverzertifikaten
<a name="id_tags_server-certificates"></a>

Wenn Sie IAM zur Verwaltung von SSL/TLS Zertifikaten verwenden, können Sie Serverzertifikate in IAM mithilfe der API AWS CLI oder AWS kennzeichnen. Für Zertifikate in einer Region, die von AWS Certificate Manager (ACM) unterstützt wird, empfehlen wir, ACM anstelle von IAM für die Bereitstellung, Verwaltung und Bereitstellung Ihrer Serverzertifikate zu verwenden. In nicht unterstützten Regionen müssen Sie IAM für die Verwaltung der Zertifikate verwenden. Informationen darüber, welche Regionen ACM unterstützt, finden Sie unter [AWS Certificate Manager -Endpunkte und -Kontingente](https://docs.aws.amazon.com/general/latest/gr/acm.html) im *Allgemeine AWS-Referenz*.

Sie können IAM-Tag-Schlüsselwertpaare verwenden, um einem Serverzertifikat benutzerdefinierte Attribute hinzuzufügen. Um beispielsweise Informationen über den Eigentümer oder Administrator eines Serverzertifikats hinzuzufügen, fügen Sie den Tag-Schlüssel **owner** und den Tag-Wert **net-eng** hinzu. Oder Sie können eine Kostenstelle angeben, indem Sie den Tag-Schlüssel **CostCenter** und den Tag-Wert **1234** hinzufügen. Sie können Tags verwenden, um den Zugriff auf Ressourcen zu steuern oder zu kontrollieren, welche Tags mit Ressourcen verknüpft werden können. Weitere Informationen über die Verwendung von Tags zur Zugriffskontrolle finden Sie unter [Steuerung des Zugriffs auf und für IAM-Benutzer und IAM-Rollen mithilfe von Tags](access_iam-tags.md).

Sie können Tags auch verwenden AWS STS , um benutzerdefinierte Attribute hinzuzufügen, wenn Sie eine Rolle übernehmen oder einen Benutzer zusammenschließen. Weitere Informationen finden Sie unter [Sitzungs-Tags übergeben AWS STS](id_session-tags.md).

## Erforderliche Berechtigungen für das Markieren von Serverzertifikaten
<a name="id_tags_server-certificates_permissions"></a>

Sie müssen Berechtigungen konfigurieren, damit eine IAM-Entität (Benutzer oder Rolle) Serverzertifikate markieren kann. Sie können eine oder alle der folgenden IAM-Tag-Aktionen in einer IAM-Richtlinien angeben:
+ `iam:ListServerCertificateTags`
+ `iam:TagServerCertificate`
+ `iam:UntagServerCertificate`

**So gestatten Sie einer IAM-Entität (Benutzer oder Rolle), ein Tag für ein Serverzertifikat hinzuzufügen, aufzulisten oder zu entfernen**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die Tags verwalten soll. Verwenden Sie Ihre Kontonummer und *<CertificateName>* ersetzen Sie sie durch den Namen des Serverzertifikats, dessen Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListServerCertificateTags",
        "iam:TagServerCertificate",
        "iam:UntagServerCertificate"
    ],
    "Resource": "arn:aws:iam::<account-number>:server-certificate/<CertificateName>"
}
```

**So gestatten Sie einer IAM-Entität (Benutzer oder Rolle), einem bestimmten Serverzertifikat ein Tag hinzuzufügen**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die Tags für ein bestimmtes Serverzertifikat hinzufügen, jedoch nicht entfernen soll.

**Anmerkung**  
Die `iam:TagServerCertificate`-Aktion erfordert, dass Sie auch die `iam:ListServerCertificateTags`-Aktion einbeziehen.

Um diese Richtlinie zu verwenden, *<CertificateName>* ersetzen Sie sie durch den Namen des Serverzertifikats, dessen Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListServerCertificateTags",
        "iam:TagServerCertificate"
    ],
    "Resource": "arn:aws:iam::<account-number>:server-certificate/<CertificateName>"
}
```

Alternativ können Sie eine AWS verwaltete Richtlinie wie [IAMFullAccess verwenden, um vollen Zugriff](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/IAMFullAccess) auf IAM zu gewähren.

## Verwaltung von Tags auf Serverzertifikaten (AWS CLI oder AWS APIs)
<a name="id_tags_server-certificates_procs-cli-api"></a>

Sie können Tags für Serverzertifikate auflisten, anfügen oder entfernen. Sie können die AWS CLI oder die AWS API verwenden, um Tags für Serverzertifikate zu verwalten.

**Um die Tags aufzulisten, die derzeit an ein Serverzertifikat (AWS CLI oder eine AWS API) angehängt sind**
+ AWS CLI: [als Ziel list-server-certificate-tags](https://docs.aws.amazon.com/cli/latest/reference/iam/list-server-certificate-tags.html)
+ AWS API: [ListServerCertificateTags](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListServerCertificateTags.html)

**Um Tags an ein Serverzertifikat (AWS CLI oder eine AWS API) anzuhängen**
+ AWS CLI: [war ich tag-server-certificate](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-server-certificate.html)
+ AWS API: [TagServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagServerCertificate.html)

**Um Tags aus einem Serverzertifikat (AWS CLI oder einer AWS API) zu entfernen**
+ AWS CLI: [war ich untag-server-certificate](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-server-certificate.html)
+ AWS API: [UntagServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagServerCertificate.html)

Informationen zum Anhängen von Tags an Ressourcen für andere AWS Dienste finden Sie in der Dokumentation zu diesen Diensten. 

Weitere Informationen über die Verwendung von Tags, um präzisere Berechtigungen mit IAM-Berechtigungsrichtlinien festzulegen, finden Sie unter [IAM-Richtlinienelemente: Variablen und Tags](reference_policies_variables.md).

# Markieren virtueller MFA-Geräte
<a name="id_tags_virtual-mfa"></a>

Sie können IAM-Tag-Schlüsselwertpaare verwenden, um einem virtuellen MFA-Gerät benutzerdefinierte Attribute hinzuzufügen. Um beispielsweise Kostenstelleninformationen für das virtuelle MFA-Gerät eines Benutzers hinzuzufügen, können Sie den Tag-Schlüssel **CostCenter** und den Tag-Wert **1234** hinzufügen. Sie können Tags verwenden, um den Zugriff auf Ressourcen zu steuern oder zu kontrollieren, welche Tags mit einem Objekt verknüpft werden können. Weitere Informationen über die Verwendung von Tags zur Zugriffskontrolle finden Sie unter [Steuerung des Zugriffs auf und für IAM-Benutzer und IAM-Rollen mithilfe von Tags](access_iam-tags.md).

Sie können Tags auch verwenden AWS STS , um benutzerdefinierte Attribute hinzuzufügen, wenn Sie eine Rolle übernehmen oder einen Benutzer zusammenschließen. Weitere Informationen finden Sie unter [Sitzungs-Tags übergeben AWS STS](id_session-tags.md).

## Erforderliche Berechtigungen für das Markieren von virtuellen MFA-Geräten
<a name="id_tags_virtual-mfa_permissions"></a>

Sie müssen Berechtigungen konfigurieren, damit eine IAM-Entität (Benutzer oder Rolle) virtuelle MFA-Geräte markieren kann. Sie können eine oder alle der folgenden IAM-Tag-Aktionen in einer IAM-Richtlinien angeben:
+ `iam:ListMFADeviceTags`
+ `iam:TagMFADevice`
+ `iam:UntagMFADevice`

**So gestatten Sie einer IAM-Entität (Benutzer oder Rolle), ein Tag für ein virtuelles MFA-Gerät hinzuzufügen, aufzulisten oder zu entfernen**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die Tags verwalten soll. Verwenden Sie Ihre Kontonummer und *<MFATokenID>* ersetzen Sie sie durch den Namen des virtuellen MFA-Geräts, dessen Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListMFADeviceTags",
        "iam:TagMFADevice",
        "iam:UntagMFADevice"
    ],
    "Resource": "arn:aws:iam::<account-number>:mfa/<MFATokenID>"
}
```

**So gestatten Sie einer IAM-Entität (Benutzer oder Rolle), einem bestimmten virtuellen MFA-Geräts ein Tag hinzuzufügen**  
Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die Tags für eine bestimmtes virtuelles MFA-Geräts hinzufügen, jedoch nicht entfernen soll.

**Anmerkung**  
Die `iam:TagMFADevice`-Aktion erfordert, dass Sie auch die `iam:ListMFADeviceTags`-Aktion einbeziehen.

Um diese Richtlinie zu verwenden, *<MFATokenID>* ersetzen Sie sie durch den Namen des virtuellen MFA-Geräts, dessen Tags verwaltet werden müssen. Informationen zum Erstellen einer Richtlinie mit diesem Beispiel-JSON-Richtliniendokument finden Sie unter [Erstellen von Richtlinien mit dem JSON-Editor](access_policies_create-console.md#access_policies_create-json-editor).

```
{
    "Effect": "Allow",
    "Action": [
        "iam:ListMFADeviceTags",
        "iam:TagMFADevice"
    ],
    "Resource": "arn:aws:iam::<account-number>:mfa/<MFATokenID>"
}
```

Alternativ können Sie eine AWS verwaltete Richtlinie wie [IAMFullAccess verwenden, um vollen Zugriff auf](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/IAMFullAccess) IAM zu gewähren.

## Verwaltung von Tags auf virtuellen MFA-Geräten (AWS CLI oder AWS API)
<a name="id_tags_virtual-mfa_procs-cli-api"></a>

Sie können Tags für ein virtuelles MFA-Gerät auflisten, anfügen oder entfernen. Sie können die AWS CLI oder die AWS API verwenden, um Tags für ein virtuelles MFA-Gerät zu verwalten.

**Um die Tags aufzulisten, die derzeit an ein virtuelles MFA-Gerät (AWS CLI oder eine AWS API) angehängt sind**
+ AWS CLI: [war ich list-mfa-device-tags](https://docs.aws.amazon.com/cli/latest/reference/iam/list-mfa-device-tags.html)
+ AWS API: Tags [auflisten MFADevice](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListMFADeviceTags.html)

**So hängen Sie Tags an ein virtuelles MFA-Gerät (AWS CLI oder eine AWS API) an**
+ AWS CLI: [war ich tag-mfa-device](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-mfa-device.html)
+ AWS [API: Etikett MFADevice](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagMFADevice.html)

**So entfernen Sie Tags von einem virtuellen MFA-Gerät (AWS CLI oder einer AWS API)**
+ AWS CLI: [war ich untag-mfa-device](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-mfa-device.html)
+ AWS [API: Untag MFADevice](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagMFADevice.html)

Informationen zum Anhängen von Tags an Ressourcen für andere AWS Dienste finden Sie in der Dokumentation zu diesen Diensten. 

Weitere Informationen über die Verwendung von Tags, um präzisere Berechtigungen mit IAM-Berechtigungsrichtlinien festzulegen, finden Sie unter [IAM-Richtlinienelemente: Variablen und Tags](reference_policies_variables.md).

# Sitzungs-Tags übergeben AWS STS
<a name="id_session-tags"></a>

Sitzungs-Tags sind Schlüssel-Wert-Paarattribute, die Sie übergeben, wenn Sie eine IAM-Rolle übernehmen oder in AWS STS einen Benutzer in einen Verbund aufnehmen. Sie tun dies, indem Sie eine AWS CLI oder AWS API-Anfrage über AWS STS oder über Ihren Identitätsanbieter (IdP) stellen. Wenn Sie temporäre AWS STS Sicherheitsanmeldedaten anfordern, generieren Sie eine Sitzung. Sitzungen laufen ab und erfordern [Anmeldeinformationen](https://docs.aws.amazon.com/STS/latest/APIReference/API_Credentials.html), z. B. ein Zugriffsschlüsselpaar und ein Sitzungstoken. Wenn Sie die Sitzungsanmeldeinformationen für eine nachfolgende Anfrage verwenden, enthält der [Anforderungskontext](reference_policies_elements_condition.md#AccessPolicyLanguage_RequestContext) den `aws:PrincipalTag`-Kontextschlüssel. Sie können den `aws:PrincipalTag`-Schlüssel im `Condition`-Element ihrer Richtlinien verwenden, um den Zugriff basierend auf diesen Tags zuzulassen oder abzulehnen.

Wenn Sie zur Erstellung einer Anforderung temporäre Anmeldeinformationen verwenden, enthält Ihr Auftraggeber möglicherweise eine Reihe von Tags. Diese Tags stammen aus den folgenden Quellen:

1. **Sitzungs-Tags** — Die Tags, die übergeben werden, wenn Sie die Rolle übernehmen oder den Benutzer mithilfe der AWS API AWS CLI oder verbinden. Weitere Informationen zu diesen Operationen finden Sie unter [Sitzungs-Tagging-Operationen](#id_session-tags_operations).

1. **Eingehende transitive Sitzungs-Tags** – Diese Tags wurden von einer vorherigen Sitzung in einer Rollenkette übernommen. Weitere Informationen finden Sie unter [Verkettung von Rollen mit Sitzungs-Tags](#id_session-tags_role-chaining) an späterer Stelle in diesem Thema.

1. **IAM-Tags** – Die Tags, die an die von IAM übernommene Rolle angehängt sind.

**Topics**
+ [

## Sitzungs-Tagging-Operationen
](#id_session-tags_operations)
+ [

## Wissenswertes über Sitzungs-Tags
](#id_session-tags_know)
+ [

## Erforderliche Berechtigungen zum Hinzufügen von Sitzungs-Tags
](#id_session-tags_permissions-required)
+ [

## Übergeben von Sitzungs-Tags mit AssumeRole
](#id_session-tags_adding-assume-role)
+ [

## Übergabe von Sitzungs-Tags mithilfe von AssumeRoleWith SAML
](#id_session-tags_adding-assume-role-saml)
+ [

## Weitergabe von Sitzungs-Tags mit AssumeRoleWithWebIdentity
](#id_session-tags_adding-assume-role-idp)
+ [

## Übergabe von Sitzungs-Tags mit GetFederationToken
](#id_session-tags_adding-getfederationtoken)
+ [

## Verkettung von Rollen mit Sitzungs-Tags
](#id_session-tags_role-chaining)
+ [

## Verwenden von Sitzungs-Tags für ABAC
](#id_session-tags_using-abac)
+ [

## Sitzungs-Tags anzeigen in CloudTrail
](#id_session-tags_ctlogs)

## Sitzungs-Tagging-Operationen
<a name="id_session-tags_operations"></a>

Sie können Sitzungs-Tags mithilfe der folgenden AWS CLI oder AWS API-Operationen in AWS STSübergeben. *Mit der Funktion „**[Rolle AWS-Managementkonsole wechseln](id_roles_use_switch-role-console.md)**“ können Sie keine Sitzungs-Tags übergeben.*

Sie können die Sitzungs-Tags auch als transitiv festlegen. Transitive Tags bleiben während der Rollenverkettung erhalten. Weitere Informationen finden Sie unter [Verkettung von Rollen mit Sitzungs-Tags](#id_session-tags_role-chaining).

In der folgenden Tabelle werden Methoden zum Übergeben von Sitzungs-Tags verglichen.


|  Operation |  **Wer die Rolle annehmen kann**  | **Methode zum Übergeben von Tags** |  **Methode zum Festlegen von transitiven Tags**  | 
| --- | --- | --- | --- | 
| [https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html)-CLI- oder [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)-API-Operation | IAM-Benutzer oder eine Sitzung | Tags-API-Parameter oder --tags-CLI-Option | TransitiveTagKeys-API-Parameter oder --transitive-tag-keys-CLI-Option | 
| [https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-saml.html](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-saml.html)-CLI- oder [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html)-API-Operation | Jeder Benutzer, der über einen SAML-Identitätsanbieter authentifiziert wird | PrincipalTag-SAML-Attribut | TransitiveTagKeys-SAML-Attribut | 
| [https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-web-identity.html](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-web-identity.html)-CLI- oder [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)-API-Operation | Jeder Benutzer, der über einen OIDC-Anbieter authentifiziert wurde | PrincipalTag-OIDC-Token | TransitiveTagKeys-OIDC-Token | 
| [https://docs.aws.amazon.com/cli/latest/reference/sts/get-federation-token.html](https://docs.aws.amazon.com/cli/latest/reference/sts/get-federation-token.html)-CLI- oder [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)-API-Operation | IAM-Benutzer oder Stammbenutzer | Tags-API-Parameter oder --tags-CLI-Option | Nicht unterstützt | 

Operationen, die die Sitzungsmarkierung unterstützen, können fehlschlagen, wenn eine der folgenden Bedingungen zutrifft:
+ Sie übergeben mehr als 50 Sitzungs-Tags.
+ Der Klartext Ihrer Sitzungs-Tag-Schlüssel umfasst mehr als 128 Zeichen.
+ Der Klartext Ihrer Sitzungs-Tag-Werte umfasst mehr als 256 Zeichen.
+ Die Gesamtgröße des Klartexts der Sitzungsrichtlinien umfasst mehr als 2.048 Zeichen.
+ Die gepackte Gesamtgröße der Sitzungsrichtlinien und Sitzungs-Tags ist zu groß. Wenn die Operation fehlschlägt, gibt die Fehlermeldung anhand eines Prozentsatzes an, wie nahe die Richtlinien und Tags zusammengenommen an der oberen Größengrenze liegen.

## Wissenswertes über Sitzungs-Tags
<a name="id_session-tags_know"></a>

Lesen Sie vor der Verwendung von Sitzungs-Tags die folgenden Informationen zu Sitzungen und Tags.
+ Bei der Verwendung von Sitzungs-Tags müssen Vertrauensrichtlinien für alle Rollen, die mit dem Identitätsanbieter (IdP) verbunden sind, der Tags übergibt, die [`sts:TagSession`](#id_session-tags_permissions-required)-Berechtigung haben. Bei Rollen, die diese Berechtigung in der Vertrauensrichtlinie nicht haben, schlägt der `AssumeRole`-Vorgang fehl.
+ Wenn Sie eine Sitzung anfordern, können Sie Auftraggeber-Tags als Sitzungs-Tags angeben. Die Tags gelten für Anforderungen, die Sie mit den Anmeldeinformationen der Sitzung durchführen.
+ Sitzungs-Tags sind Schlüssel-Wert-Paare. Wenn Sie beispielsweise Kontaktinformationen zu einer Sitzung hinzufügen möchten, können Sie den Sitzungs-Tag-Schlüssel `email` und den Tag-Wert `johndoe@example.com` hinzufügen.
+ Sitzungs-Tags müssen den [Regeln für die Benennung von Tags in IAM und AWS STS entsprechen](id_tags.md#id_tags_rules_creating). Dieses Thema enthält Informationen zur Unterscheidung von Groß-/Kleinschreibung und zu eingeschränkten Präfixen, die für Ihre Sitzungs-Tags gelten.
+ Neue Sitzungs-Tags überschreiben vorhandene Sitzungs-Tags für übernommene Rollen oder Verbundbenutzer mit demselben Tag-Schlüssel, unabhängig von der Groß-/Kleinschreibung.
+ Sie können Sitzungs-Tags nicht mit dem AWS-Managementkonsoleübergeben.
+ Sitzungs-Tags sind nur für die aktuelle Sitzung gültig. 
+ Sitzungs-Tags unterstützen [Rollenverkettung](id_roles.md#iam-term-role-chaining). Übergibt standardmäßig AWS STS keine Tags an nachfolgende Rollensitzungen. Sie können Sitzungs-Tags jedoch als transitiv festlegen. Transitive Tags bleiben während der Rollenverkettung bestehen und ersetzen übereinstimmende `ResourceTag`-Werte nach der Auswertung der Rollenvertrauensrichtlinie. Weitere Informationen finden Sie unter [Verkettung von Rollen mit Sitzungs-Tags](#id_session-tags_role-chaining).
+ Sie können Sitzungs-Tags verwenden, um den Zugriff auf Ressourcen zu steuern oder zu steuern, welche Tags an eine nachfolgende Sitzung übergeben werden können. Weitere Informationen finden Sie unter [IAM-Tutorial: Verwenden von SAML-Sitzungs-Tags für ABAC](tutorial_abac-saml.md).
+ Sie können die Auftraggeber-Tags für Ihre Sitzung, einschließlich der zugehörigen Sitzungs-Tags, in den AWS CloudTrail -Protokollen anzeigen. Weitere Informationen finden Sie unter [Sitzungs-Tags anzeigen in CloudTrail](#id_session-tags_ctlogs).
+ Sie müssen für jedes Sitzungs-Tag einen einzelnen Wert übergeben. AWS STS unterstützt keine mehrwertigen Sitzungs-Tags. 
+ Sie können maximal 50 Sitzungs-Tags übergeben. Die Anzahl und Größe der IAM-Ressourcen in einem AWS Konto sind begrenzt. Weitere Informationen finden Sie unter [IAM und Kontingente AWS STS](reference_iam-quotas.md).
+ Bei einer AWS Konvertierung werden die übergebenen Sitzungsrichtlinien und Sitzungs-Tags in ein komprimiertes Binärformat mit einem separaten Limit komprimiert. Wenn Sie dieses Limit überschreiten, wird in der AWS CLI oder AWS API-Fehlermeldung angezeigt, wie nahe die kombinierten Richtlinien und Tags in Prozent an die obere Größenbeschränkung herankommen.

## Erforderliche Berechtigungen zum Hinzufügen von Sitzungs-Tags
<a name="id_session-tags_permissions-required"></a>

Zusätzlich zu der Aktion, die der API-Operation entspricht, muss in Ihrer Richtlinie die folgende reine Berechtigungsaktion enthalten sein:

```
sts:TagSession
```

**Wichtig**  
Bei der Verwendung von Sitzungs-Tags müssen die Rollenvertrauensrichtlinien für alle Rollen, die mit einem Identitätsanbieter (IdP) verbunden sind, über die `sts:TagSession`-Berechtigung verfügen. Der `AssumeRole`-Vorgang schlägt für jede Rolle fehl, die mit einem Identitätsanbieter verbunden ist, der Sitzungs-Tags ohne diese Berechtigung übergibt. Wenn Sie die Vertrauensrichtlinie für Rollen nicht für jede Rolle aktualisieren möchten, können Sie eine separate IdP-Instance zum Übergeben von Sitzungs-Tags verwenden. Fügen Sie dann die `sts:TagSession`-Berechtigung nur den Rollen hinzu, die mit dem separaten IdP verbunden sind.

Sie können diese `sts:TagSession`-Aktion mit den folgenden Bedingungsschlüsseln verwenden.
+ `aws:PrincipalTag` – Verwenden Sie diesen Schlüssel, um das Tag, das dem Auftraggeber angefügt ist, der die Anforderung stellt, mit dem Tag zu vergleichen, das Sie in der Richtlinie angeben. Beispielsweise können Sie einem Auftraggeber nur erlauben, Sitzungs-Tags zu übergeben, wenn der Auftraggeber, der die Anforderung stellt, über die angegebenen Tags verfügt.
+ `aws:RequestTag` – Verwenden Sie diesen Schlüssel, um das Tag-Schlüssel-Wert-Paar, das in der Anforderung übergeben wurde, mit dem Tag-Paar zu vergleichen, das Sie in der Richtlinie angeben. Sie können dem Auftraggeber beispielsweise gestatten, die angegebenen Sitzungs-Tags zu übergeben, jedoch nur mit den angegebenen Werten.
+ `aws:ResourceTag` – Verwenden Sie diesen Schlüssel, um das Tag-Schlüssel-Wert-Paar, das Sie in der Richtlinie angeben, mit dem Schlüssel-Wert-Paar zu vergleichen, das der Ressource angefügt ist. Sie können dem Auftraggeber beispielsweise nur gestatten, Sitzungs-Tags zu übergeben, wenn die von ihnen übernommene Rolle die angegebenen Tags enthält.
+ `aws:TagKeys` – Verwenden Sie diesen Schlüssel, um die Tag-Schlüssel in einer Anforderung mit den Schlüsseln zu vergleichen, die Sie in der Richtlinie angeben. Sie können dem Auftraggeber beispielsweise nur gestatten, Sitzungs-Tags mit den angegebenen Tag-Schlüsseln zu übergeben. Dieser Bedingungsschlüssel begrenzt die maximale Gruppe von Sitzungs-Tags, die übergeben werden können.
+ `sts:TransitiveTagKeys` - Verwenden Sie diesen Schlüssel, um die transitiven Sitzungs-Tag-Schlüssel in der Anforderung mit den in der Richtlinie angegebenen Schlüsseln zu vergleichen. Beispielsweise können Sie eine Richtlinie schreiben, um einem Auftraggeber nur die Festlegung bestimmter Tags als transitiv zu gestatten. Transitive Tags bleiben während der Rollenverkettung erhalten. Weitere Informationen finden Sie unter [Verkettung von Rollen mit Sitzungs-Tags](#id_session-tags_role-chaining).

Mit der folgenden [Vertrauensrichtlinie für Rollen](id_roles.md#term_trust-policy) kann der `test-session-tags`-Benutzer beispielsweise die Rolle übernehmen, der die Richtlinie angefügt ist. Wenn dieser Benutzer die Rolle übernimmt, muss er die AWS API AWS CLI oder verwenden, um die drei erforderlichen Sitzungs-Tags und die erforderliche [externe ID](id_roles_common-scenarios_third-party.md#id_roles_third-party_external-id) zu übergeben. Darüber hinaus kann der Benutzer entscheiden, ob er die `Project`- und `Department`-Tags als transitiv festlegen möchte.

**Example Beispiel einer Rollenvertrauensrichtlinie für Sitzungs-Tags**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowIamUserAssumeRole",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Principal": {"AWS": "arn:aws:iam::123456789012:user/test-session-tags"},
            "Condition": {
              "StringLike": {
                    "aws:RequestTag/Project": "*",
                    "aws:RequestTag/CostCenter": "*",
                    "aws:RequestTag/Department": "*"
                },
                "StringEquals": {"sts:ExternalId": "Example987"}
            }
        },
        {
            "Sid": "AllowPassSessionTagsAndTransitive",
            "Effect": "Allow",
            "Action": "sts:TagSession",
            "Principal": {"AWS": "arn:aws:iam::123456789012:user/test-session-tags"},
            "Condition": {
                "StringLike": {
                    "aws:RequestTag/Project": "*",
                    "aws:RequestTag/CostCenter": "*"
                },
                "StringEquals": {
                    "aws:RequestTag/Department": [
                        "Engineering",
                        "Marketing"
                    ]
                },
                "ForAllValues:StringEquals": {
                    "sts:TransitiveTagKeys": [
                        "Project",
                        "Department"
                    ]
                }
            }
        }
    ]
}
```

**Was macht diese Richtlinie?**
+ Mit der `AllowIamUserAssumeRole`-Anweisung kann der `test-session-tags`-Benutzer die Rolle übernehmen, der die Richtlinie angefügt ist. Wenn dieser Benutzer die Rolle übernimmt, muss er die erforderlichen Sitzungs-Tags und die [externe ID](id_roles_common-scenarios_third-party.md#id_roles_third-party_external-id) übergeben.
  + Der erste Bedingungsblock dieser Anweisung verlangt, dass der Benutzer die Sitzungs-Tags `Project`, `CostCenter` und `Department` übergibt. Die Tag-Werte spielen in dieser Anweisung keine Rolle, daher haben wir Platzhalter (\$1) für die Tag-Werte verwendet. Dieser Block stellt sicher, dass der Benutzer mindestens diese drei Sitzungs-Tags übergibt, andernfalls schlägt die Operation fehl. Andernfalls schlägt sie fehl. Der Benutzer kann zusätzliche Tags übergeben.
  + Der zweite Bedingungsblock verlangt, dass der Benutzer eine [externe ID](id_roles_common-scenarios_third-party.md#id_roles_third-party_external-id) mit dem Wert `Example987` übergibt.
+ Die `AllowPassSessionTagsAndTransitive`-Anweisung lässt die reine Berechtigungsaktion `sts:TagSession` zu. Diese Aktion muss zulässig sein, damit der Benutzer Sitzungs-Tags übergeben kann. Wenn Ihre Richtlinie die erste, nicht jedoch die zweite Anweisung enthält, kann der Benutzer die Rolle nicht übernehmen.
  + Der erste Bedingungsblock dieser Anweisung ermöglicht es dem Benutzer, einen beliebigen Wert für die Sitzungs-Tags `CostCenter` und `Project`zu übergeben. Dazu verwenden Sie Platzhalter (\$1) für den Tag-Wert in der Richtlinie, wofür Sie den [StringLike](reference_policies_elements_condition_operators.md#Conditions_String)Bedingungsoperator verwenden müssen.
  + Der zweite Bedingungsblock ermöglicht es dem Benutzer, nur den`Engineering`- oder `Marketing`-Wert oder für das Sitzungs-Tag `Department` zu übergeben.
  + Der dritte Bedingungsblock listet die maximale Gruppe von Tags auf, die als transitiv festgelegt werden können. Der Benutzer hat die Möglichkeit, eine Teilmenge oder keine Tags als transitiv festzulegen. Es ist jedoch nicht möglich, zusätzliche Tags als transitiv festzulegen. Sie können verlangen, dass mindestens eines der Tags als transitiv festgelegt wird. Zu diesem Zweck müssen Sie einen weiteren Bedingungsblock mit der Angabe `"Null":{"sts:TransitiveTagKeys":"false"}` hinzufügen. 

## Übergeben von Sitzungs-Tags mit AssumeRole
<a name="id_session-tags_adding-assume-role"></a>

Der `AssumeRole` Vorgang gibt einen Satz temporärer Anmeldeinformationen zurück, mit denen Sie auf AWS Ressourcen zugreifen können. Sie können IAM-Benutzer- oder -Rollenanmeldeinformationen zum Aufrufen von `AssumeRole` verwenden. Verwenden Sie die `--tags` AWS CLI Option oder den `Tags` AWS API-Parameter, um Sitzungs-Tags zu übergeben, während Sie eine Rolle übernehmen. 

Um Tags als transitiv festzulegen, verwenden Sie die `--transitive-tag-keys` AWS CLI Option oder den `TransitiveTagKeys` AWS API-Parameter. Transitive Tags bleiben während der Rollenverkettung erhalten. Weitere Informationen finden Sie unter [Verkettung von Rollen mit Sitzungs-Tags](#id_session-tags_role-chaining).

Das folgende Beispiel zeigt eine Beispielanforderung, bei der `AssumeRole` verwendet wird. Wenn Sie in diesem Beispiel die Rolle `my-role-example` übernehmen, erstellen Sie eine Sitzung mit dem Namen `my-session`. Sie fügen die Sitzungs-Tag-Schlüssel-Wert-Paare `Project` = `Automation`, `CostCenter` = `12345` und `Department` = `Engineering` hinzu. Darüber hinaus legen Sie die `Project`- und `Department`-Tags als transitiv fest, indem Sie ihre Schlüssel angeben. Sie müssen für jedes Sitzungs-Tag einen einzelnen Wert übergeben. AWS STS unterstützt keine mehrwertigen Sitzungs-Tags.

**Example Beispiel für eine AssumeRole CLI-Anfrage**  

```
aws sts assume-role \
--role-arn arn:aws:iam::123456789012:role/my-role-example \
--role-session-name my-session \
--tags Key=Project,Value=Automation Key=CostCenter,Value=12345 Key=Department,Value=Engineering \
--transitive-tag-keys Project Department \
--external-id Example987
```

## Übergabe von Sitzungs-Tags mithilfe von AssumeRoleWith SAML
<a name="id_session-tags_adding-assume-role-saml"></a>

Die `AssumeRoleWithSAML`-Operation wird mit dem SAML-basierten Verbund authentifiziert. Dieser Vorgang gibt einen Satz temporärer Anmeldeinformationen zurück, mit denen Sie auf AWS Ressourcen zugreifen können. Weitere Informationen zur Verwendung eines SAML-basierten Verbunds für den AWS-Managementkonsole Zugriff finden Sie unter. [Aktivieren des Zugriffs von SAML 2.0-Verbundprinzipalen auf AWS-Managementkonsole](id_roles_providers_enable-console-saml.md) Einzelheiten zum AWS CLI AWS API-Zugriff finden Sie unter. [SAML 2.0-Föderation](id_roles_providers_saml.md) Ein Tutorial zur Konfiguration des SAML-Verbunds für Ihre Active Directory-Benutzer finden Sie unter [AWS Verbundauthentifizierung mit Active Directory Federation Services (ADFS) im AWS Sicherheitsblog](https://aws.amazon.com/blogs/security/aws-federated-authentication-with-active-directory-federation-services-ad-fs/). 

Als Administrator können Sie es Mitgliedern Ihres Unternehmensverzeichnisses ermöglichen, den Vorgang gemeinsam zu AWS nutzen. AWS STS `AssumeRoleWithSAML` Hierfür müssen Sie die folgenden Aufgaben ausführen:

1. [Konfigurieren des Netzwerks als SAML-Anbieter für AWS](id_roles_providers_saml_3rd-party.md)

1. [Erstellen eines SAML-Anbieters in IAM](id_roles_providers_create_saml.md)

1. [Rollen für den SAML 2.0-Verbund erstellen (Konsole)](id_roles_create_for-idp_saml.md)

1. [Abschließen der Konfiguration des SAML-Identitätsanbieters und Erstellen von Zusicherungen für die SAML-Authentifizierungsantwort](id_roles_providers_create_saml_assertions.md).

AWS schließt Identitätsanbieter mit zertifizierter end-to-end Erfahrung im Bereich Sitzungs-Tags mit ihren Identitätslösungen ein. Weitere Informationen zur Verwendung dieser Identitätsanbieter zum Konfigurieren von Sitzungs-Tags finden Sie unter [Integrieren Sie SAML-Lösungsanbieter von Drittanbietern mit AWS](id_roles_providers_saml_3rd-party.md).

Um SAML-Attribute als Sitzungs-Tags zu übergeben, schließen Sie das `Attribute`-Element ein und legen Sie dabei für das `Name`-Attribut `https://aws.amazon.com/SAML/Attributes/PrincipalTag:{TagKey}` fest. Verwenden Sie das `AttributeValue`-Element, um den Wert des Tags anzugeben. Fügen Sie ein separates `Attribute`-Element für jedes Sitzungs-Tag ein.

Angenommen, Sie möchten die folgenden Identitätsattribute als Sitzungs-Tags übergeben:
+ `Project:Automation`
+ `CostCenter:12345`
+ `Department:Engineering`

Um diese Attribute zu übergeben, schließen Sie die folgenden Elemente in Ihre SAML-Zusicherung ein.

**Example Beispielausschnitt einer SAML-Zusicherung**  

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:Project">
  <AttributeValue>Automation</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:CostCenter">
  <AttributeValue>12345</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:Department">
  <AttributeValue>Engineering</AttributeValue>
</Attribute>
```

Um die oben genannten Tags als transitiv festzulegen, schließen Sie ein weiteres `Attribute`-Element ein und legen dabei für das Attribut `Name` den Wert`https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys` fest. Transitive Tags bleiben während der Rollenverkettung erhalten. Weitere Informationen finden Sie unter [Verkettung von Rollen mit Sitzungs-Tags](#id_session-tags_role-chaining).

Verwenden Sie das folgende Mehrwertattribut, um die Tags `Project` und `Department` als transitiv festzulegen:

**Example Beispielausschnitt einer SAML-Zusicherung**  

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys">
  <AttributeValue>Project</AttributeValue>
  <AttributeValue>Department</AttributeValue>
</Attribute>
```

## Weitergabe von Sitzungs-Tags mit AssumeRoleWithWebIdentity
<a name="id_session-tags_adding-assume-role-idp"></a>

Verwenden Sie einen mit OpenID Connect (OIDC) kompatiblen Verbund, um den `AssumeRoleWithWebIdentity`-Vorgang zu authentifizieren. Dieser Vorgang gibt einen Satz temporärer Anmeldeinformationen zurück, mit denen Sie auf AWS Ressourcen zugreifen können. Weitere Informationen zur Verwendung des Web-Identitätsverbunds für den AWS-Managementkonsole Zugriff finden Sie unter[OIDC-Verbund](id_roles_providers_oidc.md).

Um Sitzungs-Tags von OpenID Connect (OIDC) zu übergeben, müssen Sie die Sitzungs-Tags in das JSON Web Token (JWT) einschließen, wenn Sie die `AssumeRoleWithWebIdentity`-Anforderung übermitteln. Weitere Informationen zu OIDC-Token und Ansprüchen finden Sie unter [Verwenden von Token mit Benutzerpools](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html) im *Amazon Cognito Developer Guide*.

AWS unterstützt zwei Anspruchsformate für die Aufnahme von Sitzungs-Tags in das JWT: 
+ Format für verschachtelte Anträge
+ Format für vereinfachte Anträge

### Format für verschachtelte Anträge
<a name="id_session-tags_adding-assume-role-idp-nested-format"></a>

Das Format für verschachtelte Anträge verwendet eine Struktur innerhalb des `https://aws.amazon.com/tags`-Namespace in der JWT. In diesem Format:
+ Prinzipal-Tags werden als verschachteltes Objekt unter dem `principal_tags`-Schlüssel dargestellt.
+ Jedes Prinzipal Tag ist eine einzelne Zeichenfolge.
+ Transitive Tag-Schlüssel werden in einem Array unter dem `transitive_tag_keys`-Schlüssel dargestellt.
+ Sowohl `principal_tags` als auch `transitive_tag_keys` sind unter dem `https://aws.amazon.com/tags`-Namespace verschachtelt.

Das folgende Beispiel zeigt ein dekodiertes JWT unter Verwendung des verschachtelten Objektformats: 

**Example Beispiel für dekodiertes JSON-Web-Token unter Verwendung des Formats für verschachtelte Anträge**  

```
{
    "sub": "johndoe",
    "aud": "ac_oic_client",
    "jti": "ZYUCeRMQVtqHypVPWAN3VB",
    "iss": "https://xyz.com",
    "iat": 1566583294,
    "exp": 1566583354,
    "auth_time": 1566583292,
    "https://aws.amazon.com/tags": {
        "principal_tags": {
            "Project": ["Automation"],
            "CostCenter": ["987654"],
            "Department": ["Engineering"]
        },
        "transitive_tag_keys": [
            "Project",
            "CostCenter"
        ]
    }
}
```

### Format für vereinfachte Anträge
<a name="id_session-tags_adding-assume-role-idp-flattened-format"></a>

Format für vereinfachte Anträge ist mit Identitätsanbietern kompatibel, die keine verschachtelten Objekte in JWT-Ansprüchen unterstützen, wie etwa Microsoft Entra ID. In diesem Format:
+ Prinzipal-Tags werden als separate Anträge mit dem Präfix `https://aws.amazon.com/tags/principal_tags/` dargestellt. 
+ Jedes Prinzipal Tag ist eine einzelne Zeichenfolge.
+ Transitive Tag-Schlüssel werden in einem einzelnen Antrag als Array von Zeichenfolgen mit dem Präfix `https://aws.amazon.com/tags/transitive_tag_keys` dargestellt.

Schauen wir uns nun an, wie dieselben Informationen mithilfe des Formats für vereinfachte Anträge dargestellt werden:

**Example Beispiel für dekodiertes JSON-Web-Token unter Verwendung des Formats für vereinfachte Anträge**  

```
{
    "sub": "johndoe",
    "aud": "ac_oic_client",
    "jti": "ZYUCeRMQVtqHypVPWAN3VB",
    "iss": "https://xyz.com",
    "iat": 1566583294,
    "exp": 1566583354,
    "auth_time": 1566583292,
    "https://aws.amazon.com/tags/principal_tags/Project": "Automation",
    "https://aws.amazon.com/tags/principal_tags/CostCenter": "987654",
    "https://aws.amazon.com/tags/principal_tags/Department": "Engineering",
    "https://aws.amazon.com/tags/transitive_tag_keys": [
        "Project",
        "CostCenter"
    ]
}
```

Beide dekodierten JWT-Beispiele zeigen einen Aufruf von `AssumeRoleWithWebIdentity` mit den Sitzungs-Tags `Project`, `CostCenter`, und `Department`. Beide Token legen die `Project`- und `CostCenter`-Tags als transitiv fest. Transitive Tags bleiben während der Rollenverkettung erhalten. Weitere Informationen finden Sie unter [Verkettung von Rollen mit Sitzungs-Tags](#id_session-tags_role-chaining).

Das abgeflachte Antragsformat erzielt das gleiche Ergebnis wie das Format für verschachtelte Anträge verwendet jedoch eine vereinfachte Struktur für Tags. Es ermöglicht Ihnen, Sitzungs-Tags in Umgebungen einzuschließen, in denen verschachtelte JSON-Objekte in JWT-Anträgen nicht unterstützt werden. Stellen Sie bei Verwendung eines der beiden Formate sicher, dass Ihr Identitätsanbieter für die Ausgabe von Token mit den entsprechenden Antragsstrukturen konfiguriert ist. AWS unterstützt beide Antragsformate, sodass Sie dasjenige auswählen können, das den spezifischen Anforderungen Ihres Identitätsanbieters am besten entspricht.

## Übergabe von Sitzungs-Tags mit GetFederationToken
<a name="id_session-tags_adding-getfederationtoken"></a>

Mit `GetFederationToken` können Sie Ihren Benutzer in einen Verbund einbeziehen. Dieser Vorgang gibt einen Satz temporärer Anmeldeinformationen zurück, mit denen Sie auf AWS Ressourcen zugreifen können. Verwenden Sie die `--tags` AWS CLI Option oder den `Tags` AWS API-Parameter, um Ihrer Verbundbenutzersitzung Tags hinzuzufügen. Bei der Verwendung von `GetFederationToken` können Sie Sitzungs-Tags nicht als transitiv festlegen, da Sie die temporären Anmeldeinformationen nicht verwenden können, um eine Rolle zu übernehmen. Sie können in diesem Fall keine Rollenverkettung verwenden. 

Das folgende Beispiel zeigt eine Beispielanforderung unter Verwendung von `GetFederationToken`. Wenn Sie in diesem Beispiel das Token anfordern, erstellen Sie eine Sitzung mit dem Namen `my-fed-user`. Sie fügen die Sitzungs-Tag-Schlüssel-Wert-Paare `Project` = `Automation` und `Department` = `Engineering` hinzu.

**Example Beispiel für eine GetFederationToken CLI-Anfrage**  

```
aws sts get-federation-token \
--name my-fed-user \
--tags key=Project,value=Automation key=Department,value=Engineering
```

Wenn Sie die temporären Anmeldeinformationen verwenden, die von der `GetFederationToken`-Operation zurückgegeben werden, enthalten die Auftraggeber-Tags der Sitzung die Tags des Benutzers und die übergebenen Sitzungs-Tags.

## Verkettung von Rollen mit Sitzungs-Tags
<a name="id_session-tags_role-chaining"></a>

Sie können eine Rolle übernehmen und dann die temporären Anmeldeinformationen verwenden, um eine andere Rolle zu übernehmen. Sie können von Sitzung zu Sitzung fortfahren. Dies wird als [Rollenverkettung](id_roles.md#iam-term-role-chaining) bezeichnet. Wenn Sie Sitzungs-Tags übergeben, während Sie eine Rolle übernehmen, können Sie die Schlüssel als transitiv festlegen. Dadurch wird sichergestellt, dass diese Sitzungs-Tags an nachfolgende Sitzungen in einer Rollenkette übergeben werden. Rollen-Tags können nicht als transitiv festgelegt werden. Um diese Tags an nachfolgende Sitzungen zu übergeben, müssen Sie sie als Sitzungs-Tags angeben.

**Anmerkung**  
Transitive Tags bleiben während der Rollenverkettung bestehen und ersetzen übereinstimmende `ResourceTag`-Werte nach der Auswertung der Rollenvertrauensrichtlinie.

Das folgende Beispiel zeigt, wie AWS STS Sitzungs-Tags, transitive Tags und Rollentags an nachfolgende Sitzungen in einer Rollenkette weitergegeben werden.

In diesem Beispielszenario zur Rollenverkettung verwenden Sie einen IAM-Benutzerzugriffsschlüssel, AWS CLI um eine Rolle mit dem Namen anzunehmen. `Role1` Dann verwenden Sie die resultierenden Sitzungsanmeldeinformationen, um eine zweite Rolle namens `Role2` zu übernehmen. Anschließend können Sie die Anmeldeinformationen der zweiten Sitzung verwenden, um eine dritte Rolle namens `Role3` zu übernehmen. Diese Anforderungen erfolgen als drei separate Operationen. Jede Rolle ist bereits in IAM markiert. Während jeder Anforderung übergeben Sie zusätzliche Sitzungs-Tags.

![\[Verketten von Rollen\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/session-tags-chaining-simple.png)


Durch die Verkettung von Rollen können Sie sicherstellen, dass Tags aus einer früheren Sitzung in den späteren Sitzungen bestehen bleiben. Wenn Sie hierfür den CLI-Befehl `assume-role` verwenden möchten, müssen Sie das Tag als Sitzungs-Tag übergeben und als transitiv festlegen. Sie übergeben das Tag `Star` = `1` als Sitzungs-Tag. Das Tag `Heart` = `1` ist an die Rolle angefügt und wird als Auftraggeber-Tag angewendet, wenn Sie die Sitzung verwenden. Sie möchten jedoch auch, dass das Tag `Heart` = `1` automatisch an die zweite oder dritte Sitzung übergeben wird. Zu diesem Zweck fügen Sie es manuell als Sitzungs-Tag ein. Die resultierenden Sitzungsauftraggeber-Tags enthalten beide Tags und legen sie als transitiv fest.

![\[Übernahme der ersten Rolle in einer Rollenkette\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/session-tags-chaining-role1.png)


Sie führen diese Anfrage mit dem folgenden Befehl aus: AWS CLI 

**Example Beispiel für eine AssumeRole CLI-Anfrage**  

```
aws sts assume-role \
--role-arn arn:aws:iam::123456789012:role/Role1 \
--role-session-name Session1 \
--tags Key=Star,Value=1 Key=Heart,Value=1 \
--transitive-tag-keys Star Heart
```

Dann verwenden Sie die Anmeldeinformationen für diese Sitzung, um `Role2` zu übernehmen. Das Tag `Sun` = `2` ist an die zweite Rolle angefügt und gilt als Auftraggeber-Tag, wenn Sie die zweite Sitzung verwenden. Die Tags `Heart` und `Star` werden von den transitiven Sitzungs-Tags in der ersten Sitzung übernommen. Die resultierenden Auftraggeber-Tags der zweiten Sitzung sind `Heart` = `1`, `Star` = `1` und `Sun` = `2`. `Heart` und `Star` bleiben weiterhin transitiv. Das Tag `Sun`, das an `Role2` angefügt wurde, ist nicht als transitiv markiert, da es sich nicht um ein Sitzungs-Tag handelt. Dieses Tag wird nicht von zukünftigen Sitzungen übernommen. 

![\[Übernahme der zweiten Rolle in einer Rollenkette\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/session-tags-chaining-role2.png)


Sie führen diese zweite Anfrage mit dem folgenden AWS CLI Befehl aus:

**Example Beispiel für eine AssumeRole CLI-Anfrage**  

```
aws sts assume-role \
--role-arn arn:aws:iam::123456789012:role/Role2 \
--role-session-name Session2
```

Dann verwenden Sie die Anmeldeinformationen für die zweite Sitzung, um `Role3` zu übernehmen. Die Auftraggeber-Tags für die dritte Sitzung stammen aus neuen Sitzungs-Tags, den übernommenen transitiven Sitzungs-Tags und den Rollen-Tags. Die Tags `Heart` = `1` und `Star` = `1` in der zweiten Sitzung wurden von dem transitiven Sitzungs-Tag in der ersten Sitzung übernommen. Wenn Sie versuchen, das Sitzungs-Tag `Sun` = `2` zu übergeben, schlägt die Operation fehl. Das geerbte Sitzungs-Tag `Star` = 1 hat Vorrang vor dem Tag role `Star` = `3`. Bei der Rollenverkettung überschreibt der Wert eines transitiven Tags die Rolle, die dem `ResourceTag`-Wert nach der Bewertung der Rollenvertrauensrichtlinie. In diesem Beispiel verwendet `Role3` `Star` als `ResourceTag` in der Vertrauensrichtlinie der Rolle und setzt den Wert `ResourceTag` auf den Wert des transitiven Tags der aufrufenden Rollensitzung. Das Tag `Lightning` der Rolle gilt auch für die dritte Sitzung und ist nicht als transitiv festgelegt.

![\[Übernahme der dritten Rolle in einer Rollenkette\]](http://docs.aws.amazon.com/de_de/IAM/latest/UserGuide/images/session-tags-chaining-role3.png)


Sie führen die dritte Anfrage mit dem folgenden AWS CLI Befehl aus:

**Example Beispiel für eine AssumeRole CLI-Anfrage**  

```
aws sts assume-role \
--role-arn arn:aws:iam::123456789012:role/Role3 \
--role-session-name Session3
```

## Verwenden von Sitzungs-Tags für ABAC
<a name="id_session-tags_using-abac"></a>

Die attributbasierte Zugriffskontrolle (ABAC) ist eine Autorisierungsstrategie, bei der Berechtigungen basierend auf Tag-Attributen definiert werden. 

Wenn Ihr Unternehmen einen SAML-basierten Identitätsanbieter (IdP) für Unternehmens-Benutzeridentitäten verwendet, können Sie Ihre SAML-Zusicherung so konfigurieren, dass Sitzungs-Tags an AWSübergeben werden. Bei Benutzeridentitäten in Unternehmen werden beispielsweise, wenn sich Ihre Mitarbeiter zusammenschließen AWS, ihre Attribute auf den resultierenden Prinzipal AWS angewendet. Sie können dann ABAC verwenden, um Berechtigungen basierend auf diesen Attributen zuzulassen oder abzulehnen. Details hierzu finden Sie unter [IAM-Tutorial: Verwenden von SAML-Sitzungs-Tags für ABAC](tutorial_abac-saml.md).

Weitere Informationen zur Verwendung von IAM Identity Center mit ABAC finden Sie unter [Attribute für die Zugriffssteuerung](https://docs.aws.amazon.com/singlesignon/latest/userguide/attributesforaccesscontrol.html) im *AWS IAM Identity Center -Leitfaden*.

## Sitzungs-Tags anzeigen in CloudTrail
<a name="id_session-tags_ctlogs"></a>

Sie können AWS CloudTrail damit die Anfragen anzeigen, die zur Übernahme von Rollen oder zum Zusammenführen von Benutzern verwendet wurden. Die CloudTrail-Protokolldatei enthält Informationen zu den Prinzipal-Tags für die angenommene Rolle oder Sitzung verbundener Benutzer. Weitere Informationen finden Sie unter [Protokollierung von IAM- und AWS STS API-Aufrufen mit AWS CloudTrail](cloudtrail-integration.md).

Gehen Sie beispielsweise davon aus, dass Sie eine AWS STS `AssumeRoleWithSAML` Anfrage stellen, Sitzungs-Tags übergeben und diese Tags als transitiv festlegen. Die folgenden Informationen sind in Ihrem CloudTrail -Protokoll zu finden.

**Example Beispiel für ein AssumeRoleWith SAML-Protokoll CloudTrail**  

```
    "requestParameters": {
        "sAMLAssertionID": "_c0046cEXAMPLEb9d4b8eEXAMPLE2619aEXAMPLE",
        "roleSessionName": "MyRoleSessionName",
        "principalTags": {
            "CostCenter": "987654",
            "Project": "Unicorn"
        },
        "transitiveTagKeys": [
            "CostCenter",
            "Project"
        ],
        "durationSeconds": 3600,
        "roleArn": "arn:aws:iam::123456789012:role/SAMLTestRoleShibboleth",
        "principalArn": "arn:aws:iam::123456789012:saml-provider/Shibboleth"
    },
```

Sie können sich die folgenden CloudTrail Beispielprotokolle ansehen, um Ereignisse anzuzeigen, die Sitzungs-Tags verwenden.
+ [Beispiel für ein API-Ereignis zur AWS STS Rollenverkettung in einer Protokolldatei CloudTrail](cloudtrail-integration.md#stscloudtrailexample-assumerole)
+ [Beispiel für ein AWS STS SAML-API-Ereignis in der Protokolldatei CloudTrail](cloudtrail-integration.md#stscloudtrailexample_saml)
+ [Beispiel für ein AWS STS OIDC-API-Ereignis in der Protokolldatei CloudTrail](cloudtrail-integration.md#stscloudtrailexample_web-identity)