Elasticsearch Obtener roles

Elasticsearch Obtener Roles



“Elasticsearch es un motor de búsqueda y análisis increíblemente versátil y potente. Puede ingerir, organizar, ordenar, agregar y administrar rápidamente grandes cantidades de datos de texto.

A pesar de todo eso, una de las características más destacadas de Elasticsearch y todo su ecosistema son las características de seguridad acorazadas. Elasticsearch incluye funciones como la firma de solicitudes HTTP y permite que solo los usuarios autenticados realicen operaciones en el clúster.







Otra característica de seguridad en Elasticsearch es el uso de usuarios y roles. Elasticsearch le permite asignar roles específicos a los usuarios en el clúster. Luego, se utilizan para determinar qué acciones puede realizar el nombre de usuario en el clúster.



Elasticsearch asignará un rol predeterminado a todos los usuarios creados en el clúster. El rol predeterminado permite a los usuarios acceder al punto final de autenticación, que es responsable de cambiar las contraseñas, recuperar la información del usuario, etc.



NOTA: La función predeterminada también se asigna a usuarios anónimos.





El núcleo de este tutorial es brindarle los fundamentos de los roles de Elasticsearch. Con este tutorial, descubrirá cómo recuperar los roles en el dominio nativo de Elasticsearch y ver los roles asignados a un nombre de usuario específico.

Sumerjámonos.



API de obtención de roles de Elasticsearch

Usamos la API Get Roles para recuperar información sobre los roles en el clúster de Elasticsearch. La sintaxis de la solicitud es como se muestra:

OBTENER / _seguridad / role

 
La consulta anterior debe devolver todos los roles en el sistema.

Para recuperar información sobre un rol específico, puede usar la sintaxis como se muestra:

OBTENER / _seguridad / role /< nombre >

 
NOTA: Esta API requiere que el usuario tenga privilegios de administración de seguridad en el clúster.

Si la solicitud es exitosa, la consulta debe devolver una matriz de roles.

Ejemplo 1: recuperar todos los roles en el clúster

La solicitud de ejemplo a continuación recuperará todos los roles en el clúster de Elasticsearch:

rizo -XGET “http://localhost:9200/_security/role?pretty=true” -H 'kbn-xsrf: informes'

 
A continuación se muestra un ejemplo de salida:

{
'apm_usuario' : {
'grupo' : [ ] ,
'índices' : [
{
'nombres' : [
'apm-*'
] ,
'privilegios' : [
'leer' ,
'ver_índice_metadatos'
] ,
'permitir_índices_restringidos' : falso
} ,
{
'nombres' : [
'ventana-aprox.*'
] ,
'privilegios' : [
'leer' ,
'ver_índice_metadatos'
] ,
'permitir_índices_restringidos' : falso
} ,
{
'nombres' : [
'ventana-aprox-*'
] ,
'privilegios' : [
'leer' ,
'ver_índice_metadatos'
] ,
'permitir_índices_restringidos' : falso
} ,
{
'nombres' : [
'métricas-apm.*'
] ,
'privilegios' : [
'leer' ,
'ver_índice_metadatos'
] ,
'permitir_índices_restringidos' : falso
} ,
{
'nombres' : [
'métricas-apm-*'
] ,
'privilegios' : [
'leer' ,
'ver_índice_metadatos'
] ,
'permitir_índices_restringidos' : falso
} ,
{
'nombres' : [
'rastros-apm.*'
] ,
'privilegios' : [
'leer' ,
'ver_índice_metadatos'
] ,
'permitir_índices_restringidos' : falso
} ,

 
NOTA: El resultado anterior se ha truncado para el alcance de este tutorial.

Ejemplo 2: obtener información sobre un rol específico

El siguiente ejemplo devuelve información sobre el rol kibana_admin.

rizo -XGET “http://localhost:9200/_security/role/kibana_admin” -H 'kbn-xsrf: informes'

 
La información de rol resultante es como se muestra:

{
'kibana_admin' : {
'grupo' : [ ] ,
'índices' : [ ] ,
'aplicaciones' : [
{
'solicitud' : 'kibana-.kibana' ,
'privilegios' : [
'todos'
] ,
'recursos' : [
'*'
]
}
] ,
'correr como' : [ ] ,
'metadatos' : {
'_reservado' : verdadero
} ,
'metadatos_transitorios' : {
'activado' : verdadero
}
}
}

 

Recuperar información de roles en YAML

De forma predeterminada, la API de obtención de roles devolverá el resultado en formato JSON. Sin embargo, puede elegir un formato diferente utilizando el parámetro de formato.

La sintaxis es como se muestra:

OBTENER / _seguridad / ¿role? formato =json / Yaml

 
Por ejemplo, para recuperar la información sobre el rol kibana_admin en formato YAML, podemos ejecutar:

rizo -XGET 'http://localhost:9200/_security/role/kibana_admin?format=yaml' -H 'kbn-xsrf: informes'

 
Salida resultante:

---
kibana_admin:
grupo: [ ]
índices: [ ]
aplicaciones:
- solicitud: 'kibana-.kibana'
privilegios:
- 'todos'
recursos:
- '*'
correr como: [ ]
metadatos:
_reservado: verdadero
metadatos_transitorios:
activado: verdadero

 

Ver roles para un usuario específico

Si desea ver información sobre un nombre de usuario específico (incluidas sus funciones), puede utilizar la solicitud como se muestra:

OBTENER / _seguridad / usuario

 
Por ejemplo, supongamos que tenemos un nombre de usuario 'linuxhint', podemos recuperar esa información de usuario como se muestra:

rizo -XGET “http://locahost:9200/_security/user/linuxhint?format=yaml” -H 'kbn-xsrf: informes'

 
La solicitud anterior debe devolver información sobre el usuario en formato YAML como se muestra:

---
pista de linux:
nombre de usuario: 'linux'
roles:
- 'espectador'
- 'usuario_observador'
nombre completo: 'linuxhint.com'
Email: ' [correo electrónico protegido] '
metadatos: { }
activado: verdadero

 
Podemos ver que el usuario tiene los roles de espectador y observador_usuario.

Ver roles en Kibana

Si no desea utilizar la API de roles cat, puede ver los roles de Elasticsearch en Kibana navegando a Administración -> Administración de pila.


A continuación, vaya a Seguridad -> Roles


A continuación, puede ver y administrar los roles.

Conclusión

En este artículo, aprendió a usar la API de roles de Elasticsearch para ver información sobre roles específicos en el clúster. También descubrió cómo ver los roles de un nombre de usuario dado usando la API de usuario.

¡Gracias por leer!