

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.

# Tutorial: Konfigurieren einer Domain mit einem IAM-Hauptbenutzer und Amazon-Cognito-Authentifizierung
<a name="fgac-iam"></a>

Dieses Tutorial behandelt einen beliebten Amazon OpenSearch Service-Anwendungsfall für eine [differenzierte Zugriffskontrolle](fgac.md): einen IAM-Master-Benutzer mit Amazon Cognito Cognito-Authentifizierung für Dashboards. OpenSearch 

Im Tutorial konfigurieren wir eine *Haupt*-IAM-Rolle und eine *eingeschränkte* IAM-Rolle, die wir dann Benutzern in Amazon Cognito zuordnen. Der Masterbenutzer kann sich dann bei OpenSearch Dashboards anmelden, den eingeschränkten Benutzer einer Rolle zuordnen und mithilfe einer detaillierten Zugriffskontrolle die Benutzerberechtigungen einschränken.

![IAM Rollen werden zur Zugriffskontrolle Amazon Cognito in OpenSearch Dashboards weitergeleitet.](http://docs.aws.amazon.com/de_de/opensearch-service/latest/developerguide/images/fgac-cognito.png)


Obwohl diese Schritte den Amazon-Cognito-Benutzerpool für die Authentifizierung verwenden, funktioniert derselbe grundlegende Prozess für jeden Cognito-Authentifizierungsanbieter, mit dem Sie verschiedenen Benutzern unterschiedliche IAM-Rollen zuweisen können.

In diesem Tutorial führen Sie die folgenden Schritte durch:

1. [Erstellen von Haupt- und eingeschränkten IAM-Rollen](#fgac-iam-roles)

1. [Erstellen einer Domain mit Cognito-Authentifizierung](#fgac-iam-domain)

1. [Konfigurieren Sie einen Cognito-Benutzerpool und einen Identitätspool](#fgac-iam-cognito)

1. [Ordnen Sie Rollen in Dashboards zu OpenSearch ](#fgac-iam-dashboards)

1. [Testen der Berechtigungen](#fgac-iam-test)

## Schritt 1: Erstellen von Haupt- und eingeschränkten IAM-Rollen
<a name="fgac-iam-roles"></a>

Navigieren Sie zur AWS Identity and Access Management (IAM-) Konsole und erstellen Sie zwei separate Rollen:
+ `MasterUserRole` – Der Hauptbenutzer, der über vollständige Berechtigungen für den Cluster verfügt und Rollen und Rollenzuordnungen verwaltet.
+ `LimitedUserRole` – Eine eingeschränktere Rolle, der Sie als Hauptbenutzer eingeschränkten Zugriff gewähren.

Anweisungen zum Erstellen der Rollen finden Sie unter [Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) im *IAM-Benutzerhandbuch*.

Beide Rollen müssen über die folgende Vertrauensrichtlinie verfügen, die es Ihrem Cognito-Identitätspool ermöglicht, die Rollen zu übernehmen:

------
#### [ 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"
      }
    }
  }]
}
```

------

**Anmerkung**  
Ersetzen Sie `identity-pool-id` durch die eindeutige Kennung Ihres Amazon-Cognito-Identitätspools. Beispiel, `us-east-1:0c6cdba7-3c3c-443b-a958-fb9feb207aa6`.

## Schritt 2: Erstellen einer Domain mit Cognito-Authentifizierung
<a name="fgac-iam-domain"></a>

Rufen Sie die Amazon OpenSearch Service-Konsole unter [https://console.aws.amazon.com/aos/home/](https://console.aws.amazon.com/aos/home/) auf und [erstellen Sie eine Domain](createupdatedomains.md) mit den folgenden Einstellungen:
+ OpenSearch 1.0 oder höher oder Elasticsearch 7.8 oder höher
+ Öffentlicher Zugriff
+ Detallierte Zugriffskontrolle, die mit `MasterUserRole` als Hauptbenutzer aktiviert ist (im vorherigen Schritt erstellt) 
+ Amazon Cognito Cognito-Authentifizierung für OpenSearch Dashboards aktiviert. Anweisungen zum Aktivieren der Cognito-Authentifizierung und zum Auswählen eines Benutzer- und Identitätspools finden Sie unter [Konfigurieren einer Domain zur Verwendung der Amazon-Cognito-Authentifizierung](cognito-auth.md#cognito-auth-config).
+ Die folgende Domain-Zugriffsrichtlinie:

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

****  

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

------
+ HTTPS für den gesamten Datenverkehr zur Domain erforderlich
+ Node-to-node Verschlüsselung
+ Verschlüsselung gespeicherter Daten

## Schritt 3: Cognito-Benutzer konfigurieren
<a name="fgac-iam-cognito"></a>

Während Ihre Domain erstellt wird, konfigurieren Sie die Master- und eingeschränkten Benutzer in Amazon Cognito, indem Sie im Amazon Cognito *Developer Guide unter [Create a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html) nachlesen*. Konfigurieren Sie abschließend Ihren Identitätspool, indem Sie die Schritte unter [Erstellen eines Identitätspools in Amazon Cognito befolgen](https://docs.aws.amazon.com/cognito/latest/developerguide/getting-started-with-identity-pools.html#create-identity-pool). Der Benutzer- und der Identitätenpool müssen sich in derselben AWS-Region befinden.

## Schritt 4: Rollen in OpenSearch Dashboards zuordnen
<a name="fgac-iam-dashboards"></a>

Nachdem Ihre Benutzer konfiguriert sind, können Sie sich als Hauptbenutzer bei OpenSearch Dashboards anmelden und Benutzer Rollen zuordnen.

1. Kehren Sie zur OpenSearch Servicekonsole zurück und navigieren Sie zur OpenSearch Dashboard-URL für die von Ihnen erstellte Domain. Die URL weist folgendes Format auf: `{{domain-endpoint}}/_dashboards/`.

1. Melden Sie sich mit den `master-user`-Anmeldeinformationen an.

1. Wählen Sie **Add sample data** (Beispieldaten hinzufügen) und fügen Sie die Beispielflugdaten hinzu.

1. Wählen Sie im linken Navigationsbereich **Security** (Sicherheit), **Roles** (Rollen), **Create role** (Rolle erstellen) aus.

1. Benennen Sie die Rolle `new-role`.

1. Geben Sie für **Index** `opensearch_dashboards_sample_data_fli*` (`kibana_sample_data_fli*` auf Elasticsearch-Domains) an.

1. Wählen Sie für **Index permissions** (Indexberechtigungen) die Option **read** (Lesen) aus.

1. Geben Sie für **Sicherheitsabfrage auf Dokumentebene** die folgende Abfrage an:

   ```
   {
     "match": {
       "FlightDelay": true
     }
   }
   ```

1. Wählen Sie für die Sicherheit auf Feldebene **Ausschließen** und geben Sie `FlightNum` an.

1. Fü r**Anonymisierung**, geben Sie `Dest` an.

1. Wählen Sie **Erstellen** aus.

1. Wählen Sie **Zugeordnete Benutzer**, **Mapping verwalten**. Fügen Sie den Amazon-Ressourcennamen (ARN) für `LimitedUserRole` als externe Identität hinzu und wählen Sie **Map** (Zuordnen) aus.

1. Kehren Sie zur Liste der Rollen zurück und wählen Sie **opensearch\_dashboards\_user**aus. Wählen Sie **Zugeordnete Benutzer**, **Mapping verwalten**. Fügen Sie den ARN für `LimitedUserRole` als Backend-Rolle hinzu und wählen Sie **Zuordnen** aus.

## Schritt 5: Testen der Berechtigungen
<a name="fgac-iam-test"></a>

Wenn Ihre Rollen korrekt zugeordnet sind, können Sie sich als Benutzer mit eingeschränkten Rechten anmelden und die Berechtigungen testen.

1. Navigieren Sie in einem neuen, privaten Browserfenster zur OpenSearch Dashboard-URL für die Domain, melden Sie sich mit den `limited-user` Anmeldeinformationen an und wählen Sie **Auf eigene Faust erkunden** aus.

1. Wählen Sie **Entwicklerwerkzeuge** aus und führen Sie dann die Standardsuche aus:

   ```
   GET _search
   {
     "query": {
       "match_all": {}
     }
   }
   ```

   Beachten Sie den Berechtigungsfehler. `limited-user` hat keine Berechtigungen zum Ausführen von clusterweiten Suchvorgängen.

1. Führen Sie eine weitere Suche aus:

   ```
   GET opensearch_dashboards_sample_data_flights/_search
   {
     "query": {
       "match_all": {}
     }
   }
   ```

   Beachten Sie, dass alle übereinstimmenden Dokumente ein `FlightDelay`-Feld von `true`, ein anonymisiertes `Dest`- Feld und kein `FlightNum`-Feld haben.

1. Wählen Sie in Ihrem ursprünglichen Browserfenster, angemeldet als `master-user`, **Dev Tools**, und führen Sie dann die gleichen Suchvorgänge durch. Beachten Sie die Unterschiede zwischen Berechtigungen, Anzahl der Treffer, übereinstimmenden Dokumenten und eingeschlossenen Feldern.