Neste guia rápido, examinaremos como habilitar os recursos de segurança do Elasticsearch Xpack e como usar a API de segurança para criar usuários e funções.
Vamos começar!
NOTA: Estamos assumindo que você já tem o Elasticsearch instalado e em execução em seu sistema. Caso contrário, considere os seguintes tutoriais para instalar o Elasticsearch.
https: // linuxhint.com / visualize_apache_logs_with_elk_stack /
https: // linuxhint.com / install-elasticsearch-ubuntu /
Como ativar os recursos de segurança do Elasticsearch?
Por padrão, os recursos do Elasticsearch, Xpack, estão desabilitados e você precisará habilitá-los. Primeiro, pare Elasticsearch e Kibana, para que você possa editar a configuração.
No arquivo de configuração Elasticsearch, edite o xpack.segurança.entrada ativada e defina-a como verdadeira.
Por padrão, você encontrará o elasticsearch.yml localizado em / etc / elasticsearch.
xpack.segurança.habilitado: verdadeiroSalve o arquivo e reinicie Elasticsearch e Kibana.
NOTA: Dependendo da licença que você possui, depois de ativar o xpack, você precisará executar o comando abaixo para configurar as senhas e autenticação:
elasticsearch-setup-passwordsComo criar usuários usando Kibana?
Se você tem Elasticsearch e Kibana acoplados, você pode facilmente criar usuários no gerenciamento de pilha Kibana.
Comece abrindo Kibana e, em seguida, faça login. Use as senhas que você usou ao configurar.
Uma vez conectado, selecione Kibana Dock e navegue até Stack Management e a seção de segurança.
Agora, navegue até usuários e clique em “criar usuário.”Ao criar um usuário, Kibana pedirá que você atribua uma função. Você pode ver todas as funções disponíveis em Stack Management - Security -Roles.
Forneça o nome de usuário, senha e nome completo.
Além dessa maneira simples de criar usuários Elasticsearch, você pode usar o método mais poderoso discutido abaixo:
Como criar usuários com a API Elasticsearch?
Outra maneira de criar usuários nativos no Elasticsearch é usar a API, usando security como ponto de extremidade, podemos adicionar, atualizar e remover usuários no Elasticsearch.
Vejamos como realizar essas operações.
Para interagir com a API de segurança, usamos as solicitações POST e PUT HTTP, garantindo que temos as informações do usuário no corpo da solicitação.
Ao criar um novo usuário, você deve passar o nome de usuário e a senha do usuário; ambos são parâmetros obrigatórios. Os nomes de usuário do Elasticsearch não devem ter mais de 1024 caracteres e podem ser alfanuméricos. Nomes de usuário não permitem espaços em branco.
As informações que você pode fornecer no corpo da solicitação incluem:
- Senha: Este é um parâmetro obrigatório do tipo string. As senhas no Elasticsearch devem ter pelo menos seis caracteres.
- Nome completo: Isso especifica o nome completo do usuário (String).
- E-mail: Isso define o e-mail do usuário especificado.
- Funções: Este é outro parâmetro obrigatório da lista de tipos. Ele especifica as funções que o usuário especificado possui. Você pode criar uma lista vazia [] se o usuário não tiver nenhuma função atribuída.
- Habilitado: O parâmetro ativado (booleano) especifica se o usuário está ativo ou não.
Assim que tiver o corpo da solicitação que o contém, envie a solicitação de postagem para _security / user /
Considere a solicitação abaixo que mostra como criar um usuário usando API.
POST / _security / user / linuxhint"senha": "linuxhint",
"ativado": verdadeiro,
"funções": ["superusuário", "kibana_admin"],
"full_name": "Linux Hint",
"email": "[email protegido]",
"metadados":
"inteligência": 7
Se você estiver usando cURL, digite o comando abaixo:
curl -XPOST "http: // localhost: 9200 / _security / user / linuxhint" -H 'Content-Type: application / json' -d '"password": "linuxhint", "enabled": true, "roles" : ["superusuário", "kibana_admin"], "full_name": "Linux Hint", "email": "[email protected]", "metadata": "intelligence": 1 'Isso deve retornar criado: verdadeiro como um objeto JSON.
"criado": verdadeiro
Como habilitar o usuário Em formação?
Se você criar um usuário no Elasticsearch e definir o parâmetro ativado como falso, será necessário ativar a conta antes de usá-la. Para fazer isso, podemos usar a API _enable.
Você deve passar o nome de usuário que deseja ativar na solicitação PUT. A sintaxe geral é a seguinte:
PUT / _segurança / usuário /Por exemplo, a solicitação abaixo habilita o usuário linuxhint:
PUT / _security / user / linuxhint / _enableO comando cURL é:
curl -XPUT "http: // localhost: 9200 / _security / user / linuxhint / _enable"O contrário também é verdade; para desabilitar um usuário, use o endpoint _disable:
PUT / _security / user / linuxhint / _disableO comando cURL é:
curl -XPUT “http: // localhost: 9200 / _security / user / linuxhint / _disable”Como ver Comercial?
Para ver as informações do usuário, use a solicitação GET seguida do nome de usuário que deseja ver. Por exemplo:
GET / _security / user / linuxhintO comando cURL é:
curl -XGET “http: // localhost: 9200 / _security / user / linuxhint”Isso deve exibir informações sobre o nome de usuário especificado, conforme mostrado abaixo:
"linuxhint":
"username": "linuxhint",
"funções": [
"superusuário",
“Kibana_admin”
],
"full_name": "Linux Hint",
"email": "[email protegido]",
"metadados":
"inteligência": 7
,
"ativado": falso
Para visualizar informações sobre todos os usuários no cluster Elasticsearch, omita o nome de usuário e envie a solicitação GET como:
GET / _security / user /Como Excluir Usuários?
Se você pode criar usuários, também pode excluí-los. Para usar a API para remover um usuário, basta enviar a solicitação DELETE para _security / user /
Exemplo:
DELETE / _security / user / linuxhintO comando cURL é:
curl -XDELETE “http: // localhost: 9200 / _security / user / linuxhint”Isso deve retornar um objeto JSON com found: true as:
"encontrado": verdadeiro
Conclusão
Este tutorial ensinou como habilitar os recursos do Elasticsearch Security. Também discutimos como usar o Kibana Stack Management para gerenciar usuários. Finalmente, discutimos como criar usuários, visualizar informações do usuário e excluir usuários.
Essas informações devem ajudá-lo a começar, mas lembre-se de que o domínio vem da prática.
Obrigado por ler.