¿Cómo se solucionan los problemas de autenticación de Amazon Cognito con OpenSearch Dashboards?

Actualización más reciente: 20-10-2021

Intento acceder a OpenSearch Dashboards mediante la autenticación de Amazon Cognito en mi clúster de Amazon OpenSearch Service (sucesor de Amazon Elasticsearch Service). Sin embargo, recibo un error o encuentro un problema de inicio de sesión. ¿Por qué sucede esto?

Resolución

He ingresado la URL de OpenSearch Dashboards, pero no puedo ver la página de inicio de sesión.

Nota: OpenSearch Dashboards es el sucesor de Kibana.

Es posible que se le redirija de la URL de OpenSearch Dashboard al panel de Dashboards por varias razones:

Nota: La autenticación de Amazon Cognito no es necesaria. Para requerir la autenticación de Amazon Cognito, cambie la política de acceso al dominio. Para obtener más información, consulte Configuración de políticas de acceso.

Se me redirige a la página de inicio de sesión de OpenSearch Dashboards, pero no puedo iniciar sesión

Si se le redirige a la página de inicio de sesión de OpenSearch Dashboards, pero no puede iniciar sesión, significa que Amazon Cognito está configurado incorrectamente. Para resolver este problema, tenga en cuenta los siguientes enfoques:

Error “Missing Role” (Falta un rol)

Si tiene habilitado el control de acceso preciso (FGAC) en OpenSearch Dashboards en su dominio de OpenSearch Services, es posible que reciba el siguiente error:

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

Este error se produce cuando hay una discrepancia entre el usuario maestro de IAM y el rol de Amazon Cognito que se asume. El rol que se asume (del grupo de identidades de Amazon Cognito) debe coincidir con el rol de IAM que especificó para el usuario maestro.

Para que el rol de IAM del usuario maestro coincida con el rol de Amazon Cognito que se asume, lleve a cabo los siguientes pasos:

1.    Vaya a la consola de OpenSearch Services.

2.    Elija su dominio de OpenSearch Services.

3.    Elija Actions (Acciones).

4.    Elija Modify authentication (Modificar autenticación).

5.    En Fine-grained access control (Control de acceso preciso), elija Set IAM role (Establecer rol de IAM) como usuario maestro. Asegúrese de especificar el ARN del rol de autenticación de Amazon Cognito.

6.    (Opcional) Si olvidó el ARN del usuario principal o maestro (u otros detalles de configuración del rol), modifique el usuario principal o maestro. Al volver a configurar el usuario maestro, puede especificar un nuevo ARN de IAM.

7.    Elija Submit (Enviar).

Error de configuración del grupo de identidades no válido

Después de autenticar correctamente el inicio de sesión con Amazon Cognito, es posible que aún reciba el siguiente error:

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:
xxxxx-xxxx-xxxx-xxxx-xxxxx)

Este mensaje de error aparece cuando Amazon Cognito no tiene los permisos adecuados para asumir un rol de IAM en nombre del usuario autenticado. Modifique la relación de confianza del rol de IAM para incluir lo siguiente:

1.    Abra la consola de Amazon IAM.

2.    Elija Roles.

3.    Seleccione el rol de IAM.

4.    Elija la pestaña Trust relationships (Relaciones de confianza).

5.    Elija Edit trust relationship (Editar la relación de confianza). Asegúrese de que su grupo de identidades de Amazon Cognito pueda asumir el rol de IAM.

Por ejemplo:

{
  "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.    Elija Update Trust Policy (Actualizar la política de confianza).

Para obtener más información sobre cómo actualizar la política de rol de IAM cuando el control de acceso detallado (FGAC) está habilitado, consulte Tutorial: usuario principal de IAM y Amazon Cognito.

Error de discrepancia de redirección

Es posible que reciba el siguiente error al intentar acceder a OpenSearch Dashboards en OpenSearch Services mediante una URL de Dashboards o una URL de punto de enlace personalizada:

"An error was encountered with the requested page"

Este error se produce cuando falta la configuración de URL de devolución de llamada en la configuración del cliente de aplicaciones de Amazon Cognito.

Para verificar que la configuración del cliente de la aplicación esté configurada correctamente, lleve a cabo los siguientes pasos:

1.    Vaya a la consola de Amazon Cognito.

2.    Elija Manage User Pools (Administrar grupos de usuarios).

3.    Seleccione el grupo de usuarios que desea editar.

4.    En el lado izquierdo de la consola, elija App client settings (Configuración del cliente de aplicaciones).

5.    Verifique que las URL de devolución de llamada y las URL de cierre de sesión estén configuradas correctamente. Por ejemplo:

<dashboards-endpoint>/_dashboards/app/home

Para un dominio en el que está habilitado un punto de enlace personalizado, la URL de devolución de llamada y la URL de cierre de sesión tendrán el siguiente aspecto:

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

Error de rol de autorización del grupo de identidades de Amazon Cognito

Si puede iniciar sesión pero no ve OpenSearch Dashboards, es posible que reciba el siguiente error:

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

De forma predeterminada, el rol de IAM autenticado para los grupos de identidades no incluye los privilegios necesarios para acceder a Dashboards. Puede encontrar el nombre del rol autenticado y agregarlo a la política de acceso de OpenSearch Services si realiza lo siguiente:

1.    Vaya a la consola de Amazon Cognito.

2.    Elija Manage Identity Pools (Administrar grupos de identidades).

3.    En la esquina superior derecha de la consola, elija Edit identity pool (Editar grupo de identidades).

4.    Agregue el rol autenticado a su política de acceso al dominio de OpenSearch Services.

Nota: Es una práctica recomendada utilizar una política basada en recursos para los usuarios autenticados. El rol autenticado controla específicamente la autenticación de Amazon Cognito para Dashboards. Por lo tanto, no elimine otros recursos de la política de acceso al dominio.


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?