

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

Während der Erstellung eines Identitätspools werden Sie aufgefordert, die von Ihren Benutzern übernommenen IAM-Rollen zu aktualisieren. IAM-Rollen funktionieren folgendermaßen: Wenn ein Benutzer sich bei einer App anmeldet, generiert Amazon Cognito temporäre AWS -Anmeldeinformationen für ihn. Diese temporären Anmeldeinformationen sind mit einer bestimmten IAM-Rolle verknüpft. Mit der IAM-Rolle können Sie eine Gruppe von Berechtigungen für den Zugriff auf Ihre AWS -Ressourcen definieren.

Sie können unterschiedliche Standard-IAM-Rollen für authentifizierte und nicht authentifizierte Benutzer angeben. Zusätzlich können Sie Regeln definieren, um die Rollen der einzelnen Benutzer basierend auf den Ansprüchen im ID-Token eines Benutzers auszuwählen. Weitere Informationen finden Sie unter [Verwenden der rollenbasierten Zugriffskontrolle](role-based-access-control.md).

Standardmäßig erstellt die Amazon-Cognito-Konsole IAM-Rollen, die den Zugriff auf Amazon Mobile Analytics und Amazon Cognito Sync ermöglichen. Alternativ können Sie vorhandene IAM-Rollen verwenden.

