Elasticsearch obtém papéis

Elasticsearch obtém papéis

“Elasticsearch é um mecanismo de pesquisa e análise incrivelmente versátil e poderoso. Pode ingerir, organizar, classificar, agregar e gerenciar rapidamente grandes quantidades de dados de texto.

Apesar de tudo isso, um dos recursos mais destacados do Elasticsearch e todo o seu ecossistema são os recursos de segurança do IronClad. Elasticsearch inclui recursos como a assinatura de solicitações HTTP e permite que apenas usuários autenticados executem operações no cluster.

Outro recurso de segurança no Elasticsearch é o uso de usuários e funções. Elasticsearch permite que você atribua funções específicas aos usuários no cluster. Eles são então usados ​​para determinar quais ações o nome de usuário pode executar no cluster.

Elasticsearch atribuirá uma função padrão a todos os usuários criados no cluster. A função padrão permite que os usuários acessem o endpoint de autenticação, responsável pela alteração de senhas, recuperação de informações do usuário, etc.”

Nota: A função padrão também é atribuída a usuários anônimos.

O núcleo deste tutorial é dar a você os fundamentos das funções de pesquisa de elasticidade. Usando este tutorial, você descobrirá como buscar os papéis no reino nativo do Elasticsearch e ver os papéis atribuídos a um nome de usuário específico.

Vamos mergulhar.

Elasticsearch Get Papéis API

Usamos a API GET PROUNS para recuperar informações sobre funções no cluster Elasticsearch. A sintaxe da solicitação é como mostrado:

Get /_security /função


A consulta acima deve retornar todos os papéis no sistema.

Para recuperar informações sobre uma função específica, você pode usar a sintaxe como mostrado:

Get/_security/função/


Nota: Esta API exige que o usuário tenha um privilégio de gerenciamento_security no cluster.

Se a solicitação for bem -sucedida, a consulta deve retornar uma variedade de papéis.

Exemplo 1 - Recupere todas as funções no cluster

A solicitação de exemplo abaixo recuperará todas as funções no cluster Elasticsearch:

Curl -xget "http: // localhost: 9200/_security/função?Pretty = True "-h" KBN -XSRF: Relatórios "


Um exemplo de saída é mostrado abaixo:


"APM_USER":
"conjunto": [],
"índices": [

"Nomes": [
"APM-*"
],
"Privilégios": [
"ler",
"View_index_metadata"
],
"allow_restritist_indices": false
,

"Nomes": [
"Logs-APM.*"
],
"Privilégios": [
"ler",
"View_index_metadata"
],
"allow_restritist_indices": false
,

"Nomes": [
"Logs-apm-*"
],
"Privilégios": [
"ler",
"View_index_metadata"
],
"allow_restritist_indices": false
,

"Nomes": [
"Métricas-APM.*"
],
"Privilégios": [
"ler",
"View_index_metadata"
],
"allow_restritist_indices": false
,

"Nomes": [
"Métricas-apm-*"
],
"Privilégios": [
"ler",
"View_index_metadata"
],
"allow_restritist_indices": false
,

"Nomes": [
"Traces-APM.*"
],
"Privilégios": [
"ler",
"View_index_metadata"
],
"allow_restritist_indices": false
,


Nota: A saída acima foi truncada para o escopo deste tutorial.

Exemplo 2 - Obtenha informações sobre uma função específica

O exemplo abaixo retorna informações sobre o papel Kibana_admin.

Curl -xget "http: // localhost: 9200/_security/role/kibana_admin" -h "kbn -xsrf: relatórios"


As informações de função resultantes são mostradas:


"Kibana_admin":
"conjunto": [],
"Índices": [],
"formulários": [

"Aplicativo": "Kibana-.kibana ",
"Privilégios": [
"todos"
],
"recursos": [
"*"
]

],
"correr como": [],
"Metadata":
"_Reserved": verdadeiro
,
"transient_metadata":
"Enabled": verdadeiro


Recuperar informações de função no YAML

Por padrão, a API Get Papnces retornará o resultado no formato JSON. No entanto, você pode escolher um formato diferente usando o parâmetro de formato.

A sintaxe é como mostrado:

Get /_security /função?formato = json/yaml


Por exemplo, para recuperar as informações sobre o papel Kibana_admin no formato YAML, podemos executar:

Curl -xget "http: // localhost: 9200/_security/role/kibana_admin?formato = yaml "-h" kbn -xsrf: relatórios "


Saída resultante:

---
kibana_admin:
conjunto: []
índices: []
formulários:
- Aplicação: "Kibana-.kibana "
privilégios:
- "todos"
recursos:
- "*"
correr como: []
Metadados:
_Reserved: true
transient_metadata:
ativado: true

Veja as funções para um usuário específico

Se você deseja visualizar informações sobre um nome de usuário específico (incluindo suas funções), pode usar a solicitação como mostrado:

Get /_Security /Usuário


Por exemplo, suponha que tenhamos um nome de usuário "Linuxhint", podemos recuperar as informações do usuário como mostrado:

Curl -xget "http: // lochost: 9200/_security/user/linuxhint?formato = yaml "-h" kbn -xsrf: relatórios "


A solicitação acima deve retornar informações sobre o usuário no formato YAML, como mostrado:

---
Linuxhint:
Nome de usuário: "Linuxhint"
papéis:
- "Visualizador"
- "Watcher_user"
Full_name: "Linuxhint.com "
E -mail: "[email protected] "
Metadados:
ativado: true


Podemos ver que o usuário tem o visualizador e os papéis do Watcher_User_User.

Ver papéis em Kibana

Se você não deseja usar a API de funções de gatos, pode ver as funções de pesquisa de elasticidade em Kibana navegando para a gerência -> Gerenciamento de pilha.


Em seguida, navegue para a segurança -> papéis


Você pode ver e gerenciar os papéis.

Conclusão

Neste artigo, você aprendeu a usar a API do Elasticsearch Papuls para visualizar informações sobre funções específicas no cluster. Você também descobriu como ver os papéis de um determinado nome de usuário usando a API do usuário.

Obrigado pela leitura!