Saltar al contenido

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

5 minutos de lectura
0

Quiero acceder a los paneles de OpenSearch 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 paneles de OpenSearch

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 los paneles. Para resolver este problema, agrega 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 los paneles 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 paneles de OpenSearch 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 paneles de OpenSearch 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 Editar configuración de seguridad.
  5. En Control de acceso preciso, elige 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: 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 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 los paneles de OpenSearch, 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 los paneles. 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. Agrega 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 los paneles de OpenSearch.

Información relacionada

Problemas habituales de configuración

OFICIAL DE AWSActualizada hace 2 años