Adicionar usuário e promover privilégio de administrador
Adicionar usuário no ckan
Para adicionar um usuário no Ckan e atribuir o papel de administrador, deve-se seguir os passos:se:
1 - Identificar a VM do Ckan no Rancher
- Acessar https://rancher2.dds.ufvjm.edu.br/.
- Selecionar o ambiente noc-apps-prod onde está localizada a
Stackstack Ckan. - Clicar no nome da
StackstackCkan.Ckan. - Localizar o serviço do Ckan (ckan-
db)db) -
Clicar no nome do serviço
- Clicar na aba Containers
- Identificar em qual VM o container está rodando (apps-
prod3)prod3).
Após a identificação da VM no Rancher, devemos abrir um terminal para conectar e acessar o container do banco.
2 - Acessar a VM e bocalizarlocalizar o container do Banco de Dados
Conecte-se via SSH à VM apps-prod3
O comando SSH abre um terminal seguro na máquina virtual apps-prod3.prod3.
Em seguida, liste os containers Docker em execução na VM:
O comando docker ps lista todos os containers ativos do servidor, e | grep ckan filtra a saída para exibir apenas os containers relacionados à stack ckan.
Localize e anote o nome ou ID do container de banco de dados (r-ckan-ckan-db-1-dbfa5298)dbfa5298)
3 - Entrar no container de banco do Ckan
Conecte-se ao banco de dados executando o seguinte comando:
O comando psql -U ckan -d ckan irá abrir o terminal do banco PostgreSQL conectando-se com o usuário ckan no banco ckan.
No prompt do PostgreSQL (ckan=#) consulte a lista de usuários cadastrados como administrador.
O comando select name, apikey from "user" where sysadmin=true; retorna o nome e chave de API de todos os usuários cadastrados na tabela "user" que possuem privilégios de administrador do sistema (sysadmin=true)true).
CopieNa lista de resultados retornados, copie uma chavedas ativachaves que estão ativas (ex.: a chave do usuário default).
Após copiar a chave, abra outro terminal (sem estar logado em qualquer máquina), e vamospara criar oum novo usuário.
4 - Criar novo usuário via API REST do Ckan
Para criar um usuário novo, abra outro terminal (fora do servidor/VM) e execute a requisição HTTP para a API do CkanCkan, como se segue.
Explicando cada parâmetro usado:
curl -X POST: envia uma requisição HTTP do tipo POST para o endpoint /api/3/action/user_create do Ckan.
-H "Content-Type: application/json": Informa àa API do CKAN que os dados enviados no corpo da requisição estão no formato JSON.
-d '{...}': envia o JSON contendo o nome de usuário (name), email (email) e senha temporária (password). para oO usuário deve alterar a senha no primeiro acesso.
Usuário criado com sucesso!
Para verificar,conferir, podemos listar os usuários cadastrados no banco a partir da consulta:
select name, email, sysadmin, state from "user" order by name;
Essa consulta retorna o nome, email,email e se o usuário é administrador (t) ou não (f).
t = true;
f = false;
Pode-se observar que o usuário dsi foi criado e que não possui privilégio de administrador ainda.ainda (sysadmin = f).
Promover usuário a Administrador
Caso o novo usuário precise de acesso de administrador, devemos:
- Se a sessão do PostgreSQL no container da VM estiver aberta no terminal, vá para ela. Caso contrário volte ao passo
x.1. - Busque pelo usuário que deseja promover a administrador, usando o comando a seguir:

-
AlterarAltere a coluna sysadmin para true (verdadeiro) no registro do usuário especificado econfirmaconfirme a transação no banco com oCOMMITCOMMIT. ConsultarConsulte novamente o registro para confirmar que o campo sysadmin agora está como t (true).
Pronto. Usuário dsi promovido a administrador do sistema.







