- Concede privilégios a contas de usuário ou funções do ClickHouse.
- Atribui funções a contas de usuário ou a outros funções.
Sintaxe de concessão de privilégios
privilege— Tipo de privilégio.role— Função de usuário do ClickHouse.user— Conta de usuário do ClickHouse.
WITH GRANT OPTION concede a user ou role a permissão para executar a consulta GRANT. Os usuários podem conceder privilégios no mesmo escopo que já possuem ou em escopos menores.
A cláusula WITH REPLACE OPTION substitui os privilégios antigos por novos privilégios para o user ou role; se não for especificada, ela acrescenta privilégios.
Sintaxe para atribuir Função
role— função de usuário do ClickHouse.user— conta de usuário do ClickHouse.
WITH ADMIN OPTION concede o privilégio ADMIN OPTION a user ou função.
A cláusula WITH REPLACE OPTION substitui as funções antigas pela nova função de user ou função; se não for especificada, acrescenta funções.
Sintaxe de GRANT CURRENT GRANTS
privilege— Tipo de privilégio.role— função de usuário do ClickHouse.user— Conta de usuário do ClickHouse.
CURRENT GRANTS permite conceder todos os privilégios especificados ao usuário ou função informado.
Se nenhum privilégio for especificado, o usuário ou função informado receberá todos os privilégios disponíveis para CURRENT_USER.
Uso
GRANT, sua conta deve ter o privilégio GRANT OPTION. Você pode conceder privilégios apenas dentro do escopo dos privilégios da sua conta.
Por exemplo, o administrador concedeu privilégios à conta john por meio da consulta:
john tem permissão para executar:
SELECT x,y FROM db.table.SELECT x FROM db.table.SELECT y FROM db.table.
john não pode executar SELECT z FROM db.table. SELECT * FROM db.table também não está disponível. Ao processar essa consulta, o ClickHouse não retorna dado algum, nem mesmo x e y. A única exceção é se uma tabela contiver apenas as colunas x e y. Nesse caso, o ClickHouse retorna todos os dados.
Além disso, john tem o privilégio GRANT OPTION, portanto pode conceder a outros usuários privilégios com o mesmo escopo ou com escopo menor.
O acesso ao banco de dados system é sempre permitido (já que esse banco de dados é usado para processar consultas).
Embora existam muitas tabelas de sistema que novos usuários podem acessar por padrão, eles podem não conseguir acessar todas as tabelas de sistema por padrão sem privilégios concedidos.
Além disso, o acesso a determinadas tabelas de sistema, como
system.zookeeper, é restrito para usuários do Cloud por motivos de segurança.GRANT SELECT, INSERT ON *.* TO john, robin permite que as contas john e robin executem as consultas INSERT e SELECT em todas as tabelas de todos os bancos de dados no servidor.
Concessões com curingas
*) em vez do nome de uma tabela ou de um banco de dados. Por exemplo, a consulta GRANT SELECT ON db.* TO john permite que john execute a consulta SELECT em todas as tabelas do banco de dados db.
Além disso, você pode omitir o nome do banco de dados. Nesse caso, os privilégios são concedidos ao banco de dados atual.
Por exemplo, GRANT SELECT ON * TO john concede o privilégio em todas as tabelas do banco de dados atual, e GRANT SELECT ON mytable TO john concede o privilégio na tabela mytable no banco de dados atual.
O recurso descrito abaixo está disponível a partir da versão 24.10 do ClickHouse.
GRANT SELECT ON db.my_tables* TO john. Essa consulta permite que john execute a consulta SELECT em todas as tabelas do banco de dados db com o prefixo my_tables*.
Mais exemplos:
GRANT SELECT ON db.my_tables* TO john
GRANT SELECT ON db*.* TO john
GRANT SELECT ON db.* TO john e depois criar uma nova tabela db.new_table, o usuário john poderá executar a consulta SELECT * FROM db.new_table.
Você pode especificar o asterisco apenas para os prefixos:
Privilégios
ALLCONTROLE DE ACESSOALLOW SQL SECURITY NONEALTER QUOTAALTER ROLEALTER ROW POLICYALTER SETTINGS PROFILEALTER USERCREATE QUOTACREATE ROLECREATE ROW POLICYCREATE SETTINGS PROFILECREATE USERDROP QUOTADROP ROLEDROP ROW POLICYDROP SETTINGS PROFILEDROP USERROLE ADMINSHOW ACCESSSHOW QUOTASSHOW ROLESSHOW ROW POLICIESSHOW SETTINGS PROFILESSHOW USERS
ALTERALTER DATABASEALTER DATABASE SETTINGS
ALTER TABLEALTER COLUMNALTER ADD COLUMNALTER CLEAR COLUMNALTER COMMENT COLUMNALTER DROP COLUMNALTER MATERIALIZE COLUMNALTER MODIFY COLUMNALTER RENAME COLUMN
ALTER CONSTRAINTALTER ADD CONSTRAINTALTER DROP CONSTRAINT
ALTER DELETEALTER FETCH PARTITIONALTER FREEZE PARTITIONALTER INDEXALTER ADD INDEXALTER CLEAR INDEXALTER DROP INDEXALTER MATERIALIZE INDEXALTER ORDER BYALTER SAMPLE BY
ALTER MATERIALIZE TTLALTER MODIFY COMMENTALTER MOVE PARTITIONALTER PROJECTIONALTER SETTINGSALTER STATISTICSALTER ADD STATISTICSALTER DROP STATISTICSALTER MATERIALIZE STATISTICSALTER MODIFY STATISTICS
ALTER TTLALTER UPDATEALTER TABLE EXECUTE
ALTER VIEWALTER VIEW MODIFY QUERYALTER VIEW REFRESHALTER VIEW MODIFY SQL SECURITY
BACKUPCLUSTERCREATECREATE ARBITRARY TEMPORARY TABLECREATE TEMPORARY TABLE
CREATE DATABASECREATE DICTIONARYCREATE FUNCTIONCREATE RESOURCECREATE TABLECREATE VIEWCREATE WORKLOAD
dictGetdisplaySecretsInShowAndSelectDROPDROP DATABASEDROP DICTIONARYDROP FUNCTIONDROP RESOURCEDROP TABLEDROP VIEWDROP WORKLOAD
INSERTINTROSPECTIONaddressToLineaddressToLineWithInlinesaddressToSymboldemangle
KILL QUERYKILL TRANSACTIONMOVE PARTITION BETWEEN SHARDSNAMED COLLECTION ADMINALTER NAMED COLLECTIONCREATE NAMED COLLECTIONDROP NAMED COLLECTIONNAMED COLLECTIONSHOW NAMED COLLECTIONSSHOW NAMED COLLECTIONS SECRETS
OPTIMIZESELECTSET DEFINERSHOWSHOW COLUMNSSHOW DATABASESSHOW DICTIONARIESSHOW TABLES
SHOW FILESYSTEM CACHESSOURCESAZUREFILEHDFSHIVEJDBCKAFKAMONGOMYSQLNATSODBCPOSTGRESRABBITMQREDISREMOTES3SQLITEURL
SYSTEMSYSTEM CLEANUPSYSTEM DROP CACHESYSTEM DROP COMPILED EXPRESSION CACHESYSTEM DROP CONNECTIONS CACHESYSTEM DROP DISTRIBUTED CACHESYSTEM DROP DNS CACHESYSTEM DROP FILESYSTEM CACHESYSTEM DROP FORMAT SCHEMA CACHESYSTEM DROP MARK CACHESYSTEM DROP MMAP CACHESYSTEM DROP PAGE CACHESYSTEM DROP PRIMARY INDEX CACHESYSTEM DROP QUERY CACHESYSTEM DROP S3 CLIENT CACHESYSTEM DROP SCHEMA CACHESYSTEM DROP UNCOMPRESSED CACHE
SYSTEM DROP PRIMARY INDEX CACHESYSTEM DROP REPLICASYSTEM FAILPOINTSYSTEM FETCHESSYSTEM FLUSHSYSTEM FLUSH ASYNC INSERT QUEUESYSTEM FLUSH LOGS
SYSTEM JEMALLOCSYSTEM KILL QUERYSYSTEM KILL TRANSACTIONSYSTEM LISTENSYSTEM LOAD PRIMARY KEYSYSTEM MERGESSYSTEM MOVESSYSTEM PULLING REPLICATION LOGSYSTEM REDUCE BLOCKING PARTSSYSTEM REPLICATION QUEUESSYSTEM REPLICA READINESSSYSTEM RESTART DISKSYSTEM RESTART REPLICASYSTEM RESTORE REPLICASYSTEM RELOADSYSTEM RELOAD ASYNCHRONOUS METRICSSYSTEM RELOAD CONFIGSYSTEM RELOAD DICTIONARYSYSTEM RELOAD EMBEDDED DICTIONARIESSYSTEM RELOAD FUNCTIONSYSTEM RELOAD MODELSYSTEM RELOAD USERS
SYSTEM SENDSSYSTEM DISTRIBUTED SENDSSYSTEM REPLICATED SENDS
SYSTEM SHUTDOWNSYSTEM SYNC DATABASE REPLICASYSTEM SYNC FILE CACHESYSTEM SYNC FILESYSTEM CACHESYSTEM SYNC REPLICASYSTEM SYNC TRANSACTION LOGSYSTEM THREAD FUZZERSYSTEM TTL MERGESSYSTEM UNFREEZESYSTEM UNLOAD PRIMARY KEYSYSTEM VIEWSSYSTEM VIRTUAL PARTS UPDATESYSTEM WAIT LOADING PARTS
MECANISMO DE TABELATRUNCATEUNDROP TABLE
NONE
- O privilégio
ALTERinclui todos os outros privilégiosALTER*. ALTER CONSTRAINTinclui os privilégiosALTER ADD CONSTRAINTeALTER DROP CONSTRAINT.
COLUMN— O privilégio pode ser concedido para coluna, tabela, banco de dados ou globalmente.TABLE— O privilégio pode ser concedido para tabela, banco de dados ou globalmente.VIEW— O privilégio pode ser concedido para view, banco de dados ou globalmente.DICTIONARY— O privilégio pode ser concedido para dicionário, banco de dados ou globalmente.DATABASE— O privilégio pode ser concedido para banco de dados ou globalmente.GLOBAL— O privilégio pode ser concedido apenas globalmente.GROUP— Agrupa privilégios de diferentes níveis. Quando um privilégio de nívelGROUPé concedido, somente os privilégios do grupo que correspondem à sintaxe usada são concedidos.
GRANT SELECT(x) ON db.table TO userGRANT SELECT ON db.* TO user
GRANT CREATE USER(x) ON db.table TO userGRANT CREATE USER ON db.* TO user
SELECT, CREATE TABLE, INSERT e DROP TABLE.
SELECT
COLUMN.
Descrição
O usuário com esse privilégio pode executar consultas SELECT em uma lista específica de colunas na tabela e no banco de dados especificados. Se o usuário incluir outras colunas além das especificadas, a consulta não retornará dados.
Considere o seguinte privilégio:
john execute qualquer consulta SELECT que envolva dados das colunas x e/ou y em db.table, por exemplo, SELECT x FROM db.table. john não pode executar SELECT z FROM db.table. SELECT * FROM db.table também não pode ser executada. Ao processar essa consulta, o ClickHouse não retorna dado algum, nem mesmo x e y. A única exceção é quando a tabela contém apenas as colunas x e y; nesse caso, o ClickHouse retorna todos os dados.
INSERT
COLUMN.
Descrição
O usuário que recebe esse privilégio pode executar consultas INSERT em uma lista especificada de colunas na tabela e no banco de dados especificados. Se o usuário incluir colunas diferentes das especificadas, a consulta não inserirá nenhum dado.
Exemplo
john insira dados nas colunas x e/ou y de db.table.
ALTER
ALTER. Nível:COLUMN.ALTER TABLE. Nível:GROUPALTER UPDATE. Nível:COLUMN. Aliases:UPDATEALTER DELETE. Nível:COLUMN. Aliases:DELETEALTER COLUMN. Nível:GROUPALTER ADD COLUMN. Nível:COLUMN. Aliases:ADD COLUMNALTER DROP COLUMN. Nível:COLUMN. Aliases:DROP COLUMNALTER MODIFY COLUMN. Nível:COLUMN. Aliases:MODIFY COLUMNALTER COMMENT COLUMN. Nível:COLUMN. Aliases:COMMENT COLUMNALTER CLEAR COLUMN. Nível:COLUMN. Aliases:CLEAR COLUMNALTER RENAME COLUMN. Nível:COLUMN. Aliases:RENAME COLUMNALTER INDEX. Nível:GROUP. Aliases:INDEXALTER ORDER BY. Nível:TABLE. Aliases:ALTER MODIFY ORDER BY,MODIFY ORDER BYALTER SAMPLE BY. Nível:TABLE. Aliases:ALTER MODIFY SAMPLE BY,MODIFY SAMPLE BYALTER ADD INDEX. Nível:TABLE. Aliases:ADD INDEXALTER DROP INDEX. Nível:TABLE. Aliases:DROP INDEXALTER MATERIALIZE INDEX. Nível:TABLE. Aliases:MATERIALIZE INDEXALTER CLEAR INDEX. Nível:TABLE. Aliases:CLEAR INDEXALTER CONSTRAINT. Nível:GROUP. Aliases:CONSTRAINTALTER ADD CONSTRAINT. Nível:TABLE. Aliases:ADD CONSTRAINTALTER DROP CONSTRAINT. Nível:TABLE. Aliases:DROP CONSTRAINTALTER TTL. Nível:TABLE. Aliases:ALTER MODIFY TTL,MODIFY TTLALTER MATERIALIZE TTL. Nível:TABLE. Aliases:MATERIALIZE TTLALTER SETTINGS. Nível:TABLE. Aliases:ALTER SETTING,ALTER MODIFY SETTING,MODIFY SETTINGALTER MOVE PARTITION. Nível:TABLE. Aliases:ALTER MOVE PART,MOVE PARTITION,MOVE PARTALTER FETCH PARTITION. Nível:TABLE. Aliases:ALTER FETCH PART,FETCH PARTITION,FETCH PARTALTER FREEZE PARTITION. Nível:TABLE. Aliases:FREEZE PARTITIONALTER EXECUTE. Nível:TABLE. Aliases:ALTER TABLE EXECUTEALTER VIEW. Nível:GROUPALTER VIEW REFRESH. Nível:VIEW. Aliases:REFRESH VIEWALTER VIEW MODIFY QUERY. Nível:VIEW. Aliases:ALTER TABLE MODIFY QUERYALTER VIEW MODIFY SQL SECURITY. Nível:VIEW. Aliases:ALTER TABLE MODIFY SQL SECURITY
- O privilégio
ALTERinclui todos os outros privilégiosALTER*. ALTER CONSTRAINTinclui os privilégiosALTER ADD CONSTRAINTeALTER DROP CONSTRAINT.
- O privilégio
MODIFY SETTINGpermite modificar as configurações do mecanismo de tabela. Ele não afeta configurações nem parâmetros de configuração do servidor. - A operação
ATTACHrequer o privilégio CREATE. - A operação
DETACHrequer o privilégio DROP. - Para interromper uma mutação com a consulta KILL MUTATION, você precisa ter um privilégio para iniciar essa mutação. Por exemplo, se quiser interromper a consulta
ALTER UPDATE, precisará do privilégioALTER UPDATE,ALTER TABLEouALTER.
BACKUP
BACKUP] em consultas. Para mais informações sobre backups, consulte “Backup e restauração”.
CREATE
CREATE. Nível:GROUPCREATE DATABASE. Nível:DATABASECREATE TABLE. Nível:TABLECREATE ARBITRARY TEMPORARY TABLE. Nível:GLOBALCREATE TEMPORARY TABLE. Nível:GLOBAL
CREATE VIEW. Nível:VIEWCREATE DICTIONARY. Nível:DICTIONARY
- Para remover a tabela criada, o usuário precisa de DROP.
CLUSTER
ON CLUSTER.
Syntax
ON CLUSTER exigem que o usuário tenha o privilégio CLUSTER.
Você receberá o seguinte erro se tentar usar ON CLUSTER em uma consulta sem antes conceder o privilégio CLUSTER:
on_cluster_queries_require_cluster_grant,
localizada na seção access_control_improvements de config.xml (veja abaixo), como false.
config.xml
DROP
DROP. Nível:GROUPDROP DATABASE. Nível:DATABASEDROP TABLE. Nível:TABLEDROP VIEW. Nível:VIEWDROP DICTIONARY. Nível:DICTIONARY
TRUNCATE
TABLE.
OPTIMIZE
TABLE.
SHOW
SHOW, DESCRIBE, USE e EXISTS de acordo com a seguinte hierarquia de privilégios:
SHOW. Nível:GROUPSHOW DATABASES. Nível:DATABASE. Permite executar as consultasSHOW DATABASES,SHOW CREATE DATABASE,USE <database>.SHOW TABLES. Nível:TABLE. Permite executar as consultasSHOW TABLES,EXISTS <table>,CHECK <table>.SHOW COLUMNS. Nível:COLUMN. Permite executar as consultasSHOW CREATE TABLE,DESCRIBE.SHOW DICTIONARIES. Nível:DICTIONARY. Permite executar as consultasSHOW DICTIONARIES,SHOW CREATE DICTIONARY,EXISTS <dictionary>.
SHOW se tiver qualquer outro privilégio referente à tabela, ao dicionário ou ao banco de dados especificado.
KILL QUERY
GLOBAL.
Observações
O privilégio KILL QUERY permite que um usuário encerre as consultas de outros usuários.
GERENCIAMENTO DE ACESSO
ACCESS MANAGEMENT. Nível:GROUPCREATE USER. Nível:GLOBALALTER USER. Nível:GLOBALDROP USER. Nível:GLOBALCREATE ROLE. Nível:GLOBALALTER ROLE. Nível:GLOBALDROP ROLE. Nível:GLOBALROLE ADMIN. Nível:GLOBALCREATE ROW POLICY. Nível:GLOBAL. Aliases:CREATE POLICYALTER ROW POLICY. Nível:GLOBAL. Aliases:ALTER POLICYDROP ROW POLICY. Nível:GLOBAL. Aliases:DROP POLICYCREATE QUOTA. Nível:GLOBALALTER QUOTA. Nível:GLOBALDROP QUOTA. Nível:GLOBALCREATE SETTINGS PROFILE. Nível:GLOBAL. Aliases:CREATE PROFILEALTER SETTINGS PROFILE. Nível:GLOBAL. Aliases:ALTER PROFILEDROP SETTINGS PROFILE. Nível:GLOBAL. Aliases:DROP PROFILESHOW ACCESS. Nível:GROUPSHOW_USERS. Nível:GLOBAL. Aliases:SHOW CREATE USERSHOW_ROLES. Nível:GLOBAL. Aliases:SHOW CREATE ROLESHOW_ROW_POLICIES. Nível:GLOBAL. Aliases:SHOW POLICIES,SHOW CREATE ROW POLICY,SHOW CREATE POLICYSHOW_QUOTAS. Nível:GLOBAL. Aliases:SHOW CREATE QUOTASHOW_SETTINGS_PROFILES. Nível:GLOBAL. Aliases:SHOW PROFILES,SHOW CREATE SETTINGS PROFILE,SHOW CREATE PROFILE
ALLOW SQL SECURITY NONE. Nível:GLOBAL. Aliases:CREATE SQL SECURITY NONE,SQL SECURITY NONE,SECURITY NONE
ROLE ADMIN permite que um usuário conceda e revogue quaisquer funções, incluindo aqueles que não foram atribuídos ao usuário com a opção admin.
SYSTEM
SYSTEM. Nível:GROUPSYSTEM SHUTDOWN. Nível:GLOBAL. Aliases:SYSTEM KILL,SHUTDOWNSYSTEM DROP CACHE. Aliases:DROP CACHESYSTEM DROP DNS CACHE. Nível:GLOBAL. Aliases:SYSTEM CLEAR DNS CACHE,SYSTEM DROP DNS,DROP DNS CACHE,DROP DNSSYSTEM DROP MARK CACHE. Nível:GLOBAL. Aliases:SYSTEM CLEAR MARK CACHE,SYSTEM DROP MARK,DROP MARK CACHE,DROP MARKSSYSTEM DROP UNCOMPRESSED CACHE. Nível:GLOBAL. Aliases:SYSTEM CLEAR UNCOMPRESSED CACHE,SYSTEM DROP UNCOMPRESSED,DROP UNCOMPRESSED CACHE,DROP UNCOMPRESSED
SYSTEM RELOAD. Nível:GROUPSYSTEM RELOAD CONFIG. Nível:GLOBAL. Aliases:RELOAD CONFIGSYSTEM RELOAD DICTIONARY. Nível:GLOBAL. Aliases:SYSTEM RELOAD DICTIONARIES,RELOAD DICTIONARY,RELOAD DICTIONARIESSYSTEM RELOAD EMBEDDED DICTIONARIES. Nível:GLOBAL. Aliases:RELOAD EMBEDDED DICTIONARIES
SYSTEM MERGES. Nível:TABLE. Aliases:SYSTEM STOP MERGES,SYSTEM START MERGES,STOP MERGES,START MERGESSYSTEM TTL MERGES. Nível:TABLE. Aliases:SYSTEM STOP TTL MERGES,SYSTEM START TTL MERGES,STOP TTL MERGES,START TTL MERGESSYSTEM FETCHES. Nível:TABLE. Aliases:SYSTEM STOP FETCHES,SYSTEM START FETCHES,STOP FETCHES,START FETCHESSYSTEM MOVES. Nível:TABLE. Aliases:SYSTEM STOP MOVES,SYSTEM START MOVES,STOP MOVES,START MOVESSYSTEM SENDS. Nível:GROUP. Aliases:SYSTEM STOP SENDS,SYSTEM START SENDS,STOP SENDS,START SENDSSYSTEM DISTRIBUTED SENDS. Nível:TABLE. Aliases:SYSTEM STOP DISTRIBUTED SENDS,SYSTEM START DISTRIBUTED SENDS,STOP DISTRIBUTED SENDS,START DISTRIBUTED SENDSSYSTEM REPLICATED SENDS. Nível:TABLE. Aliases:SYSTEM STOP REPLICATED SENDS,SYSTEM START REPLICATED SENDS,STOP REPLICATED SENDS,START REPLICATED SENDS
SYSTEM REPLICATION QUEUES. Nível:TABLE. Aliases:SYSTEM STOP REPLICATION QUEUES,SYSTEM START REPLICATION QUEUES,STOP REPLICATION QUEUES,START REPLICATION QUEUESSYSTEM SYNC REPLICA. Nível:TABLE. Aliases:SYNC REPLICASYSTEM RESTART REPLICA. Nível:TABLE. Aliases:RESTART REPLICASYSTEM FLUSH. Nível:GROUPSYSTEM FLUSH DISTRIBUTED. Nível:TABLE. Aliases:FLUSH DISTRIBUTEDSYSTEM FLUSH LOGS. Nível:GLOBAL. Aliases:FLUSH LOGS
SYSTEM RELOAD EMBEDDED DICTIONARIES é concedido implicitamente pelo privilégio SYSTEM RELOAD DICTIONARY ON *.*.
INTROSPECTION
INTROSPECTION. Nível:GROUP. Aliases:INTROSPECTION FUNCTIONSaddressToLine. Nível:GLOBALaddressToLineWithInlines. Nível:GLOBALaddressToSymbol. Nível:GLOBALdemangle. Nível:GLOBAL
FONTES
READ. Nível:GLOBAL_WITH_PARAMETERWRITE. Nível:GLOBAL_WITH_PARAMETER
AZUREFILEHDFSHIVEJDBCKAFKAMONGOMYSQLNATSODBCPOSTGRESRABBITMQREDISREMOTES3SQLITEURL
A separação das concessões de READ/WRITE para fontes está disponível a partir da versão 25.7 e somente com a configuração do servidor
access_control_improvements.enable_read_write_grantsCaso contrário, use a sintaxe GRANT AZURE ON *.* TO user, que é equivalente ao novo GRANT READ, WRITE ON AZURE TO user- Para criar uma tabela com o motor de tabela MySQL, você precisa dos privilégios
CREATE TABLE (ON db.table_name)eMYSQL. - Para usar a função de tabela mysql, você precisa dos privilégios
CREATE TEMPORARY TABLEeMYSQL.
Privilégios de filtro por origem
Este recurso está disponível a partir da versão 25.8 e apenas com a configuração de servidor
access_control_improvements.enable_read_write_grantsWITH GRANT OPTION, ele poderá ser concedido novamente com GRANT CURRENT GRANTS:
- Revogações parciais não são permitidas: Não é possível revogar um subconjunto de um padrão de filtro concedido. É necessário revogar toda a concessão e concedê-la novamente com novos padrões, se necessário.
- Concessões com curinga não são permitidas: Não é possível usar
GRANT READ ON *('regexp')nem padrões semelhantes compostos apenas por curingas. É necessário especificar uma source.
dictGet
dictGet. Aliases:dictHas,dictGetHierarchy,dictIsIn
DICTIONARY.
Exemplos
GRANT dictGet ON mydb.mydictionary TO johnGRANT dictGet ON mydictionary TO john
displaySecretsInShowAndSelect
SHOW e SELECT se tanto a
configuração do servidor display_secrets_in_show_and_select
quanto a
configuração de formato format_display_secrets_in_show_and_select
estiverem ativadas.
NAMED COLLECTION ADMIN
NAMED COLLECTION ADMIN. Nível:NAMED_COLLECTION. Aliases:NAMED COLLECTION CONTROLCREATE NAMED COLLECTION. Nível:NAMED_COLLECTIONDROP NAMED COLLECTION. Nível:NAMED_COLLECTIONALTER NAMED COLLECTION. Nível:NAMED_COLLECTIONSHOW NAMED COLLECTIONS. Nível:NAMED_COLLECTION. Aliases:SHOW NAMED COLLECTIONSSHOW NAMED COLLECTIONS SECRETS. Nível:NAMED_COLLECTION. Aliases:SHOW NAMED COLLECTIONS SECRETSNAMED COLLECTION. Nível:NAMED_COLLECTION. Aliases:NAMED COLLECTION USAGE, USE NAMED COLLECTION
GRANT CREATE NAMED COLLECTION ON abc TO john
TABLE ENGINE
GRANT TABLE ENGINE ON * TO johnGRANT TABLE ENGINE ON TinyLog TO john
Por padrão, por motivos de compatibilidade com versões anteriores, a criação de uma tabela com um motor de tabela específico ignora concessões.
No entanto, você pode alterar esse comportamento definindo
table_engines_require_grant como true
no config.xml.READ/WRITE na fonte correspondente. Veja Sources.
Por exemplo, para o motor de tabela AzureBlobStorage, a concessão a seguir pode ser necessário.
GRANT READ, WRITE ON AZURE TO john
ALL
O privilégio
ALL não tem suporte no ClickHouse Cloud, onde o usuário default tem permissões limitadas. Os usuários podem conceder as permissões máximas a um usuário concedendo a default_role. Veja aqui para mais detalhes.
Os usuários também podem usar GRANT CURRENT GRANTS como usuário default para obter um efeito semelhante ao de ALL.NONE
ADMIN OPTION
ADMIN OPTION permite que um usuário conceda sua função a outro usuário.