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

Última actualización: 16/12/2022

Intento acceder a OpenSearch Dashboards mediante la autenticación de Amazon Cognito en mi clúster de Amazon OpenSearch Service. Sin embargo, recibo un error o me encuentro con un problema de inicio de sesión.

Resolución

La página de inicio de sesión no aparece cuando se ingresa la URL de OpenSearch Dashboards.

Es posible que se lo redirija de la URL de OpenSearch Dashboards 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.

Si se lo 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 de forma incorrecta. Para resolver este problema, tenga en cuenta estos enfoques:

Error “Missing Role” (Falta un rol)

Si tiene activado el control de acceso preciso (FGAC) en OpenSearch Dashboards en su dominio de OpenSearch Service, es posible que reciba este 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.    Inicie sesión en la consola de OpenSearch Service.

2.    En el panel de navegación, en Managed clusters (Clústeres administrados), seleccione Domains (Dominios).

3.    Elija Actions (Acciones).

4.    Seleccione Edit security configuration (Editar configuración de seguridad).

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 este 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:

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 preciso (FGAC) está activado, consulte Tutorial: usuario maestro 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 Service mediante una URL de Dashboards o una URL de punto de conexión personalizado:

"An error was encountered with the requested page"

Este error se produce cuando falta la configuración de la 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 aplicaciones esté correcta, lleve a cabo estos 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 margen izquierdo de la consola, en App integration (Integración de aplicaciones), seleccione 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á activado un punto de conexión 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 este 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 Service si realiza estos pasos:

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

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?