Tutorial: Configurar un dominio con la base de datos de usuarios interna y la autenticación básica de HTTP - OpenSearch Servicio Amazon

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial: Configurar un dominio con la base de datos de usuarios interna y la autenticación básica de HTTP

En este tutorial se describe otro caso de uso muy detallado del control de acceso: un usuario maestro en la base de datos de usuarios interna y la autenticación básica mediante HTTP para los paneles. OpenSearch A continuación, el usuario maestro puede iniciar sesión en OpenSearch Dashboards, crear un usuario interno, asignar al usuario a un rol y usar un control de acceso detallado para limitar los permisos del usuario.

En este tutorial, deberá completar los siguientes pasos:

Paso 1: crear un dominio

Ve a la consola OpenSearch de Amazon Service en https://console.aws.amazon.com/aos/home/ y crea un dominio con los siguientes ajustes:

  • OpenSearch 1.0 o posterior, o Elasticsearch 7.9 o posterior

  • Acceso público

  • Control de acceso detallado con un usuario maestro en la base de datos de usuarios interna (TheMasterUser en el resto de este tutorial)

  • Autenticación de Amazon Cognito para Dashboards deshabilitada

  • La siguiente política de acceso:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::{account-id}:user/*" ] }, "Action": [ "es:ESHttp*" ], "Resource": "arn:aws:es:{region}:{account-id}:domain/{domain-name}/*" } ] }
  • Se requiere HTTPS para todo el tráfico al dominio

  • Sin cifrado ode-to-node

  • Cifrado de datos en reposo

Paso 2: Crear un usuario interno en los OpenSearch paneles

Ahora que tiene un dominio, puede iniciar sesión en OpenSearch Dashboards y crear un usuario interno.

  1. Vuelva a la consola OpenSearch de servicio y navegue hasta la URL de los OpenSearch paneles del dominio que creó. La URL tiene este formato: domain-endpoint/_dashboards/.

  2. Inicie sesión con el TheMasterUser.

  3. Seleccione Agregar datos de muestra y agregue los datos de vuelos de muestra.

  4. En el panel de navegación izquierdo, seleccione Seguridad, Usuarios internos y Crear usuario interno.

  5. Llame al usuario new-user y especifique una contraseña. A continuación, seleccione Crear.

Paso 3: Asigne funciones en los paneles OpenSearch

Ahora que el usuario está configurado, puede asignarlo a un rol.

  1. Permanezca en la sección Seguridad de los OpenSearch paneles de control y elija Roles y Crear rol.

  2. Llame al rol new-role.

  3. Para Índice, especifique opensearch_dashboards_sample_data_fli* (kibana_sample_data_fli* en dominios Elasticsearch) para el patrón de índice.

  4. Para el grupo de acciones, seleccione leer.

  5. Para Seguridad a nivel del documento, especifique la siguiente consulta:

    { "match": { "FlightDelay": true } }
  6. Para la seguridad a nivel del campo, seleccione Excluir y especifique FlightNum.

  7. Para Anonimización, especifique Dest.

  8. Seleccione Crear.

  9. Seleccione Usuarios asignados, Administrar mapeo. A continuación, agregue new-user a Usuarios y elija Mapear.

  10. Vuelva a la lista de roles y elija opensearch_dashboards_user. Seleccione Usuarios asignados, Administrar mapeo. A continuación, agregue new-user a Usuarios y elija Mapear.

Paso 4: probar los permisos

Cuando los roles están asignados de manera correcta, puede iniciar sesión como el usuario limitado y probar los permisos.

  1. En una nueva ventana privada del navegador, vaya a la URL de OpenSearch Dashboards del dominio, inicie sesión con las new-user credenciales y elija Explorar por mi cuenta.

  2. Vaya a Herramientas para desarrolladores y ejecute la búsqueda predeterminada:

    GET _search { "query": { "match_all": {} } }

    Observe el error de permisos. new-user no tiene permisos para ejecutar búsquedas en todo el clúster.

  3. Ejecute otra búsqueda:

    GET dashboards_sample_data_flights/_search { "query": { "match_all": {} } }

    Tenga en cuenta que todos los documentos coincidentes tienen un campo FlightDelay de true, un campo Dest anonimizado y ningún campo FlightNum.

  4. En la ventana original del navegador, inicie sesión como TheMasterUser, seleccione Herramientas para desarrolladores y realice las mismas búsquedas. Observe la diferencia en permisos, número de aciertos, documentos coincidentes y campos incluidos.