Konfiguration der Amazon Cognito Cognito-Authentifizierung für Dashboards OpenSearch - OpenSearch Amazon-Dienst

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

Sie können Ihre Amazon OpenSearch Service-Standardinstallation von OpenSearch Dashboards mit Amazon 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 und einem Proxy-Server, HTTP-Basisauthentifizierung oder SAML 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 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.

Voraussetzungen

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

  • Amazon Cognito Identitätenpool

  • 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.

Über den Benutzerpool

Benutzerpools haben zwei Hauptfunktionen: das Erstellen und Verwalten von Benutzerverzeichnissen und die Benutzerregistrierung und -anmeldung. Eine Anleitung zum Erstellen eines Benutzerpools finden Sie unter Erstellen eines Benutzerpools im Amazon-Cognito-Entwicklerhandbuch.

Wenn Sie einen Benutzerpool für die Verwendung mit OpenSearch Service erstellen, sollten Sie Folgendes berücksichtigen:

  • Ihr Amazon-Cognito-Benutzerpool muss über einen Domain-Namen verfügen. OpenSearch Der Service verwendet diesen Domainnamen, um Benutzer auf eine Anmeldeseite für den Zugriff auf Dashboards umzuleiten. 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 – 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 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.

Benutzerpool-IDs haben die Form: 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

Mit Identitäten-Pools können Sie Benutzern nach der Anmeldung temporäre Rollen mit beschränkten Berechtigungen zuweisen. Eine Anleitung zum Erstellen eines Identitätenpools finden Sie unter Identitätenpools im Amazon-Cognito-Entwicklerhandbuch. Beachten Sie Folgendes, wenn Sie einen Identitätspool für die Verwendung mit OpenSearch Service erstellen:

  • 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 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_identitypoolnameAuth_Role.

Identitäten-Pool-IDs haben die Form: 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.

Informationen über die CognitoAccessForAmazonOpenSearch-Rolle

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 AmazonOpenSearchServiceCognitoAccess Zweck können Sie eine AWS verwaltete Richtlinie verwenden. AmazonESCognitoAccessist eine ältere Richtlinie, die durch die AmazonOpenSearchServiceCognitoAccess Umbenennung des Dienstes in Amazon OpenSearch Service ersetzt wurde. Beide Richtlinien bieten die Mindestberechtigungen für Amazon Cognito, die erforderlich sind, um die Cognito-Authentifizierung zu aktivieren. Informationen zum Richtlinien-JSON finden Sie unter IAM-Konsole.

Wenn Sie die Konsole verwenden, um Ihre OpenSearch Service-Domain zu erstellen oder zu konfigurieren, erstellt sie eine IAM-Rolle für Sie und fügt 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.

AmazonOpenSearchServiceCognitoAccessSowohl 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 das AWS CLI oder eines der AWS SDKs verwenden, 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:

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

Anleitungen finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service und Anfügen und Trennen von IAM-Richtlinien im IAM-Benutzerhandbuch.

Konfigurieren einer Domain zur Verwendung der Amazon-Cognito-Authentifizierung

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 AWS-Regionen und Endpunkte. Sie müssen nicht dieselbe Region für Amazon Cognito verwenden, die Sie für OpenSearch Service verwenden.

Konfigurieren der Amazon-Cognito-Authentifizierung (Konsole)

Da sie die CognitoAccessForAmazonOpenSearchRolle 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.