Ändern Sie IAM-Rollen, um den Zugriff auf andere Services zu ermöglichen oder einzuschränken. [Melden Sie sich bei der IAM-Konsole an](https://console.aws.amazon.com/iam/home). Klicken Sie auf **Rollen** und wählen Sie eine Rolle aus. Die Richtlinien, die der Rolle zugeordnet sind, werden auf der Registerkarte **Permissions** aufgeführt. Sie können eine Zugriffsrichtlinie anpassen, indem Sie auf den entsprechenden Link **Manage Policy (Richtlinie verwalten)** klicken. Weitere Informationen zum Verwenden und Definieren von Richtlinien finden Sie unter [Übersicht über IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html).

**Anmerkung**  
Es hat sich bewährt, Richtlinien zu definieren, die dem Prinzip für das Erteilen der *geringsten Rechte* folgen. Anders ausgedrückt enthalten die Richtlinien nur diejenigen Berechtigungen, die Benutzer zum Ausführen ihrer Aufgaben benötigen. Weitere Informationen finden Sie unter [Gewähren von geringsten Rechten](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) im *IAM-Benutzerhandbuch*.  
Nicht authentifizierte Identitäten werden von Benutzern angenommen, die sich nicht in Ihrer App anmelden. In der Regel sollten Sie nicht authentifizierten Identitäten geringere Berechtigungen zuweisen als authentifizierten Identitäten.

**Topics**
+ [

## Einrichten einer Vertrauensrichtlinie
](#trust-policies)
+ [

## Zugriffsrichtlinien
](#access-policies)
+ [

## Vertrauensstellungen und Berechtigungen für Rollen
](#role-trust-and-permissions)

## Einrichten einer Vertrauensrichtlinie
<a name="trust-policies"></a>

Amazon Cognito verwendet IAM-Rollen, um temporäre Anmeldeinformationen für die Benutzer Ihrer Anwendung zu generieren. Der Zugriff auf die Berechtigungen wird von den Rollenvertrauensstellungen bestimmt. Weitere Informationen zu [Vertrauensstellungen und Berechtigungen für Rollen](#role-trust-and-permissions). Amazon Cognito vermittelt Verbindungen zwischen einem AWS STS Identitätspool IdPs.

Das Token, dem präsentiert AWS STS wird, wird von einem Identitätspool generiert, der einen Benutzerpool, ein Social- oder OIDC-Provider-Token oder eine SAML-Assertion in ein eigenes Token übersetzt. Das Identitätspool-Token enthält einen `aud`-Anspruch, der die Identitätspool-ID ist.

Wenn es sich bei `Principal` der Vertrauensrichtlinie einer IAM-Rolle um einen Dienstprinzipal für Identitätspools handelt`cognito-identity.amazonaws.com`, können Sie keine Rollenvertrauensrichtlinien so erstellen oder ändern, dass sie es jedem Identitätspool ermöglichen, die Rolle zu übernehmen. Beim Identitätspool-Prinzipal muss das `Action` Element über eine `Condition` Funktion verfügen, die nur von Ihren Identitätspools ausgeführt `AssumeRoleWithWebIndentity` werden muss, wie durch einen Bedingungsschlüssel wie `cognito-identity.amazonaws.com:aud` angegeben. Andere Bedingungsschlüssel sind verfügbar, aber `aud` erforderlich. Wenn Sie versuchen, eine Rollenvertrauensrichtlinie ohne eine Bedingung dieses Typs zu speichern, gibt IAM einen Fehler zurück.

Weitere Informationen zu OIDC-Verbundschlüsseln (Web-Identität) finden Sie unter [Verfügbare Schlüssel für AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#condition-keys-wif) den OIDC-Verbund.

Im Folgenden sind die OIDC-Verbundbedingungsschlüssel für Amazon Cognito verfügbar.

**`cognito-identity.amazonaws.com:aud`**  
Beschränkt die Rolle auf Operationen aus einem oder mehreren Identitätspools. Amazon Cognito gibt den Quell-Identitätspool im `aud` Anspruch im Identitätspool-Token an.

**`cognito-identity.amazonaws.com:amr`**  
Beschränkt die Rolle entweder auf Benutzer `authenticated` oder `unauthenticated` (Gast-) Benutzer. Amazon Cognito gibt den Authentifizierungsstatus im `amr` Anspruch im Identitätspool-Token an.

**`cognito-identity.amazonaws.com:sub`**  
[Schränkt die Rolle anhand der UUID auf einen oder mehrere Benutzer ein.](cognito-terms.md#terms-uuid) Diese UUID ist die Identitäts-ID des Benutzers im Identitätspool. Dieser Wert entspricht nicht dem `sub` Wert des ursprünglichen Identitätsanbieters des Benutzers. Amazon Cognito gibt diese UUID im `sub` Antrag im Identitätspool-Token an.

Das folgende Beispiel für eine Rollenvertrauensrichtlinie ermöglicht es dem Verbunddienstprinzipal, die API `cognito-identity.amazonaws.com` aufzurufen. AWS STS `AssumeRoleWithWebIdentity` Die Anfrage ist nur dann erfolgreich, wenn das Identitätspool-Token in der API-Anforderung die folgenden Ansprüche hat.

1. Ein `aud`-Anspruch auf die Identitätspool-ID `us-west-2:abcdefg-1234-5678-910a-0e8443553f95`.

1. Ein `amr`-Anspruch auf `authenticated`, der hinzugefügt wird, wenn sich der Benutzer angemeldet hat und kein Gastbenutzer ist.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Federated": "cognito-identity.amazonaws.com"
            },
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
                "StringEquals": {
                    "cognito-identity.amazonaws.com:aud": "us-west-2:abcdefg-1234-5678-910a-0e8443553f95"
                },
                "ForAnyValue:StringLike": {
                    "cognito-identity.amazonaws.com:amr": "authenticated"
                }
            }
        }
    ]
}
```

------

### Vertrauensrichtlinien für IAM-Rollen bei der Standardauthentifizierung (Classic)
<a name="trust-policies-classic"></a>

**Zusammenfassung**  
Identitätspools können im [Standardauthentifizierungsablauf](authentication-flow.md#authentication-flow-basic) nur dann Rollen im Namen von Benutzern übernehmen, wenn die Vertrauensrichtlinie der Zielrolle die `aud` Bedingung enthält.

Für die Standardauthentifizierung gelten dieselben Beschränkungen für unsichere Richtlinien zur Rollenvertrauensstellung wie für die erweiterte Authentifizierung: Sie können keine Rollenvertrauensrichtlinie speichern, die die unterstützten Identitätspools nicht einschränkt, wenn eine `aud` Bedingung erfüllt ist. Diese Einschränkung wurde beim Start des Dienstes nicht durchgesetzt. Vor der Durchsetzung dieser Anforderung konnten Sie Richtlinien für Rollenvertrauensstellungen erstellen, die keine zusätzlichen Sicherheitsbedingungen enthielten. Nach der Durchsetzung dieser Anforderung können AWS STS Web-Identitäten Rollen annehmen, die nicht durch Bedingungen gesichert sind. Diese Rollen **können jedoch nicht geändert werden**, ohne dass diese Bedingungen eingeführt werden.

Für die Enhanced-Flow-Authentifizierung muss sich die IAM-Rolle im selben AWS-Konto Identitätspool befinden. Bei der Standardauthentifizierung, bei der Ihre Anwendung die `AssumeRoleWithWebIdentity` Anfrage verfasst, kann Ihre Anwendung jedoch beantragen, eine Rolle in einem anderen Konto zu übernehmen. Ihre [kontoübergreifende](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) Anfrage zur Übernahme einer Rolle schlägt jedoch fehl, wenn für die Zielrolle eine veraltete Vertrauensrichtlinie gilt, die diese Bedingung nicht erzwingt. `aud`

Das Token, das ein Identitätspool für eine Identität ausgibt, enthält Informationen über den Ursprung AWS-Konto des Identitätspools. Wenn Sie ein Identitätspool-Token in einer [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)API-Anfrage angeben, wird AWS STS überprüft, ob sich der ursprüngliche Identitätspool in derselben Rolle AWS-Konto wie die IAM-Rolle befindet. Wenn AWS STS festgestellt wird, dass es sich bei der Anfrage um eine kontoübergreifende Anfrage handelt, wird geprüft, ob die Vertrauensrichtlinie für Rollen eine `aud` Bedingung erfüllt. **Der Aufruf zur Rollenübernahme schlägt fehl**, wenn in der Richtlinie zur Rollenvertrauensstellung keine solche Bedingung enthalten ist. Wenn es sich bei der Anfrage nicht um eine kontoübergreifende Anfrage handelt, wird diese AWS STS Einschränkung nicht durchgesetzt. Es hat sich bewährt, immer eine Bedingung dieses Typs auf die Vertrauensrichtlinien Ihrer Identitätspool-Rollen anzuwenden.

Im Folgenden finden Sie ein Beispiel für eine Vertrauensrichtlinie, die die *Mindestanforderungen* für eine IAM-Rolle für die Standardauthentifizierung mit mehreren Identitätspools erfüllt. Es hat sich bewährt, auch nur authentifizierte Identitäten mit einer `"cognito-identity.amazonaws.com:amr": "authenticated"` Bedingung zuzulassen.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Federated": "cognito-identity.amazonaws.com"
            },
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
                "StringEquals": {
                    "cognito-identity.amazonaws.com:aud": [
                        "us-west-2:abcdefg-1234-5678-910a-0e8443553f95",
                        "us-west-2:hijklmo-5678-9101-112b-0e4221776g96",
                        "us-west-2:pqrstuv-9101-1121-314c-0e2110887h97"
                    ]
                }
            }
        }
    ]
}
```

------

### Zusätzliche Bedingungen für die Vertrauenspolitik
<a name="trust-policies-examples"></a>

Sie können die folgenden Bedingungen für die Vertrauensrichtlinie verwenden, um die Quell-Identitätspools, Identitäten und Anbieter zu definieren, die IAM-Rollen übernehmen können.

**Anmerkung**  
Implementieren Sie den [aws:SourceIp](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceip)Bedingungsschlüssel nicht in Vertrauensrichtlinien für IAM-Rollen, die Identitätspools im [erweiterten](authentication-flow.md#authentication-flow-enhanced) Authentifizierungsablauf annehmen. Da der erweiterte Ablauf die [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)Anfrage im Namen Ihrer Anwendung generiert, entspricht die Quell-IP der Anfrage nicht der IP Ihres Anwendungsclients, und die Bedingung wird niemals erfüllt. Netzwerkbasierte Bedingungsschlüssel sind für Rollen gültig, die Identitätspools *nur* über den [Basisfluss](authentication-flow.md#authentication-flow-basic) übernehmen, dem die serviceseitigen Funktionen des erweiterten Flusses fehlen.

**Wiederverwenden von Rollen über Identitäten-Pools hinweg**  
Wenn Sie eine Rolle übergreifend für mehrere Identitätspools verwenden möchten, da sie einen gemeinsamen Berechtigungssatz haben, können Sie die Identitätspools wie folgt hinzufügen:

```
"StringEquals": {
    "cognito-identity.amazonaws.com:aud": [
        "us-east-1:12345678-abcd-abcd-abcd-123456790ab",
        "us-east-1:98765432-dcba-dcba-dcba-123456790ab"
    ]
}
```

**Einschränken des Zugriffs auf bestimmte Identitäten**  
Erstellen Sie eine Richtlinie, die nur für eine bestimmte Gruppe von App-Benutzern gilt, indem Sie den Wert von prüfen `cognito-identity.amazonaws.com:sub`:

```
"StringEquals": {
    "cognito-identity.amazonaws.com:aud": "us-east-1:12345678-abcd-abcd-abcd-123456790ab",
    "cognito-identity.amazonaws.com:sub": [
        "us-east-1:12345678-1234-1234-1234-123456790ab",
        "us-east-1:98765432-1234-1234-1243-123456790ab"
    ]
}
```

**Einschränken des Zugriffs auf bestimmte Anbieter**  
Erstellen Sie eine Richtlinie nur für die Benutzer, die sich über einen bestimmten Anbieter angemeldet haben (eventuell Ihr eigener Anmeldeanbieter), indem Sie den Wert für überprüfen `cognito-identity.amazonaws.com:amr`:

```
"ForAnyValue:StringLike": {
    "cognito-identity.amazonaws.com:amr": "login.myprovider.myapp"
}
```

Zum Beispiel hat eine App, die nur Facebook vertraut, die folgende AMR-Klausel:

```
"ForAnyValue:StringLike": {
    "cognito-identity.amazonaws.com:amr": "graph.facebook.com"
}
```

## Zugriffsrichtlinien
<a name="access-policies"></a>

Die Berechtigungen, die Sie einer Rolle zuweisen, gelten für alle Benutzer, die diese Rolle übernehmen. Um den Zugriff Ihrer Benutzer aufzuteilen, verwenden Sie Richtlinienbedingungen und Variablen. Weitere Informationen finden Sie unter [IAM-Richtlinienelemente: Variablen und Tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html). Sie können die `sub` Bedingung verwenden, um Aktionen IDs in Ihren Zugriffsrichtlinien auf die Amazon Cognito Cognito-Identität zu beschränken. Verwenden Sie diese Option mit Vorsicht, insbesondere für nicht authentifizierte Identitäten ohne konsistente Benutzer-ID. *Weitere Informationen zu den IAM-Richtlinienvariablen für den Webverbund mit Amazon Cognito finden Sie unter [IAM- und AWS STS Bedingungskontextschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#condition-keys-wif) im AWS Identity and Access Management Benutzerhandbuch.*

Um zusätzliche Sicherheit zu bieten, wendet Amazon Cognito eine Eingrenzungsrichtlinie auf Anmeldeinformationen an, die Sie Ihren nicht authentifizierten Benutzern im [erweiterten Authentifizierungsablauf](https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html) unter Verwendung von `GetCredentialsForIdentity` zuweisen. Die Eingrenzungsrichtlinie fügt den IAM-Richtlinien, die Sie auf Ihre nicht authentifizierte Rolle anwenden, eine [Eingebundene Sitzungsrichtlinie](#access-policies-inline-policy) und einen [AWS Richtlinie für verwaltete Sitzungen](#access-policies-managed-policy) hinzu. Da Sie sowohl in den IAM-Richtlinien für Ihre Rolle als auch in den Sitzungsrichtlinien Zugriff gewähren müssen, beschränkt die Eingrenzungsrichtlinie den Zugriff der Benutzer auf nicht in der folgenden Liste aufgeführte Services.

**Anmerkung**  
Beim einfachen (klassischen) Ablauf stellen Sie Ihre eigene API-Anforderung [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) und können diese Einschränkungen auf die Anforderung anwenden. Laut einer bewährten Sicherheitsmethode sollten Sie nicht authentifizierten Benutzern keine über diese Eingrenzungsrichtlinie hinausgehenden Berechtigungen zuweisen.

Amazon Cognito verhindert außerdem, dass authentifizierte und nicht authentifizierte Benutzer API-Anforderungen an Amazon-Cognito-Identitätspools und Amazon Cognito Sync stellen. Andere AWS-Services könnten den Zugriff auf Dienste über Web-Identitäten einschränken.

Bei einer erfolgreichen Anforderung mit dem erweiterten Authentifizierungsablauf stellt Amazon Cognito im Hintergrund eine API-Anforderung `AssumeRoleWithWebIdentity`. In den Parametern in dieser Anforderung schließt Amazon Cognito Folgendes ein.

1. Die Identitäts-ID Ihres Benutzers.

1. Den ARN der IAM-Rolle, die Ihr Benutzer übernehmen möchte.

1. Einen Parameter `policy`, der eine *eingebundene Sitzungsrichtlinie* hinzufügt.

1. Ein `PolicyArns.member.N` Parameter, dessen Wert eine *AWS verwaltete Richtlinie* ist, die zusätzliche Berechtigungen in Amazon gewährt CloudWatch.

### Services, auf die nicht authentifizierte Benutzer zugreifen können
<a name="access-policies-scope-down-services"></a>

Wenn Sie den erweiterten Ablauf verwenden, verhindern die Scope-down-Richtlinien, die Amazon Cognito auf die Sitzung Ihres Benutzers anwendet, dass dieser andere als die in der folgenden Tabelle aufgeführten Services nutzt. Für einen Teil der Services sind nur bestimmte Aktionen zulässig.


| Kategorie | Service | 
| --- | --- | 
|  Analysen  |  Amazon Data Firehose Amazon Managed Service für Apache Flink  | 
|  Anwendungsintegration  |  Amazon Simple Queue Service  | 
| AR und VR |  Amazon Sumerian¹  | 
| Geschäftsanwendungen |  Amazon Mobile Analytics Amazon Simple Email Service  | 
| Datenverarbeitung |  AWS Lambda  | 
| Kryptografie und PKI |  AWS Key Management Service¹  | 
| Datenbank |  Amazon DynamoDB Amazon SimpleDB  | 
| Front-End Web und Mobil |  AWS AppSync Amazon Location Service Amazon Simple Notification Service Amazon Pinpoint Amazon Location Service  | 
| Entwicklung von Spielen |   GameLift Amazon-Server  | 
| Internet of Things (IoT) |  AWS IoT  | 
| Maschinelles Lernen |  Amazon CodeWhisperer Amazon Comprehend Amazon Lex Amazon Machine Learning Amazon Personalize Amazon Polly Amazon Rekognition Amazon SageMaker KI¹ Amazon Textract¹ Amazon Transcribe Amazon Translate  | 
| Management und Governance |  Amazon CloudWatch  CloudWatch Amazon-Protokolle  | 
| Netzwerk und Bereitstellung von Inhalten |  Amazon API Gateway  | 
| Sicherheit, Identität und Compliance |  Amazon-Cognito-Benutzerpools  | 
| Speicher |  Amazon Simple Storage Service  | 

¹ Für die AWS-Services in der folgenden Tabelle aufgeführten Fälle gewährt die Inline-Richtlinie eine Teilmenge von Aktionen. In der Tabelle werden die jeweils verfügbaren Aktionen angezeigt.


| AWS-Service | Maximale Berechtigungen für nicht authentifizierte Benutzer mit erweitertem Authentifizierungsablauf | 
| --- | --- | 
| AWS Key Management Service |  `Encrypt` `Decrypt` `ReEncryptTo` `ReEncryptFrom` `GenerateDataKey` `GenerateDataKeyPair` `GenerateDataKeyPair` `GenerateDataKeyPairWithoutPlaintext` `GenerateDataKeyWithoutPlaintext`  | 
| Amazon SageMaker KI |  `InvokeEndpoint`  | 
| Amazon Textract |  `DetectDocumentText` `AnalyzeDocument`  | 
| Amazon Sumerian |  `View*`  | 
| Amazon Location Service |  `SearchPlaceIndex*` `GetPlace` `CalculateRoute*` `*Geofence` `*Geofences` `*DevicePosition*`  | 

Um Zugriff zu gewähren, der AWS-Services über diese Liste hinausgeht, aktivieren Sie den **grundlegenden (klassischen) Authentifizierungsablauf** in Ihrem Identitätspool. Wenn Ihre Benutzer `NotAuthorizedException` Fehler sehen AWS-Services , die aufgrund der Richtlinien, die der IAM-Rolle für nicht authentifizierte Benutzer zugewiesen sind, zulässig sind, prüfen Sie, ob Sie diesen Dienst aus Ihrem Anwendungsfall entfernen können. Wenn dies nicht möglich ist, wechseln Sie zum Basisablauf.

### Die Inline-Sitzungsrichtlinie für Gastbenutzer
<a name="access-policies-inline-policy"></a>

Amazon Cognito wendet zunächst eine Inline-Richtlinie in der Anforderung von IAM-Anmeldeinformationen an. Die eingebundene Sitzungsrichtlinie beschränkt die effektiven Berechtigungen Ihres Benutzers auf die AWS-Services in der folgenden Liste. Sie müssen diesen auch AWS-Services in den Richtlinien, die Sie für die IAM-Rolle des Benutzers anwenden, Berechtigungen erteilen. Die effektiven Berechtigungen eines Benutzers für eine Sitzung mit übernommener Rolle entsprechen der Schnittmenge der seiner Rolle zugewiesenen Richtlinien und seiner Sitzungsrichtlinie. Weitere Informationen finden Sie unter [Sitzungsrichtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) im *Benutzerhandbuch zu AWS Identity and Access Management *.

Amazon Cognito fügt die folgende Inline-Richtlinie zu Sitzungen für Ihre Benutzer in  AWS-Regionen  hinzu, die standardmäßig aktiviert sind. Einen Überblick über die Gesamtwirkung der Inline-Richtlinie und anderer Sitzungsrichtlinien finden Sie unter[Services, auf die nicht authentifizierte Benutzer zugreifen können](#access-policies-scope-down-services).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:*",
                "logs:*",
                "dynamodb:*",
                "kinesis:*",
                "mobileanalytics:*",
                "s3:*",
                "ses:*",
                "sns:*",
                "sqs:*",
                "lambda:*",
                "machinelearning:*",
                "execute-api:*",
                "iot:*",
                "gamelift:*",
                "cognito-identity:*",
                "cognito-idp:*",
                "lex:*",
                "polly:*",
                "comprehend:*",
                "translate:*",
                "transcribe:*",
                "rekognition:*",
                "mobiletargeting:*",
                "firehose:*",
                "appsync:*",
                "personalize:*",
                "sagemaker:InvokeEndpoint",
                "cognito-sync:*",
                "codewhisperer:*",
                "textract:DetectDocumentText",
                "textract:AnalyzeDocument",
                "sdb:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Für alle anderen Regionen umfasst die Inline-Scope-down-Richtlinie alles, was in den Standardregionen aufgeführt ist, mit Ausnahme der folgenden `Action`-Anweisungen.

```
                "cognito-sync:*",
                "sumerian:View*",
                "codewhisperer:*",
                "textract:DetectDocumentText",
                "textract:AnalyzeDocument",
                "sdb:*"
```

### Die Richtlinie für AWS verwaltete Sitzungen für Gäste
<a name="access-policies-managed-policy"></a>

Amazon Cognito wendet auch eine AWS verwaltete Richtlinie als Sitzungsrichtlinie auf Enhanced-Flow-Sitzungen von nicht authentifizierten Gästen an. Diese Richtlinie schränkt den Umfang der Berechtigungen nicht authentifizierter Benutzer mit der Richtlinie ein. `AmazonCognitoUnAuthedIdentitiesSessionPolicy`

Sie müssen diese Berechtigung auch in den Richtlinien gewähren, die Sie Ihrer nicht authentifizierten IAM-Rolle zuordnen. Die effektiven Berechtigungen eines Benutzers für eine Sitzung mit angenommener Rolle ergeben sich aus der Schnittmenge der seiner Rolle zugewiesenen IAM-Richtlinien und der Sitzungsrichtlinien. Weitere Informationen finden Sie unter [Sitzungsrichtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) im *Benutzerhandbuch zu AWS Identity and Access Management *.

Einen Überblick über die Gesamtwirkung dieser AWS verwalteten Richtlinie und anderer Sitzungsrichtlinien finden Sie unter. [Services, auf die nicht authentifizierte Benutzer zugreifen können](#access-policies-scope-down-services)

Die verwaltete `AmazonCognitoUnAuthedIdentitiesSessionPolicy`-Richtlinie enthält die folgenden Berechtigungen.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "rum:PutRumEvents",
            "polly:*",
            "comprehend:*",
            "translate:*",
            "transcribe:*",
            "rekognition:*",
            "mobiletargeting:*",
            "firehose:*",
            "personalize:*",
            "sagemaker:InvokeEndpoint",
            "geo:GetMap*",
            "geo:SearchPlaceIndex*",
            "geo:GetPlace",
            "geo:CalculateRoute*",
            "geo:*Geofence",
            "geo:*Geofences",
            "geo:*DevicePosition*",
            "kms:Encrypt",
            "kms:Decrypt",
            "kms:ReEncryptTo",
            "kms:ReEncryptFrom",
            "kms:GenerateDataKey",
            "kms:GenerateDataKeyPair",
            "kms:GenerateDataKeyPairWithoutPlaintext",
            "kms:GenerateDataKeyWithoutPlaintext"
        ],
        "Resource": "*"
    }]
}
```

------

### Beispiele für Zugriffsrichtlinien
<a name="access-policy-examples"></a>

In diesem Abschnitt finden Sie Beispiele für Amazon-Cognito-Zugriffsrichtlinien, die Ihren Benutzern nur die grundlegenden Berechtigungen gewähren, die zum Ausführen einer bestimmten Operation erforderlich sind. Sie können die Berechtigungen für eine bestimmte Identitäts-ID weiter einschränken, indem Sie nach Möglichkeit Richtlinienvariablen verwenden. Beispiel: Verwenden Sie \$1\$1cognito-identity.amazonaws.com:sub\$1. Weitere Informationen finden Sie unter [Grundlegendes zur Amazon-Cognito-Authentifizierung, Teil 3: Rollen und Richtlinien](https://aws.amazon.com/blogs/mobile/understanding-amazon-cognito-authentication-part-3-roles-and-policies/) im *AWS -Mobile-Blog*.

**Anmerkung**  
Als bewährte Sicherheitsmethode sollten Richtlinien nur die Berechtigungen enthalten, die Benutzer zum Ausführen ihrer Aufgaben benötigen. Das bedeutet, dass Sie versuchen sollten, den Zugriff nach Möglichkeit immer auf eine einzelne Identität für Objekte zu beschränken.

**Einer Identität Lesezugriff auf ein einzelnes Objekt in Amazon S3 gewähren**  
Die folgende Zugriffsrichtlinie erteilt einer Identität Leseberechtigungen für den Abruf eines einzigen Objekts aus einem bestimmten S3-Bucket.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket/assets/my_picture.jpg"]
    }
  ]
}
```

------

**Einer Identität sowohl Lese- als auch Schreibzugriff auf identitätsspezifische Pfade in Amazon S3 gewähren**  
Die folgende Zugriffsrichtlinie gewährt Lese- und Schreibberechtigungen für den Zugriff auf ein bestimmtes Präfix "folder" in einem S3-Bucket, indem das Präfix der Variablen zugeordnet wird.

Mit dieser Richtlinie kann eine über `us-east-1:12345678-1234-1234-1234-123456790ab` eingefügte Identität wie `${cognito-identity.amazonaws.com:sub}` Objekte in `arn:aws:s3:::amzn-s3-demo-bucket/us-east-1:12345678-1234-1234-1234-123456790ab` abrufen, ablegen und auflisten. Allerdings wird der Identität kein Zugriff auf andere Objekte in gewährt `arn:aws:s3:::amzn-s3-demo-bucket`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": ["s3:ListBucket"],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket"],
      "Condition": {"StringLike": {"s3:prefix": ["${cognito-identity.amazonaws.com:sub}/*"]}}
    },
    {
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket/${cognito-identity.amazonaws.com:sub}/*"]
    }
  ]
}
```

------

Ein ähnliches Zugriffsmodell wird mit [Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html) erreicht.

**Zuweisen des differenzierten Zugriffs von Identitäten auf Amazon DynamoDB**  
Die folgende Zugriffsrichtlinie bietet eine differenzierte Zugriffskontrolle auf DynamoDB-Ressourcen mithilfe von Amazon Cognito-Umgebungsvariablen. Diese Variablen erteilen Zugriff auf Elemente in DynamoDB anhand der Identitäts-ID. Weitere Informationen finden Sie unter [Verwenden von IAM-Richtlinienbedingungen für die differenzierte Zugriffskontrolle](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/specifying-conditions.html) im *Entwicklerhandbuch für Amazon DynamoDB *.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:GetItem",
        "dynamodb:BatchGetItem",
        "dynamodb:Query",
        "dynamodb:PutItem",
        "dynamodb:UpdateItem",
        "dynamodb:DeleteItem",
        "dynamodb:BatchWriteItem"
      ],
      "Resource": [
        "arn:aws:dynamodb:us-west-2:123456789012:table/MyTable"
      ],
      "Condition": {
        "ForAllValues:StringEquals": {
          "dynamodb:LeadingKeys":  ["${cognito-identity.amazonaws.com:sub}"]
        }
      }
    }
  ]
}
```

------

**Einer Identität die Berechtigung zum Aufrufen einer Lambda-Funktion zuweisen**  
Die folgende Zugriffsrichtlinie erteilt einer Identität Berechtigungen zum Aufrufen einer Lambda-Funktion.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
         { 
             "Effect": "Allow",
             "Action": "lambda:InvokeFunction",
             "Resource": [
                 "arn:aws:lambda:us-west-2:123456789012:function:MyFunction"
             ]
         }
     ]
 }
```

------

**Einer Identität die Berechtigung zur Veröffentlichung von Kinesis-Daten-Streams zuweisen**  
Die folgende Zugriffsrichtlinie erlaubt es einer Identität, die Operation `PutRecord` bei einem beliebigen Kinesis Data Stream einzusetzen. Sie kann auf Benutzer angewendet werden, die Datensätze zu allen Streams in einem Konto hinzufügen müssen. Weitere Informationen finden Sie unter [Steuern des Zugriffs auf Amazon Kinesis Data Streams-Ressourcen mithilfe von IAM](https://docs.aws.amazon.com/streams/latest/dev/controlling-access.html) im *Amazon Kinesis Data Streams-Entwicklerleitfaden*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "kinesis:PutRecord",
            "Resource": [
                "arn:aws:kinesis:us-east-1:111122223333:stream/stream1"
            ]
        }
    ]
}
```

------

**Einer Identität Zugriff auf ihre Daten im Amazon-Cognito-Sync-Speicher zuweisen**  
Die folgende Zugriffsrichtlinie erteilt einer Identität nur Berechtigungen auf ihre eigenen Daten im Amazon-Cognito-Sync-Speicher.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[{
      "Effect":"Allow",
      "Action":"cognito-sync:*",
      "Resource":["arn:aws:cognito-sync:us-east-1:123456789012:identitypool/${cognito-identity.amazonaws.com:aud}/identity/${cognito-identity.amazonaws.com:sub}/*"]
      }]
  }
```

------

## Vertrauensstellungen und Berechtigungen für Rollen
<a name="role-trust-and-permissions"></a>

Diese Rollen unterscheiden sich in ihren Vertrauensstellungen. Im folgenden Beispiel wird eine Vertrauensrichtlinie für eine nicht authentifizierte Rolle dargestellt:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Federated": "cognito-identity.amazonaws.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "cognito-identity.amazonaws.com:aud": "us-east-1:12345678-corner-cafe-123456790ab"
        },
        "ForAnyValue:StringLike": {
          "cognito-identity.amazonaws.com:amr": "unauthenticated"
        }
      }
    }
  ]
}
```

------

Die Richtlinie erteilt Verbundbenutzer aus `cognito-identity.amazonaws.com` (Aussteller des OpenID Connect-Tokens) die Berechtigung, diese Rolle zu übernehmen. Darüber hinaus schränkt die Richtlinie den `aud`-Anspruch des Tokens (in diesem Fall die Identitäten-Pool-ID) dahingehend ein, dass er mit dem Identitäten-Pool übereinstimmen muss. Schließlich gibt die Richtlinie an, dass eines der Array-Mitglieder des mehrwertigen `amr`-Anspruchs des Tokens, das von der Amazon Cognito `GetOpenIdToken`-API-Operation ausgegeben wird, den Wert `unauthenticated` hat.

Wenn Amazon Cognito ein Token erstellt, wird die `amr` des Tokens entweder als `unauthenticated` oder `authenticated` festgelegt. Wenn `amr` `authenticated` ist, enthält das Token alle Anbieter, die während der Authentifizierung verwendet werden. Das bedeutet, dass Sie eine Rolle erstellen können, die nur Benutzern vertraut, die sich über Facebook angemeldet haben, indem Sie wie folgt die `amr`-Bedingung ändern:

```
"ForAnyValue:StringLike": {
  "cognito-identity.amazonaws.com:amr": "graph.facebook.com"
}
```

Gehen Sie bei der Änderung von Vertrauensstellungen für Ihre Rollen oder der übergreifenden Verwendung von Rollen für mehrere Identitätspools sorgfältig vor. Wenn Sie Ihre Rolle nicht korrekt konfigurieren, damit sie dem Identitätspool korrekt vertraut, wird Ihnen eine STS-Ausnahme wie die Folgende angezeigt:

```
AccessDenied -- Not authorized to perform sts:AssumeRoleWithWebIdentity
```

Wenn Sie diese Nachricht sehen, überprüfen Sie noch einmal, ob Sie die richtige Rolle für den Identitätspool und die Authentifizierungsart verwenden.