

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.

# Authentifizierung und Zugriff mithilfe von AWS SDKs Tools
<a name="access"></a>

Wenn Sie eine AWS SDK-Anwendung entwickeln oder zu verwendende AWS Tools verwenden AWS-Services, müssen Sie festlegen, mit welcher Methode Ihr Code oder Tool authentifiziert wird. AWS Sie können den programmatischen Zugriff auf AWS Ressourcen auf unterschiedliche Weise konfigurieren, abhängig von der Umgebung, in der der Code ausgeführt wird, und dem verfügbaren AWS Zugriff. 

Die folgenden Optionen sind Teil der [Anmeldeinformationsanbieterkette](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html#credentialProviderChain). Das bedeutet, dass Ihr AWS SDK oder Tool diese Authentifizierungsmethode automatisch erkennt AWS `config` und verwendet, wenn Sie Ihre geteilten `credentials` Dateien und Dateien entsprechend konfigurieren.

## Wählen Sie eine Methode zur Authentifizierung Ihres Anwendungscodes
<a name="authDecisionTree"></a>

Wählen Sie eine Methode zur Authentifizierung der Aufrufe, an die Ihre Anwendung gesendet AWS hat.

### Führen Sie Code INSIDE aus AWS-Service (wie Amazon EC2, Lambda, Amazon ECS, Amazon EKS, CodeBuild)?
<a name="a"></a>

Wenn Ihr Code auf läuft AWS, können Anmeldeinformationen automatisch für Ihre Anwendung verfügbar gemacht werden. Wenn Ihre Anwendung beispielsweise auf Amazon Elastic Compute Cloud gehostet wird und dieser Ressource eine IAM-Rolle zugeordnet ist, werden die Anmeldeinformationen automatisch für Ihre Anwendung verfügbar gemacht. Wenn Sie Amazon ECS- oder Amazon EKS-Container verwenden, können die für die IAM-Rolle festgelegten Anmeldeinformationen ebenfalls automatisch abgerufen werden, indem der Code innerhalb des Containers über die [Anmeldeinformationsanbieterkette](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html#credentialProviderChain) des SDK ausgeführt wird.

#### Befindet sich Ihr Code in einer Amazon Elastic Compute Cloud-Instanz?
<a name="a1"></a>

[Verwenden von IAM-Rollen zur Authentifizierung von Anwendungen, die auf Amazon bereitgestellt werden EC2](access-iam-roles-for-ec2.md)— Verwenden Sie IAM-Rollen, um Ihre Anwendung sicher auf einer Amazon EC2 EC2-Instance auszuführen.

#### Ist Ihr Code in einer Funktion? AWS Lambda
<a name="a2"></a>

Lambda erstellt eine Ausführungsrolle mit minimalen Berechtigungen, wenn Sie [eine Lambda-Funktion erstellen](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). Das AWS SDK oder Tool verwendet dann automatisch die IAM-Rolle, die dem Lambda zur Laufzeit über die Lambda-Ausführungsumgebung zugewiesen ist.

#### Befindet sich Ihr Code in Amazon Elastic Container Service (auf Amazon EC2 oder AWS Fargate für Amazon ECS)?
<a name="a3"></a>

Verwenden Sie die IAM-Rolle für die Aufgabe. Sie müssen [eine Aufgabenrolle erstellen](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) und diese Rolle in Ihrer [Amazon ECS-Aufgabendefinition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) angeben. Das AWS SDK oder Tool verwendet dann automatisch die der Aufgabe zur Laufzeit zugewiesene IAM-Rolle über die Amazon ECS-Metadaten.

#### Ist Ihr Code in Amazon Elastic Kubernetes Service?
<a name="a4"></a>

Wir empfehlen Ihnen, [Amazon EKS Pod Identities zu](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html) verwenden.

Hinweis: Wenn Sie der Meinung sind, dass [IAM-Rollen für Service Accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) (IRSA) besser auf Ihre individuellen Bedürfnisse zugeschnitten sind, finden Sie weitere Informationen unter [Vergleich von EKS Pod Identity und IRSA](https://docs.aws.amazon.com/eks/latest/userguide/service-accounts.html#service-accounts-iam) im **Amazon EKS-Benutzerhandbuch**.

#### Läuft Ihr Code in AWS CodeBuild
<a name="a5"></a>

Weitere Informationen finden Sie [unter Verwenden identitätsbasierter Richtlinien für](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html). CodeBuild

#### Ist Ihr Code in einem anderen? AWS-Service
<a name="a6"></a>

Sehen Sie sich den speziellen Leitfaden für Sie an AWS-Service. Wenn Sie Code on ausführen AWS, kann die [SDK-Anmeldeinformationsanbieterkette](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html#credentialProviderChain) automatisch Anmeldeinformationen für Sie abrufen und aktualisieren.

### Erstellen Sie mobile Anwendungen oder clientbasierte Webanwendungen?
<a name="b"></a>

Wenn Sie mobile Anwendungen oder clientbasierte Webanwendungen erstellen, auf die Zugriff erforderlich ist AWS, erstellen Sie Ihre App so, dass sie mithilfe eines Web-Identitätsverbunds dynamisch temporäre AWS Sicherheitsanmeldeinformationen anfordert. 

Mit Web-Identitätsverbund müssen Sie keinen eigenen Anmeldecode schreiben oder eigene Benutzeridentitäten verwalten. Stattdessen können sich App-Nutzer mit einem bekannten externen Identitätsanbieter (IdP) anmelden, z. B. Login with Amazon, Facebook, Google oder einem anderen OpenID Connect (OIDC) -kompatiblen IdP. Sie können ein Authentifizierungstoken erhalten und dieses Token dann gegen temporäre Sicherheitsanmeldeinformationen in AWS dieser Zuordnung zu einer IAM-Rolle mit Berechtigungen zur Nutzung der Ressourcen in Ihrem eintauschen. AWS-Konto

Wie Sie dies für Ihr SDK oder Tool konfigurieren, erfahren Sie unter[Übernahme einer Rolle bei Web Identity oder OpenID Connect zur Authentifizierung und Tools AWS SDKs](access-assume-role-web.md). 

Erwägen Sie für mobile Anwendungen die Verwendung von Amazon Cognito. Amazon Cognito fungiert als Identitätsbroker und erledigt einen Großteil der Verbundarbeit für Sie. Weitere Informationen finden Sie unter [Verwenden von Amazon Cognito für mobile Apps](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_cognito.html) im *IAM-Benutzerhandbuch*. 

### Entwickeln und führen Sie den Code LOKAL aus?
<a name="c"></a>

Wir empfehlen[Verwendung von Konsolenanmeldedaten zur Authentifizierung AWS SDKs und Tools](access-login.md).

Nach einem schnellen browserbasierten Authentifizierungsablauf AWS werden automatisch temporäre Anmeldeinformationen generiert, die in allen lokalen Entwicklungstools wie der AWS CLI AWS -Tools für PowerShell und AWS SDKs funktionieren. 

#### Wenn Sie Identity Center für den AWS Kontozugriff verwenden
<a name="idc"></a>

Verwenden Sie IAM Identity Center, um AWS SDK und Tools zu authentifizieren, wenn Sie bereits Zugriff auf AWS Konten haben, die den Zugriff für Ihre Belegschaft verwalten and/or müssen. Aus Sicherheitsgründen empfehlen wir die Verwendung AWS Organizations zusammen mit IAM Identity Center, um den Zugriff für alle Ihre Konten zu verwalten. AWS Sie können Benutzer im IAM Identity Center erstellen, Microsoft Active Directory verwenden, einen SAML 2.0-Identitätsanbieter (IdP) verwenden oder Ihren IdP individuell mit Konten verbinden. AWS Um zu überprüfen, ob Ihre Region IAM Identity Center unterstützt, finden Sie unter [Verwenden von IAM Identity Center zur Authentifizierung von AWS SDK und Tools](access-sso.md) IAM Identity Center-Endpunkte und Kontingente in der Amazon Web Services General Reference.

#### Wenn Sie nach anderen Authentifizierungsmöglichkeiten suchen
<a name="owa"></a>

Erstellen Sie einen IAM-Benutzer mit den geringsten Rechten und Berechtigungen für den Zugriff auf `sts:AssumeRole` Ihre Zielrolle. Konfigurieren Sie dann Ihr Profil so, dass es eine Rolle annimmt, indem Sie eine für diesen Benutzer `source_profile` eingerichtete Konfiguration verwenden.

Sie können temporäre IAM-Anmeldeinformationen auch über Umgebungsvariablen oder die Datei mit gemeinsam genutzten AWS Anmeldeinformationen verwenden. Weitere Informationen finden Sie unter Verwenden von kurzfristigen Anmeldeinformationen zur Authentifizierung AWS SDKs und zu Tools.

Hinweis: Nur in Sandbox- oder Lernumgebungen können Sie erwägen, langfristige Anmeldeinformationen für die Authentifizierung AWS SDKs und Tools zu verwenden.

### Wird dieser Code vor Ort oder in einer Hybrid-/On-Demand-VM ausgeführt (z. B. auf einem Server, der von Amazon S3 liest oder auf Amazon S3 schreibt, oder Jenkins, der in der Cloud bereitstellt)?
<a name="d"></a>

#### Verwenden Sie X.509-Client-Zertifikate?
<a name="d1"></a>

Ja: Siehe[Authentifizierung AWS SDKs und Tools mit IAM Roles Anywhere](access-rolesanywhere.md). Sie können IAM Roles Anywhere verwenden, um temporäre Sicherheitsanmeldeinformationen in IAM für Workloads wie Server, Container und Anwendungen abzurufen, die außerhalb von ausgeführt werden. AWS Um IAM Roles Anywhere verwenden zu können, müssen Ihre Workloads X.509-Zertifikate verwenden.

#### Kann die Umgebung eine sichere Verbindung zu einem Federated Identity Provider (wie Microsoft Entra oder Okta) herstellen, um temporäre Anmeldeinformationen anzufordern? AWS
<a name="d2"></a>

##### Ja: Verwenden [Anbieter von Prozessanmeldedaten](feature-process-credentials.md)
<a name="d2a"></a>

Wird verwendet[Anbieter von Prozessanmeldedaten](feature-process-credentials.md), um Anmeldeinformationen zur Laufzeit automatisch abzurufen. Diese Systeme verwenden möglicherweise ein Hilfstool oder ein Plug-in, um die Anmeldeinformationen abzurufen, und übernehmen möglicherweise im Hintergrund eine IAM-Rolle mithilfe von`sts:AssumeRole`.

##### Nein: Verwenden Sie temporäre Anmeldeinformationen, die über eingegeben wurden AWS Secrets Manager
<a name="d2b"></a>

Verwenden Sie temporäre Anmeldeinformationen, die über eingegeben wurden AWS Secrets Manager. Optionen zum Abrufen kurzlebiger Zugriffsschlüssel finden Sie unter [Temporäre Sicherheitsanmeldedaten anfordern](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) im *IAM-Benutzerhandbuch*. Optionen zum Speichern dieser temporären Anmeldeinformationen finden Sie unter. [AWS Zugriffstasten](feature-static-credentials.md)

Sie können diese Anmeldeinformationen verwenden, um umfassendere Anwendungsberechtigungen sicher aus [Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) abzurufen, wo Ihre Produktionsgeheimnisse oder langlebige rollenbasierte Anmeldeinformationen gespeichert werden können.

### Verwenden Sie ein Drittanbieter-Tool, das nicht enthalten ist? AWS
<a name="e"></a>

Die beste Anleitung zur Beschaffung von Anmeldeinformationen finden Sie in der von Ihrem Drittanbieter verfassten Dokumentation.

#### Können Sie temporäre Anmeldeinformationen sicher eingeben, wenn Ihr Drittanbieter keine Unterlagen bereitgestellt hat?
<a name="e1"></a>

Ja: Verwenden Sie Umgebungsvariablen und temporäre AWS STS Anmeldeinformationen.

Nein: Verwenden Sie statische Zugriffsschlüssel, die im verschlüsselten Secret Manager gespeichert sind (letzter Ausweg).

## Authentifizierungsmethoden
<a name="authOptions"></a>

**Authentifizierungsmethoden für Code, der in einer AWS Umgebung ausgeführt wird**

Wenn Ihr Code auf läuft AWS, können Anmeldeinformationen automatisch für Ihre Anwendung verfügbar gemacht werden. Wenn Ihre Anwendung beispielsweise auf Amazon Elastic Compute Cloud gehostet wird und dieser Ressource eine IAM-Rolle zugeordnet ist, werden die Anmeldeinformationen automatisch für Ihre Anwendung verfügbar gemacht. Wenn Sie Amazon ECS- oder Amazon EKS-Container verwenden, können die für die IAM-Rolle festgelegten Anmeldeinformationen ebenfalls automatisch abgerufen werden, indem der Code innerhalb des Containers über die Anmeldeinformationsanbieterkette des SDK ausgeführt wird.
+ [Verwenden von IAM-Rollen zur Authentifizierung von Anwendungen, die auf Amazon bereitgestellt werden EC2](access-iam-roles-for-ec2.md)— Verwenden Sie IAM-Rollen, um Ihre Anwendung sicher auf einer Amazon EC2 EC2-Instance auszuführen. 
+  Sie können auf folgende Weise programmgesteuert mit der AWS Nutzung von IAM Identity Center interagieren:
  + Wird verwendet [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/), um AWS CLI Befehle von der Konsole aus auszuführen.
  + Wenn Sie einen cloudbasierten Kollaborationsraum für Softwareentwicklungsteams ausprobieren möchten, sollten Sie [Amazon](https://docs.aws.amazon.com/codecatalyst/latest/userguide/welcome.html) in Betracht ziehen CodeCatalyst. 

**Authentifizierung über einen webbasierten Identitätsanbieter — mobile oder clientbasierte Webanwendungen**

Wenn Sie mobile Anwendungen oder clientbasierte Webanwendungen erstellen, auf die Zugriff erforderlich ist AWS, erstellen Sie Ihre App so, dass sie mithilfe eines Web-Identitätsverbunds dynamisch temporäre AWS Sicherheitsanmeldeinformationen anfordert. 

Mit Web-Identitätsverbund müssen Sie keinen eigenen Anmeldecode schreiben oder eigene Benutzeridentitäten verwalten. Stattdessen können sich App-Nutzer mit einem bekannten externen Identitätsanbieter (IdP) anmelden, z. B. Login with Amazon, Facebook, Google oder einem anderen OpenID Connect (OIDC) -kompatiblen IdP. Sie können ein Authentifizierungstoken erhalten und dieses Token dann gegen temporäre Sicherheitsanmeldeinformationen in AWS dieser Zuordnung zu einer IAM-Rolle mit Berechtigungen zur Nutzung der Ressourcen in Ihrem eintauschen. AWS-Konto

Wie Sie dies für Ihr SDK oder Tool konfigurieren, erfahren Sie unter[Übernahme einer Rolle bei Web Identity oder OpenID Connect zur Authentifizierung und Tools AWS SDKs](access-assume-role-web.md). 

Erwägen Sie für mobile Anwendungen die Verwendung von Amazon Cognito. Amazon Cognito fungiert als Identitätsbroker und erledigt einen Großteil der Verbundarbeit für Sie. Weitere Informationen finden Sie unter [Verwenden von Amazon Cognito für mobile Apps](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_cognito.html) im *IAM-Benutzerhandbuch*. 

**Authentifizierungsmethoden für Code, der lokal ausgeführt wird (nicht in) AWS**
+ [Verwendung von Konsolenanmeldedaten zur Authentifizierung AWS SDKs und Tools](access-login.md)— Diese Funktion funktioniert sowohl mit der AWS Befehlszeilenschnittstelle als auch mit Tools für PowerShell und bietet Ihnen aktualisierbare Anmeldeinformationen, die für alle lokalen Entwicklungstools wie AWS CLI, Tools for PowerShell und AWS verwendet werden können.
+ [Verwenden von IAM Identity Center zur Authentifizierung von AWS SDK und Tools](access-sso.md)— Aus Sicherheitsgründen empfehlen wir die Verwendung AWS Organizations zusammen mit IAM Identity Center, um den Zugriff für alle Ihre Benutzer zu verwalten. AWS-Konten Sie können Benutzer in Microsoft Active Directory erstellen AWS IAM Identity Center, einen SAML 2.0-Identitätsanbieter (IdP) verwenden oder Ihren IdP individuell mit diesem verbinden. AWS-Konten Informationen darüber, ob Ihre Region IAM Identity Center unterstützt, finden Sie unter [AWS IAM Identity Center Endpunkte](https://docs.aws.amazon.com/general/latest/gr/sso.html) und Kontingente in der. *Allgemeine Amazon Web Services-Referenz* 
+ [Authentifizierung AWS SDKs und Tools mit IAM Roles Anywhere](access-rolesanywhere.md)— Sie können IAM Roles Anywhere verwenden, um temporäre Sicherheitsanmeldedaten in IAM für Workloads wie Server, Container und Anwendungen abzurufen, die außerhalb von ausgeführt werden. AWS Um IAM Roles Anywhere verwenden zu können, müssen Ihre Workloads X.509-Zertifikate verwenden. 
+  [Übernahme einer Rolle mit AWS Anmeldeinformationen zur Authentifizierung AWS SDKs und Tools](access-assume-role.md)— Sie können eine IAM-Rolle annehmen, um vorübergehend auf AWS Ressourcen zuzugreifen, auf die Sie sonst möglicherweise keinen Zugriff hätten. 
+  [Verwendung von AWS Zugriffsschlüsseln zur Authentifizierung AWS SDKs und Tools](access-users.md)— Andere Optionen, die möglicherweise weniger praktisch sind oder das Sicherheitsrisiko für Ihre AWS Ressourcen erhöhen könnten. 

**Weitere Informationen zur Zugriffsverwaltung**

Das *IAM-Benutzerhandbuch* enthält die folgenden Informationen zur sicheren Steuerung des Zugriffs auf AWS Ressourcen:
+ [IAM-Identitäten (Benutzer, Benutzergruppen und Rollen)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) — Verstehen Sie die Grundlagen von Identitäten in. AWS
+ [Bewährte Sicherheitspraktiken in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) [— Sicherheitsempfehlungen, die bei der Entwicklung von AWS Anwendungen nach dem Modell der geteilten Verantwortung zu beachten sind.](https://aws.amazon.com/compliance/shared-responsibility-model/)

Das *Allgemeine Amazon Web Services-Referenz*enthält grundlegende Grundlagen zu den folgenden Themen:
+ [Ihre AWS Anmeldeinformationen verstehen und abrufen](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html) — Zugriff auf wichtige Optionen und Verwaltungspraktiken sowohl für den Konsolen- als auch für den programmgesteuerten Zugriff.

**Zugriff auf das IAM Identity Center-Plugin für Trusted Identity Propagation (TIP) AWS-Services**
+ [Verwenden des TIP-Plugins für den Zugriff AWS-Services](access-tip.md)— Wenn Sie eine Anwendung für Amazon Q Business oder einen anderen Service erstellen, der die Verbreitung vertrauenswürdiger Identitäten unterstützt, und das AWS SDK für Java oder das verwenden AWS SDK für JavaScript, können Sie das TIP-Plugin verwenden, um die Autorisierung zu vereinfachen. 

## AWS Builder ID
<a name="bid"></a>

Sie AWS Builder ID ergänzen alle, die AWS-Konten Sie vielleicht schon besitzen oder erstellen möchten. Eine AWS-Konto fungiert zwar als Container für AWS Ressourcen, die Sie erstellen, und bietet eine Sicherheitsgrenze für diese Ressourcen, aber Ihre AWS Builder ID repräsentiert Sie als Einzelperson. Sie können sich mit Ihrem anmelden AWS Builder ID , um auf Entwicklertools und -dienste wie Amazon Q und Amazon zuzugreifen CodeCatalyst.
+ [Melden Sie sich AWS Builder ID im AWS-Anmeldung](https://docs.aws.amazon.com/signin/latest/userguide/sign-in-aws_builder_id.html) *Benutzerhandbuch* an — Erfahren Sie, wie Sie eine erstellen und verwenden, AWS Builder ID und erfahren Sie, was die Builder-ID bietet.
+ [CodeCatalystKonzepte — AWS Builder ID](https://docs.aws.amazon.com/codecatalyst/latest/userguide/concepts.html#sign-in-concept) im * CodeCatalyst Amazon-Benutzerhandbuch* — Erfahren Sie, wie ein CodeCatalyst verwendet wird AWS Builder ID.

# Verwendung von Konsolenanmeldedaten zur Authentifizierung AWS SDKs und Tools
<a name="access-login"></a>

Die Verwendung von Konsolenanmeldedaten ist die empfohlene Methode zur Bereitstellung von AWS Anmeldeinformationen, wenn Sie eine AWS Anwendung in Ihrer lokalen Umgebung oder in anderen Serviceumgebungen ohne AWS Rechenleistung entwickeln. Wenn Sie auf einer AWS Ressource wie Amazon Elastic Compute Cloud (Amazon EC2) oder entwickeln, empfehlen wir AWS CloudShell, stattdessen Anmeldeinformationen von diesem Service zu beziehen.

Sie können sich auch über das IAM Identity Center authentifizieren. [Verwenden von IAM Identity Center zur Authentifizierung von AWS SDK und Tools](access-sso.md) Diese Option ist eine gängige Methode für Unternehmen, um den Zugriff für ihre Belegschaft zu verwalten, und setzt voraus, dass Identity Center aktiviert ist.

## Funktionsweise
<a name="access-login-how"></a>

Wenn Sie [sich mit Konsolenanmeldedaten für die AWS lokale Entwicklung](https://docs.aws.amazon.com/signin/latest/userguide/command-line-sign-in.html) anmelden, können Sie Ihre vorhandenen Anmeldedaten für die AWS Management Console für den programmatischen Zugriff AWS auf Dienste verwenden. AWS Generiert nach einem browserbasierten Authentifizierungsablauf temporäre Anmeldeinformationen, die in allen lokalen Entwicklungstools wie AWS CLI, Tools for PowerShell und AWS SDKs funktionieren. Diese Funktion vereinfacht die Konfiguration und Verwaltung von AWS CLI-Anmeldeinformationen, insbesondere wenn Sie die interaktive Authentifizierung der Verwaltung von langfristigen Zugriffsschlüsseln vorziehen.

Mit diesem Prozess können Sie sich mit Ihren Root-Anmeldeinformationen, die Sie bei der ersten Kontoeinrichtung erstellt haben, mit IAM-Benutzern oder mit einer föderierten Identität von Ihrem Identitätsanbieter authentifizieren.

Wenn Sie sie SDKs für die Entwicklung verwenden, verwenden die SDK-Clients die temporären Anmeldeinformationen über die. [AWS SDKs und Tools standardisierte Anbieter von Anmeldeinformationen](standardized-credentials.md) Sie können auch die konfigurieren[Anbieter von Anmeldeinformationen](feature-login-credentials.md).

Die Authentifizierung über den Login-Befehl wird sowohl von AWS CLI als auch von Tools unterstützt für PowerShell:
+ [Melden Sie sich mit Konsolenanmeldedaten für die AWS lokale Entwicklung an](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html)
+ [Melden Sie sich mit den Konsolenanmeldedaten](https://docs.aws.amazon.com/powershell/v5/userguide/creds-idc.html#login-con-creds) im AWS -Tools für PowerShell Benutzerhandbuch an

# Verwenden von IAM Identity Center zur Authentifizierung von AWS SDK und Tools
<a name="access-sso"></a>

 AWS IAM Identity Center kann verwendet werden, um AWS Anmeldeinformationen bereitzustellen, wenn eine AWS Anwendung in Serviceumgebungen ohne AWS Rechenleistung entwickelt wird. Wenn Sie auf einer AWS Ressource wie Amazon Elastic Compute Cloud (Amazon EC2) oder entwickeln, empfehlen wir AWS Cloud9, stattdessen Anmeldeinformationen von diesem Service zu beziehen.

Verwenden Sie die IAM Identity Center-Authentifizierung, wenn Sie Identity Center bereits für den AWS Kontozugriff verwenden oder den Zugriff für eine Organisation verwalten müssen. 

In diesem Tutorial richten Sie den IAM Identity Center-Zugriff ein und konfigurieren ihn für Ihr SDK oder Tool mithilfe des AWS Zugriffsportals und des. AWS CLI
+ Das AWS Zugriffsportal ist die Webadresse, über die Sie sich manuell beim IAM Identity Center anmelden. Das Format der URL ist `d-xxxxxxxxxx.awsapps.com/start` oder`your_subdomain.awsapps.com/start`. Wenn Sie im AWS Access Portal angemeldet sind, können Sie die Rollen einsehen AWS-Konten , die für diesen Benutzer konfiguriert wurden. Bei diesem Verfahren werden die Konfigurationswerte, die Sie für den SDK/tool Authentifizierungsprozess benötigen, über das AWS Zugriffsportal abgerufen. 
+ Das AWS CLI wird verwendet, um Ihr SDK oder Tool so zu konfigurieren, dass es die IAM Identity Center-Authentifizierung für API-Aufrufe verwendet, die über Ihren Code getätigt werden. Dieser einmalige Vorgang aktualisiert Ihre gemeinsam genutzte AWS `config` Datei, die dann von Ihrem SDK oder Tool verwendet wird, wenn Sie Ihren Code ausführen. 

## Voraussetzungen
<a name="prereq-auth"></a>

Bevor Sie mit diesem Verfahren beginnen, sollten Sie die folgenden Schritte abgeschlossen haben:
+ Wenn Sie noch keine haben AWS-Konto, [melden Sie sich für eine an AWS-Konto](https://portal.aws.amazon.com/billing/signup).
+ Wenn Sie IAM Identity Center noch nicht aktiviert haben, [aktivieren Sie IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html), indem Sie den Anweisungen im *AWS IAM Identity Center Benutzerhandbuch* folgen.

## Konfigurieren Sie den programmatischen Zugriff mit IAM Identity Center
<a name="idcGettingStarted"></a>

### Schritt 1: Richten Sie den Zugriff ein und wählen Sie den entsprechenden Berechtigungssatz aus
<a name="establishAccess"></a>

Wählen Sie eine der folgenden Methoden, um auf Ihre AWS Anmeldeinformationen zuzugreifen.

#### Ich habe keinen Zugriff über IAM Identity Center eingerichtet
<a name="idc-access"></a>

1. Fügen Sie einen Benutzer hinzu und fügen Sie Administratorberechtigungen hinzu, indem [Sie das Verfahren Benutzerzugriff mit dem standardmäßigen IAM Identity Center-Verzeichnis konfigurieren](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) im *AWS IAM Identity Center Benutzerhandbuch befolgen*. 

1. Der `AdministratorAccess` Berechtigungssatz sollte nicht für die reguläre Entwicklung verwendet werden. Stattdessen empfehlen wir, den vordefinierten `PowerUserAccess` Berechtigungssatz zu verwenden, es sei denn, Ihr Arbeitgeber hat zu diesem Zweck einen benutzerdefinierten Berechtigungssatz erstellt.

   Gehen Sie erneut wie [beim Konfigurieren des Benutzerzugriffs mit dem standardmäßigen IAM Identity Center-Verzeichnis](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) vor, diesmal jedoch:
   + Anstatt die `Admin team` Gruppe zu erstellen, erstellen Sie eine `Dev team` Gruppe und ersetzen Sie diese anschließend in den Anweisungen.
   + Sie können den vorhandenen Benutzer verwenden, der Benutzer muss jedoch der neuen `Dev team` Gruppe hinzugefügt werden.
   + Anstatt den `AdministratorAccess` Berechtigungssatz zu erstellen, erstellen Sie einen `PowerUserAccess` Berechtigungssatz und ersetzen Sie ihn anschließend in der Anleitung.

   Wenn Sie fertig sind, sollten Sie über Folgendes verfügen:
   + Eine `Dev team` Gruppe.
   + Ein `PowerUserAccess` angehängter Berechtigungssatz für die `Dev team` Gruppe.
   + Ihr Benutzer wurde der `Dev team` Gruppe hinzugefügt.

1. Verlassen Sie das Portal und melden Sie sich erneut an, um Ihre Optionen AWS-Konten und Optionen für `Administrator` oder zu sehen`PowerUserAccess`. Wählen Sie diese Option`PowerUserAccess`, wenn Sie mit Ihrem Tool/SDK arbeiten. 

#### Ich habe bereits AWS über einen von meinem Arbeitgeber verwalteten Federated Identity Provider (wie Microsoft Entra oder Okta) Zugriff darauf
<a name="federated-access"></a>

Melden Sie sich AWS über das Portal Ihres Identitätsanbieters an. Wenn Ihr Cloud-Administrator Ihnen `PowerUserAccess` (Entwickler-) Berechtigungen erteilt hat, sehen Sie, auf AWS-Konten welche Sie Zugriff haben, und Ihren Berechtigungssatz. Neben dem Namen Ihres Berechtigungssatzes sehen Sie Optionen für den manuellen oder programmgesteuerten Zugriff auf die Konten mithilfe dieses Berechtigungssatzes. 

Benutzerdefinierte Implementierungen können zu unterschiedlichen Erfahrungen führen, z. B. zu unterschiedlichen Namen von Berechtigungssätzen. Wenn Sie sich nicht sicher sind, welchen Berechtigungssatz Sie verwenden sollen, wenden Sie sich an Ihr IT-Team. 

#### Ich habe bereits Zugriff auf AWS das von meinem Arbeitgeber verwaltete AWS Zugangsportal
<a name="accessportal-access"></a>

Melden Sie sich AWS über das AWS Zugangsportal an. Wenn Ihr Cloud-Administrator Ihnen `PowerUserAccess` (Entwickler-)Berechtigungen erteilt hat, sehen Sie die AWS-Konten , auf die Sie Zugriff haben, und Ihren Berechtigungssatz. Neben dem Namen Ihres Berechtigungssatzes sehen Sie Optionen für den manuellen oder programmgesteuerten Zugriff auf die Konten mithilfe dieses Berechtigungssatzes. 

#### Ich habe bereits AWS über einen föderierten benutzerdefinierten Identitätsanbieter, der von meinem Arbeitgeber verwaltet wird, Zugriff darauf
<a name="customfederated-access"></a>

Wenden Sie sich an Ihr IT-Team, um Hilfe zu erhalten.

### Schritt 2: Konfiguration SDKs und Tools zur Verwendung von IAM Identity Center
<a name="configureAccess"></a>

1.  Installieren Sie auf Ihrem Entwicklungscomputer die neueste Version AWS CLI. 

   1. Weitere Informationen finden Sie [im *AWS Command Line Interface Benutzerhandbuch* unter Installation oder Aktualisierung AWS CLI der neuesten Version von](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). 

   1.  (Optional) Um zu überprüfen, ob der AWS CLI funktioniert, öffnen Sie eine Befehlszeile und führen Sie den `aws --version` Befehl aus. 

1. Melden Sie sich beim AWS Access Portal an. Ihr Arbeitgeber kann diese URL angeben oder Sie erhalten sie in einer E-Mail nach **Schritt 1: Zugriff einrichten**. Wenn nicht, suchen Sie die **URL Ihres AWS Zugangsportals** im **Dashboard** von [https://console.aws.amazon.com/singlesignon/](https://console.aws.amazon.com/singlesignon/). 

   1. Wählen Sie im AWS Zugriffsportal auf der Registerkarte **Konten** das einzelne Konto aus, das Sie verwalten möchten. Die Rollen für Ihren Benutzer werden angezeigt. Wählen Sie **Zugriffstasten**, um Anmeldeinformationen für den Befehlszeilen- oder programmgesteuerten Zugriff für den entsprechenden Berechtigungssatz zu erhalten. Verwenden Sie den vordefinierten `PowerUserAccess` Berechtigungssatz oder den von Ihnen oder Ihrem Arbeitgeber erstellten Berechtigungssatz, um Berechtigungen mit den geringsten Rechten für die Entwicklung anzuwenden. 

   1. Wählen Sie im Dialogfeld **Anmeldeinformationen abrufen** entweder **MacOS und Linux** oder **Windows** aus (je nach dem Betriebssystem.

   1. Wählen Sie die **IAM Identity Center-Anmeldedatenmethode**, um die Daten `Issuer URL` und `SSO Region` Werte zu erhalten, die Sie für den nächsten Schritt benötigen. Hinweis: `SSO Start URL` kann synonym mit verwendet werden. `Issuer URL`

1. Führen AWS CLI Sie den Befehl in der Befehlszeile aus. `aws configure sso` Wenn Sie dazu aufgefordert werden, geben Sie die Konfigurationswerte ein, die Sie im vorherigen Schritt gesammelt haben. Einzelheiten zu diesem AWS CLI Befehl finden [Sie unter Konfigurieren Ihres Profils mit dem `aws configure sso` Assistenten](https://docs.aws.amazon.com/cli/latest/userguide/sso-configure-profile-token.html#sso-configure-profile-token-auto-sso). 

   1. Geben Sie für die Aufforderung den Wert ein`SSO Start URL`, den Sie für erhalten haben`Issuer URL`. 

   1.  Wir empfehlen, **den CLI-Profilnamen** einzugeben, *default* wenn Sie beginnen. Informationen darüber, wie Sie nicht standardmäßige (benannte) Profile und die zugehörige Umgebungsvariable einrichten, finden Sie unter[Profile](file-format.md#file-format-profile). 

1. (Optional) Bestätigen Sie in der AWS CLI Befehlszeile die Identität der aktiven Sitzung, indem Sie den `aws sts get-caller-identity` Befehl ausführen. In der Antwort sollte der von Ihnen konfigurierte IAM Identity Center-Berechtigungssatz angezeigt werden. 

1. Wenn Sie ein AWS SDK verwenden, erstellen Sie eine Anwendung für Ihr SDK in Ihrer Entwicklungsumgebung.

   1. In einigen SDKs Fällen `SSOOIDC` müssen zusätzliche Pakete wie `SSO` und zu Ihrer Anwendung hinzugefügt werden, bevor Sie die IAM Identity Center-Authentifizierung verwenden können. Einzelheiten finden Sie in Ihrem spezifischen SDK.

   1.  Wenn Sie den Zugriff auf zuvor konfiguriert haben AWS, überprüfen Sie Ihre geteilte AWS `credentials` Datei auf etwaige[AWS Zugriffstasten](feature-static-credentials.md). Aufgrund der [Verstehen Sie die Kette der Anbieter von Anmeldeinformationen](standardized-credentials.md#credentialProviderChain) Rangfolge müssen Sie alle statischen Anmeldeinformationen entfernen, bevor das SDK oder das Tool die IAM Identity Center-Anmeldeinformationen verwendet. 

 Einen ausführlichen Einblick in die Verwendung SDKs und Aktualisierung der Anmeldeinformationen mithilfe dieser Konfiguration durch die Tools finden Sie unter. [Wie die IAM Identity Center-Authentifizierung gelöst wird AWS SDKs und welche Tools](understanding-sso.md) 

Informationen zur Konfiguration der IAM Identity Center-Provider-Einstellungen direkt in der gemeinsam genutzten `config` Datei finden Sie [IAM Identity Center-Anmeldeinformationsanbieter](feature-sso-credentials.md) in diesem Handbuch.

## Aktualisierung der Portalzugriffssitzungen
<a name="refreshSession"></a>

Ihr Zugriff läuft irgendwann ab und beim SDK oder Tool tritt ein Authentifizierungsfehler auf. Wann dieser Ablauf eintritt, hängt von Ihrer konfigurierten Sitzungsdauer ab. Um die Access-Portal-Sitzung bei Bedarf erneut zu aktualisieren, verwenden Sie den, AWS CLI um den `aws sso login` Befehl auszuführen. 

Sie können sowohl die Sitzungsdauer des IAM Identity Center-Zugriffsportals als auch die Sitzungsdauer des Berechtigungssatzes verlängern. Dadurch verlängert sich die Zeit, in der Sie Code ausführen können, bevor Sie sich erneut manuell mit dem anmelden müssen. AWS CLI Weitere Informationen finden Sie in folgenden Themen im *AWS IAM Identity Center -Benutzerhandbuch*:
+ **Dauer der IAM Identity Center-Sitzung** — [Konfigurieren Sie die Dauer der AWS Zugriffsportalsitzungen Ihrer Benutzer](https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-user-session.html) 
+ **Sitzungsdauer mit Zugriffsrechten — [Legen Sie die Sitzungsdauer](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html)** fest

# Wie die IAM Identity Center-Authentifizierung gelöst wird AWS SDKs und welche Tools
<a name="understanding-sso"></a>



## Relevante IAM Identity Center-Bedingungen
<a name="ssoterms"></a>

Die folgenden Begriffe helfen Ihnen, den Prozess und die Konfiguration dahinter AWS IAM Identity Center zu verstehen. In der Dokumentation für AWS das SDK werden für einige dieser Authentifizierungskonzepte andere Namen als für IAM Identity Center APIs verwendet. Es ist hilfreich, beide Namen zu kennen. 

Die folgende Tabelle zeigt, in welcher Beziehung alternative Namen zueinander stehen.


| Name des IAM Identity Center | SDK-API-Name | Description | 
| --- | --- | --- | 
| Identity Center  | sso  | Obwohl AWS Single Sign-On umbenannt wurde, behalten die sso API-Namespaces aus Gründen der Abwärtskompatibilität ihren ursprünglichen Namen. Weitere Informationen finden Sie unter [Umbenennung von IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed) im Benutzerhandbuch zu AWS IAM Identity Center . | 
| IAM Identity Center-KonsoleAdministrationskonsole |   | Die Konsole, mit der Sie Single Sign-On konfigurieren.  | 
| AWS auf die Portal-URL zugreifen  |  | Eine eindeutige URL für Ihr IAM Identity Center-Konto, wiehttps://xxx.awsapps.com/start. Sie melden sich mit Ihren IAM Identity Center-Anmeldeinformationen bei diesem Portal an.  | 
| Sitzung des IAM Identity Center-Zugriffsportals  | Authentifizierungssitzung  | Stellt dem Anrufer ein Bearer-Zugriffstoken zur Verfügung.  | 
| Sitzung mit Berechtigungssatz  |   | Die IAM-Sitzung, die das SDK intern für die AWS-Service Aufrufe verwendet. In informellen Diskussionen wird dies möglicherweise fälschlicherweise als „Rollensitzung“ bezeichnet. | 
| Anmeldeinformationen für den Berechtigungssatz  | AWS AnmeldeinformationenSigv4-Anmeldeinformationen  | Die Anmeldeinformationen, die das SDK tatsächlich für die meisten AWS-Service Aufrufe verwendet (insbesondere für alle AWS-Service Sigv4-Aufrufe). In informellen Diskussionen werden Sie möglicherweise feststellen, dass dies fälschlicherweise als „Rollenanmeldedaten“ bezeichnet wird. | 
| Anbieter von IAM Identity Center-Anmeldeinformationen  | Anbieter von SSO-Anmeldeinformationen  | Wie Sie die Anmeldeinformationen erhalten, z. B. die Klasse oder das Modul, das die Funktionalität bereitstellt.  | 

## Erfahren Sie mehr über die Auflösung von SDK-Anmeldeinformationen für AWS-Services
<a name="idccredres"></a>

Die IAM Identity Center-API tauscht Inhaber-Token-Anmeldeinformationen gegen Sigv4-Anmeldeinformationen aus. Die meisten AWS-Services sind Sigv4 APIs, mit einigen Ausnahmen wie und. Amazon CodeWhisperer Amazon CodeCatalyst Im Folgenden wird der Prozess zur Auflösung von Anmeldeinformationen beschrieben, mit dem die meisten AWS-Service Aufrufe für Ihren Anwendungscode unterstützt werden. AWS IAM Identity Center

### Starten Sie eine AWS Access-Portal-Sitzung
<a name="idccredres1"></a>
+ Starten Sie den Vorgang, indem Sie sich mit Ihren Anmeldeinformationen bei der Sitzung anmelden.
  + Verwenden Sie den `aws sso login` Befehl in der AWS Command Line Interface (AWS CLI). Dadurch wird eine neue IAM Identity Center-Sitzung gestartet, falls Sie noch keine aktive Sitzung haben.
+ Wenn Sie eine neue Sitzung starten, erhalten Sie vom IAM Identity Center ein Aktualisierungs- und Zugriffstoken. AWS CLI Außerdem wird eine SSO-Cache-JSON-Datei mit einem neuen Zugriffstoken und einem Aktualisierungstoken aktualisiert und für die Verwendung durch SDKs verfügbar gemacht.
+ Wenn Sie bereits eine aktive Sitzung haben, verwendet der AWS CLI Befehl die bestehende Sitzung erneut und läuft ab, sobald die bestehende Sitzung abläuft. Informationen zum Einstellen der Länge einer IAM Identity Center-Sitzung finden Sie im Benutzerhandbuch unter [Konfigurieren der Dauer der AWS Access-Portal-Sitzungen Ihrer *AWS IAM Identity Center Benutzer*](https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-user-session.html). 
  + Die maximale Sitzungsdauer wurde auf 90 Tage verlängert, um die Notwendigkeit häufiger Anmeldungen zu reduzieren.

### Wie erhält das SDK Anmeldeinformationen für Anrufe AWS-Service
<a name="idccredres2"></a>

SDKs bietet Zugriff auf, AWS-Services wenn Sie ein Client-Objekt pro Dienst instanziieren. Wenn das ausgewählte Profil der gemeinsam genutzten AWS `config` Datei für die Auflösung von IAM Identity Center-Anmeldeinformationen konfiguriert ist, wird IAM Identity Center zur Auflösung der Anmeldeinformationen für Ihre Anwendung verwendet. 
+ Der [Prozess zur Auflösung der Anmeldeinformationen](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html#credentialProviderChain) wird während der Laufzeit abgeschlossen, wenn ein Client erstellt wird.

Um Anmeldeinformationen für Sigv4 APIs mithilfe von IAM Identity Center Single Sign-On abzurufen, verwendet das SDK das IAM Identity Center-Zugriffstoken, um eine IAM-Sitzung aufzurufen. Diese IAM-Sitzung wird als Berechtigungssatz-Sitzung bezeichnet und ermöglicht den AWS Zugriff auf das SDK, indem sie eine IAM-Rolle übernimmt. 
+  Die Sitzungsdauer des Berechtigungssatzes wird unabhängig von der Dauer der IAM Identity Center-Sitzung festgelegt.
  + Informationen zum Einstellen der Sitzungsdauer mit dem [Berechtigungssatz finden Sie unter Sitzungsdauer](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html) festlegen im *AWS IAM Identity Center Benutzerhandbuch*.
+  Beachten Sie, dass die Berechtigungssatz-Anmeldeinformationen in den meisten AWS SDK-API-Dokumentationen auch als *AWS Anmeldeinformationen* *und Sigv4-Anmeldeinformationen* bezeichnet werden.

Die Anmeldeinformationen für den Berechtigungssatz werden bei einem Aufruf [getRoleCredentials](https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_GetRoleCredentials.html)der IAM Identity Center-API an das SDK zurückgegeben. Das Client-Objekt des SDK verwendet diese angenommene IAM-Rolle, um Aufrufe an das zu tätigen AWS-Service, z. B. Amazon S3 aufzufordern, die Buckets in Ihrem Konto aufzulisten. Das Client-Objekt kann mit diesen Berechtigungssatz-Anmeldeinformationen weiterarbeiten, bis die Berechtigungssatz-Sitzung abläuft. 

### Ablauf und Aktualisierung der Sitzung
<a name="idccredres3"></a>

Bei Verwendung von wird das [Konfiguration des SSO-Token-Anbieters](feature-sso-credentials.md#sso-token-config) vom IAM Identity Center abgerufene stündliche Zugriffstoken automatisch mit dem Aktualisierungstoken aktualisiert.
+ Wenn das Zugriffstoken abgelaufen ist, wenn das SDK versucht, es zu verwenden, verwendet das SDK das Aktualisierungstoken, um zu versuchen, ein neues Zugriffstoken abzurufen. Das IAM Identity Center vergleicht das Aktualisierungstoken mit der Sitzungsdauer Ihres IAM Identity Center-Zugriffsportals. Wenn das Aktualisierungstoken nicht abgelaufen ist, antwortet das IAM Identity Center mit einem anderen Zugriffstoken.
+ Dieses Zugriffstoken kann entweder verwendet werden, um die Berechtigungssatz-Sitzung vorhandener Clients zu aktualisieren oder um Anmeldeinformationen für neue Clients aufzulösen. 

Wenn die Sitzung des IAM Identity Center-Zugriffsportals jedoch abgelaufen ist, wird kein neues Zugriffstoken gewährt. Daher kann die Dauer des Berechtigungssatzes nicht verlängert werden. Sie läuft ab (und der Zugriff geht verloren), wenn die Dauer der zwischengespeicherten Berechtigungssatz-Sitzung für bestehende Clients überschritten wird. 

Bei jedem Code, der einen neuen Client erstellt, schlägt die Authentifizierung fehl, sobald die IAM Identity Center-Sitzung abläuft. Das liegt daran, dass die Anmeldeinformationen für den Berechtigungssatz nicht zwischengespeichert werden. Ihr Code kann erst dann einen neuen Client erstellen und die Auflösung der Anmeldeinformationen abschließen, wenn Sie über ein gültiges Zugriffstoken verfügen. 

Um es noch einmal zusammenzufassen: Wenn das SDK neue Berechtigungssatz-Anmeldeinformationen benötigt, sucht das SDK zunächst nach gültigen, vorhandenen Anmeldeinformationen und verwendet diese. Dies gilt unabhängig davon, ob die Anmeldeinformationen für einen neuen Client oder für einen vorhandenen Client mit abgelaufenen Anmeldeinformationen bestimmt sind. Wenn Anmeldeinformationen nicht gefunden werden oder sie nicht gültig sind, ruft das SDK die IAM Identity Center-API auf, um neue Anmeldeinformationen abzurufen. Um die API aufzurufen, benötigt sie das Zugriffstoken. Wenn das Zugriffstoken abgelaufen ist, verwendet das SDK das Aktualisierungstoken, um ein neues Zugriffstoken vom IAM Identity Center-Dienst abzurufen. Dieses Token wird gewährt, wenn Ihre IAM Identity Center-Zugriffsportalsitzung nicht abgelaufen ist. 

# Authentifizierung AWS SDKs und Tools mit IAM Roles Anywhere
<a name="access-rolesanywhere"></a>

Sie können IAM Roles Anywhere verwenden, um temporäre Sicherheitsanmeldeinformationen in IAM für Workloads wie Server, Container und Anwendungen abzurufen, die außerhalb von ausgeführt werden. AWS Um IAM Roles Anywhere verwenden zu können, müssen Ihre Workloads X.509-Zertifikate verwenden. Ihr Cloud-Administrator sollte das Zertifikat und den privaten Schlüssel bereitstellen, die für die Konfiguration von IAM Roles Anywhere als Ihren Anmeldeinformationsanbieter erforderlich sind.

## Schritt 1: IAM-Rollen Anywhere konfigurieren
<a name="config-ira"></a>

IAM Roles Anywhere bietet eine Möglichkeit, temporäre Anmeldeinformationen für einen Workload oder Prozess abzurufen, der außerhalb von ausgeführt wird. AWS Bei der Zertifizierungsstelle wird ein Vertrauensanker eingerichtet, um temporäre Anmeldeinformationen für die zugehörige IAM-Rolle abzurufen. Die Rolle legt die Berechtigungen fest, über die Ihr Workload verfügt, wenn Ihr Code bei IAM Roles Anywhere authentifiziert wird.

Schritte zum Einrichten des Vertrauensankers, der IAM-Rolle und des IAM Roles Anywhere-Profils finden Sie unter [Einen Vertrauensanker und ein Profil in AWS Identity and Access Management Roles Anywhere erstellen im *IAM* Roles Anywhere-Benutzerhandbuch](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/getting-started.html).

**Anmerkung**  
Ein *Profil* im *IAM Roles Anywhere-Benutzerhandbuch* bezieht sich auf ein einzigartiges Konzept innerhalb des IAM Roles Anywhere-Dienstes. Es hat nichts mit den Profilen in der gemeinsam genutzten AWS `config` Datei zu tun. 

## Schritt 2: Verwenden Sie IAM Roles Anywhere
<a name="use-ira"></a>

Verwenden Sie das Credential Helper-Tool von IAM Roles Anywhere, um temporäre Sicherheitsanmeldedaten von IAM Roles Anywhere abzurufen. Das Credential Tool implementiert den Signaturprozess für IAM Roles Anywhere.

Anweisungen zum Herunterladen des Credential Helpertools finden Sie unter [Abrufen temporärer Sicherheitsanmeldedaten von AWS Identity and Access Management Roles Anywhere](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html) im *IAM Roles* Anywhere-Benutzerhandbuch.

Um temporäre Sicherheitsanmeldedaten von IAM Roles Anywhere mit AWS SDKs und dem zu verwenden AWS CLI, können Sie die `credential_process` Einstellung in der gemeinsam genutzten Datei konfigurieren. AWS `config` Der SDKs und AWS CLI unterstützt einen Prozessanmeldedienstanbieter, der `credential_process` zur Authentifizierung verwendet wird. Im Folgenden wird die allgemeine Struktur dargestellt, die festgelegt werden muss. `credential_process`

```
credential_process = [path to helper tool] [command] [--parameter1 value] [--parameter2 value] [...]  
```

Der `credential-process` Befehl des Hilfstools gibt temporäre Anmeldeinformationen in einem Standard-JSON-Format zurück, das mit der `credential_process` Einstellung kompatibel ist. Beachten Sie, dass der Befehlsname einen Bindestrich enthält, der Einstellungsname jedoch einen Unterstrich. Der Befehl erfordert die folgenden Parameter:
+ `private-key`— Der Pfad zu dem privaten Schlüssel, der die Anfrage signiert hat. 
+ ` certificate`— Der Pfad zum Zertifikat. 
+ `role-arn`— Der ARN der Rolle, für die temporäre Anmeldeinformationen abgerufen werden sollen. 
+ `profile-arn`— Der ARN des Profils, das eine Zuordnung für die angegebene Rolle bereitstellt. 
+ `trust-anchor-arn`— Der ARN des Vertrauensankers, der zur Authentifizierung verwendet wurde. 

Ihr Cloud-Administrator sollte das Zertifikat und den privaten Schlüssel bereitstellen. Alle drei ARN-Werte können aus dem kopiert werden AWS-Managementkonsole. Das folgende Beispiel zeigt eine gemeinsam genutzte `config` Datei, in der das Abrufen temporärer Anmeldeinformationen aus dem Hilfstool konfiguriert wird. 

```
[profile dev]
credential_process = ./aws_signing_helper credential-process --certificate /path/to/certificate --private-key /path/to/private-key --trust-anchor-arn arn:aws:rolesanywhere:region:account:trust-anchor/TA_ID --profile-arn arn:aws:rolesanywhere:region:account:profile/PROFILE_ID --role-arn arn:aws:iam::account:role/ROLE_ID
```

 Optionale Parameter und weitere Informationen zum Hilfstool finden Sie unter [IAM Roles Anywhere Credential](https://github.com/aws/rolesanywhere-credential-helper#readme) Helper on. GitHub 

Einzelheiten zur SDK-Konfigurationseinstellung selbst und zum Anbieter von Prozessanmeldedaten finden Sie [Anbieter von Prozessanmeldedaten](feature-process-credentials.md) in diesem Handbuch.

# Übernahme einer Rolle mit AWS Anmeldeinformationen zur Authentifizierung AWS SDKs und Tools
<a name="access-assume-role"></a>

Die Übernahme einer Rolle beinhaltet die Verwendung einer Reihe temporärer Sicherheitsanmeldedaten für den Zugriff auf AWS Ressourcen, auf die Sie sonst möglicherweise keinen Zugriff hätten. Diese temporären Anmeldeinformationen bestehen aus einer Zugriffsschlüssel-ID, einem geheimen Zugriffsschlüssel und einem Sicherheits-Token. Weitere Informationen zu AWS -Security-Token-Service (AWS STS) API-Anfragen finden Sie in der *AWS -Security-Token-Service API-Referenz* unter [Aktionen](https://docs.aws.amazon.com/STS/latest/APIReference/API_Operations.html). 

Um Ihr SDK oder Tool so einzurichten, dass es eine Rolle übernimmt, müssen Sie zunächst eine bestimmte *Rolle* erstellen oder identifizieren, die Sie übernehmen möchten. IAM-Rollen werden durch eine Rolle mit dem Amazon Resource Name ([ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)) eindeutig identifiziert. Rollen bauen Vertrauensbeziehungen zu einer anderen Entität auf. Bei der vertrauenswürdigen Entität, die die Rolle verwendet, kann es sich um die eine AWS-Service oder andere handeln AWS-Konto. Weitere Informationen zu IAM-Rollen finden Sie unter [Verwenden von IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) im *IAM-Benutzerhandbuch*. 

Nachdem die IAM-Rolle identifiziert wurde und Sie diese Rolle als vertrauenswürdig eingestuft haben, können Sie Ihr SDK oder Tool so konfigurieren, dass die von der Rolle gewährten Berechtigungen verwendet werden. 

**Anmerkung**  
Es hat sich AWS bewährt, wann immer möglich regionale Endpunkte zu verwenden und Ihre zu konfigurieren. [AWS-Region](feature-region.md) 

## Nehmen Sie eine IAM-Rolle an
<a name="credOrSourceAssumeRole"></a>

 AWS STS Gibt bei Übernahme einer Rolle einen Satz temporärer Sicherheitsanmeldedaten zurück. Diese Anmeldeinformationen stammen aus einem anderen Profil oder aus der Instance oder dem Container, in dem Ihr Code ausgeführt wird. Am häufigsten wird diese Art der Rollenübernahme verwendet, wenn Sie über AWS Anmeldeinformationen für ein Konto verfügen, Ihre Anwendung jedoch Zugriff auf Ressourcen in einem anderen Konto benötigt. 

### Schritt 1: Richten Sie eine IAM-Rolle ein
<a name="credOrSourceAssumeRole_step1"></a>

Um Ihr SDK oder Tool so einzurichten, dass es eine Rolle übernimmt, müssen Sie zunächst eine bestimmte Rolle erstellen oder identifizieren, die Sie übernehmen möchten. IAM-Rollen werden mithilfe eines [Rollen-ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) eindeutig identifiziert. Rollen stellen Vertrauensbeziehungen zu einer anderen Entität her, in der Regel innerhalb Ihres Kontos oder für kontoübergreifenden Zugriff. Informationen zur Einrichtung finden Sie unter [IAM-Rollen erstellen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) im *IAM-Benutzerhandbuch*.

### Schritt 2: Konfigurieren Sie das SDK oder das Tool
<a name="credOrSourceAssumeRole_step2"></a>

Konfigurieren Sie das SDK oder das Tool so, dass Anmeldeinformationen von `credential_source` oder abgerufen `source_profile` werden. 

Wird verwendet`credential_source`, um Anmeldeinformationen aus einem Amazon ECS-Container, einer Amazon EC2 EC2-Instance oder aus Umgebungsvariablen zu beziehen. 

Wird verwendet`source_profile`, um Anmeldeinformationen aus einem anderen Profil zu beziehen. `source_profile`unterstützt auch Rollenverkettung, d. h. Hierarchien von Profilen, bei denen eine übernommene Rolle dann verwendet wird, um eine andere Rolle anzunehmen.

Wenn Sie dies in einem Profil angeben, führt das SDK oder Tool automatisch den entsprechenden 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-Aufruf für Sie durch. Um temporäre Anmeldeinformationen abzurufen und zu verwenden, indem Sie eine Rolle übernehmen, geben Sie die folgenden Konfigurationswerte in der gemeinsam genutzten AWS `config` Datei an. Weitere Informationen zu den einzelnen Einstellungen finden Sie im [Nehmen Sie die Einstellungen des Anbieters für Anmeldeinformationen an](feature-assume-role-credentials.md#feature-assume-role-credentials-settings) Abschnitt. 
+ `role_arn`— Aus der IAM-Rolle, die Sie in Schritt 1 erstellt haben
+ Konfigurieren Sie entweder oder `credential_source` `source_profile`
+ (Optional) `duration_seconds`
+ (Optional) `external_id`
+ (Optional) `mfa_serial`
+ (Optional) `role_session_name` 

Die folgenden Beispiele zeigen die Konfiguration der beiden Optionen zur Übernahme von Rollen in einer gemeinsam genutzten `config` Datei:

```
role_arn = arn:aws:iam::123456789012:role/my-role-name
credential_source = Ec2InstanceMetadata
```

```
[profile-with-user-that-can-assume-role]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

[profile dev]
region = us-east-1
output = json
role_arn = arn:aws:iam::123456789012:role/my-role-name
source_profile = profile-with-user-that-can-assume-role
role_session_name = my_session
```

Einzelheiten zu allen Einstellungen des Anbieters für die Übernahme der Rollenanmeldedaten finden Sie [Übernehmen Sie die Rolle Credential Provider](feature-assume-role-credentials.md) in diesem Handbuch.

# Übernahme einer Rolle bei Web Identity oder OpenID Connect zur Authentifizierung und Tools AWS SDKs
<a name="access-assume-role-web"></a>

Die Übernahme einer Rolle beinhaltet die Verwendung einer Reihe temporärer Sicherheitsanmeldedaten für den Zugriff auf AWS Ressourcen, auf die Sie sonst möglicherweise keinen Zugriff hätten. Diese temporären Anmeldeinformationen bestehen aus einer Zugriffsschlüssel-ID, einem geheimen Zugriffsschlüssel und einem Sicherheits-Token. Weitere Informationen zu AWS -Security-Token-Service (AWS STS) API-Anfragen finden Sie in der *AWS -Security-Token-Service API-Referenz* unter [Aktionen](https://docs.aws.amazon.com/STS/latest/APIReference/API_Operations.html). 

Um Ihr SDK oder Tool so einzurichten, dass es eine Rolle übernimmt, müssen Sie zunächst eine bestimmte *Rolle* erstellen oder identifizieren, die Sie übernehmen möchten. IAM-Rollen werden durch eine Rolle mit dem Amazon Resource Name ([ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)) eindeutig identifiziert. Rollen bauen Vertrauensbeziehungen zu einer anderen Entität auf. Bei der vertrauenswürdigen Entität, die die Rolle verwendet, kann es sich um einen Web-Identitätsanbieter, OpenID Connect (OIDC) oder einen SAML-Verbund handeln. *Weitere Informationen zu IAM-Rollen finden Sie unter [Methoden zur Übernahme einer Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) im IAM-Benutzerhandbuch.* 

Nachdem die IAM-Rolle in Ihrem SDK konfiguriert wurde und diese Rolle so konfiguriert ist, dass sie Ihrem Identitätsanbieter vertraut, können Sie Ihr SDK weiter so konfigurieren, dass es diese Rolle übernimmt, um temporäre Anmeldeinformationen zu erhalten. AWS 

**Anmerkung**  
Es hat sich AWS bewährt, wann immer möglich regionale Endpunkte zu verwenden und Ihre zu konfigurieren. [AWS-Region](feature-region.md) 

## Verbunden mit Web-Identität oder OpenID Connect
<a name="webidentity"></a>

Sie können die JSON-Web-Tokens (JWTs) von öffentlichen Identitätsanbietern wie Login With Amazon, Facebook, Google verwenden, um temporäre AWS Anmeldeinformationen mithilfe von`AssumeRoleWithWebIdentity`. Je nachdem, wie sie verwendet werden, JWTs können diese als ID-Token oder Zugriffstoken bezeichnet werden. Sie können auch von Identitätsanbietern (IdPs) JWTs ausgegebene Daten verwenden, die mit dem Discovery-Protokoll von OIDC kompatibel sind, z. B. EntraId oder. PingFederate

Wenn Sie Amazon Elastic Kubernetes Service verwenden, bietet diese Funktion die Möglichkeit, unterschiedliche IAM-Rollen für jedes Ihrer Dienstkonten in einem Amazon EKS-Cluster anzugeben. Diese Kubernetes-Funktion verteilt sie an Ihre Pods JWTs , die dann von diesem Anmeldeinformationsanbieter verwendet werden, um temporäre Anmeldeinformationen abzurufen. AWS Weitere Informationen zu dieser Amazon EKS-Konfiguration finden Sie unter [IAM-Rollen für Dienstkonten](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) im **Amazon EKS-Benutzerhandbuch**. Für eine einfachere Option empfehlen wir jedoch, stattdessen [Amazon EKS Pod Identities](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html) zu verwenden, sofern Ihr [SDK dies unterstützt](feature-container-credentials.md#feature-container-credentials-sdk-compat).

### Schritt 1: Richten Sie einen Identitätsanbieter und eine IAM-Rolle ein
<a name="webidentity_step1"></a>

Um den Verbund mit einem externen IdP zu konfigurieren, verwenden Sie einen IAM-Identitätsanbieter, um AWS Informationen über den externen IdP und seine Konfiguration zu erhalten. Dadurch wird *Vertrauen* zwischen Ihrem AWS-Konto und dem externen IdP hergestellt. Bevor Sie das SDK für die Verwendung des JSON Web Tokens (JWT) für die Authentifizierung konfigurieren, müssen Sie zunächst den Identitätsanbieter (IdP) und die IAM-Rolle einrichten, die für den Zugriff verwendet wird. Informationen zur Einrichtung finden Sie unter [Erstellen einer Rolle für Web-Identität oder OpenID Connect Federation (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html) im *IAM-Benutzerhandbuch*.

### Schritt 2: Konfigurieren Sie das SDK oder das Tool
<a name="webidentity_step2"></a>

Konfigurieren Sie das SDK oder das Tool so, dass es ein JSON Web Token (JWT) von AWS STS für die Authentifizierung verwendet. 

Wenn Sie dies in einem Profil angeben, führt das SDK oder Tool automatisch den entsprechenden AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)API-Aufruf für Sie durch. Um temporäre Anmeldeinformationen mithilfe des Web Identity Federation abzurufen und zu verwenden, geben Sie die folgenden Konfigurationswerte in der gemeinsam genutzten AWS `config` Datei an. Weitere Informationen zu den einzelnen Einstellungen finden Sie im [Nehmen Sie die Einstellungen des Anbieters für Anmeldeinformationen an](feature-assume-role-credentials.md#feature-assume-role-credentials-settings) Abschnitt. 
+ `role_arn`— Aus der IAM-Rolle, die Sie in Schritt 1 erstellt haben
+ `web_identity_token_file`- Vom externen IdP
+ (Optional) `duration_seconds`
+ (Optional) `role_session_name` 

Im Folgenden finden Sie ein Beispiel für eine Konfiguration einer gemeinsam genutzten `config` Datei, bei der eine Rolle mit Web-Identität übernommen wird:

```
[profile web-identity]
role_arn=arn:aws:iam::123456789012:role/my-role-name
web_identity_token_file=/path/to/a/token
```

**Anmerkung**  
Erwägen Sie für mobile Anwendungen die Verwendung von Amazon Cognito. Amazon Cognito fungiert als Identitätsbroker und erledigt einen Großteil der Verbundarbeit für Sie. Der Amazon Cognito Cognito-Identitätsanbieter ist jedoch nicht wie andere Identitätsanbieter in den Kernbibliotheken SDKs und Tools enthalten. Um auf die Amazon Cognito-API zuzugreifen, schließen Sie den Amazon Cognito-Serviceclient in den Build oder die Bibliotheken für Ihr SDK oder Tool ein. Informationen zur Verwendung mit AWS SDKs finden Sie unter [Codebeispiele](https://docs.aws.amazon.com/cognito/latest/developerguide/service_code_examples.html) im *Amazon Cognito Developer Guide*.

Einzelheiten zu allen Einstellungen des Anbieters von Anmeldedaten für die Übernahme einer Rolle finden Sie [Übernehmen Sie die Rolle Credential Provider](feature-assume-role-credentials.md) in diesem Handbuch.

# Verwendung von AWS Zugriffsschlüsseln zur Authentifizierung AWS SDKs und Tools
<a name="access-users"></a>

Die Verwendung von AWS Zugriffsschlüsseln ist eine Option für die Authentifizierung bei der Verwendung von AWS SDKs Tools.

## Verwenden Sie kurzfristige Anmeldeinformationen
<a name="credentials-temporary"></a>

 Wir empfehlen, Ihr SDK oder Tool so zu konfigurieren, [Verwenden von IAM Identity Center zur Authentifizierung von AWS SDK und Tools](access-sso.md) dass Optionen für die erweiterte Sitzungsdauer verwendet werden. 

Informationen zum direkten Einrichten der temporären Anmeldeinformationen des SDK oder Tools finden Sie jedoch unter[Verwendung von kurzfristigen Anmeldeinformationen zur Authentifizierung AWS SDKs und ToolsKurzfristige Anmeldeinformationen](access-temp-idc.md).

## Verwenden Sie langfristige Anmeldeinformationen
<a name="credentials-long-term"></a>

**Warnung**  
Um Sicherheitsrisiken zu vermeiden, sollten Sie IAM-Benutzer nicht zur Authentifizierung verwenden, wenn Sie speziell 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).

### Verwalten Sie den Zugriff auf alle AWS-Konten
<a name="manage-access-accounts"></a>

Aus Sicherheitsgründen empfehlen wir die Verwendung AWS Organizations zusammen mit IAM Identity Center, um den Zugriff für alle Ihre AWS-Konten Benutzer zu verwalten. Weitere Informationen finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

Sie können Benutzer im IAM Identity Center erstellen, Microsoft Active Directory verwenden, einen SAML 2.0-Identitätsanbieter (IdP) verwenden oder Ihren IdP individuell mit einem Verbund verbinden. AWS-Konten Mit einem dieser Ansätze können Sie Ihren Benutzern ein Single-Sign-On-Erlebnis bieten. Sie können auch die Multi-Faktor-Authentifizierung (MFA) erzwingen und temporäre Anmeldeinformationen für AWS-Konto den Zugriff verwenden. Dies unterscheidet sich von einem IAM-Benutzer, bei dem es sich um langfristige Anmeldeinformationen handelt, die gemeinsam genutzt werden können und die das Sicherheitsrisiko für Ihre Ressourcen erhöhen können. AWS 

### Erstellen Sie IAM-Benutzer nur für Sandbox-Umgebungen
<a name="create-iam-user-sandbox"></a>

Wenn Sie noch keine Erfahrung damit haben AWS, können Sie einen IAM-Testbenutzer erstellen und ihn dann verwenden, um Tutorials durchzuführen und zu erkunden, was zu bieten AWS ist. Es ist in Ordnung, diese Art von Anmeldeinformationen zu verwenden, wenn Sie lernen, aber wir empfehlen, sie nicht außerhalb einer Sandbox-Umgebung zu verwenden.

Für die folgenden Anwendungsfälle kann es sinnvoll sein, mit IAM-Benutzern zu beginnen in: AWS
+ Erste Schritte mit Ihrem AWS SDK oder Tool und Erkundung AWS-Services in einer Sandbox-Umgebung
+ Das Ausführen von geplanten Skripten, Jobs und anderen automatisierten Prozessen, die keinen manuellen Anmeldevorgang unterstützen, ist Teil Ihres Lernprozesses.

Wenn Sie IAM-Benutzer außerhalb dieser Anwendungsfälle verwenden, wechseln Sie so schnell wie möglich zu IAM Identity Center oder binden Sie Ihren Identitätsanbieter an. AWS-Konten Weitere Informationen finden Sie unter [Identitätsverbund](https://aws.amazon.com/identity/federation/) in. AWS

### Sichere IAM-Benutzerzugriffsschlüssel
<a name="secure-iam-access-keys"></a>

Sie sollten die IAM-Benutzerzugriffsschlüssel regelmäßig wechseln. Folgen Sie den Anweisungen unter [Rotierende Zugriffsschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey) im *IAM-Benutzerhandbuch*. Wenn Sie glauben, dass Sie versehentlich Ihre IAM-Benutzerzugriffsschlüssel geteilt haben, wechseln Sie Ihre Zugriffsschlüssel.

Die IAM-Benutzerzugriffsschlüssel sollten in der gemeinsam genutzten AWS `credentials` Datei auf dem lokalen Computer gespeichert werden. Speichern Sie die IAM-Benutzerzugriffsschlüssel nicht in Ihrem Code. Fügen Sie keiner Quellcodeverwaltungssoftware Konfigurationsdateien hinzu, die Ihre IAM-Benutzerzugriffsschlüssel enthalten. Externe Tools, wie das Open-Source-Projekt [git-secrets, können Sie davor](https://github.com/awslabs/git-secrets) schützen, versehentlich vertrauliche Informationen in ein Git-Repository zu übertragen. Weitere Informationen finden Sie unter [IAM-Identitäten (Benutzer, Benutzergruppen und Rollen)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) im *-IAM-Benutzerhandbuch*.

Informationen zum Einrichten eines IAM-Benutzers für die ersten Schritte finden Sie unter. [Verwendung langfristiger Anmeldeinformationen zur Authentifizierung AWS SDKs und Tools](access-iam-users.md)

# Verwendung von kurzfristigen Anmeldeinformationen zur Authentifizierung AWS SDKs und Tools
<a name="access-temp-idc"></a>

 Wir empfehlen, Ihr AWS SDK oder Tool so zu konfigurieren, dass es [Verwenden von IAM Identity Center zur Authentifizierung von AWS SDK und Tools](access-sso.md) mit Optionen für die erweiterte Sitzungsdauer verwendet wird. Sie können jedoch temporäre Anmeldeinformationen, die im AWS Access Portal verfügbar sind, kopieren und verwenden. Wenn diese Anmeldeinformationen ablaufen, müssen neue kopiert werden. Sie können die temporären Anmeldeinformationen in einem Profil verwenden oder sie als Werte für Systemeigenschaften und Umgebungsvariablen verwenden.

Bewährte Methode: Anstatt die Zugriffsschlüssel und ein Token in der Anmeldeinformationsdatei manuell zu verwalten, empfehlen wir, dass Ihre Anwendung temporäre Anmeldeinformationen verwendet, die bereitgestellt werden von: 
+ Ein AWS Rechenservice, z. B. das Ausführen Ihrer Anwendung auf Amazon Elastic Compute Cloud oder in AWS Lambda.
+ Eine weitere Option in der Kette der Anmeldeinformationsanbieter, wie [Verwenden von IAM Identity Center zur Authentifizierung von AWS SDK und Tools](access-sso.md) z.
+ Oder verwenden Sie die[Anbieter von Prozessanmeldedaten](feature-process-credentials.md), um temporäre Anmeldeinformationen abzurufen.

**Richten Sie eine Anmeldeinformationsdatei mit kurzfristigen Anmeldeinformationen ein, die Sie aus dem AWS Access Portal abgerufen haben**

1. [Erstellen Sie eine Datei mit gemeinsamen Anmeldeinformationen](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html).

1. Fügen Sie in der Anmeldeinformationsdatei den folgenden Platzhaltertext ein, bis Sie funktionierende temporäre Anmeldeinformationen einfügen.

   ```
   [default]
   aws_access_key_id=<value from AWS access portal>
   aws_secret_access_key=<value from AWS access portal>
   aws_session_token=<value from AWS access portal>
   ```

1. Speichern Sie die Datei. Die Datei `~/.aws/credentials` sollte jetzt auf Ihrem lokalen Entwicklungssystem vorhanden sein. Diese Datei enthält das [[Standard-] Profil](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile), das das SDK oder das Tool verwendet, wenn kein bestimmtes benanntes Profil angegeben ist. 

1. [Melden Sie sich beim AWS Access-Portal](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosignin.html) an.

1. Folgen Sie diesen Anweisungen zur [manuellen Aktualisierung der Anmeldeinformationen, um die Anmeldeinformationen](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html#how-to-get-temp-credentials) der IAM-Rolle aus dem AWS Zugriffsportal zu kopieren.

   1. Wählen Sie für Schritt 4 der verlinkten Anleitung den IAM-Rollennamen aus, der den Zugriff für Ihre Entwicklungsanforderungen gewährt. Diese Rolle hat normalerweise einen Namen wie **PowerUserAccess**oder **Developer**.

   1. Wählen Sie für Schritt 7 in den verlinkten Anweisungen die Option **Manuelles Hinzufügen eines Profils zu Ihrer AWS Anmeldeinformationsdatei** aus und kopieren Sie den Inhalt.

1. Fügen Sie die kopierten Anmeldeinformationen in Ihre lokale `credentials` Datei ein. Der generierte Profilname wird nicht benötigt, wenn Sie das `default` Profil verwenden. Ihre Datei sollte wie folgt aussehen.

   ```
   [default]
   aws_access_key_id=AKIAIOSFODNN7EXAMPLE
   aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
   ```

1. Speichern Sie die `credentials`-Datei.

Wenn das SDK einen Service-Client erstellt, greift es auf diese temporären Anmeldeinformationen zu und verwendet sie für jede Anfrage. Die in Schritt 5a ausgewählten Einstellungen für die IAM-Rolle bestimmen, [wie lange die temporären Anmeldeinformationen gültig sind](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html). Die maximale Dauer beträgt zwölf Stunden.

Wenn die temporären Anmeldeinformationen abgelaufen sind, wiederholen Sie die Schritte 4 bis 7.

# Verwendung langfristiger Anmeldeinformationen zur Authentifizierung AWS SDKs und Tools
<a name="access-iam-users"></a>

**Warnung**  
Um Sicherheitsrisiken zu vermeiden, sollten Sie IAM-Benutzer nicht zur Authentifizierung verwenden, wenn Sie speziell 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).

Wenn Sie einen IAM-Benutzer verwenden, um Ihren Code auszuführen, authentifiziert sich das SDK oder das Tool in Ihrer Entwicklungsumgebung mithilfe langfristiger IAM-Benutzeranmeldeinformationen in der gemeinsam genutzten Datei. AWS `credentials` Lesen Sie das Thema [Bewährte Sicherheitsmethoden in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) und wechseln Sie so bald wie möglich zu IAM Identity Center oder anderen temporären Anmeldeinformationen.

## Wichtige Warnhinweise und Richtlinien für Anmeldeinformationen
<a name="iam-warnings-and-guidelines"></a>

**Warnhinweise für Anmeldeinformationen**
+ Verwenden Sie ***NICHT*** die Root-Anmeldeinformationen Ihres Kontos, um auf Ihre AWS -Ressourcen zuzugreifen. Diese Anmeldeinformationen bieten uneingeschränkten Zugriff auf Konten und können nur schwer widerrufen werden.
+ Fügen Sie ***KEINE*** tatsächlichen Zugriffsschlüssel oder Anmeldeinformationen in Ihre Anwendungsdateien ein. Wenn Sie dies tun, riskieren Sie damit, dass Ihre Kontodaten versehentlich offengelegt werden, falls Sie z. B. das Projekt in ein öffentliches Repository hochladen.
+ Fügen Sie ***KEINE*** Dateien in Ihrem Projektbereich hinzu, die Anmeldeinformationen enthalten.
+ Beachten Sie, dass alle in der gemeinsam genutzten AWS `credentials` Datei gespeicherten Anmeldeinformationen im Klartext gespeichert werden.

**Zusätzliche Hinweise zur sicheren Verwaltung von Anmeldeinformationen**

Eine allgemeine Erläuterung der sicheren Verwaltung von AWS Anmeldeinformationen finden Sie unter [Bewährte Methoden für die Verwaltung von AWS Zugriffsschlüsseln](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html) in der [Allgemeine AWS-Referenz](https://docs.aws.amazon.com/general/latest/gr/). Berücksichtigen Sie zusätzlich zu diesen Informationen Folgendes:
+ Verwenden Sie [IAM-Rollen für Aufgaben](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in Verbindung mit Aufgaben von Amazon Elastic Container Service (Amazon ECS).
+ Verwenden Sie [IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) für Anwendungen, die auf Amazon-EC2-Instances ausgeführt werden.

## Voraussetzungen: Erstellen Sie ein AWS Konto
<a name="signup"></a>

Um einen IAM-Benutzer für den Zugriff auf AWS Dienste zu verwenden, benötigen Sie ein AWS Konto und AWS Anmeldeinformationen.

1. **Erstellen Sie ein Konto.**

   Informationen zum Erstellen eines AWS Kontos finden Sie unter [Erste Schritte: Sind Sie ein Erstbenutzer? AWS](https://docs.aws.amazon.com/accounts/latest/reference/welcome-first-time-user.html) im *AWS -Kontenverwaltung Referenzhandbuch.*

1. **Erstellen Sie einen Administratorbenutzer.**

   Vermeiden Sie es, Ihr Root-Benutzerkonto (das erste Konto, das Sie erstellen) für den Zugriff auf die Managementkonsole und Services zu verwenden. Erstellen Sie stattdessen ein Administratorkonto, wie unter [Erstellen eines Administratorbenutzers](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#create-an-admin) im *IAM-Benutzerhandbuch* beschrieben.

   Nachdem Sie das Administratorkonto erstellt und die Anmeldeinformationen aufgezeichnet haben, **müssen Sie sich von Ihrem Root-Benutzerkonto abmelden** und mit dem Administratorkonto wieder anmelden.

Keines dieser Konten ist für die Entwicklung AWS oder Ausführung von Anwendungen geeignet AWS. Es hat sich bewährt, Benutzer, Berechtigungssätze oder Servicerollen zu erstellen, die für diese Aufgaben geeignet sind. Weitere Informationen finden Sie unter [Anwenden von Berechtigungen mit geringsten Berechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) im *IAM-Benutzerhandbuch*.

## Schritt 1: Erstellen Ihres IAM-Benutzers
<a name="step1authIamUser"></a>
+ Erstellen Sie Ihren IAM-Benutzer, indem Sie das Verfahren [Erstellen von IAM-Benutzern (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) im *IAM-Benutzerhandbuch* befolgen. Gehen Sie beim Erstellen Ihres IAM-Benutzers wie folgt vor:
  + Wir empfehlen Ihnen, **Benutzerzugriff auf die AWS-Managementkonsole bereitstellen** auszuwählen. Auf diese Weise können Sie den Code, den Sie gerade ausführen, in einer visuellen Umgebung anzeigen AWS-Services , z. B. beim Überprüfen von AWS CloudTrail Diagnoseprotokollen oder beim Hochladen von Dateien in Amazon Simple Storage Service, was beim Debuggen Ihres Codes hilfreich ist.
  + Wählen **Sie unter Berechtigungen festlegen** — **Berechtigungsoptionen** die Option **Richtlinien direkt anhängen** aus, um festzulegen, wie Sie diesem Benutzer Berechtigungen zuweisen möchten. 
    + Die meisten SDK-Tutorials zum Thema „Erste Schritte“ verwenden den Amazon-S3-Service als Beispiel. Wenn Sie Ihrer Anwendung Vollzugriff auf Amazon S3 gewähren möchten, wählen Sie die `AmazonS3FullAccess`-Richtlinie zum Anfügen an diesen Benutzer aus.
  + Sie können die optionalen Schritte dieses Verfahrens zum Festlegen von Berechtigungsgrenzen oder Tags ignorieren. 

## Schritt 2: Abrufen Ihrer Zugriffsschlüssel
<a name="stepGetKeys"></a>

1. Wählen Sie im Navigationsbereich der IAM-Konsole **Benutzer** und dann den **User name** des Benutzers aus, den Sie zuvor erstellt haben.

1. Wählen Sie auf der Seite des Benutzers die Seite **Sicherheitsanmeldeinformationen** aus. Wählen Sie dann unter **Zugriffsschlüssel** die Option **Zugriffsschlüssel erstellen** aus.

1. Wählen **Sie für Schritt 1 „Zugriffsschlüssel erstellen**“ entweder **Befehlszeilenschnittstelle (CLI)** oder **Lokaler Code** aus. Beide Optionen generieren denselben Schlüsseltyp, der sowohl mit dem als auch mit dem AWS CLI verwendet werden kann SDKs.

1. Geben Sie für **Zugriffsschlüssel erstellen – Schritt 2** ein optionales Tag ein und wählen Sie **Weiter** aus.

1. Wählen Sie unter **Zugriffsschlüssel erstellen – Schritt 3** die Option **CSV-Datei herunterladen** aus, um eine `.csv`-Datei mit dem Zugriffsschlüssel und dem geheimen Zugriffsschlüssel Ihres IAM-Benutzers zu speichern. Sie benötigen diese Informationen später wieder.
**Warnung**  
Verwenden Sie geeignete Sicherheitsmaßnahmen, um diese Anmeldeinformationen zu schützen.

1. Wählen Sie **Done (Fertig)**. 

## Schritt 3: Aktualisieren Sie die gemeinsam genutzte `credentials` Datei
<a name="stepauthIamUser"></a>

1. Erstellen oder öffnen Sie die freigegebene AWS `credentials`-Datei. Diese Datei befindet sich in Linux- und macOS-Systemen im Pfad `~/.aws/credentials` und unter Windows im Pfad `%USERPROFILE%\.aws\credentials`. Weitere Informationen finden Sie unter [Speicherort der Anmeldeinformationsdateien](https://docs.aws.amazon.com/credref/latest/refdocs/file-location.html).

1. Fügen Sie der freigegebenen `credentials`-Datei den folgenden Text hinzu. Ersetzen Sie den Beispiel-ID-Wert und den Beispielschlüsselwert durch die Werte in der `.csv` Datei, die Sie zuvor heruntergeladen haben. 

   ```
   [default]
   aws_access_key_id = AKIAIOSFODNN7EXAMPLE
   aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   ```

   

1. Speichern Sie die Datei.

Die gemeinsam genutzte `credentials` Datei ist die gängigste Methode zum Speichern von Anmeldeinformationen. Diese können auch als Umgebungsvariablen festgelegt werden. Informationen zu Namen von Umgebungsvariablen finden Sie unter[AWS Zugriffstasten](feature-static-credentials.md). Dies ist eine Möglichkeit, Ihnen den Einstieg zu erleichtern. Wir empfehlen Ihnen jedoch, so bald wie möglich auf IAM Identity Center oder andere temporäre Anmeldeinformationen umzusteigen. Denken Sie nach der Umstellung auf die Verwendung langfristiger Anmeldeinformationen daran, diese Anmeldeinformationen aus der gemeinsam genutzten `credentials` Datei zu löschen.

# Verwenden von IAM-Rollen zur Authentifizierung von Anwendungen, die auf Amazon bereitgestellt werden EC2
<a name="access-iam-roles-for-ec2"></a>

Dieses Beispiel behandelt die Einrichtung einer AWS Identity and Access Management Rolle mit Amazon S3 S3-Zugriff zur Verwendung in Ihrer Anwendung, die auf einer Amazon Elastic Compute Cloud-Instance bereitgestellt wird. 

Um Ihre AWS SDK-Anwendung auf einer Amazon Elastic Compute Cloud-Instance auszuführen, erstellen Sie eine IAM-Rolle und gewähren Sie dann Ihrer EC2 Amazon-Instance Zugriff auf diese Rolle. 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 * EC2 Amazon-Benutzerhandbuch*.

## Erstellen einer IAM-Rolle
<a name="createRoleForEc2"></a>

Die AWS SDK-Anwendung, die Sie entwickeln, greift wahrscheinlich auf mindestens eine AWS-Service zu, um Aktionen auszuführen. Erstellen Sie eine IAM-Rolle, die die erforderlichen Berechtigungen gewährt, die für die Ausführung Ihrer Anwendung erforderlich sind.

 Mit diesem Verfahren wird beispielsweise eine Rolle erstellt, die nur Lesezugriff auf Amazon S3 gewährt. Viele der AWS SDK-Leitfäden enthalten Tutorials für „Erste Schritte“, die aus Amazon S3 stammen.

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 **Rolle erstellen** aus.

1. **Wählen Sie für Vertrauenswürdige Entität** auswählen unter **Vertrauenswürdiger Entitätstyp** die Option **AWS-Service**.

1. Wählen **Sie unter Anwendungsfall** die Option **Amazon EC2** und dann **Weiter** aus.

1. Aktivieren **Sie für Berechtigungen hinzufügen** das Kontrollkästchen für **Amazon S3 Read Only Access** aus der Richtlinienliste und wählen Sie dann **Weiter** aus. 

1. Geben Sie einen Namen für die Rolle ein und wählen Sie dann **Rolle erstellen** aus. *Merken Sie sich diesen Namen, da Sie ihn benötigen, wenn Sie Ihre EC2 Amazon-Instance erstellen.*

## Starten Sie eine EC2 Amazon-Instance und geben Sie Ihre IAM-Rolle an
<a name="launchAndSpecify"></a>

Gehen Sie wie folgt vor, um eine EC2 Amazon-Instance mithilfe Ihrer IAM-Rolle zu erstellen und zu starten:
+ Folgen Sie [Quickly launch an instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html#liw-quickly-launch-instance) im * EC2 Amazon-Benutzerhandbuch*. Gehen Sie vor dem letzten Einreichungsschritt jedoch auch wie folgt vor:
  + Wählen Sie unter **Erweiterte Details** für das **IAM-Instanzprofil** die Rolle aus, die Sie im vorherigen Schritt erstellt haben.

 Mit diesem IAM- und EC2 Amazon-Setup können Sie Ihre Anwendung auf der EC2 Amazon-Instance bereitstellen und Ihre Anwendung erhält Lesezugriff auf den Amazon S3-Service. 

## Connect zur EC2 Instanz her
<a name="net-dg-hosm-connect"></a>

Connect zur EC2 Amazon-Instance her, sodass Sie Ihre Anwendung darauf übertragen und die Anwendung dann ausführen können. Sie benötigen die Datei, die den privaten Teil des Schlüsselpaars enthält, das Sie unter **key pair (Anmeldung)** verwendet haben, als Sie Ihre Instance erstellt haben, also die PEM-Datei.

Sie können dies tun, indem Sie den Anweisungen für Ihren Instance-Typ folgen: [Connect zu Ihrer Linux-Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html) her oder [Stellen Sie eine Verbindung zu Ihrer Windows-Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html) her. Wenn Sie eine Verbindung herstellen, tun Sie dies so, dass Sie Dateien von Ihrem Entwicklungscomputer auf Ihre Instance übertragen können. 

**Anmerkung**  
Auf einem Linux- oder macOS-Terminal können Sie den Befehl Secure Copy verwenden, um Ihre Anwendung zu kopieren. Zur Verwendung `scp` mit einem key pair können Sie den folgenden Befehl verwenden:`scp -i path/to/key file/to/copy ec2-user@ec2-xx-xx-xxx-xxx.compute.amazonaws.com:~`.  
Weitere Informationen für Windows finden Sie unter [Dateien auf Windows-Instanzen übertragen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instanceWindowsFileTransfer.html).

Wenn Sie ein AWS Toolkit verwenden, können Sie häufig auch mithilfe des Toolkits eine Verbindung zu der Instanz herstellen. Weitere Informationen finden Sie in der spezifischen Bedienungsanleitung für das von Ihnen verwendete Toolkit.

## Führen Sie Ihre Anwendung auf der Instanz aus EC2
<a name="net-dg-hosm-run-the-app"></a>

1. Kopieren Sie Ihre Anwendungsdateien von Ihrem lokalen Laufwerk auf Ihre EC2 Amazon-Instance.

1. Starten Sie die Anwendung und stellen Sie sicher, dass sie mit den gleichen Ergebnissen wie auf Ihrem Entwicklungscomputer ausgeführt wird.

1. (Optional) Stellen Sie sicher, dass die Anwendung die von der IAM-Rolle bereitgestellten Anmeldeinformationen verwendet.

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

   1. Wählen Sie die Instance aus.

   1. Wählen Sie **Aktionen**, **Sicherheit** und anschließend **IAM-Rolle ändern** aus.

   1.  **Trennen Sie für die **IAM-Rolle die IAM-Rolle**, indem Sie „Keine IAM-Rolle“ wählen.**

   1.  Wählen Sie **IAM-Rolle aktualisieren**.

   1. Führen Sie die Anwendung erneut aus und vergewissern Sie sich, dass sie einen Autorisierungsfehler zurückgibt.

# Verwenden des TIP-Plugins für den Zugriff AWS-Services
<a name="access-tip"></a>

 Trusted Identity Propagation (TIP) ist eine Funktion AWS IAM Identity Center , die es Administratoren ermöglicht, Berechtigungen auf der Grundlage von Benutzerattributen wie Gruppenzuordnungen AWS-Services zu gewähren. Bei Trusted Identity Propagation wird einer IAM-Rolle ein Identitätskontext hinzugefügt, um den Benutzer zu identifizieren, der Zugriff auf AWS Ressourcen anfordert. Dieser Kontext wird an andere weitergegeben. AWS-Services

 Der Identitätskontext umfasst Informationen, AWS-Services anhand derer Autorisierungsentscheidungen getroffen werden, wenn sie Zugriffsanfragen erhalten. Zu diesen Informationen gehören Metadaten, mit denen der Anforderer (z. B. ein IAM Identity Center-Benutzer), der AWS-Service Zugriff angefordert wird (z. B. Amazon Redshift) und der Zugriffsumfang (z. B. schreibgeschützter Zugriff) identifiziert werden. Der Empfänger AWS-Service verwendet diesen Kontext und alle dem Benutzer zugewiesenen Berechtigungen, um den Zugriff auf seine Ressourcen zu autorisieren. Weitere Informationen finden Sie in der [Übersicht über die Verbreitung vertrauenswürdiger Identitäten](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overview.html) im AWS IAM Identity Center Benutzerhandbuch. 

 Das TIP-Plugin kann zusammen mit AWS-Services diesem Plugin verwendet werden, das die Verbreitung vertrauenswürdiger Identitäten unterstützt. Einen Referenzanwendungsfall finden Sie unter [Konfiguration einer Amazon Q Business-Anwendung mithilfe von](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/create-application.html) Amazon Q AWS IAM Identity Center im *Amazon Q Business-Benutzerhandbuch*. 

**Anmerkung**  
 Wenn Sie Amazon Q Business verwenden, finden Sie unter [Konfiguration einer Amazon Q Business-Anwendung mithilfe AWS IAM Identity Center](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/create-application.html) von servicespezifischen Anweisungen. 

## Voraussetzungen für die Verwendung des TIP-Plug-ins
<a name="prereq-tip"></a>

Die folgenden Ressourcen sind erforderlich, damit das Plugin funktioniert: 

1. Sie müssen entweder das AWS SDK für Java oder das verwenden AWS SDK für JavaScript. 

1. Stellen Sie sicher, dass der Dienst, den Sie verwenden, die Verbreitung vertrauenswürdiger Identitäten unterstützt.

   Weitere Informationen finden Sie in der Spalte **Aktiviert die Verbreitung vertrauenswürdiger Identitäten über IAM Identity Center** in der Tabelle [AWS verwaltete Anwendungen, die in IAM Identity Center integriert](https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps-that-work-with-identity-center.html) sind, im *AWS IAM Identity Center Benutzerhandbuch*. 

1. Aktivieren Sie IAM Identity Center und die Verbreitung vertrauenswürdiger Identitäten.

   Weitere Informationen zu den [Voraussetzungen und Überlegungen zu TIP](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overall-prerequisites.html) finden Sie im *AWS IAM Identity Center Benutzerhandbuch*. 

1. Sie müssen über eine Identity-Center-integrated Bewerbung verfügen. 

   Weitere Informationen finden Sie AWS im *AWS IAM Identity Center Benutzerhandbuch* unter [Verwaltete [Anwendungen](https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps-quick-start-setting-up-identity-center-to-test-awsmanagedapps.html) oder Vom Kunden verwaltete Anwendungen](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-trusted-identity-propagation-set-up-your-own-app-OAuth2.html). 

1. Sie müssen einen vertrauenswürdigen Token-Aussteller (TTI) einrichten und Ihren Service mit dem IAM Identity Center verbinden. 

   *Weitere Informationen finden Sie im Benutzerhandbuch unter [Voraussetzungen für vertrauenswürdige Token-Aussteller](https://docs.aws.amazon.com/singlesignon/latest/userguide/using-apps-with-trusted-token-issuer.html#trusted-token-issuer-prerequisites) und [Aufgaben für die Einrichtung eines vertrauenswürdigen Token-Ausstellers](https://docs.aws.amazon.com/singlesignon/latest/userguide/setuptrustedtokenissuer.html#setuptrustedtokenissuer-tasks).AWS IAM Identity Center *

## Um das TIP-Plugin in Ihrem Code zu verwenden
<a name="using-tip"></a>

1. Erstellen Sie eine Instanz des Plugins zur Verbreitung vertrauenswürdiger Identitäten.

1. Erstellen Sie eine Service-Client-Instanz für die Interaktion mit Ihrem AWS-Service und passen Sie den Service-Client an, indem Sie das Trusted Identity Propagation-Plugin hinzufügen. 

Das TIP-Plugin verwendet die folgenden Eingabeparameter:
+ **`webTokenProvider`**: Eine Funktion, die der Kunde implementiert, um ein OpenID-Token von seinem externen Identitätsanbieter zu erhalten. 
+ **`accessRoleArn`**: Der ARN der IAM-Rolle, den das Plugin mit dem Identitätskontext des Benutzers annehmen soll, um die identitätserweiterten Anmeldeinformationen abzurufen. 
+ **`applicationArn`**: Die eindeutige Kennungszeichenfolge für den Client oder die Anwendung. Dieser Wert ist ein Anwendungs-ARN, für den OAuth Grants konfiguriert sind. 
+ **`ssoOidcClient`**: (Optional) Ein SSO-OIDC-Client, z. B. [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/ssooidc/SsoOidcClient.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/ssooidc/SsoOidcClient.html)für Java oder [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sso-oidc/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sso-oidc/)für JavaScript, mit kundenspezifischen Konfigurationen. Falls nicht angegeben, wird ein OIDC-Client mithilfe von `applicationRoleArn` instanziiert und verwendet. 
+  **`stsClient`**: (Optional) Ein AWS STS Client mit kundendefinierten Konfigurationen, der verwendet wird, um den Identitätskontext des Benutzers `accessRoleArn` zu berücksichtigen. Falls nicht angegeben, `applicationRoleArn` wird ein AWS STS verwendender Client instanziiert und verwendet. 
+ **`applicationRoleArn`**: (Optional) Der ARN der IAM-Rolle, mit dem angenommen werden soll, `AssumeRoleWithWebIdentity` damit der OIDC und die AWS STS Clients gebootet werden können.
  + Wenn nicht angegeben, müssen **sowohl der als auch** der `ssoOidcClient` Parameter angegeben werden. `stsClient`
  + Falls angegeben, `applicationRoleArn` kann es nicht derselbe Wert wie der `accessRoleArn` Parameter sein. `applicationRoleArn`wird verwendet, um den STSClient zu erstellen, der verwendet wird, um AccessRole zu übernehmen. Wenn dieselbe Rolle für beide `applicationRole` und verwendet wird, würde das bedeuten`accessRole`, eine Rolle zu verwenden, um sich selbst anzunehmen (Übernahme der eigenen Rolle), wovon abgeraten wird. AWS Weitere Einzelheiten finden Sie in der [Ankündigung](https://aws.amazon.com/blogs/security/announcing-an-update-to-iam-role-trust-policy-behavior/).

### Überlegungen zu `ssoOidcClient``stsClient`, und `applicationRoleArn` Parametern
<a name="considerations-tip"></a>

Beachten Sie bei der Konfiguration des TIP-Plug-ins die folgenden Berechtigungsanforderungen, je nachdem, welche Parameter Sie angeben:
+ Wenn Sie angeben `ssoOidcClient` und`stsClient`:
  + Die Anmeldeinformationen auf der `ssoOidcClient` sollten `oauth:CreateTokenWithIAM` berechtigt sein, Identity Center anzurufen, um den Identity Center-spezifischen Benutzerkontext abzurufen.
  + Die Anmeldeinformationen `stsClient` sollten aktiviert sein und `sts:AssumeRole` die `sts:SetContext` Berechtigungen müssen aktiviert sein`accessRole`. `accessRole`muss außerdem mit einer Vertrauensstellung konfiguriert werden, bei der die Anmeldeinformationen aktiviert sind`stsClient`.
+ Wenn Sie Folgendes bereitstellen`applicationRoleArn`:
  + `applicationRole`sollte über die `oauth:CreateTokenWithIAM` `sts:SetContext` Berechtigungen `sts:AssumeRole` und für die erforderlichen Ressourcen (IdC-Instanz`accessRole`) verfügen, da sie zum Erstellen von OIDC- und STS-Clients verwendet wird.
  + `applicationRole`sollte eine Vertrauensbeziehung mit dem Identitätsanbieter haben, der für die Generierung verwendet wird`webToken`, da dieser verwendet `webToken` wird, um die ApplicationRole über den [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)Aufruf durch das Plugin zu übernehmen.

** ApplicationRole Beispielkonfiguration:**

Vertrauensrichtlinie mit Web-Token-Anbieter:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Federated": "arn:aws:iam::ACCOUNT_ID:oidc-provider/IDENTITY_PROVIDER_URL"
            },
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
                "StringEquals": {
                    "IDENTITY_PROVIDER_URL:aud": "CLIENT_ID_TO_BE_TRUSTED"
                }
            }
        }
    ]
}
```

Genehmigungsrichtlinie:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole",
                "sts:SetContext"
            ],
            "Resource": [
                "accessRoleArn"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "sso-oauth:CreateTokenWithIAM"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

## Codebeispiele mit TIP
<a name="tip-code-example"></a>

Die folgenden Beispiele zeigen, wie Sie das TIP-Plugin mit dem AWS SDK für Java oder dem in Ihrem Code implementieren AWS SDK für JavaScript.

------
#### [ Java ]

Um das TIP-Plugin in Ihrem AWS SDK für Java Projekt zu verwenden, müssen Sie es als Abhängigkeit in der `pom.xml` Datei Ihres Projekts deklarieren. 

```
<dependency>
<groupId>software.amazon.awsidentity.trustedIdentityPropagation</groupId>
<artifactId>aws-sdk-java-trustedIdentityPropagation-java-plugin</artifactId>
   <version>2.0.0</version>
</dependency>
```

Fügen Sie in Ihrem Quellcode die erforderliche Paketanweisung für ein`software.amazon.awssdk.trustedidentitypropagation`. 

Die folgenden Beispiele zeigen zwei Möglichkeiten, eine Instanz des Trusted Identity Propagation Plug-ins zu erstellen und sie einem Service-Client hinzuzufügen. In beiden Beispielen wird Amazon S3 als Service und `S3AccessGrantsPlugin` zur Verwaltung benutzerspezifischer Berechtigungen verwendet. Sie können jedoch auch auf alle Anwendungen angewendet werden, AWS-Service die Trusted Identity Propagation (TIP) unterstützen. 

**Anmerkung**  
Für diese Beispiele müssen Sie die benutzerspezifischen Berechtigungen von S3 Access Grants einrichten. Weitere Informationen finden Sie in der [Dokumentation zu S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html).

**Option 1: OIDC- und STS-Clients erstellen und übergeben**

```
SsoOidcClient oidcClient = SsoOidcClient.builder()
    .region(Region.US_EAST_1)
    .credentialsProvider(credentialsProvider).build();

StsClient stsClient = StsClient.builder()
    .region(Region.US_EAST_1)
    .credentialsProvider(credentialsProvider).build();

TrustedIdentityPropagationPlugin trustedIdentityPropagationPlugin = TrustedIdentityPropagationPlugin.builder()
        .webTokenProvider(() -> webToken)
        .applicationArn(idcApplicationArn)
        .accessRoleArn(accessRoleArn)
        .ssoOidcClient(oidcClient)
        .stsClient(stsClient)
        .build();

S3AccessGrantsPlugin accessGrantsPlugin = S3AccessGrantsPlugin.builder()
        .build();

S3Client s3Client =
        S3Client.builder().region(Region.US_EAST_1)
                .crossRegionAccessEnabled(true)
                .addPlugin(trustedIdentityPropagationPlugin)
                .addPlugin(accessGrantsPlugin)
                .build();

final var resp = s3Client.getObject(GetObjectRequest.builder()
        .key("path/to/object/fileName")
        .bucket("bucketName")
        .build());
```

**Option 2: Übergeben applicationRoleArn und verschieben Sie die Client-Erstellung an das Plugin**

```
TrustedIdentityPropagationPlugin trustedIdentityPropagationPlugin = TrustedIdentityPropagationPlugin.builder()
        .webTokenProvider(() -> webToken)
        .applicationArn(idcApplicationArn)
        .accessRoleArn(accessRoleArn)
        .applicationRoleArn(applicationRoleArn)
        .build();

S3AccessGrantsPlugin accessGrantsPlugin = S3AccessGrantsPlugin.builder()
        .build();

S3Client s3Client =
        S3Client.builder().region(Region.US_EAST_1)
                .crossRegionAccessEnabled(true)
                .addPlugin(trustedIdentityPropagationPlugin)
                .addPlugin(accessGrantsPlugin)
                .build();

final var resp = s3Client.getObject(GetObjectRequest.builder()
        .key("path/to/object/fileName")
        .bucket("bucketName")
        .build());
```

Weitere Informationen und Quellen finden Sie [ trusted-identity-propagation-java](https://github.com/aws-sdk-plugin/trusted-identity-propagation-java)unter GitHub.

------
#### [ JavaScript ]

Führen Sie den folgenden Befehl aus, um das TIP-Authentifizierungs-Plugin-Paket in Ihrem AWS SDK für JavaScript Projekt zu installieren: 

```
$  npm i @aws-sdk-extension/trusted-identity-propagation
```

Das Finale `package.json` sollte eine Abhängigkeit enthalten, die der folgenden ähnelt: 

```
  "dependencies": {
"@aws-sdk-extension/trusted-identity-propagation": "^2.0.0"
  },
```

 Importieren Sie die erforderliche `TrustedIdentityPropagationExtension` Abhängigkeit in Ihren Quellcode. 

 Die folgenden Beispiele zeigen zwei Möglichkeiten, eine Instanz des Trusted Identity Propagation Plug-ins zu erstellen und sie einem Service-Client hinzuzufügen. Beide Beispiele verwenden Amazon S3 als Service und Amazon S3 Access Grants zur Verwaltung benutzerspezifischer Berechtigungen, können aber auch auf alle angewendet werden, AWS-Service die Trusted Identity Propagation (TIP) unterstützen. 

**Anmerkung**  
Für diese Beispiele müssen Sie die benutzerspezifischen Berechtigungen von Amazon S3 Access Grants einrichten. Weitere Informationen finden Sie in der [Dokumentation zu Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html).

**Option 1: OIDC- und STS-Clients erstellen und übergeben**

```
import { S3Client, GetObjectCommand } from "@aws-sdk/client-s3";
import { S3ControlClient, GetDataAccessCommand } from "@aws-sdk/client-s3-control";
import { TrustedIdentityPropagationExtension } from "@aws-sdk-extension/trusted-identity-propagation";

const s3ControlClient = new S3ControlClient({
    region: "us-east-1",
    extensions: [
        TrustedIdentityPropagationExtension.create({
            webTokenProvider: async () => {
                return 'ID_TOKEN_FROM_YOUR_IDENTITY_PROVIDER';
            },
            ssoOidcClient: customOidcClient,
            stsClient: customStsClient,
            accessRoleArn: accessRoleArn,
            applicationArn: applicationArn,
        }),
    ],
});

const getDataAccessParams = {
  Target: "S3_URI_PATH",
  Permission: "READ",
  AccountId: ACCOUNT_ID,
  InstanceArn: S3_ACCESS_GRANTS_ARN,
  TargetType: "Object",
};

try {
  const command = new GetDataAccessCommand(getDataAccessParams);
  const response = await s3ControlClient.send(command);

  const credentials = response.Credentials;

  // Create a new S3 client with the temporary credentials
  const temporaryS3Client = new S3Client({
    region: "us-east-1",
    credentials: {
      accessKeyId: credentials.AccessKeyId,
      secretAccessKey: credentials.SecretAccessKey,
      sessionToken: credentials.SessionToken,
    },
  });

  // Use the temporary S3 client to perform the operation
  const s3Params = {
    Bucket: "BUCKET_NAME",
    Key: "S3_OBJECT_KEY",
  };
  const getObjectCommand = new GetObjectCommand(s3Params);
  const s3Object = await temporaryS3Client.send(getObjectCommand);

  const fileContent = await s3Object.Body.transformToString();

  // Process the S3 object data
  console.log("Successfully retrieved S3 object:", fileContent);
} catch (error) {
  console.error("Error accessing S3 data:", error);
}
```

**Option 2: Übergeben applicationRoleArn und verschieben Sie die Client-Erstellung an das Plugin**

```
import { S3Client, GetObjectCommand } from "@aws-sdk/client-s3";
import { S3ControlClient, GetDataAccessCommand } from "@aws-sdk/client-s3-control";
import { TrustedIdentityPropagationExtension } from "@aws-sdk-extension/trusted-identity-propagation";

const s3ControlClient = new S3ControlClient({
    region: "us-east-1",
    extensions: [
        TrustedIdentityPropagationExtension.create({
            webTokenProvider: async () => {
                return 'ID_TOKEN_FROM_YOUR_IDENTITY_PROVIDER';
            },
            accessRoleArn: accessRoleArn,
            applicationRoleArn: applicationRoleArn,
            applicationArn: applicationArn,
        }),
    ],
});

// Same S3 AccessGrants workflow as Option 1
const getDataAccessParams = {
  Target: "S3_URI_PATH",
  Permission: "READ",
  AccountId: ACCOUNT_ID,
  InstanceArn: S3_ACCESS_GRANTS_ARN,
  TargetType: "Object",
};

try {
  const command = new GetDataAccessCommand(getDataAccessParams);
  const response = await s3ControlClient.send(command);

  const credentials = response.Credentials;

  const temporaryS3Client = new S3Client({
    region: "us-east-1",
    credentials: {
      accessKeyId: credentials.AccessKeyId,
      secretAccessKey: credentials.SecretAccessKey,
      sessionToken: credentials.SessionToken,
    },
  });

  const s3Params = {
    Bucket: "BUCKET_NAME",
    Key: "S3_OBJECT_KEY",
  };
  const getObjectCommand = new GetObjectCommand(s3Params);
  const s3Object = await temporaryS3Client.send(getObjectCommand);

  const fileContent = await s3Object.Body.transformToString();

  console.log("Successfully retrieved S3 object:", fileContent);
} catch (error) {
  console.error("Error accessing S3 data:", error);
}
```

Weitere Informationen und Quellen finden Sie [trusted-identity-propagation-js](https://github.com/aws-sdk-plugin/trusted-identity-propagation-js)unter GitHub.

------