

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
<a name="fgac-http-auth"></a>

En este tutorial se describe otro caso de uso muy [detallado del control de acceso](fgac.md): un usuario maestro en la base de datos de usuarios interna y la autenticación básica mediante HTTP para los paneles de control. 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:

1. [Cree un dominio con un usuario maestro](#fgac-http-auth-domain)

1. [Configure un usuario interno en los paneles OpenSearch ](#fgac-http-auth-dashboards-user)

1. [Asigne funciones en los paneles OpenSearch ](#fgac-http-auth-dashboards-map)

1. [Evaluar los permisos](#fgac-http-auth-test)

## Paso 1: crear un dominio
<a name="fgac-http-auth-domain"></a>

Ve a la consola de Amazon OpenSearch Service en [https://console.aws.amazon.com/aos/casa/](https://console.aws.amazon.com/aos/home/) y [crea un dominio](createupdatedomains.md) 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:

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Principal": {
          "AWS": "arn:aws:iam::111122223333:root"
        },
        "Action": [
          "es:ESHttp*"
        ],
        "Resource": "arn:aws:es:us-east-1:111122223333:domain/{domain-name}/*"
      }
    ]
  }
  ```

------
+ Se requiere HTTPS para todo el tráfico al dominio
+ Node-to-node cifrado
+ Cifrado de datos en reposo

## Paso 2: Crear un usuario interno en los OpenSearch paneles
<a name="fgac-http-auth-dashboards-user"></a>

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/`.

1. Inicie sesión con el `TheMasterUser`.

1. Seleccione **Agregar datos de muestra** y agregue los datos de vuelos de muestra.

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

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

## Paso 3: Asigne funciones en los paneles OpenSearch
<a name="fgac-http-auth-dashboards-map"></a>

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.

1. Llame al rol `new-role`.

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

1. Para el grupo de acciones, seleccione **leer**.

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

   ```
   {
     "match": {
       "FlightDelay": true
     }
   }
   ```

1. Para la seguridad a nivel del campo, seleccione **Excluir** y especifique `FlightNum`.

1. Para **Anonimización**, especifique `Dest`.

1. Seleccione **Crear**.

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

1. Vuelva a la lista de roles y elija **opensearch\$1dashboards\$1user**. Seleccione **Usuarios asignados**, **Administrar mapeo**. A continuación, agregue `new-user` a **Usuarios** y elija **Mapear**.

## Paso 4: probar los permisos
<a name="fgac-http-auth-test"></a>

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**.

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

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

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