# Creación de usuarios

**URL:** <https://discuss.elastic.co/t/creacion-de-usuarios/328845>\
**Category:** Elastic en Español\
**Created:** [March 29, 2023, 2:33pm UTC](https://discuss.elastic.co/t/creacion-de-usuarios/328845 "2023-03-29T14:33:56Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![JorgeGV](https://avatars.discourse-cdn.com/v4/letter/j/0ea827/32.png) [@JorgeGV](https://discuss.elastic.co/u/JorgeGV)\
**Post date:** [March 29, 2023, 2:33pm UTC](https://discuss.elastic.co/t/creacion-de-usuarios/328845/1 "2023-03-29T14:33:56Z")

</div>

Tengo un dashboard con información global de un país y sus respectivas regiones.  
Ahora quiero crear usuarios para este dashboard, pero que sólo puedan acceder a la información de su región. ¿Cómo puedo hacerlo?. Gracias

---

<div class="post-metadata">

**Author:** ![jsanz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jsanz/32/53734_2.png) [@jsanz](https://discuss.elastic.co/u/jsanz)\
**Post date:** [March 30, 2023, 8:08am UTC](https://discuss.elastic.co/t/creacion-de-usuarios/328845/2 "2023-03-30T08:08:12Z")

</div>

Hola @JorgeGV , bienvenido a la comunidad de Elastic.

Has mirado la [seguridad a nivel de documento](https://www.elastic.co/guide/en/elasticsearch/reference/current/document-level-security.html)? puedes crear roles que tienen acceso a documentos que cumplen un cierto criterio, la región en tu caso. Asignando tus usuarios a roles que mapean las regiones que quieres que vean debería de cumplir tu requerimiento

> **[Document level security | Elasticsearch Guide \[8.6\] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/current/document-level-security.html)**

---

<div class="post-metadata">

**Author:** ![JorgeGV](https://avatars.discourse-cdn.com/v4/letter/j/0ea827/32.png) [@JorgeGV](https://discuss.elastic.co/u/JorgeGV)\
**Post date:** [March 30, 2023, 9:16am UTC](https://discuss.elastic.co/t/creacion-de-usuarios/328845/3 "2023-03-30T09:16:35Z")

</div>

Que tipo de licencia tengo que tener para utilizar esa funcionalidad?.  
He intentado aplicar una regla a un rol y

````auto
{
  "error": {
    "root_cause": [
      {
        "type": "security_exception",
        "reason": "current license is non-compliant for [field and document level security]",
        "license.expired.feature": "field and document level security"
      }
    ],
    "type": "security_exception",
    "reason": "current license is non-compliant for [field and document level security]",
    "license.expired.feature": "field and document level security"
  },
  "status": 403
}```
````

---

<div class="post-metadata">

**Author:** ![jsanz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jsanz/32/53734_2.png) [@jsanz](https://discuss.elastic.co/u/jsanz)\
**Post date:** [April 3, 2023, 10:26am UTC](https://discuss.elastic.co/t/creacion-de-usuarios/328845/4 "2023-04-03T10:26:35Z")

</div>

Hola, la licencia necesaria para seguridad a nivel de campo y documento es `Platinum`, aquí hay más detalles sobre el mapeo de características y licencias

> **[Elastic Cloud Feature Matrix](https://www.elastic.co/subscriptions/cloud)**
>
> Elastic Cloud gives you the flexibility to run where you want. Deploy our managed service on Google Cloud, Microsoft Azure, or Amazon Web Services, and we'll handle the maintenance and upkeep for you. Start with a free 14-day trial and flexibility to...

Otra opción menos flexible pero que debería servirte es crear roles con una consulta asignada tal y como se documenta en la sección `index => query` aquí:

> **[Create or update roles API | Elasticsearch Guide \[8.7\] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role.html#security-api-put-role-request-body)**

Mira el código que adjunto que hace lo siguiente:

- Borrar recursos (sólo para volver a ejecutar)
- Crear un rol que da acceso a un único índice filtrando por un término concreto y da acceso a Discover y Dashboards en Kibana para un espacio concreto
- Crear un usuario y asignarle ese rol
- Crear un índice con algunos datos.

```auto
/* Clean up */
DELETE _security/role/discuss-328845-spain
DELETE _security/user/test_spain
DELETE discuss-328845-data

/* Create a role that can access an index with a certain query, certain Kibana features from a space called "public"*/
POST _security/role/discuss-328845-spain
{
  "indices": [
    {
      "names": ["discuss-328845-data"],
      "privileges": [
        "read",
        "view_index_metadata"
      ],
      "query": "{\"match\": {\"country\": \"spain\"}}"
    }
  ],
  "applications": [
      {
        "application": "kibana-.kibana",
        "privileges": [
          "feature_dashboard.read",
          "feature_discover.read",
          "feature_visualize.read"
        ],
        "resources": [
          "space:public"
        ]
      }
    ]
}

/* Create a user for the given role */
POST _security/user/test_spain
{
  "password": "328845spain",
  "roles": ["discuss-328845-spain"]
}

/* Create a test index */
PUT discuss-328845-data
{
  "mappings": {
    "properties": {
      "name": { "type": "text"},
      "country": { "type": "keyword"}
    }
  }
}

/* Add some data to the index */
POST discuss-328845-data/_bulk
{ "index": {}}
{"name": "rice", "country": "italy"}
{ "index": {}}
{"name": "tomato", "country": "italy"}
{ "index": {}}
{"name": "towel", "country": "italy"}
{ "index": {}}
{"name": "soap", "country": "spain"}
{ "index": {}}
{"name": "water", "country": "spain"}
{ "index": {}}
{"name": "orange", "country": "spain"}
{ "index": {}}
{"name": "cheese", "country": "france"}
{ "index": {}}
{"name": "wine", "country": "france"}
{ "index": {}}
{"name": "cologne", "country": "france"}

```

Luego en Kibana he creado en el espacio `public` un Data view y un cuardro de mando que con mi usuario principal veo así:

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/e/1/e1ee523d54bb134867832a664b27ed9cd10f058d.png)

Pero al hacer login con el usuario `test_spain` veo sólo lo sdatos `country: spain`:

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/2/5/2582e89b13707ecd2d2d6f64f57842a6278a6c74.png)

¿Sirve esto?

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [May 1, 2023, 10:27am UTC](https://discuss.elastic.co/t/creacion-de-usuarios/328845/5 "2023-05-01T10:27:04Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
