

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.

# Konfiguration der Amazon Cognito Cognito-Authentifizierung für Dashboards OpenSearch
<a name="cognito-auth"></a>

Sie können Ihre Amazon OpenSearch Service-Standardinstallation von OpenSearch Dashboards mit [Amazon](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html) Cognito authentifizieren und schützen. Die Amazon Cognito Cognito-Authentifizierung ist optional und nur für Domains OpenSearch verfügbar, die Elasticsearch 5.1 oder höher verwenden. Wenn Sie die Amazon-Cognito-Authentifizierung nicht konfigurieren, können Sie Dashboards dennoch mit einer [IP-basierten Zugriffsrichtlinie](ac.md#ac-types-ip) und einem [Proxy-Server](dashboards.md#dashboards-proxy), HTTP-Basisauthentifizierung oder [SAML](saml.md) schützen.

Ein Großteil des Authentifizierungsprozesses findet in Amazon Cognito statt, aber dieser Abschnitt enthält Richtlinien und Anforderungen für die Konfiguration von Amazon Cognito Cognito-Ressourcen für die Verwendung mit OpenSearch Service-Domains. Die [Standardpreise](https://aws.amazon.com/cognito/pricing/) gelten für alle Amazon-Cognito-Ressourcen.

**Tipp**  
Wenn Sie eine Domain zum ersten Mal für die Verwendung der Amazon Cognito Cognito-Authentifizierung für OpenSearch Dashboards konfigurieren, empfehlen wir die Verwendung der Konsole. Amazon-Cognito-Ressourcen sind extrem anpassbar und mithilfe der Konsole können Sie die für Sie wichtigen Funktionen besser identifizieren und verstehen.

**Topics**
+ [Voraussetzungen](#cognito-auth-prereq)
+ [Konfigurieren einer Domain zur Verwendung der Amazon-Cognito-Authentifizierung](#cognito-auth-config)
+ [Zulassen der authentifizierten Rolle](#cognito-auth-config-ac)
+ [Konfigurieren von Identitätsanbietern](#cognito-auth-identity-providers)
+ [(Optional) Konfigurieren von individuell festgelegtem Zugriff](#cognito-auth-granular)
+ [(Optional) Anpassen der Anmeldeseite](#cognito-auth-customize)
+ [(Optional) Konfiguration der erweiterten Sicherheit](#cognito-auth-advanced)
+ [Testen](#cognito-auth-testing)
+ [Kontingente](#cognito-auth-limits)
+ [Häufige Konfigurationsprobleme](#cognito-auth-troubleshooting)
+ [Amazon Cognito Cognito-Authentifizierung für Dashboards deaktivieren OpenSearch](#cognito-auth-disable)
+ [Löschen von Domains, die die Amazon Cognito Cognito-Authentifizierung für OpenSearch Dashboards verwenden](#cognito-auth-delete)

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

Bevor Sie die Amazon Cognito Cognito-Authentifizierung für OpenSearch Dashboards konfigurieren können, müssen Sie mehrere Voraussetzungen erfüllen. Die OpenSearch Servicekonsole hilft dabei, die Erstellung dieser Ressourcen zu optimieren, aber das Verständnis des Zwecks der einzelnen Ressourcen hilft bei der Konfiguration und Fehlerbehebung. Für die Amazon-Cognito-Authentifizierung für Dashboards sind die folgenden Ressourcen erforderlich:
+ Amazon Cognito [Benutzerpool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html)
+ Amazon Cognito [Identitätenpool](https://docs.aws.amazon.com/cognito/latest/developerguide/identity-pools.html)
+ IAM-Rolle, der die `AmazonOpenSearchServiceCognitoAccess`-Richtlinie zugewiesen ist (`CognitoAccessForAmazonOpenSearch`)

**Anmerkung**  
Der Benutzer- und der Identitätenpool müssen sich in derselben AWS-Region befinden. Sie können denselben Benutzerpool, Identitätspool und dieselbe IAM-Rolle verwenden, um die Amazon Cognito Cognito-Authentifizierung für Dashboards zu mehreren OpenSearch Service-Domains hinzuzufügen. Weitere Informationen hierzu finden Sie unter [Kontingente](#cognito-auth-limits).

### Über den Benutzerpool
<a name="cognito-auth-prereq-up"></a>

Benutzerpools haben zwei Hauptfunktionen: das Erstellen und Verwalten von Benutzerverzeichnissen und die Benutzerregistrierung und -anmeldung. Anweisungen zum Erstellen eines Benutzerpools finden Sie unter [Erste Schritte mit Benutzerpools](https://docs.aws.amazon.com/cognito/latest/developerguide/getting-started-user-pools.html) im *Amazon Cognito Developer Guide*.

Beachten Sie Folgendes, wenn Sie einen Benutzerpool für die Verwendung mit OpenSearch Service erstellen:
+ Ihr Amazon Cognito Cognito-Benutzerpool muss einen [Domainnamen](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-domain.html) haben. OpenSearch Der Service verwendet diesen Domainnamen, um Benutzer auf eine Anmeldeseite für den Zugriff auf Dashboards weiterzuleiten. Anders als für einen Domain-Namen kann für den Benutzerpool eine Standardkonfiguration verwendet werden.
+ Sie müssen die für den Pool erforderlichen [Standardattribute angeben](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) – Attribute wie Name, Geburtsdatum, E-Mail-Adresse und Telefonnummer. Sie können diese Attribute nach dem Erstellen des Benutzerpools nicht mehr ändern. Wählen Sie daher diejenigen Attribute aus, die für Sie zum Zeitpunkt der Erstellung am relevantesten sind.
+ Legen Sie beim Erstellen des Benutzerpools fest, ob Benutzer eigene Konten erstellen können, wie sicher Passwörter für Konten sein müssen und ob Multifaktor-Authentifizierung aktiviert werden soll. Wenn Sie vorhaben, einen [externen Identitätsanbieter](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation.html) zu verwenden, sind diese Einstellungen nicht relevant. Theoretisch können Sie den Benutzerpool als Identitätsanbieter aktivieren *und* einen externen Identitätsanbieter aktivieren. Die meisten Personen ziehen jedoch eine Methode vor.

Der Benutzerpool IDs hat die Form von. `{{region}}_{{ID}}` Wenn Sie beabsichtigen, die AWS CLI oder ein AWS SDK zur Konfiguration des OpenSearch Dienstes zu verwenden, notieren Sie sich die ID.

### Über den Identitätenpool
<a name="cognito-auth-prereq-ip"></a>

Mit Identitäten-Pools können Sie Benutzern nach der Anmeldung temporäre Rollen mit beschränkten Berechtigungen zuweisen. Anweisungen zum Erstellen eines Identitätspools finden Sie unter [Übersicht über die Identity-Pools-Konsole](https://docs.aws.amazon.com/cognito/latest/developerguide/identity-pools.html) im *Amazon Cognito Developer Guide*. Beachten Sie beim Erstellen eines Identitätspools zur Verwendung mit OpenSearch Service Folgendes: 
+ Wenn Sie die Amazon-Cognito-Konsole verwenden, müssen Sie das Kontrollkästchen **Zugriff für nicht authentifizierte Identitäten aktivieren** aktivieren, um den Identitätenpool zu erstellen. Nachdem Sie den Identitätspool erstellt und die OpenSearch Service-Domain konfiguriert haben, deaktiviert Amazon Cognito diese Einstellung.
+ Sie müssen keine [externen Identitätsanbieter](https://docs.aws.amazon.com/cognito/latest/developerguide/external-identity-providers.html) zu dem Identitäten-Pool hinzufügen. Wenn Sie OpenSearch Service für die Verwendung der Amazon Cognito Cognito-Authentifizierung konfigurieren, konfiguriert er den Identitätspool so, dass er den Benutzerpool verwendet, den Sie gerade erstellt haben.
+ Nachdem Sie den Identitäten-Pool erstellt haben, müssen Sie unauthentifizierte und authentifizierte IAM-Rollen auswählen. Diese Rollen legen die Zugriffsrichtlinien fest, die Benutzer vor und nach der Anmeldung haben. Wenn Sie die Amazon-Cognito-Konsole verwenden, kann diese die Rollen für Sie erstellen. Nachdem Sie die authentifizierte Rolle erstellt haben, notieren Sie sich deren ARN. Dieser hat die Form `arn:aws:iam::{{123456789012}}:role/Cognito_{{identitypoolname}}Auth_Role`.

Der Identitätspool IDs hat die Form von. `{{region}}:{{ID}}-{{ID}}-{{ID}}-{{ID}}-{{ID}}` Wenn Sie beabsichtigen, die AWS CLI oder ein AWS SDK zur Konfiguration des OpenSearch Dienstes zu verwenden, notieren Sie sich die ID.

### Über die CognitoAccessForAmazonOpenSearch Rolle
<a name="cognito-auth-role"></a>

OpenSearch Der Service benötigt Berechtigungen, um die Benutzer- und Identitätspools von Amazon Cognito zu konfigurieren und für die Authentifizierung zu verwenden. Zu diesem Zweck `AmazonOpenSearchServiceCognitoAccess` können Sie eine AWS verwaltete Richtlinie verwenden. `AmazonESCognitoAccess`ist eine ältere Richtlinie, die durch `AmazonOpenSearchServiceCognitoAccess` die Umbenennung des Dienstes in Amazon OpenSearch Service ersetzt wurde. Beide Richtlinien bieten die Mindestberechtigungen für Amazon Cognito, die zur Aktivierung der Amazon Cognito Cognito-Authentifizierung erforderlich sind. Einzelheiten zu den Richtlinien finden Sie [AmazonOpenSearchServiceCognitoAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonOpenSearchServiceCognitoAccess.html)im *Referenzhandbuch für AWS verwaltete Richtlinien.*

Wenn Sie die Konsole verwenden, um Ihre OpenSearch Service-Domain zu erstellen oder zu konfigurieren, erstellt sie eine IAM-Rolle für Sie und hängt die `AmazonOpenSearchServiceCognitoAccess` Richtlinie (oder die `AmazonESCognitoAccess` Richtlinie, wenn es sich um eine Elasticsearch-Domain handelt) an die Rolle an. Der Standardname der Rolle lautet `CognitoAccessForAmazonOpenSearch`.

`AmazonOpenSearchServiceCognitoAccess`Sowohl die Richtlinien für Rollenberechtigungen `AmazonESCognitoAccess` als auch beide ermöglichen es OpenSearch Service, die folgenden Aktionen für alle Identitäts- und Benutzerpools durchzuführen:
+ Aktion: `cognito-idp:DescribeUserPool`
+ Aktion: `cognito-idp:CreateUserPoolClient`
+ Aktion: `cognito-idp:DeleteUserPoolClient`
+ Aktion: `cognito-idp:UpdateUserPoolClient`
+ Aktion: `cognito-idp:DescribeUserPoolClient`
+ Aktion: `cognito-idp:AdminInitiateAuth`
+ Aktion: `cognito-idp:AdminUserGlobalSignOut`
+ Aktion: `cognito-idp:ListUserPoolClients`
+ Aktion: `cognito-identity:DescribeIdentityPool`
+ Aktion: `cognito-identity:SetIdentityPoolRoles`
+ Aktion: `cognito-identity:GetIdentityPoolRoles`

Wenn Sie die AWS CLI oder eine der beiden verwenden AWS SDKs, müssen Sie Ihre eigene Rolle erstellen, die Richtlinie anhängen und den ARN für diese Rolle angeben, wenn Sie Ihre OpenSearch Service-Domain konfigurieren. Die Rolle muss über die folgende Vertrauensstellung verfügen:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "opensearchservice.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Anweisungen finden [Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen für einen AWS Dienst](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) und [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) im *IAM-Benutzerhandbuch*.

## Konfigurieren einer Domain zur Verwendung der Amazon-Cognito-Authentifizierung
<a name="cognito-auth-config"></a>

Nachdem Sie die Voraussetzungen erfüllt haben, können Sie eine OpenSearch Service-Domain für die Verwendung von Amazon Cognito for Dashboards konfigurieren.

**Anmerkung**  
Amazon Cognito ist nicht in allen AWS-Regionen verfügbar. Eine Liste der unterstützten Regionen finden Sie unter [Service-Endpunkte](https://docs.aws.amazon.com/general/latest/gr/cognito_identity.html#cognito_identity_region) für Amazon Cognito. Sie müssen nicht dieselbe Region für Amazon Cognito verwenden, die Sie für OpenSearch Service verwenden.

### Konfigurieren der Amazon-Cognito-Authentifizierung (Konsole)
<a name="cognito-auth-config-console"></a>

Da sie die `CognitoAccessForAmazonOpenSearch` Rolle für Sie erstellt, bietet die Konsole die einfachste Konfigurationserfahrung. Zusätzlich zu den standardmäßigen OpenSearch Serviceberechtigungen benötigen Sie die folgenden Berechtigungen, um mit der Konsole eine Domain zu erstellen, die die Amazon Cognito Cognito-Authentifizierung für OpenSearch Dashboards verwendet.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeVpcs",
        "cognito-identity:ListIdentityPools",
        "cognito-idp:ListUserPools",
        "iam:CreateRole",
        "iam:AttachRolePolicy"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:GetRole",
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::{{123456789012}}:role/service-role/{{CognitoAccessForAmazonOpenSearch}}"
    }
  ]
}
```

------

Anweisungen zum Hinzufügen von Berechtigungen zu einer Identität (Benutzer, Gruppe oder Rolle) finden Sie unter [Hinzufügen von IAM-Identitätsberechtigungen (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console).

Wenn `CognitoAccessForAmazonOpenSearch` bereits vorhanden ist, benötigen Sie weniger Berechtigungen:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeVpcs",
        "cognito-identity:ListIdentityPools",
        "cognito-idp:ListUserPools"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:GetRole",
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::{{123456789012}}:role/service-role/{{CognitoAccessForAmazonOpenSearch}}"
    }
  ]
}
```

------

**So konfigurieren Sie die Amazon-Cognito-Authentifizierung für Dashboards (Konsole)**

1. Öffnen Sie die Amazon OpenSearch Service-Konsole zu [https://console.aws.amazon.com/aos/Hause/](https://console.aws.amazon.com/aos/home/).

1. Wählen Sie unter **Domains** die Domain aus, die Sie konfigurieren möchten.

1. Klicken Sie auf **Aktionen**, **Sicherheitskonfiguration bearbeiten**.

1. Wählen Sie **Amazon-Cognito-Authentifizierung aktivieren** aus.

1. Wählen Sie für **Region** die aus, AWS-Region die Ihren Amazon Cognito Cognito-Benutzerpool und Identitätspool enthält.

1. Wählen Sie für **Cognito User Pool (Cognito-Benutzerpool)** einen Benutzerpool aus oder erstellen Sie einen Benutzerpool. Weitere Informationen finden Sie unter [Über den Benutzerpool](#cognito-auth-prereq-up).

1. Wählen Sie für **Cognito Identity Pool (Cognito-Identitäten-Pool)** einen Identitäten-Pool aus oder erstellen Sie einen Identitäten-Pool. Weitere Informationen finden Sie unter [Über den Identitätenpool](#cognito-auth-prereq-ip).
**Anmerkung**  
Über die Links **Benutzerpool erstellen** und **Identitätenpool erstellen** werden Sie zur Amazon-Cognito-Konsole geleitet und müssen diese Ressourcen dort manuell erstellen. Der Prozess erfolgt nicht automatisch. Weitere Informationen finden Sie unter [Voraussetzungen](#cognito-auth-prereq).

1. Verwenden Sie für **IAM-Rollenname** den Standardwert `CognitoAccessForAmazonOpenSearch` (empfohlen), oder geben Sie einen neuen Namen ein. Weitere Informationen finden Sie unter [Über die CognitoAccessForAmazonOpenSearch Rolle](#cognito-auth-role).

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

Nachdem Ihre Domain die Verarbeitung abgeschlossen hat, finden Sie unter [Zulassen der authentifizierten Rolle](#cognito-auth-config-ac) und [Konfigurieren von Identitätsanbietern](#cognito-auth-identity-providers) weitere Konfigurationsschritte.

### Konfigurieren der Amazon-Cognito-Authentifizierung (AWS CLI)
<a name="cognito-auth-config-cli"></a>

Verwenden Sie den `--cognito-options` Parameter, um Ihre OpenSearch Service-Domain zu konfigurieren. Die folgende Syntax wird von den `create-domain`- und `update-domain-config`-Befehlen verwendet:

```
--cognito-options Enabled=true,UserPoolId="{{user-pool-id}}",IdentityPoolId="{{identity-pool-id}}",RoleArn="{{arn:aws:iam::123456789012:role/CognitoAccessForAmazonOpenSearch}}"
```

**Beispiel**

Im folgenden Beispiel wird eine Domain in der Region `us-east-1` erstellt, die Amazon-Cognito-Authentifizierung für Dashboards mit der Rolle `CognitoAccessForAmazonOpenSearch` aktiviert und der Domain Zugriff auf `Cognito_Auth_Role` erlaubt:

```
aws opensearch create-domain --domain-name {{my-domain}} --region {{us-east-1}} --access-policies '{ "Version": "2012-10-17",		 	 	  "Statement":[{"Effect":"Allow","Principal":{"AWS": ["arn:aws:iam::{{123456789012}}:role/{{Cognito_Auth_Role}}"]},"Action":"es:ESHttp*","Resource":"arn:aws:es:{{us-east-1:123456789012}}:domain/*" }]}' --engine-version "OpenSearch_1.0" --cluster-config InstanceType=m4.xlarge.search,InstanceCount=1 --ebs-options EBSEnabled=true,VolumeSize=10 --cognito-options Enabled=true,UserPoolId="{{us-east-1_123456789}}",IdentityPoolId="{{us-east-1:12345678-1234-1234-1234-123456789012}}",RoleArn="arn:aws:iam::{{123456789012}}:role/{{CognitoAccessForAmazonOpenSearch}}"
```

Nachdem Ihre Domain die Verarbeitung abgeschlossen hat, finden Sie unter [Zulassen der authentifizierten Rolle](#cognito-auth-config-ac) und [Konfigurieren von Identitätsanbietern](#cognito-auth-identity-providers) weitere Konfigurationsschritte.

### Konfiguration der Amazon Cognito Cognito-Authentifizierung ()AWS SDKs
<a name="cognito-auth-config-sdk"></a>

Die AWS SDKs (außer Android und iOS SDKs) unterstützen alle Operationen, die in der [Amazon OpenSearch Service API-Referenz](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/Welcome.html) definiert sind, einschließlich des `CognitoOptions` Parameters für die `UpdateDomainConfig` Operationen `CreateDomain` und. Weitere Informationen zur Installation und Verwendung von finden Sie AWS SDKs unter [AWS Software Development Kits](https://aws.amazon.com/code).

Nachdem Ihre Domain die Verarbeitung abgeschlossen hat, finden Sie unter [Zulassen der authentifizierten Rolle](#cognito-auth-config-ac) und [Konfigurieren von Identitätsanbietern](#cognito-auth-identity-providers) weitere Konfigurationsschritte.

## Zulassen der authentifizierten Rolle
<a name="cognito-auth-config-ac"></a>

Standardmäßig verfügt die authentifizierte IAM-Rolle, die Sie gemäß den Richtlinien unter konfiguriert haben, [Über den Identitätenpool](#cognito-auth-prereq-ip) nicht über die erforderlichen Rechte für den Zugriff auf OpenSearch Dashboards. Sie müssen der Rolle zusätzliche Berechtigungen gewähren.

**Anmerkung**  
Wenn Sie eine [detaillierte Zugriffskontrolle konfiguriert haben und eine offene oder IP-basierte Zugriffsrichtlinie](fgac.md) verwenden, können Sie diesen Schritt überspringen.

Sie können diese Berechtigungen in eine [identitätsbasierte](ac.md#ac-types-identity) Richtlinie aufnehmen. Wenn Sie jedoch nicht möchten, dass authentifizierte Benutzer Zugriff auf alle OpenSearch Dienstdomänen haben, ist eine [ressourcenbasierte](ac.md#ac-types-resource) Richtlinie, die an eine einzelne Domäne angehängt ist, der bessere Ansatz.

Geben Sie für `Principal` den ARN der von Cognito authentifizierten Rolle an, die Sie mit den Richtlinien in [Über den Identitätenpool](#cognito-auth-prereq-ip) konfiguriert haben.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Principal":{
            "AWS":[
               "arn:aws:iam::{{111122223333}}:role/Cognito_{{identitypoolname}}/Auth_Role"
            ]
         },
         "Action":[
            "es:ESHttp*"
         ],
         "Resource":"arn:aws:es:{{us-east-1}}:{{111122223333}}:domain/{{domain-name}}/*"
      }
   ]
}
```

------

 Anweisungen zum Hinzufügen einer ressourcenbasierten Richtlinie zu einer Dienstdomäne finden Sie unter. OpenSearch [Konfigurieren von Zugriffsrichtlinien](createupdatedomains.md#createdomain-configure-access-policies)

## Konfigurieren von Identitätsanbietern
<a name="cognito-auth-identity-providers"></a>

Wenn Sie eine Domain für die Verwendung der Amazon Cognito Cognito-Authentifizierung für Dashboards konfigurieren, fügt OpenSearch Service dem Benutzerpool einen [App-Client](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-client-apps.html) hinzu und fügt den Benutzerpool dem Identitätspool als Authentifizierungsanbieter hinzu. 

**Warnung**  
Der App-Client darf nicht umbenannt oder gelöscht werden.

Je nachdem, wie Sie Ihren Benutzerpool konfiguriert haben, müssen Sie Benutzerkonten entweder manuell erstellen oder Benutzer können eigene Konten erstellen. Wenn Sie mit diesen Einstellungen zufrieden sind, müssen Sie nichts weiter unternehmen. Viele Anwender verwenden jedoch lieber externe Identitätsanbieter.

Um einen SAML 2.0-Identitätsanbieter zu aktivieren, müssen Sie ein SAML-Metadatendokument bereitstellen. Um soziale Identitätsanbieter wie Login with Amazon, Facebook und Google zu aktivieren, müssen Sie über eine App-ID und einen geheimen App-Schlüssel von diesen Anbietern verfügen. Sie können Identitätsanbieter in beliebigen Kombinationen aktivieren. 

Der einfachste Weg, Ihren Benutzerpool zu konfigurieren, erfolgt über die Amazon-Cognito-Konsole. Anweisungen finden Sie unter [Benutzerpool-Anmeldung mit externen Identitätsanbietern](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation.html) und [Anwendungsspezifische Einstellungen mit App-Client](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-idp-settings.html) im *Amazon Cognito* Developer Guide.

## (Optional) Konfigurieren von individuell festgelegtem Zugriff
<a name="cognito-auth-granular"></a>

Möglicherweise haben Sie bemerkt, dass die Standardeinstellungen für den Identitätspool jedem Benutzer, der sich anmeldet, dieselbe IAM-Rolle (`Cognito_{{identitypool}}Auth_Role`) zuweisen, was bedeutet, dass jeder Benutzer auf dieselben Ressourcen zugreifen kann. AWS Wenn Sie die [differenzierte Zugriffskontrolle](fgac.md) mit Amazon Cognito verwenden möchten – etwa weil Sie wollen, dass die Analysten Ihrer Organisation schreibgeschützt auf mehrere Indizes zugreifen, Entwickler aber Schreibzugriff auf alle Indizes haben sollen – haben Sie zwei Möglichkeiten:
+ Erstellen Sie Benutzergruppen, und konfigurieren Sie Ihren Identitätsanbieter so, dass die IAM-Rolle basierend auf dem Authentifizierungstoken des Benutzers ausgewählt wird (empfohlen).
+ Konfigurieren Sie Ihren Identitätsanbieter so, dass die IAM-Rolle basierend auf einer oder mehreren Regeln ausgewählt wird.

Ein Walkthrough, das die differenzierte Zugriffskontrolle enthält, finden Sie unter [Tutorial: Konfigurieren einer Domain mit einem IAM-Hauptbenutzer und Amazon-Cognito-Authentifizierung](fgac-iam.md).

**Wichtig**  
Genau wie die Standardrolle muss Amazon Cognito Teil der Vertrauensbeziehung jeder zusätzlichen Rolle sein. Einzelheiten finden Sie unter [Rollen für die Rollenzuweisung erstellen](https://docs.aws.amazon.com/cognito/latest/developerguide/role-based-access-control.html#creating-roles-for-role-mapping) im *Amazon Cognito Developer Guide*.

### Benutzergruppen und Token
<a name="cognito-auth-granular-tokens"></a>

Wenn Sie eine Benutzergruppe erstellen, wählen Sie eine IAM-Rolle für die Mitglieder dieser Gruppe aus. Informationen zum Erstellen von Gruppen finden Sie unter [Hinzufügen von Gruppen zu einem Benutzerpool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-user-groups.html) im *Amazon Cognito Developer Guide*.

Nachdem Sie mindestens eine Benutzergruppe erstellt haben, können Sie Ihren Authentifizierungsanbieter so konfigurieren, dass er Benutzern die Rollen ihrer jeweiligen Gruppe anstelle der Standardrolle des Identitäten-Pools zuweist. Wählen Sie **Rolle aus Token auswählen** aus, und wählen Sie dann entweder **Authentifizierte Standardrolle verwenden** oder **VERWEIGERN**, um anzugeben, wie der Identitätenpool Benutzer behandelt, die nicht Teil einer Gruppe sind.

### Regeln
<a name="cognito-auth-granular-rules"></a>

Regeln bestehen im Grunde genommen aus einer Reihe von `if`-Anweisungen, die Amazon Cognito der Reihe nach auswertet. Wenn die E-Mail-Adresse eines Benutzers beispielsweise `@corporate` enthält, weist Amazon Cognito dem Benutzer `Role_A` zu. Wenn die E-Mail-Adresse eines Benutzers `@subsidiary` enthält, wird dem Benutzer `Role_B` zugewiesen. Andernfalls wird dem Benutzer die Standardauthentifizierungsrolle zugewiesen.

Weitere Informationen finden Sie unter [Verwenden von regelbasierter Zuordnung zum Zuweisen von Rollen zu Benutzern](https://docs.aws.amazon.com/cognito/latest/developerguide/role-based-access-control.html#using-rules-to-assign-roles-to-users) im *Amazon Cognito* Developer Guide.

## (Optional) Anpassen der Anmeldeseite
<a name="cognito-auth-customize"></a>

Sie können die Amazon Cognito Cognito-Konsole verwenden, um ein benutzerdefiniertes Logo hochzuladen und CSS-Änderungen an der Anmeldeseite vorzunehmen. Anweisungen und eine vollständige Liste der CSS-Eigenschaften finden Sie unter [Customizing Hosted UI (classic) Branding](https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-ui-classic-branding.html) im *Amazon Cognito Developer Guide*.

## (Optional) Konfiguration der erweiterten Sicherheit
<a name="cognito-auth-advanced"></a>

Amazon-Cognito-Benutzerpools unterstützen erweiterte Sicherheitsfunktionen wie Multi-Faktor-Authentifizierung, Überprüfung auf nicht mehr zuverlässige Anmeldeinformationen und die adaptive Authentifizierung. Weitere Informationen finden Sie unter [Verwenden der Sicherheitsfunktionen von Amazon Cognito Cognito-Benutzerpools](https://docs.aws.amazon.com/cognito/latest/developerguide/managing-security.html) im *Amazon Cognito Cognito-Entwicklerhandbuch*.

## Testen
<a name="cognito-auth-testing"></a>

Wenn Sie mit der Konfiguration zufrieden sind, stellen Sie sicher, dass die Benutzererfahrung Ihren Erwartungen entspricht.

**So greifen Sie auf Dashboards zu OpenSearch**

1. Navigieren Sie im Webbrowser zu `https://{{opensearch-domain}}/_dashboards`. Um sich direkt bei einem bestimmten Mandanten anzumelden, hängen Sie `?security_tenant={{tenant-name}}` an die URL an.

1. Melden Sie sich mit Ihren bevorzugten Anmeldeinformationen an.

1. Nachdem die OpenSearch Dashboards geladen wurden, konfigurieren Sie mindestens ein Indexmuster. Dashboards identifiziert anhand dieser Muster, welche Indizes Sie analysieren möchten. Geben Sie `*` ein, wählen Sie **Nächster Schritt** aus und klicken Sie auf **Create index pattern (Indexmuster erstellen)**.

1. Klicken Sie auf **Ermitteln**, um Ihre Daten zu durchsuchen.

Falls ein Schritt in diesem Prozess fehlschlägt, finden Sie unter [Häufige Konfigurationsprobleme](#cognito-auth-troubleshooting) Hilfestellung zur Problembehebung.

## Kontingente
<a name="cognito-auth-limits"></a>

In Amazon Cognito sind Soft Limits für viele Ressourcen konfiguriert. Wenn Sie die Dashboard-Authentifizierung für eine große Anzahl von OpenSearch Service-Domains aktivieren möchten, überprüfen Sie die [Kontingente in Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html) und [fordern Sie bei Bedarf eine Erhöhung des Limits an](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html).

Jede OpenSearch Service-Domain fügt dem Benutzerpool einen [App-Client](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-client-apps.html) hinzu, wodurch dem Identitätspool ein [Authentifizierungsanbieter](https://docs.aws.amazon.com/cognito/latest/developerguide/external-identity-providers.html) hinzugefügt wird. Wenn Sie die OpenSearch Dashboard-Authentifizierung für mehr als 10 Domains aktivieren, stoßen Sie möglicherweise auf das Limit „maximale Amazon Cognito Cognito-Benutzerpoolanbieter pro Identitätspool“. **Wenn Sie ein Limit überschreiten, können alle OpenSearch Service-Domains, die Sie für die Verwendung der Amazon Cognito Cognito-Authentifizierung für Dashboards zu konfigurieren versuchen, im Konfigurationsstatus Verarbeitung hängen bleiben.**

## Häufige Konfigurationsprobleme
<a name="cognito-auth-troubleshooting"></a>

Die folgenden Tabellen enthalten häufige Konfigurationsprobleme und deren Lösungen.


**Service konfigurieren OpenSearch**  

| Problem | Lösung | 
| --- | --- | 
| `OpenSearch Service can't create the role` (Konsole) | Sie verfügen nicht über die erforderlichen IAM-Berechtigungen. Fügen Sie die unter [Konfigurieren der Amazon-Cognito-Authentifizierung (Konsole)](#cognito-auth-config-console) angegebenen Berechtigungen hinzu. | 
| `User is not authorized to perform: iam:PassRole on resource CognitoAccessForAmazonOpenSearch` (Konsole) | Sie haben keine iam:PassRole Berechtigungen für die [CognitoAccessForAmazonOpenSearch](#cognito-auth-role)Rolle. Fügen Sie die folgende Richtlinie zu Ihrem Konto hinzu:  JSON   

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::{{123456789012:role/service-role/CognitoAccessForAmazonOpenSearch}}"
    }
  ]
}
```    Alternativ können Sie die Richtlinie `IAMFullAccess` anfügen. | 
| `User is not authorized to perform: cognito-identity:ListIdentityPools on resource` | Sie verfügen nicht über die Leseberechtigung für Amazon Cognito. Fügen Sie die Richtlinie `AmazonCognitoReadOnly` zu Ihrem Konto hinzu. | 
| `An error occurred (ValidationException) when calling the CreateDomain operation: OpenSearch Service must be allowed to use the passed role` | OpenSearch Der Dienst ist in der Vertrauensstellung der `CognitoAccessForAmazonOpenSearch` Rolle nicht angegeben. Stellen Sie sicher, dass Ihre Rolle die in [Über die CognitoAccessForAmazonOpenSearch Rolle](#cognito-auth-role) angegebene Vertrauensstellung verwendet. Konfigurieren Sie alternativ mit der Konsole die Amazon-Cognito-Authentifizierung. In der Konsole wird eine Rolle für Sie erstellt. | 
| `An error occurred (ValidationException) when calling the CreateDomain operation: User is not authorized to perform: cognito-idp:{{action}} on resource: {{user pool}}` | Die in --cognito-options angegebene Rolle verfügt nicht über die Berechtigung für den Zugriff auf Amazon Cognito. Vergewissern Sie sich, dass der Rolle die AWS verwaltete AmazonOpenSearchServiceCognitoAccess Richtlinie angehängt ist. Konfigurieren Sie alternativ mit der Konsole die Amazon-Cognito-Authentifizierung. In der Konsole wird eine Rolle für Sie erstellt. | 
| An error occurred (ValidationException) when calling the CreateDomain operation: User pool does not exist | OpenSearch Der Dienst kann den Benutzerpool nicht finden. Stellen Sie sicher, dass Sie einen Benutzerpool erstellt haben und die korrekte ID verwenden. Um die ID zu finden, können Sie die Amazon Cognito Cognito-Konsole oder den folgenden AWS CLI Befehl verwenden:<pre>aws cognito-idp list-user-pools --max-results 60 --region {{region}}</pre> | 
| `An error occurred (ValidationException) when calling the CreateDomain operation: IdentityPool not found` | OpenSearch Der Service kann den Identitätspool nicht finden. Stellen Sie sicher, dass Sie einen Benutzerpool erstellt haben und die korrekte ID verwenden. Um die ID zu finden, können Sie die Amazon Cognito Cognito-Konsole oder den folgenden AWS CLI Befehl verwenden:<pre>aws cognito-identity list-identity-pools --max-results 60 --region {{region}}</pre> | 
| `An error occurred (ValidationException) when calling the CreateDomain operation: Domain needs to be specified for user pool` | Der Benutzerpool verfügt nicht über einen Domain-Namen. Sie können diesen über die Amazon-Cognito-Konsole oder mit dem folgenden AWS CLI -Befehl konfigurieren: <pre>aws cognito-idp create-user-pool-domain --domain {{name}} --user-pool-id {{id}}</pre> | 


**Zugreifen auf Dashboards OpenSearch**  

| Problem | Lösung | 
| --- | --- | 
| Die Anmeldeseite enthält nicht meinen bevorzugten Identitätsanbieter. | Vergewissern Sie sich, dass Sie den Identitätsanbieter für den OpenSearch Service App-Client aktiviert haben, wie unter beschrieben[Konfigurieren von Identitätsanbietern](#cognito-auth-identity-providers). | 
| Die Anmeldeseite sieht nicht so aus, als würde sie zu meiner Organisation gehören. | Siehe [(Optional) Anpassen der Anmeldeseite](#cognito-auth-customize). | 
| Meine Anmeldeinformationen funktionieren nicht. | Stellen Sie sicher, dass Sie den Identitätsanbieter wie in [Konfigurieren von Identitätsanbietern](#cognito-auth-identity-providers) angegeben konfiguriert haben.<br />Wenn Sie den Benutzerpool als Identitätsanbieter verwenden, überprüfen Sie, ob das Konto auf der Amazon Cognito Cognito-Konsole vorhanden ist. | 
| OpenSearch Dashboards werden entweder gar nicht geladen oder funktionieren nicht richtig. | Die von Amazon Cognito authentifizierte Rolle benötigt die Berechtigung `es:ESHttp*` für die Domain (`/*`), um auf Dashboards zugreifen und Dashboards verwenden zu können. Stellen Sie sicher, dass Sie wie in [Zulassen der authentifizierten Rolle](#cognito-auth-config-ac) angegeben eine Zugriffsrichtlinie hinzugefügt haben. | 
| Wenn ich mich von einem Tab aus OpenSearch Dashboards abmelde, wird auf den übrigen Tabs eine Meldung angezeigt, dass das Aktualisierungstoken gesperrt wurde. | Wenn Sie sich von einer OpenSearch Dashboards-Sitzung abmelden, während Sie die Amazon Cognito Cognito-Authentifizierung verwenden, führt OpenSearch Service einen [AdminUserGlobalSignOut](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUserGlobalSignOut.html)Vorgang aus, der Sie von *allen* aktiven OpenSearch Dashboards-Sitzungen abmeldet.  | 
| Invalid identity pool configuration. Check assigned IAM roles for this pool. | Amazon Cognito verfügt nicht über Berechtigungen, die IAM-Rolle im Auftrag des authentifizierten Benutzers anzunehmen. Ändern Sie die Vertrauensstellung für die Rolle, so, dass sie folgendes beinhaltet:  JSON   

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Principal": {
      "Federated": "cognito-identity.amazonaws.com"
    },
    "Action": "sts:AssumeRoleWithWebIdentity",
    "Condition": {
      "StringEquals": {
        "cognito-identity.amazonaws.com:aud": "{{identity-pool-id}}"
      },
      "ForAnyValue:StringLike": {
        "cognito-identity.amazonaws.com:amr": "authenticated"
      }
    }
  }
 ]
}
```     | 
| Token is not from a supported provider of this identity pool. | Dieser ungewöhnliche Fehler kann auftreten, wenn Sie den App-Client aus dem Benutzerpool entfernen. Versuchen Sie, Dashboards in einer neuen Browsersitzung zu öffnen. | 

## Amazon Cognito Cognito-Authentifizierung für Dashboards deaktivieren OpenSearch
<a name="cognito-auth-disable"></a>

Gehen Sie wie folgt vor, um die Amazon-Cognito-Authentifizierung für Dashboards zu deaktivieren.

**So deaktivieren Sie die Amazon-Cognito-Authentifizierung für Dashboards (Konsole)**

1. Öffnen Sie die [Amazon OpenSearch Service-Konsole](https://console.aws.amazon.com/aos/home/).

1. Wählen Sie unter **Domains** die Domain aus, die Sie konfigurieren möchten.

1. Klicken Sie auf **Aktionen**, **Sicherheitskonfiguration bearbeiten**.

1. Heben Sie die Auswahl von **Amazon-Cognito-Authentifizierung aktivieren** auf.

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

**Wichtig**  
Wenn Sie die Amazon-Cognito-Benutzer- und Identitätenpools nicht mehr brauchen, können Sie diese löschen. Andernfalls fallen weiterhin Gebühren an.

## Löschen von Domains, die die Amazon Cognito Cognito-Authentifizierung für OpenSearch Dashboards verwenden
<a name="cognito-auth-delete"></a>

Um zu verhindern, dass Domänen, die Amazon Cognito Cognito-Authentifizierung für Dashboards verwenden, im Konfigurationsstatus **Verarbeitung** stecken bleiben, löschen Sie OpenSearch Service-Domains, *bevor* Sie die zugehörigen Amazon Cognito Cognito-Benutzer- und Identitätspools löschen.