

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.

**nota**  
Cuando se utiliza la autenticación básica HTTP con una política de acceso basada en recursos que especifica una entidad principal de IAM, las solicitudes no firmadas autenticadas mediante la autenticación básica HTTP son gestionadas únicamente por la minuciosa base de datos interna de usuarios del control de acceso. Las solicitudes firmadas (mediante Sigv4) se evalúan en función de la política de acceso al dominio y del control de acceso detallado. Si la política de acceso especifica un principio, por ejemplo`"AWS": "arn:aws:iam::111122223333:root"`, la política de acceso solo permitirá SigV4-signed las solicitudes de esa cuenta, mientras que las solicitudes de autenticación HTTP básica eluden la política de acceso y se controlan completamente mediante funciones de control de acceso específicas.

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 OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/home/](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
+ Fine-grained control de acceso con un usuario maestro en la base de datos de usuarios interna (`TheMasterUser`para 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**.

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