Wie behebe ich Probleme mit der Amazon-Cognito-Authentifizierung bei OpenSearch Dashboards?

Lesedauer: 4 Minute
0

Ich möchte auf OpenSearch Dashboards zugreifen und die Amazon Cognito-Authentifizierung für meine Amazon OpenSearch Service-Domain verwenden. Ich erhalte jedoch eine Fehlermeldung oder habe ein Problem mit der Anmeldung.

Lösung

Die Anmeldeseite wird nicht angezeigt, wenn du die OpenSearch Dashboard-URL eingibst

Die Anmeldeseite wird möglicherweise aus den folgenden Gründen nicht angezeigt:

  • Du hast eine IP-basierte Domain-Zugriffsrichtlinie verwendet, die der IP-Adresse deines lokalen Computers den Zugriff auf Dashboards ermöglicht. Um dieses Problem zu beheben, füge der Domain-Zugriffsrichtlinie die Amazon Cognito-authentifizierte Rolle hinzu.
  • Du hast eine AWS Identity and Access Management (IAM, Identitäts- und Zugriffsmanagement)-Rolle mit der Berechtigung zum Signieren von Anforderungen verwendet. Um dieses Problem zu lösen, verwende nicht eine Proxymethode, um die Anforderungen zu signieren.
  • Die OpenSearch Service-Domain befindet sich in einer Virtual Private Cloud (VPC), sodass für die Domain eine offene Zugriffsrichtlinie gilt. Du benötigst keine Amazon Cognito-Authentifizierung, um auf Dashboards zuzugreifen, wenn sich die Domain in einer VPC befindet.
    Hinweis: Um eine Amazon Cognito-Authentifizierung zu verlangen, ändere die Domain-Zugriffsrichtlinie.

Wenn die Amazon Cognito-Authentifizierung dich zur Anmeldeseite von OpenSearch Dashboards weiterleitet, du dich aber nicht anmelden kannst, hast du Amazon Cognito falsch konfiguriert. Gehe wie folgt vor, um diesen Fehler zu beheben:

Fehler „Missing Role“

Wenn du die differenzierte Zugriffskontrolle für OpenSearch Dashboards in der OpenSearch Service-Domain aktiviert hast, wird möglicherweise die folgende Fehlermeldung angezeigt:

„Missing Role No roles available for this user, please contact your system administrator.“

Um dieses Problem zu lösen, stelle sicher, dass die Rolle, die der Amazon Cognito-Identitätspool übernimmt, mit der IAM-Rolle für den angegebenen Hauptbenutzer übereinstimmt.

Gehe wie folgt vor, um die IAM-Rolle des Hauptbenutzers der übernommenen Amazon Cognito-Rolle zuzuordnen:

  1. Öffne die OpenSearch-Service-Konsole.
  2. Wähle im Navigationsbereich unter Verwaltete Cluster die Option Domains aus.
  3. Wähle Aktionen aus.
  4. Wähle Sicherheitskonfiguration bearbeiten aus.
  5. Wähle unter Feingranulare Zugriffskontrolle die Option IAM-ARN als Hauptbenutzer festlegen aus.
  6. Gib unter IAM ARN den ARN der Amazon-Cognito-Identitätspoolrolle ein.
  7. (Optional) Wenn du den ARN des Hauptbenutzers nicht kennst, ändere den Hauptbenutzer, um einen neuen IAM-ARN anzugeben.
  8. Wähle Absenden aus.

Fehler „Invalid identity pool configuration“

Wenn Amazon Cognito nicht berechtigt ist, eine IAM-Rolle für den authentifizierten Benutzer zu übernehmen, erhältst du möglicherweise die folgende Fehlermeldung:

„com.amazonaws.services.cognitoidentity.model.InvalidIdentityPoolConfigurationException: Invalid identity pool configuration. Check assigned IAM roles for this pool. (Service: AmazonCognitoIdentity; Status Code: 400; Error Code: InvalidIdentityPoolConfigurationException; Request ID: #####-####-####-####-#####)“

Um dieses Problem zu beheben, ändere die Vertrauensbeziehung für die IAM-Rolle.

Führe die folgenden Schritte aus:

  1. Öffne die Amazon IAM-Konsole.

  2. Wähle Rollen aus.

  3. Wähle die IAM-Rolle aus.

  4. Wähle die Registerkarte Vertrauensbeziehungen aus.

  5. Wähle Vertrauensbeziehung bearbeiten aus. Stelle sicher, dass der Amazon Cognito-Identitätspool die IAM-Rolle übernehmen kann.

    Beispiel für eine Vertrauensrichtlinie:

    {
      "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"
           }
          }
        }
      ]
    }
  6. Wähle Vetrauensrichtlinie aktualisieren aus.

Weitere Informationen findest du unter Tutorial: Konfiguriere eine Domain mit einem IAM-Haupt-Benutzer und Amazon-Cognito-Authentifizierung.

Du erhältst eine Fehlermeldung, wenn du die Seite aufrufst

Wenn du die Rückruf-URL oder den benutzerdefinierten Endpunkt in den App-Client-Einstellungen falsch konfigurierst, wird möglicherweise die folgende Fehlermeldung angezeigt:

„An error was encountered with the requested page“

Gehe wie folgt vor, um zu überprüfen, ob du die App-Client-Einstellungen richtig konfiguriert hast:

  1. Öffne die Amazon-Cognito-Konsole.

  2. Wähle Benutzerpools verwalten aus.

  3. Wähle den Benutzerpool aus, den du verwenden möchtest.

  4. Wähle unter App-Integration den OpenSearch-App-Client aus dem App-Client-Menü aus.

  5. Stelle sicher, dass du die Rückruf-URL(s) und die Abmelde-URL(s) richtig konfiguriert hast.

    Beispiel für eine URL:

    <dashboards-endpoint>/_dashboards/app/home

    Beispiel-URL für eine Domain mit einem aktivierten benutzerdefinierten Endpunkt:

    <domain-custom-endpoint>/_dashboards/app/home

Du erhältst den Fehler „CognitoIdentityCredentials is not authorized to perform“

Wenn du dich anmeldest, aber OpenSearch-Dashboards nicht sehen kannst, wird möglicherweise die folgende Fehlermeldung angezeigt:

„User: arn:aws:sts:: 123456789012:assumed-role/Cognito_identitypoolAuth_Role/CognitoIdentityCredentials is not authorized to perform: es:ESHttpGet“

Standardmäßig enthält die authentifizierte IAM-Rolle für Identitätspools nicht die erforderlichen Berechtigungen für den Zugriff auf Dashboards. Gehe wie folgt vor, um den Namen der authentifizierten Rolle zu finden und sie der OpenSearch Service-Zugriffsrichtlinie hinzuzufügen:

  1. Öffne die Amazon-Cognito-Konsole.
  2. Wähle Identitätspools verwalten aus.
  3. Wähle Identitätspool bearbeiten aus.
  4. Füge die authentifizierte Rolle zur OpenSearch Service-Domain-Zugriffsrichtlinie hinzu.

Hinweis: Es hat sich bewährt, eine ressourcenbasierte Richtlinie für authentifizierte Benutzer zu verwenden. Die authentifizierte Rolle steuert speziell die Amazon Cognito-Authentifizierung für OpenSearch-Dashboards.

Ähnliche Informationen

Allgemeine Konfigurationsprobleme

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Monat