Gerenciando usuários e funções
As implementações do Databases for Elasticsearch vêm com autenticação ativada e usam Usuários integradosdo Elasticsearch.
Adicione usuários na interface do usuário na página Credenciais de serviço, com o Cloud Databases plug-in CLI ou a Cloud Databases API.
O usuário administrativo
Ao provisionar uma implementação do Databases for Elasticsearch, um usuário do admin
é criado automaticamente.
Configure a senha do administrador antes de usá-la para se conectar
Configuração da senha de administrador na interface do usuário
Defina sua senha de administrador por meio da interface do usuário, selecionando sua instância na lista de recursos. No painel, selecione a guia Configurações e, em seguida, insira ou gere uma nova senha de administrador e clique no botão Alterar senha.
Configuração da senha do administrador na CLI
Use o comando cdb user-password
do plug-in IBM Cloud CLI Cloud Databases para configurar a senha do administrador.
Por exemplo, para definir a senha de administrador de uma implantação chamada example-deployment
, use o seguinte comando:
ibmcloud cdb user-password example-deployment admin <newpassword>
Configuração da senha do administrador na API
O endpoint do Foundation que é mostrado no painel Overview (Visão geral) na seção Deployment details (Detalhes da implantação) do seu serviço fornece o URL de base para acessar essa implantação por meio da API. Use-o com o ponto de extremidade Set specified user's password para definir a senha do administrador.
curl -X PATCH `https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/admin` \
-H `Authorization: Bearer <>` \
-H `Content-Type: application/json` \
-d `{"password":"newrootpasswordsupersecure21"}` \
A função ibm_superuser
Para Elasticsearch versões 7.17.7 e mais recente, todos os usuários, novos e existentes, incluindo o usuário admin
, serão designados à função ibm_superuser
. A função ibm_superuser
tem os mesmos privilégios
que superuser
; a função ibm_superuser
não pode acessar índices ocultos, internos ou restritos. Restringir o acesso a índices ocultos impede que os usuários limitem inadvertidamente seu próprio acesso fechando índices
de segurança.
Embora você tenha as permissões para mudar essa função de volta para o superuser
original, não deve fazer isso: Mudar ibm_superuser
para superuser
interromperá seu acesso à sua implementação do Elasticsearch.
Gerenciamento de usuários e funções por meio da interface do usuário
- Acesse o painel de serviço de seu serviço.
- Clique em Credenciais de serviço para abrir a página.
- Clique em Nova credencial.
- Escolha um nome descritivo para a sua nova credencial.
- (Opcional) Especificar se as novas credenciais usam um terminal público ou privado. Use
{ "service-endpoints": "public" }
/{ "service-endpoints": "private" }
no campo Incluir parâmetros de configuração sequenciais para gerar sequências de conexões que usam o terminal especificado. O uso do terminal não é cumprido. Ele apenas controla quais nomes do host estão nas sequências de conexões. Os terminais públicos são gerados por padrão. - Clique em Incluir para provisionar as novas credenciais. Um nome do usuário e uma senha, bem como um usuário da Elasticsearch associado é gerado automaticamente.
As novas credenciais aparecem na tabela, e as sequências de conexão estarão disponíveis como JSON em um campo click-to-copy sob Visualizar Credenciais.
A criação de um usuário a partir da CLI ou da API não preenche automaticamente as sequências de conexões desse usuário nas Credenciais de serviço. Se você desejar inclui-las lá, será possível criar uma nova credencial com as informações
do usuário existentes. Insira o nome do usuário e a senha no campo JSON sob Incluir parâmetros de configuração sequenciais. Por exemplo, {"existing_credentials":{"username":"Robert","password":"supersecure"}}
.
Basicamente, você envia o nome de usuário e a senha, e o Service credentials gera as cadeias de conexão com as credenciais preenchidas.
A geração de credenciais de um usuário existente não verifica ou cria esse usuário.
Se precisar que os usuários criados a partir de credenciais de serviço tenham uma função diferente, use o usuário admin
para alterar a função.
Gerenciamento de usuários e funções por meio da CLI
Se precisar que os usuários tenham uma função diferente, você pode usar o usuário admin
para alterar a função deles.
Os usuários criados diretamente da CLI não aparecem nas credenciais do serviço, mas você pode adicioná-los.
Se você gerencia seu serviço por meio do Cloud Databases plug-in CLI, crie um novo usuário com cdb user-create
. Por exemplo, para criar um novo usuário para uma implantação
chamada example-deployment
, use o seguinte comando:
ibmcloud cdb user-create example-deployment <newusername> <newpassword>
Quando a tarefa for concluída, recupere as sequências de conexões do novo usuário com o comando ibmcloud cdb deployment-connections
,
que é semelhante a:
ibmcloud cdb deployment-connections [--user <userid>] [--password <password>] [--endpoint-type <endpoint type>] [--all] [--only] [--start] [--certroot <path>] [--json]
Gerenciamento de usuários e funções por meio da API
Se precisar que os usuários tenham uma função diferente, use o usuário administrador para alterar a função deles.
Os usuários criados diretamente da API não aparecem nas credenciais do serviço, mas você pode adicioná-los.
O Terminal base que é mostrado na seção Visão geral de seu serviço fornece a URL base para acessar esta implementação por meio da API. Para criar e gerenciar usuários, use o URL básico com o endpoint /users
.
O comando é semelhante a:
curl -X POST 'https://api.{region}.databases.cloud.ibm.com/v4/ibm/deployments/{id}/users' \
-H "Authorization: Bearer $APIKEY" \
-H "Content-Type: application/json" \
-d '{"username":"jane_smith", "password":"newsupersecurepassword"}'
Para recuperar as sequências de conexões de um usuário, use a URL base com o terminal /users/{userid}/connections
.
Usuários e funções Elasticsearch
Se os usuários e funções integrados não se adequarem ao seu ambiente, crie usuários e funções diretamente no Elasticsearch. O usuário administrador para sua implementação tem o poder de criar qualquer função ou conjunto de privilégios para uso em sua implementação.