Saltar al contenido

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

5 minutos de lectura
0

Quiero acceder a OpenSearch Dashboards y usar la autenticación de Amazon Cognito en mi dominio de Amazon OpenSearch Service. Sin embargo, se muestra un error o se produce 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 Dashboards

Es posible que la página de inicio de sesión no aparezca por los siguientes motivos:

  • Has usado una política de acceso a dominios basada en IP que permite que la dirección IP de la máquina local acceda a Dashboards. Para resolver este problema, añade el rol autenticado de Amazon Cognito a la política de acceso a dominios.
  • Has utilizado un rol de AWS Identity and Access Management (IAM) con permiso para firmar solicitudes. Para resolver este problema, no utilices un método proxy para firmar las solicitudes.
  • Tu dominio de OpenSearch Service está en una nube virtual privada (VPC), por lo que el dominio tiene una política de acceso abierto. No necesitas la autenticación de Amazon Cognito para acceder a Dashboards cuando tu dominio está en una VPC.
    Nota: Para exigir la autenticación de Amazon Cognito, cambia la política de acceso a dominios.

Si la autenticación de Amazon Cognito te redirige a la página de inicio de sesión de OpenSearch Dashboards pero no puedes iniciar sesión, significa que has configurado Amazon Cognito de forma incorrecta. Para solucionar este problema, toma estas medidas:

Error “Missing Role”

Si tienes activado el control de acceso preciso en OpenSearch Dashboards en tu dominio de OpenSearch Service, es posible que recibas el siguiente error:

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

Para resolver este problema, asegúrate de que el rol que asume el grupo de identidades de Amazon Cognito coincida con el rol de IAM del usuario principal especificado.

Para hacer coincidir el rol de IAM del usuario principal con el rol asumido de Amazon Cognito, sigue estos pasos:

  1. Abre la consola de OpenSearch Service.
  2. En el panel de navegación, en Clústeres administrados, selecciona Dominios.
  3. Selecciona Acciones.
  4. Selecciona Edit security configuration (Editar configuración de seguridad).
  5. En Fine-grained access control (Control de acceso preciso), elige Set IAM ARN as your master user (Establecer ARN de IAM como usuario maestro).
  6. En ARN de IAM, introduce el ARN del rol del grupo de identidades de Amazon Cognito.
  7. (Opcional) Si no conoces el ARN del usuario principal, modifica tu usuario principal para especificar un ARN de IAM nuevo.
  8. Selecciona Enviar.

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

Si Amazon Cognito no tiene permiso para asumir un rol de IAM para el usuario autenticado, es posible que recibas 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: #####-####-####-####-#####)”

Para resolver este problema, modifica la relación de confianza del rol de IAM.

Sigue estos pasos:

  1. Abre la consola de Amazon IAM.

  2. Selecciona Roles.

  3. Selecciona tu rol de IAM.

  4. Elige la pestaña Relaciones de confianza.

  5. Selecciona Editar la relación de confianza. Asegúrate de que tu grupo de identidades de Amazon Cognito pueda asumir el rol de IAM.

    Ejemplo de política de confianza:

    {
      "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. Selecciona Actualizar la política de confianza.

Para obtener más información, consulta Tutorial: Configure a domain with an IAM master user and Amazon Cognito authentication (Tutorial: configuración de un dominio con un usuario maestro de IAM y autenticación de Amazon Cognito).

Se muestra un error al solicitar la página

Si configuras incorrectamente la URL de devolución de llamada o el punto de enlace personalizado en la configuración del cliente de la aplicación, es posible que recibas el siguiente error:

“An error was encountered with the requested page”

Para comprobar que has configurado correctamente la configuración del cliente de la aplicación, sigue estos pasos:

  1. Abre la consola de Amazon Cognito.

  2. Elige Manage user pools (Administrar grupos de usuarios).

  3. Selecciona el grupo de usuarios que desees editar.

  4. En Integración de aplicaciones, selecciona el cliente de la aplicación de OpenSearch en el menú Cliente de la aplicación.

  5. Comprueba que has configurado correctamente las URL de devolución de llamada y las URL de cierre de sesión.

    URL de ejemplo:

    <dashboards-endpoint>/_dashboards/app/home

    URL de ejemplo para un dominio con un punto de enlace personalizado activado:

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

Se muestra el error “CognitoIdentityCredentials is not authorized to perform”

Si inicias sesión pero no puedes ver OpenSearch Dashboards, es posible que recibas 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 permisos necesarios para acceder a Dashboards. Para buscar el nombre del rol autenticado y agregarlo a la política de acceso de OpenSearch Service, sigue estos pasos:

  1. Abre la consola de Amazon Cognito.
  2. Elige Administrar grupos de identidades.
  3. Elige Editar grupo de identidades.
  4. Añade el rol autenticado a la política de acceso a dominios de OpenSearch Service.

Nota: Se recomienda utilizar una política basada en recursos para los usuarios autenticados. El rol autenticado controla específicamente la autenticación de Amazon Cognito para OpenSearch Dashboards.

Información relacionada

Common configuration issues (Problemas de configuración comunes)

OFICIAL DE AWSActualizada hace 9 meses