Elasticsearch obter perfil de usuário

Elasticsearch obter perfil de usuário
“A API de perfil de usuário GET permite buscar informações de perfil de qualquer usuário ativo no cluster Elasticsearch usando o ID de perfil exclusivo.

Este breve artigo ensinará como buscar informações sobre um usuário específico usando este recurso. Isso permite que você saiba o estado de um usuário, funções atribuídas, estado ativado, nome completo, e -mail, etc.”

Vamos mergulhar.

Elasticsearch Obter API de perfil de usuário

Podemos usar o terminal da API Elasticsearch integrado para buscar informações de perfil de usuário usando seu ID exclusivo.

A sintaxe da solicitação é como mostrado abaixo:

Get/_security/perfil/

A API exige que você tenha privilégios gerenciais_user_profile no cluster.

Se a solicitação for bem -sucedida, a API retornará uma resposta com informações do usuário. Como mencionado, você precisa do ID exclusivo do usuário para buscar as informações do perfil deles.

Você pode buscar o ID exclusivo de um usuário específico durante a ativação.

Vamos ver como podemos executar esta ação.

Elasticsearch Criar usuário

Começaremos criando um usuário de amostra. Isso nos permitirá ilustrar como ativar o usuário e buscar seu ID exclusivo.

Podemos criar um usuário enviando uma solicitação de postagem para a API de criação de usuário.

Curl -xpost "http: // localhost: 9200/_security/user/linuxhint" -h "kbn -xsrf: relatórios" -h "conteúdo: aplicativo/json" -d '

"Senha": "Supersecret",
"Funções": ["Watcher"],
"Full_name": "Linux Dica",
"Email": "[email protected] ",
"Metadata":
"Pontuação": 10

'

A solicitação acima deve criar o usuário com o nome de usuário especificado.

Saída:


"Criado": verdadeiro

Elasticsearch Ative o usuário

Depois de criarmos o usuário -alvo, podemos ativar a conta, permitindo -nos buscar seu ID exclusivo do nome de usuário especificado.

A sintaxe para ativação do usuário é como mostrado:

Post/_security/perfil/_activate

Por exemplo, para ativar o usuário "Linuxhint" que criamos, podemos executar o comando;

Curl -xpost "http: // localhost: 9200/_security/perfil/_activate" -h "kbn -xsrf: relatórios" -h "type: aplicativo/json" -d '

"Grant_type": "Senha",
"Nome de usuário": "Linuxhint",
"Senha": "Supersecret"
'

A solicitação acima envia uma solicitação de postagem para o endpoint de ativação da API com os detalhes do usuário que desejamos ativar.

O Grant_Type especifica o tipo de concessão. Elasticsearch suporta dois tipos principais de subsídios:

  1. Access_Token permite que você passe o token de acesso gerado pelo Elasticsearch Service.
  2. Senha - a senha especifica o nome de usuário e a senha do usuário alvo.

Nota: Os parâmetros de nome de usuário e senha são necessários para o Grant_Type = senha.

Depois de executar a solicitação acima, a consulta acima deve retornar:


"uid": "u_ytx7x2gyhoik4qjtmvgm4mjdibjqmmqi03ycezehhe_0",
"Enabled": verdadeiro,
"Last_synchronized": 1662087530428,
"do utilizador":
"Nome de usuário": "Linuxhint",
"Funções": [
"observador"
],
"realm_name": "nativo",
"Email": "[email protected] ",
"Full_name": "Linux Dica"
,
"Rótulos": ,
"dados": ,
"_doc":
"_Primary_term": 1,
"_seq_no": 1

A resposta acima mostra vários detalhes sobre o perfil ativado. No nosso caso, estamos interessados ​​no valor armazenado no campo UID.

Elasticsearch obter perfil de usuário

Para buscar o perfil do usuário, use o valor UID gerado e execute a consulta mostrada na sintaxe abaixo:

Get/_security/perfil/

Por exemplo:

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

A solicitação acima deve retornar detalhes do perfil de usuário especificado. Um exemplo de resultado é como mostrado:


"U_YTX7X2GYHOIK4QJTMVGM4MJDIBJQMMMQI03YCEZEHHE_0":
"uid": "u_ytx7x2gyhoik4qjtmvgm4mjdibjqmmqi03ycezehhe_0",
"Enabled": verdadeiro,
"Last_synchronized": 1662087530428,
"do utilizador":
"Nome de usuário": "Linuxhint",
"Funções": [
"observador"
],
"realm_name": "nativo",
"Email": "[email protected] ",
"Full_name": "Linux Dica"
,
"Rótulos": ,
"dados": ,
"_doc":
"_Primary_term": 1,
"_seq_no": 1


Conclusão

Neste artigo, você aprendeu a usar o Elasticsearch, obter perfil de usuário para buscar informações sobre um usuário específico com base em seu ID exclusivo.

Obrigado pela leitura!!