Elasticsearch Obter funções

Elasticsearch Obter Funcoes



“O Elasticsearch é um mecanismo de pesquisa e análise incrivelmente versátil e poderoso. Ele 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 de todo o seu ecossistema são os recursos de segurança rígidos. O Elasticsearch inclui recursos como a assinatura de solicitações HTTP e permite que apenas usuários autenticados realizem operações no cluster.







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



O 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 terminal de autenticação, que é responsável por alterar senhas, recuperar 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 é fornecer os fundamentos das funções do Elasticsearch. Usando este tutorial, você descobrirá como buscar as funções no realm nativo do Elasticsearch e visualizar as funções atribuídas a um nome de usuário específico.

Vamos mergulhar.



API de obtenção de funções do Elasticsearch

Usamos a API Get Roles para recuperar informações sobre funções no cluster Elasticsearch. A sintaxe da solicitação é a mostrada:

PEGUE / _segurança / 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 conforme mostrado:

PEGUE / _segurança / Função /< nome >


NOTA: Esta API requer que o usuário tenha o privilégio manage_security no cluster.

Se a solicitação for bem-sucedida, a consulta deverá retornar uma matriz de funções.

Exemplo 1 – Recuperar todas as funções no cluster

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

ondulação -XGET “http://localhost:9200/_security/role?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_restricted_indices' : falso
} ,
{
'nomes' : [
'janela-aprox.*'
] ,
'privilégios' : [
'ler' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : falso
} ,
{
'nomes' : [
'janela-aprox-*'
] ,
'privilégios' : [
'ler' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : falso
} ,
{
'nomes' : [
'metrics-apm.*'
] ,
'privilégios' : [
'ler' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : falso
} ,
{
'nomes' : [
'metrics-apm-*'
] ,
'privilégios' : [
'ler' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : falso
} ,
{
'nomes' : [
'traces-apm.*'
] ,
'privilégios' : [
'ler' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : falso
} ,


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

Exemplo 2 – Obter informações sobre uma função específica

O exemplo abaixo retorna informações sobre a função kibana_admin.

ondulação -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' : [
{
'inscrição' : 'kibana-.kibana' ,
'privilégios' : [
'tudo'
] ,
'Recursos' : [
'*'
]
}
] ,
'correr como' : [ ] ,
'metadados' : {
'_reservado' : verdadeiro
} ,
'transient_metadata' : {
'ativado' : verdadeiro
}
}
}

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

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

A sintaxe é a mostrada:

PEGUE / _segurança / Função? formato =json / yaml


Por exemplo, para recuperar as informações sobre a função kibana_admin no formato YAML, podemos executar:

ondulação -XGET 'http://localhost:9200/_security/role/kibana_admin?format=yaml' -H 'kbn-xsrf: relatórios'


Saída resultante:

---
kibana_admin:
conjunto: [ ]
índices: [ ]
formulários:
- inscrição: 'kibana-.kibana'
privilégios:
- 'tudo'
Recursos:
- '*'
correr como: [ ]
metadados:
_reservado: verdadeiro
transient_metadata:
ativado: verdadeiro

Exibir 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 conforme mostrado:

PEGUE / _segurança / do utilizador


Por exemplo, suponha que tenhamos um nome de usuário “linuxhint”, podemos recuperar essas informações do usuário conforme mostrado:

ondulação -XGET “http://locahost:9200/_security/user/linuxhint?format=yaml” -H 'kbn-xsrf: relatórios'


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

---
linuxhint:
nome de usuário: 'linux'
papéis:
- 'visualizador'
- 'watcher_user'
nome completo: 'linuxhint. com'
o email: ' [e-mail protegido] '
metadados: { }
ativado: verdadeiro


Podemos ver que o usuário tem os papéis viewer e watcher_user.

Ver funções no Kibana

Se você não quiser usar a API cat roles, poderá visualizar as funções do Elasticsearch no Kibana navegando até Management -> Stack Management.


Em seguida, navegue até Segurança -> Funções


Você pode então visualizar e gerenciar as funções.

Conclusão

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

Obrigado por ler!