Passer au contenu

Comment résoudre les problèmes d'authentification Amazon Cognito avec OpenSearch Dashboards ?

Lecture de 5 minute(s)
0

Je souhaite accéder à OpenSearch Dashboards et utiliser l'authentification Amazon Cognito sur mon domaine Amazon OpenSearch Service. Cependant, je reçois un message d'erreur ou je rencontre un problème de connexion.

Résolution

La page de connexion n'apparaît pas lorsque vous saisissez l'URL d'OpenSearch Dashboards

La page de connexion peut ne pas apparaître pour les raisons suivantes :

Si l'authentification Amazon Cognito vous redirige vers la page de connexion d'OpenSearch Dashboards mais que vous ne parvenez pas à vous connecter, cela signifie que vous avez incorrectement configuré Amazon Cognito. Pour résoudre ce problème, procédez comme suit :

Erreur « Missing Role »

Si vous avez activé le contrôle précis des accès sur OpenSearch Dashboards dans votre domaine OpenSearch Service, le message d'erreur suivant peut s’afficher :

« Missing Role No roles available for this user, please contact your system administrator. »

Pour résoudre ce problème, assurez-vous que le rôle endossé par le groupe d'identités Amazon Cognito correspond au rôle IAM de l'utilisateur principal spécifié.

Pour faire correspondre le rôle IAM de l'utilisateur principal au rôle Amazon Cognito supposé, procédez comme suit :

  1. Ouvrez la console OpenSearch Service.
  2. Dans le volet de navigation, sous Clusters gérés, choisissez Domaines.
  3. Sélectionnez Actions.
  4. Choisissez Modifier la configuration de sécurité.
  5. Sous Contrôle précis des accès, choisissez Définir l'ARN IAM comme utilisateur principal.
  6. Pour ARN IAM, saisissez l'ARN du rôle du groupe d'identités Amazon Cognito.
  7. (Facultatif) Si vous ne connaissez pas l'ARN de l'utilisateur principal, modifiez votre utilisateur principal pour spécifier un nouvel ARN IAM.
  8. Sélectionnez Soumettre.

Erreur de configuration du groupe d'identités non valide

Si Amazon Cognito n'est pas autorisé à endosser un rôle IAM pour l'utilisateur authentifié, le message d'erreur suivant peut s'afficher :

« 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: #####-####-####-####-#####) »

Pour résoudre ce problème, modifiez la relation d’approbation pour le rôle IAM.

Procédez comme suit :

  1. Ouvrez la console Amazon IAM.

  2. Sélectionnez Rôles.

  3. Sélectionnez votre rôle IAM.

  4. Choisissez l’onglet Relations d’approbation.

  5. Choisissez Modifier la relation d’approbation. Assurez-vous que votre groupe d'identités Amazon Cognito peut endosser le rôle IAM.

    Exemple de politique d’approbation :

    {
      "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. Sélectionnez Mettre à jour la politique d’approbation.

Pour plus d'informations, consultez la section Didacticiel : Configurer un domaine avec un utilisateur principal IAM et une authentification Amazon Cognito.

Un message d'erreur s'affiche lorsque vous demandez la page

Si vous ne configurez pas correctement l'URL de rappel ou le point de terminaison personnalisé dans vos paramètres de client d’application, le message d'erreur suivant peut s'afficher :

« An error was encountered with the requested page »

Pour vérifier que vous avez correctement configuré vos paramètres de client d’application, procédez comme suit :

  1. Ouvrez la console Amazon Cognito.

  2. Sélectionnez Gérer les groupes d'utilisateurs.

  3. Sélectionnez le groupe d'utilisateurs que vous souhaitez modifier.

  4. Sous Intégration de l'application, sélectionnez le client d’application OpenSearch dans le menu Client d’application.

  5. Vérifiez que vous avez correctement configuré les URL de rappel et les URL de déconnexion.

    Exemple d'URL :

    <dashboards-endpoint>/_dashboards/app/home

    Exemple d'URL pour un domaine avec un point de terminaison personnalisé activé :

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

Vous recevez l'erreur « CognitoIdentityCredentials is not authorized to perform »

Si vous vous connectez mais qu’OpenSearch Dashboards ne s'affiche pas, le message d'erreur suivant peut s'afficher :

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

Par défaut, le rôle IAM authentifié pour les groupes d'identités n'inclut pas les autorisations requises pour accéder à Dashboards. Pour trouver le nom du rôle authentifié et l'ajouter à la politique d'accès au service OpenSearch, procédez comme suit :

  1. Ouvrez la console Amazon Cognito.
  2. Choisissez Gérer les groupes d'identités.
  3. Choisissez Modifier le groupe d'identités.
  4. Ajoutez votre rôle authentifié à votre politique d'accès au domaine OpenSearch Service.

Remarque : il est recommandé d'utiliser une politique basée sur les ressources pour les utilisateurs authentifiés. Le rôle authentifié contrôle spécifiquement l'authentification Amazon Cognito pour OpenSearch Dashboards.

Informations connexes

Problèmes de configuration courants

AWS OFFICIELA mis à jour il y a un an