

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.

# Funktionsweise von der Amazon Cognito mit IAM
<a name="security_iam_service-with-iam"></a>

Bevor Sie IAM zum Verwalten des Zugriffs auf Amazon Cognito verwenden, erfahren Sie, welche IAM-Funktionen Sie mit Amazon Cognito verwenden können.






**IAM-Funktionen, die Sie mit Amazon Cognito verwenden können**  

| IAM-Funktion | Unterstützung von Amazon Cognito | 
| --- | --- | 
| [Identity-based Richtlinien](#security_iam_service-with-iam-id-based-policies) |  Ja | 
| [Resource-based Richtlinien](#security_iam_service-with-iam-resource-based-policies) |  Nein  | 
| [Richtlinienaktionen](#security_iam_service-with-iam-id-based-policies-actions) |  Ja | 
| [Richtlinienressourcen](#security_iam_service-with-iam-id-based-policies-resources) |  Ja | 
| [Bedingungsschlüssel für die Richtlinie](#security_iam_service-with-iam-id-based-policies-conditionkeys) |  Ja | 
| [ACLs](#security_iam_service-with-iam-acls) |  Nein  | 
| [ABAC (Tags in Richtlinien)](#security_iam_service-with-iam-tags) |  Teilweise | 
| [Temporäre Anmeldeinformationen](#security_iam_service-with-iam-roles-tempcreds) |  Ja | 
| [Hauptberechtigungen](#security_iam_service-with-iam-principal-permissions) |  Nein  | 
| [Servicerollen](#security_iam_service-with-iam-roles-service) |  Ja | 
| [Service-linked Rollen](#security_iam_service-with-iam-roles-service-linked) |  Ja | 

*Einen allgemeinen Überblick darüber, wie Amazon Cognito und andere AWS Services mit den meisten IAM-Funktionen funktionieren, finden Sie im [AWSIAM-Benutzerhandbuch unter Dienste, die mit IAM funktionieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).*

## Identity-based Richtlinien für Amazon Cognito
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Unterstützt Richtlinien auf Identitätsbasis:** Ja

Identity-based Richtlinien sind Richtliniendokumente für JSON-Berechtigungen, die Sie an eine Identität anhängen können, z. B. an einen IAM-Benutzer, eine Benutzergruppe oder eine Rolle. Diese Richtlinien steuern, welche Aktionen die Benutzer und Rollen für welche Ressourcen und unter welchen Bedingungen ausführen können. Informationen zum Erstellen identitätsbasierter Richtlinien finden Sie unter [Definieren benutzerdefinierter IAM-Berechtigungen mit vom Kunden verwalteten Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) im *IAM-Benutzerhandbuch*.

Mit identitätsbasierten IAM-Richtlinien können Sie angeben, welche Aktionen und Ressourcen zugelassen oder abgelehnt werden. Darüber hinaus können Sie die Bedingungen festlegen, unter denen Aktionen zugelassen oder abgelehnt werden. Informationen zu sämtlichen Elementen, die Sie in einer JSON-Richtlinie verwenden, finden Sie in der [IAM-Referenz für JSON-Richtlinienelemente](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) im *IAM-Benutzerhandbuch*.

### Identity-based Richtlinienbeispiele für Amazon Cognito
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Beispiele für identitätsbasierte Amazon-Cognito-Richtlinien finden Sie unter [Identity-based Richtlinienbeispiele für Amazon Cognito](security_iam_id-based-policy-examples.md).

## Resource-based Richtlinien innerhalb von Amazon Cognito
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Unterstützt ressourcenbasierte Richtlinien:** Nein 

Resource-based Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource anhängen. Beispiele für ressourcenbasierte Richtlinien sind IAM-*Rollen-Vertrauensrichtlinien* und Amazon-S3-*Bucket-Richtlinien*. In Services, die ressourcenbasierte Richtlinien unterstützen, können Service-Administratoren sie verwenden, um den Zugriff auf eine bestimmte Ressource zu steuern. Für die Ressource, an welche die Richtlinie angehängt ist, legt die Richtlinie fest, welche Aktionen ein bestimmter Prinzipal unter welchen Bedingungen für diese Ressource ausführen kann. Sie müssen in einer ressourcenbasierten Richtlinie [einen Prinzipal angeben](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). Zu den Prinzipalen können Konten, Benutzer, Rollen, Verbundbenutzer oder gehören. AWS-Services

Um kontoübergreifenden Zugriff zu ermöglichen, können Sie ein gesamtes Konto oder IAM-Entitäten in einem anderen Konto als Prinzipal in einer ressourcenbasierten Richtlinie angeben. Weitere Informationen finden Sie unter [Kontoübergreifender Ressourcenzugriff in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) im *IAM-Benutzerhandbuch*.

## Richtlinienaktionen für Amazon Cognito
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Unterstützt Richtlinienaktionen:** Ja

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer Zugriff auf was hat. Das heißt, welcher **Prinzipal** **Aktionen** für welche **Ressourcen** und unter welchen **Bedingungen** ausführen kann.

Das Element `Action` einer JSON-Richtlinie beschreibt die Aktionen, mit denen Sie den Zugriff in einer Richtlinie zulassen oder verweigern können. Nehmen Sie Aktionen in eine Richtlinie auf, um Berechtigungen zur Ausführung des zugehörigen Vorgangs zu erteilen.



Eine Liste der Amazon-Cognito-Aktionen finden Sie unter [Von Amazon Cognito definierte Aktionen](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-actions-as-permissions) in der *Service-Autorisierungs-Referenz*.

Richtlinienaktionen in Amazon Cognito verwenden das folgende Präfix vor der Aktion:

```
cognito-identity
```

Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie mit Kommata:

```
"Action": [
      "cognito-identity:{{action1}}",
      "cognito-identity:{{action2}}"
         ]
```

### Signierte und nicht signierte APIs im Vergleich
<a name="security_amazon-cognito-signed-versus-unsigned-apis"></a>

Wenn Sie Amazon Cognito Cognito-API-Anfragen mit AWS Anmeldeinformationen signieren, können Sie diese in einer AWS Identity and Access Management (IAM-) Richtlinie einschränken. API-Anforderungen, die Sie mit AWS-Anmeldeinformationen signieren müssen, umfassen die serverseitige Anmeldung mit `AdminInitiateAuth` sowie Aktionen, die Ihre Amazon-Cognito-Ressourcen erstellen, anzeigen oder ändern, wie beispielsweise `UpdateUserPool`. Weitere Informationen zu signierten API-Anfragen finden Sie unter [Signieren von AWS API-Anfragen](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html).

Da Amazon Cognito ein Verbraucheridentitätsprodukt für Apps ist, die Sie für die Öffentlichkeit zugänglich machen möchten, haben Sie Zugriff auf die folgenden nicht signierten APIs. Ihre App nimmt diese API-Anforderungen für Ihre Benutzer und Ihre potenziellen Benutzer vor. Einige APIs verlangen keine vorherige Autorisierung wie `InitiateAuth` für den Start einer neuen Authentifizierungssitzung. Einige APIs verwenden Zugriffstoken oder Sitzungsschlüssel für die Autorisierung, z. B. `VerifySoftwareToken`, um die MFA-Einrichtung für einen Benutzer mit bestehender authentifizierter Sitzung abzuschließen. Eine nicht signierte, autorisierte API der Amazon-Cognito-Benutzerpools unterstützt einen `Session`- oder`AccessToken`-Parameter in der Anforderungssyntax wie in der [API-Referenz zu Amazon Cognito](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/Welcome.html) dargestellt. Eine nicht signierte API der Amazon-Cognito-Identität unterstützt `IdentityId`-Parameter wie in der [API-Referenz zu Amazon-Cognito-Verbundidentitäten](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/Welcome.html) dargestellt.

Weitere Informationen zu den Autorisierungsmodellen der Amazon-Cognito-Benutzerpool-API finden Sie unter [Liste der API-Operationen, gruppiert nach Autorisierungsmodell](authentication-flows-public-server-side.md#user-pool-apis-auth-unauth).

**API-Operationen der Amazon-Cognito-Identitätspools**
+ `GetId`
+ `GetOpenIdToken`
+ `GetCredentialsForIdentity`
+ `UnlinkIdentity`

**API-Operationen der Amazon-Cognito-Benutzerpools**
+ `AssociateSoftwareToken`
+ `ChangePassword`
+ `ConfirmDevice`
+ `ConfirmForgotPassword`
+ `ConfirmSignUp`
+ `DeleteUser`
+ `DeleteUserAttributes`
+ `ForgetDevice`
+ `ForgotPassword`
+ `GetDevice`
+ `GetUser`
+ `GetUserAttributeVerificationCode`
+ `GlobalSignOut`
+ `InitiateAuth`
+ `ListDevices`
+ `ResendConfirmationCode`
+ `RespondToAuthChallenge`
+ `RevokeToken`
+ `SetUserMFAPreference`
+ `SetUserSettings`
+ `SignUp`
+ `UpdateAuthEventFeedback`
+ `UpdateDeviceStatus`
+ `UpdateUserAttributes`
+ `VerifySoftwareToken`
+ `VerifyUserAttribute`





Beispiele für identitätsbasierte Amazon-Cognito-Richtlinien finden Sie unter [Identity-based Richtlinienbeispiele für Amazon Cognito](security_iam_id-based-policy-examples.md).

## Richtlinienressourcen für Amazon Cognito
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Unterstützt Richtlinienressourcen:** Ja

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer auf was Zugriff hat. Das heißt, welcher **Prinzipal** **Aktionen** für welche **Ressourcen** und unter welchen **Bedingungen** ausführen kann.

Das JSON-Richtlinienelement `Resource` gibt die Objekte an, auf welche die Aktion angewendet wird. Als Best Practice geben Sie eine Ressource mit dem zugehörigen [Amazon-Ressourcennamen (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) an. Verwenden Sie für Aktionen, die keine Berechtigungen auf Ressourcenebene unterstützen, einen Platzhalter (\*), um anzugeben, dass die Anweisung für alle Ressourcen gilt.

```
"Resource": "*"
```

### Amazon-Ressourcennamen (ARNs)
<a name="security_amazon-cognito-amazon-resource-names"></a>

**ARNs für Amazon-Cognito-Verbundidentitäten**

Mit Amazon-Cognito-Identitäten-Pools (Verbundidentitäten) können Sie den Zugriff eines IAM-Benutzers auf einen bestimmten Identitäten-Pool einschränken, indem Sie den Amazon-Ressourcennamen (ARN) mit dem Format wie im folgenden Beispiel verwenden. Weitere Informationen zu ARNs finden Sie unter [IAM-IDs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html).

```
arn:aws:cognito-identity:{{REGION}}:{{ACCOUNT_ID}}:identitypool/{{IDENTITY_POOL_ID}}
```

**ARNs für Amazon Cognito Sync**

In Amazon Cognito Sync können Kunden den Zugriff auch anhand der Identitäten-Pool-ID, der Identitäts-ID und des Datensatznamens einschränken.

Für APIs, die für einen Identitäten-Pool verwendet werden, ist das ARN-Format des Identitäten-Pools das gleiche wie für die Amazon-Cognito-Verbundidentitäten, mit der Ausnahme, dass der Name des Service `cognito-sync` anstelle von `cognito-identity` lautet:

```
arn:aws:cognito-sync:{{REGION}}:{{ACCOUNT_ID}}:identitypool/{{IDENTITY_POOL_ID}}
```

Für APIs für eine einzelne Identität, beispielsweise `RegisterDevice`, können Sie mit dem folgenden ARN-Format auf diese Identität verweisen:

```
arn:aws:cognito-sync:{{REGION}}:{{ACCOUNT_ID}}:identitypool/{{IDENTITY_POOL_ID}}/identity/{{IDENTITY_ID}}
```

Für APIs, die für Datensätze ausgeführt werden – wie `UpdateRecords` und `ListRecords` – finden Sie den einzelnen Datensatz unter Verwendung des folgenden ARN-Formats:

```
arn:aws:cognito-sync:{{REGION}}:{{ACCOUNT_ID}}:identitypool/{{IDENTITY_POOL_ID}}/identity/{{IDENTITY_ID}}/dataset/{{DATASET_NAME}}
```

**ARNs für Amazon Cognito: Benutzerpools**

Für „Amazon Cognito – Eigene Benutzerpools“ ist es mit dem folgenden ARN-Format möglich, den Zugriff eines Benutzers auf einen bestimmten Benutzerpool einzuschränken:

```
arn:aws:cognito-idp:{{REGION}}:{{ACCOUNT_ID}}:userpool/{{USER_POOL_ID}}
```

Eine Liste der Amazon-Cognito-Ressourcentypen und ihrer ARNs finden Sie unter [Von Amazon Cognito definierte Ressourcen](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-resources-for-iam-policies) in der *Service-Autorisierungs-Referenz*. Informationen zu den Aktionen, mit denen Sie den ARN einzelner Ressourcen angeben können, finden Sie unter [Von Amazon Cognito definierte Aktionen](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-actions-as-permissions).





Beispiele für identitätsbasierte Amazon-Cognito-Richtlinien finden Sie unter [Identity-based Richtlinienbeispiele für Amazon Cognito](security_iam_id-based-policy-examples.md).

## Richtlinienbedingungsschlüssel für Amazon Cognito
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Unterstützt servicespezifische Richtlinienbedingungsschlüssel:** Ja

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer auf was Zugriff hat. Das heißt, welcher **Prinzipal** **Aktionen** für welche **Ressourcen** und unter welchen **Bedingungen** ausführen kann.

Das Element `Condition` gibt an, wann Anweisungen auf der Grundlage definierter Kriterien ausgeführt werden. Sie können bedingte Ausdrücke erstellen, die [Bedingungsoperatoren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) verwenden, z. B. ist gleich oder kleiner als, damit die Bedingung in der Richtlinie mit Werten in der Anforderung übereinstimmt. Eine Übersicht aller AWS globalen Bedingungsschlüssel finden Sie unter [Kontextschlüssel für AWS globale Bedingungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) im *IAM-Benutzerhandbuch*.

Eine Liste von Amazon-Cognito-Bedingungsschlüsseln finden Sie unter [Bedingungsschlüssel für Amazon Cognito](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-policy-keys) in der *Service-Autorisierungs-Referenz*. Informationen dazu, mit welchen Aktionen und Ressourcen Sie einen Bedingungsschlüssel verwenden können, finden Sie unter [Von Amazon Cognito definierte Aktionen](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-actions-as-permissions).

Beispiele für identitätsbasierte Amazon-Cognito-Richtlinien finden Sie unter [Identity-based Richtlinienbeispiele für Amazon Cognito](security_iam_id-based-policy-examples.md).

## Zugriffssteuerungslisten (ACLs) in Amazon Cognito
<a name="security_iam_service-with-iam-acls"></a>

**Unterstützt ACLs:** Nein 

Zugriffssteuerungslisten (ACLs) steuern, welche Prinzipale (Kontomitglieder, Benutzer oder Rollen) auf eine Ressource zugreifen können. ACLs sind ähnlich wie ressourcenbasierte Richtlinien, verwenden jedoch nicht das JSON-Richtliniendokumentformat.

## Attribute-based Zugriffskontrolle (ABAC) mit Amazon Cognito
<a name="security_iam_service-with-iam-tags"></a>

**Unterstützt ABAC (Tags in Richtlinien):** Teilweise

Attribute-based Die Zugriffskontrolle (ABAC) ist eine Autorisierungsstrategie, die Berechtigungen auf der Grundlage von Attributen definiert, die als Tags bezeichnet werden. Sie können Tags an IAM-Entitäten und AWS -Ressourcen anhängen und dann ABAC-Richtlinien entwerfen, die Operationen zulassen, wenn das Tag des Prinzipals mit dem Tag auf der Ressource übereinstimmt.

Um den Zugriff auf der Grundlage von Tags zu steuern, geben Sie im Bedingungselement einer[ Richtlinie Tag-Informationen ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)an, indem Sie die Schlüssel `aws:ResourceTag/{{key-name}}`, `aws:RequestTag/{{key-name}}`, oder Bedingung `aws:TagKeys` verwenden.

Wenn ein Service alle drei Bedingungsschlüssel für jeden Ressourcentyp unterstützt, lautet der Wert für den Service **Ja**. Wenn ein Service alle drei Bedingungsschlüssel für nur einige Ressourcentypen unterstützt, lautet der Wert **Teilweise**.

*Weitere Informationen zu ABAC finden Sie unter [Definieren von Berechtigungen mit ABAC-Autorisierung](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) im IAM-Benutzerhandbuch*. Um ein Tutorial mit Schritten zur Einstellung von ABAC anzuzeigen, siehe [Attributbasierte Zugriffskontrolle (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) verwenden im *IAM-Benutzerhandbuch*.

## Verwenden temporärer Anmeldeinformationen mit Amazon Cognito
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Unterstützt temporäre Anmeldeinformationen:** Ja

Temporäre Anmeldeinformationen ermöglichen den kurzfristigen Zugriff auf AWS Ressourcen und werden automatisch erstellt, wenn Sie einen Verbund verwenden oder die Rollen wechseln. AWSempfiehlt, temporäre Anmeldeinformationen dynamisch zu generieren, anstatt langfristige Zugriffsschlüssel zu verwenden. Weitere Informationen finden Sie unter [Temporäre Anmeldeinformationen in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) und [AWS-Services, die mit IAM funktionieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) im *IAM-Benutzerhandbuch*.

## Cross-service Hauptberechtigungen für Amazon Cognito
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Unterstützt Forward Access Sessions (FAS):** Nein 

 Forward Access Sessions (FAS) verwenden die Berechtigungen des Prinzipals, der einen aufruftAWS-Service, in Kombination mit der Anfrage, Anfragen an nachgelagerte Dienste AWS-Service zu stellen. Einzelheiten zu den Richtlinien für FAS-Anforderungen finden Sie unter [Zugriffssitzungen weiterleiten](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Servicerollen für Amazon Cognito
<a name="security_iam_service-with-iam-roles-service"></a>

**Unterstützt Servicerollen:** Ja

 Eine Servicerolle ist eine [IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html), die ein Service annimmt, um Aktionen in Ihrem Namen auszuführen. Ein IAM-Administrator kann eine Servicerolle innerhalb von IAM erstellen, ändern und löschen. Weitere Informationen finden Sie unter [Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) im *IAM-Benutzerhandbuch*. 

Weitere Informationen zu Amazon-Cognito-Servicerollen finden Sie unter [Aktivieren der Push-Synchronisierung](identity-pools.md#enable-push-synchronization) und [Implementierung der Push-Synchronisierung](push-sync.md).

**Warnung**  
Das Ändern der Berechtigungen für eine Servicerolle könnte die Funktionalität von Amazon Cognito beeinträchtigen. Bearbeiten Sie Servicerollen nur, wenn Amazon Cognito dazu Anleitungen bereitstellt.

## Service-linked Rollen für Amazon Cognito
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Unterstützt serviceverknüpfte Rollen:** Ja

 Eine dienstbezogene Rolle ist eine Art von Servicerolle, die mit einer AWS-Service verknüpft ist. Der Dienst kann die Rolle übernehmen, eine Aktion in Ihrem Namen auszuführen. Service-linked Rollen erscheinen in Ihrem Dienst AWS-Konto und gehören dem Dienst. Ein IAM-Administrator kann die Berechtigungen für Service-verknüpfte Rollen anzeigen, aber nicht bearbeiten. 

Einzelheiten zum Erstellen oder Verwalten von serviceverknüpften Amazon-Cognito-Rollen finden Sie unter [Verwendung von serviceverknüpften Rollen für Amazon Cognito](using-service-linked-roles.md).