Tutorial: Configurar un dominio con la base de datos de usuarios interna y la autenticación básica de HTTP
Este tutorial explica otro caso de uso habitual de control de acceso detallado: un usuario maestro en la base de datos de usuarios interna y la autenticación básica de HTTP para OpenSearch Dashboards. A continuación, el usuario maestro puede iniciar sesión en OpenSearch Dashboards, crear un usuario interno, asignar el usuario a un rol y utilizar el control de acceso detallado para limitar los permisos del usuario.
En este tutorial, deberá completar los siguientes pasos:
Paso 1: crear un dominio
Vaya a la consola de Amazon OpenSearch Service en https://console.aws.amazon.com/aos/home/
-
OpenSearch 1.0 o posterior, Elasticsearc 7.9 o posterior
-
Acceso público
-
Control de acceso detallado con un usuario maestro en la base de datos de usuarios interna (
TheMasterUseren el resto de este tutorial) -
Autenticación de Amazon Cognito para Dashboards deshabilitada
-
La siguiente política de acceso:
-
Se requiere HTTPS para todo el tráfico al dominio
-
Cifrado de nodo a nodo
-
Cifrado de datos en reposo
Paso 2: configurar un usuario interno en OpenSearch Dashboards
Ahora que tiene un dominio, puede iniciar sesión en OpenSearch Dashboards y crear un usuario interno.
-
Vuelva a la consola de OpenSearch Service y vaya a la URL de OpenSearch Dashboards para el dominio que creó. La URL tiene este formato:
.domain-endpoint/_dashboards/ -
Inicie sesión con el
TheMasterUser. -
Seleccione Agregar datos de muestra y agregue los datos de vuelos de muestra.
-
En el panel de navegación izquierdo, seleccione Seguridad, Usuarios internos y Crear usuario interno.
-
Llame al usuario
new-usery especifique una contraseña. A continuación, seleccione Crear.
Paso 3: asignar roles en OpenSearch Dashboards
Ahora que el usuario está configurado, puede asignarlo a un rol.
-
Permanezca en la sección Seguridad de OpenSearch Dashboards y elija Roles, Crear rol.
-
Llame al rol
new-role. -
Para Índice, especifique
opensearch_dashboards_sample_data_fli*(kibana_sample_data_fli*en dominios Elasticsearch) para el patrón de índice. -
Para el grupo de acciones, seleccione leer.
-
Para Seguridad a nivel del documento, especifique la siguiente consulta:
{ "match": { "FlightDelay": true } } -
Para la seguridad a nivel del campo, seleccione Excluir y especifique
FlightNum. -
Para Anonimización, especifique
Dest. -
Elija Crear.
-
Seleccione Usuarios asignados, Administrar mapeo. A continuación, agregue
new-usera Usuarios y elija Mapear. -
Vuelva a la lista de roles y elija opensearch_dashboards_user. Seleccione Usuarios asignados, Administrar mapeo. A continuación, agregue
new-usera 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.
-
En una nueva ventana privada del navegador, vaya a la URL de OpenSearch Dashboards del dominio, inicie sesión con las credenciales del
new-usery, a continuación, seleccione Explorar por mi cuenta. -
Vaya a Herramientas para desarrolladores y ejecute la búsqueda predeterminada:
GET _search { "query": { "match_all": {} } }Observe el error de permisos.
new-userno tiene permisos para ejecutar búsquedas en todo el clúster. -
Ejecute otra búsqueda:
GET dashboards_sample_data_flights/_search { "query": { "match_all": {} } }Tenga en cuenta que todos los documentos coincidentes tienen un campo
FlightDelaydetrue, un campoDestanonimizado y ningún campoFlightNum. -
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.