Altera contas de usuário no ClickHouse.
Sintaxe:
Para usar ALTER USER, é necessário ter o privilégio ALTER USER.
Especifica os usuários ou funções que podem receber privilégios deste usuário, desde que ele também tenha todas as permissões necessárias concedidas com GRANT OPTION. Opções da cláusula GRANTEES:
user — Especifica um usuário ao qual este usuário pode conceder privilégios.
role — Especifica uma função à qual este usuário pode conceder privilégios.
ANY — Este usuário pode conceder privilégios a qualquer usuário ou função. É a configuração padrão.
NONE — Este usuário não pode conceder privilégios a nenhum usuário ou função.
Você pode excluir qualquer usuário ou função usando a expressão EXCEPT. Por exemplo, ALTER USER user1 GRANTEES ANY EXCEPT user2. Isso significa que, se user1 tiver privilégios concedidos com GRANT OPTION, ele poderá concedê-los a qualquer usuário ou função, exceto user2.
Defina as funções atribuídas como padrão:
Se nenhuma função tiver sido atribuída previamente a um usuário, o ClickHouse lança uma exceção.
Defina como padrão todas as funções atribuídas:
Se uma função for atribuída a um usuário no futuro, ela se tornará padrão automaticamente.
Defina como padrão todas as funções atribuídas, exceto role1 e role2:
Permite que o usuário da conta john conceda seus privilégios ao usuário da conta jack:
Adiciona novos métodos de autenticação ao usuário, mantendo os métodos existentes:
Observações:
- Versões mais antigas do ClickHouse podem não oferecer suporte à sintaxe de vários métodos de autenticação. Portanto, se o servidor ClickHouse contiver esses usuários e passar por downgrade para uma versão que não ofereça esse suporte, esses usuários se tornarão inutilizáveis, e algumas operações relacionadas a usuários deixarão de funcionar. Para fazer o downgrade corretamente, é necessário configurar todos os usuários para que tenham um único método de autenticação antes do downgrade. Como alternativa, se o servidor tiver passado por downgrade sem o procedimento adequado, os usuários com problema deverão ser removidos.
no_password não pode coexistir com outros métodos de autenticação por motivos de segurança.
Por isso, não é possível ADD um método de autenticação no_password. A consulta abaixo gerará um erro:
Se você quiser remover os métodos de autenticação de um usuário e usar no_password, deverá especificar isso na forma de substituição abaixo.
Redefine os métodos de autenticação e adiciona os especificados na consulta (efeito de um IDENTIFIED inicial sem a palavra-chave ADD):
Redefina os métodos de autenticação e mantenha o mais recentemente adicionado:
Permite especificar a data de expiração e, opcionalmente, o horário de um método de autenticação. Ela aceita uma string como parâmetro. Recomenda-se usar o formato YYYY-MM-DD [hh:mm:ss] [timezone] para data e hora. Por padrão, esse parâmetro é igual a 'infinity'.
A cláusula VALID UNTIL só pode ser especificada junto com um método de autenticação, exceto no caso em que nenhum método de autenticação tenha sido especificado na consulta. Nesse cenário, a cláusula VALID UNTIL será aplicada a todos os métodos de autenticação existentes.
Exemplos:
ALTER USER name1 VALID UNTIL '2025-01-01'
ALTER USER name1 VALID UNTIL '2025-01-01 12:00:00 UTC'
ALTER USER name1 VALID UNTIL 'infinity'
ALTER USER name1 IDENTIFIED WITH plaintext_password BY 'no_expiration', bcrypt_password BY 'expiration_set' VALID UNTIL'2025-01-01''
Última modificação em 19 de junho de 2026