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

6 minutos de lectura
0

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 al introducir la URL de OpenSearch Dasboards

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

  • Ha utilizado una política de acceso al dominio basada en IP que permite que la dirección IP pública de la máquina local acceda a Dashboards. Asegúrese de agregar el rol autenticado de Amazon Cognito en la política de acceso al dominio. Si no agrega el rol autenticado, su política de acceso se comportará como una política normal.
  • Las solicitudes las firma un usuario o rol de AWS Identity Access Management (IAM) permitido. Cuando acceda a la URL de Dashboards, evite utilizar algún método proxy de Dashboards para firmar las solicitudes.
  • Su dominio de OpenSearch Service se encuentra en una Virtual Private Cloud (VPC). Además, su dominio tiene una política de acceso abierta. En este escenario, todos los usuarios de la VPC pueden obtener acceso a Dashboards y al dominio sin la autenticación de Amazon Cognito.

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 ha 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."

El error anterior 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, siga los siguientes pasos:

  1. Abra 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)

El mensaje de error anterior 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"
       }
      }
    }
  ]
}
  1. 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: Configurar un dominio con un usuario maestro de IAM y la autenticación de 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"

El error anterior 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. Abra 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 la parte izquierda de la consola, en App integration (Integración de aplicaciones), elija App Client (Cliente de aplicaciones) de OpenSearch desde App client (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 un aspecto similar al siguiente:

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

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

Si no puede iniciar sesión, y 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. Complete los siguientes pasos para encontrar el nombre del rol autenticado y agregarlo a la política de acceso de OpenSearch Service:

  1. Abra 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.


Información relacionada

Problemas habituales de configuración

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año