{ "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).

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

{ "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 unter https://console.aws.amazon.com/aos/home/.

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

  3. Klicken Sie auf Aktionen, Sicherheitskonfiguration bearbeiten.

  4. Wählen Sie Amazon-Cognito-Authentifizierung aktivieren aus.

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

  6. Wählen Sie für Cognito User Pool (Cognito-Benutzerpool) einen Benutzerpool aus oder erstellen Sie einen Benutzerpool. Anleitungen finden Sie unter Über den Benutzerpool.

  7. Wählen Sie für Cognito Identity Pool (Cognito-Identitäten-Pool) einen Identitäten-Pool aus oder erstellen Sie einen Identitäten-Pool. Anleitungen finden Sie unter Über den Identitätenpool.

    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 hierzu finden Sie unter Voraussetzungen.

  8. Verwenden Sie für IAM-Rollenname den Standardwert CognitoAccessForAmazonOpenSearch (empfohlen), oder geben Sie einen neuen Namen ein. Weitere Informationen zum Zweck dieser Rolle finden Sie unter Informationen über die CognitoAccessForAmazonOpenSearch-Rolle.

  9. Wählen Sie Änderungen speichern aus.

Nachdem Ihre Domain die Verarbeitung abgeschlossen hat, finden Sie unter Zulassen der authentifizierten Rolle und Konfigurieren von Identitätsanbietern weitere Konfigurationsschritte.

Konfigurieren der Amazon-Cognito-Authentifizierung (AWS CLI)

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 und Konfigurieren von Identitätsanbietern weitere Konfigurationsschritte.

Konfigurieren der Amazon-Cognito-Authentifizierung (AWS-SDKs)

Die AWS SDKs (außer den Android- und iOS-SDKs) unterstützen alle Operationen, die in der Amazon OpenSearch Service API-Referenz definiert sind, einschließlich des CognitoOptions Parameters für die Operationen CreateDomain undUpdateDomainConfig. Weitere Informationen über die Installation und Verwendung der AWS SDKs finden Sie unter AWS-Software-Entwicklungs-Kits.

Nachdem Ihre Domain die Verarbeitung abgeschlossen hat, finden Sie unter Zulassen der authentifizierten Rolle und Konfigurieren von Identitätsanbietern weitere Konfigurationsschritte.

Zulassen der authentifizierten Rolle

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

Anmerkung

Sie können diese Berechtigungen in eine identitätsbasierte Richtlinie aufnehmen. Wenn Sie jedoch nicht möchten, dass authentifizierte Benutzer Zugriff auf alle OpenSearch Dienstdomänen haben, ist eine ressourcenbasierte 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 konfiguriert haben.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS":[ "arn:aws:iam::123456789012:role/Cognito_identitypoolnameAuth_Role" ] }, "Action":[ "es:ESHttp*" ], "Resource":"arn:aws:es:region:123456789012:domain/domain-name/*" } ] }

Anweisungen zum Hinzufügen einer ressourcenbasierten Richtlinie zu einer Dienstdomäne finden Sie unter. OpenSearch Konfigurieren von Zugriffsrichtlinien

Konfigurieren von Identitätsanbietern

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 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. Eine Anleitung finden Sie unter Verwenden des Verbunds für einen Benutzerpool und So geben Sie die Einstellungen Ihres Anwendungs-Identitätsanbieters (IdP) für Ihren Benutzerpool an im Amazon-Cognito-Entwicklerhandbuch.

(Optional) Konfigurieren von individuell festgelegtem Zugriff

Ihnen ist wahrscheinlich aufgefallen, dass mit den Standardeinstellungen des Identitätenpools jedem Benutzer, der sich anmeldet, dieselbe IAM-Rolle zugewiesen wird (Cognito_identitypoolAuth_Role). Hierdurch erhalten alle Benutzer Zugriff auf dieselben AWS-Ressourcen. Wenn Sie die differenzierte Zugriffskontrolle 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.

Wichtig

Genau wie die Standardrolle muss Amazon Cognito Teil der Vertrauensbeziehung jeder zusätzlichen Rolle sein. Weitere Informationen finden Sie unter Erstellen von Rollen für das Rollenmapping im Amazon-Cognito-Entwicklerhandbuch.

Benutzergruppen und Token

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 Benutzergruppen im Amazon-Cognito-Entwicklerhandbuch.

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

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 Zuweisen von Rollen zu Benutzern mit dem rollenbasierten Mapping im Amazon-Cognito-Entwicklerhandbuch.

(Optional) Anpassen der Anmeldeseite

Sie können die Amazon Cognito Cognito-Konsole verwenden, um ein benutzerdefiniertes Logo hochzuladen und CSS-Änderungen an der Anmeldeseite vorzunehmen. Eine Anleitung sowie eine vollständige Liste der CSS-Eigenschaften finden Sie unter So geben Sie App-Einstellungen für die Benutzeroberfläche Ihres Benutzerpools an im Amazon-Cognito-Entwicklerhandbuch.

(Optional) Konfiguration der erweiterten Sicherheit

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 hierzu finden Sie unter Verwalten der Sicherheit im Amazon-Cognito-Entwicklerhandbuch.

Testen

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

Um auf Dashboards zuzugreifen 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.

  2. Melden Sie sich mit Ihren bevorzugten Anmeldeinformationen an.

  3. 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).

  4. Klicken Sie auf Ermitteln, um Ihre Daten zu durchsuchen.

Falls ein Schritt in diesem Prozess fehlschlägt, finden Sie unter Häufige Konfigurationsprobleme Hilfestellung zur Problembehebung.

Kontingente

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 und fordern Sie bei Bedarf eine Erhöhung des Limits an.

Jede OpenSearch Service-Domain fügt dem Benutzerpool einen App-Client hinzu, wodurch dem Identitätspool ein Authentifizierungsanbieter 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

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) angegebenen Berechtigungen hinzu.

User is not authorized to perform: iam:PassRole on resource CognitoAccessForAmazonOpenSearch (Konsole)

Sie haben keine iam:PassRole Berechtigungen für die CognitoAccessForAmazonOpenSearchRolle. Fügen Sie die folgende Richtlinie zu Ihrem Konto hinzu:
{ "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 Informationen über die CognitoAccessForAmazonOpenSearch-Rolle 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. Stellen Sie sicher, dass die Rolle über die AWS verwaltete AmazonOpenSearchServiceCognitoAccess-Richtlinie verfügt. 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. Die ID können Sie mithilfe der Amazon-Cognito-Konsole oder dem folgenden AWS CLI-Befehl bestimmen:

aws cognito-idp list-user-pools --max-results 60 --region region

An error occurred (ValidationException) when calling the CreateDomain operation: IdentityPool not found

OpenSearch Der Dienst kann den Identitätspool nicht finden. Stellen Sie sicher, dass Sie einen Benutzerpool erstellt haben und die korrekte ID verwenden. Die ID können Sie mithilfe der Amazon-Cognito-Konsole oder dem folgenden AWS CLI-Befehl bestimmen:

aws cognito-identity list-identity-pools --max-results 60 --region region

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:
aws cognito-idp create-user-pool-domain --domain name --user-pool-id id
Auf OpenSearch Dashboards zugreifen
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 beschriebenKonfigurieren von Identitätsanbietern.

Die Anmeldeseite sieht nicht so aus, als würde sie zu meiner Organisation gehören.

Siehe (Optional) Anpassen der Anmeldeseite.

Meine Anmeldeinformationen funktionieren nicht.

Stellen Sie sicher, dass Sie den Identitätsanbieter wie in Konfigurieren von Identitätsanbietern angegeben konfiguriert haben.

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 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 AdminUserGlobalSignOutVorgang 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:
{ "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

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 unter https://console.aws.amazon.com/aos/home/.

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

  3. Klicken Sie auf Aktionen, Sicherheitskonfiguration bearbeiten.

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

  5. 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

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.