- Otorga privilegios a cuentas de usuario o roles de ClickHouse.
- Asigna roles a cuentas de usuario o a otros roles.
Sintaxis para otorgar privilegios
privilege— Tipo de privilegio.role— Rol de usuario en ClickHouse.user— Cuenta de usuario de ClickHouse.
WITH GRANT OPTION otorga al user o al role el permiso para ejecutar la consulta GRANT. Los usuarios pueden otorgar privilegios del mismo alcance que poseen o de un alcance menor.
La cláusula WITH REPLACE OPTION reemplaza los privilegios anteriores por privilegios nuevos para el user o role; si no se especifica, agrega privilegios.
Sintaxis para asignar un rol
role— rol de ClickHouse.user— cuenta de usuario de ClickHouse.
WITH ADMIN OPTION otorga el privilegio ADMIN OPTION a user o role.
La cláusula WITH REPLACE OPTION reemplaza los roles anteriores por el nuevo rol para user o role; si no se especifica, añade los roles.
Sintaxis de GRANT CURRENT GRANTS
privilege— Tipo de privilegio.role— Rol de usuario de ClickHouse.user— Cuenta de usuario de ClickHouse.
CURRENT GRANTS permite conceder todos los privilegios especificados al usuario o rol indicado.
Si no se especifica ninguno de los privilegios, el usuario o rol indicado recibirá todos los privilegios disponibles para CURRENT_USER.
Uso
GRANT, tu cuenta debe tener el privilegio GRANT OPTION. Solo puedes conceder privilegios dentro del alcance de los privilegios de tu cuenta.
Por ejemplo, el administrador ha concedido privilegios a la cuenta john mediante la consulta:
john tiene permiso para ejecutar:
SELECT x,y FROM db.table.SELECT x FROM db.table.SELECT y FROM db.table.
john no puede ejecutar SELECT z FROM db.table. SELECT * FROM db.table tampoco está disponible. Al procesar esta consulta, ClickHouse no devuelve ningún dato, ni siquiera x e y. La única excepción es cuando una tabla contiene solo las columnas x e y. En ese caso, ClickHouse devuelve todos los datos.
Además, john tiene el privilegio GRANT OPTION, por lo que puede conceder a otros usuarios privilegios del mismo ámbito o de uno más reducido.
El acceso a la base de datos system siempre está permitido (ya que esta base de datos se utiliza para procesar consultas).
Aunque hay muchas tablas del sistema a las que los usuarios nuevos pueden acceder de forma predeterminada, es posible que no puedan acceder a todas las tablas del sistema por defecto sin que se les concedan privilegios.
Además, el acceso a determinadas tablas del sistema, como
system.zookeeper, está restringido para los usuarios de Cloud por motivos de seguridad.GRANT SELECT, INSERT ON *.* TO john, robin permite que las cuentas john y robin ejecuten las consultas INSERT y SELECT sobre todas las tablas de todas las bases de datos del servidor.
Privilegios con comodines
*) en lugar del nombre de una tabla o de una base de datos. Por ejemplo, la consulta GRANT SELECT ON db.* TO john permite a john ejecutar la consulta SELECT sobre todas las tablas de la base de datos db.
Además, puede omitir el nombre de la base de datos. En ese caso, los privilegios se otorgan para la base de datos actual.
Por ejemplo, GRANT SELECT ON * TO john otorga el privilegio sobre todas las tablas de la base de datos actual, y GRANT SELECT ON mytable TO john otorga el privilegio sobre la tabla mytable en la base de datos actual.
La funcionalidad que se describe a continuación está disponible a partir de la versión 24.10 de ClickHouse.
GRANT SELECT ON db.my_tables* TO john. Esta consulta permite a john ejecutar la consulta SELECT sobre todas las tablas de la base de datos db con el prefijo my_tables*.
Más ejemplos:
GRANT SELECT ON db.my_tables* TO john
GRANT SELECT ON db*.* TO john
GRANT SELECT ON db.* TO john y luego crea una nueva tabla db.new_table, el usuario john podrá ejecutar la consulta SELECT * FROM db.new_table.
Puede especificar un asterisco solo para los prefijos:
Privilegios
ALLGESTIÓN DE ACCESOSALLOW 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 CACHESFUENTESAZUREFILEHDFSHIVEJDBCKAFKAMONGOMYSQLNATSODBCPOSTGRESRABBITMQREDISREMOTES3SQLITEURL
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
TABLE ENGINETRUNCATEUNDROP TABLE
NONE
- El privilegio
ALTERincluye todos los demás privilegiosALTER*. ALTER CONSTRAINTincluye los privilegiosALTER ADD CONSTRAINTyALTER DROP CONSTRAINT.
COLUMN— El privilegio puede concederse para una columna, una tabla, una base de datos o globalmente.TABLE— El privilegio puede concederse para una tabla, una base de datos o globalmente.VIEW— El privilegio puede concederse para una vista, una base de datos o globalmente.DICTIONARY— El privilegio puede concederse para un diccionario, una base de datos o globalmente.DATABASE— El privilegio puede concederse para una base de datos o globalmente.GLOBAL— El privilegio solo puede concederse globalmente.GROUP— Agrupa privilegios de distintos niveles. Cuando se concede un privilegio de nivelGROUP, solo se conceden los privilegios del grupo que corresponden a la sintaxis utilizada.
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 y DROP TABLE.
SELECT
COLUMN.
Descripción
El usuario al que se le haya concedido este privilegio puede ejecutar consultas SELECT sobre una lista específica de columnas de la tabla y la base de datos indicadas. Si el usuario incluye columnas distintas de las especificadas, la consulta no devuelve ningún dato.
Considere el siguiente privilegio:
john ejecutar cualquier consulta SELECT que utilice datos de las columnas x y/o y de db.table, por ejemplo, SELECT x FROM db.table. john no puede ejecutar SELECT z FROM db.table. Tampoco puede ejecutar SELECT * FROM db.table. Al procesar esta consulta, ClickHouse no devuelve ningún dato, ni siquiera x e y. La única excepción es si una tabla contiene solo las columnas x e y; en ese caso, ClickHouse devuelve todos los datos.
INSERT
COLUMN.
Descripción
El usuario al que se le haya concedido este privilegio puede ejecutar consultas INSERT sobre una lista determinada de columnas de la tabla y la base de datos especificadas. Si el usuario incluye columnas distintas de las especificadas, la consulta no inserta ningún dato.
Ejemplo
john insertar datos en las columnas x y/o y de la tabla db.table.
ALTER
ALTER. Nivel:COLUMN.ALTER TABLE. Nivel:GROUPALTER UPDATE. Nivel:COLUMN. Alias:UPDATEALTER DELETE. Nivel:COLUMN. Alias:DELETEALTER COLUMN. Nivel:GROUPALTER ADD COLUMN. Nivel:COLUMN. Alias:ADD COLUMNALTER DROP COLUMN. Nivel:COLUMN. Alias:DROP COLUMNALTER MODIFY COLUMN. Nivel:COLUMN. Alias:MODIFY COLUMNALTER COMMENT COLUMN. Nivel:COLUMN. Alias:COMMENT COLUMNALTER CLEAR COLUMN. Nivel:COLUMN. Alias:CLEAR COLUMNALTER RENAME COLUMN. Nivel:COLUMN. Alias:RENAME COLUMNALTER INDEX. Nivel:GROUP. Alias:INDEXALTER ORDER BY. Nivel:TABLE. Alias:ALTER MODIFY ORDER BY,MODIFY ORDER BYALTER SAMPLE BY. Nivel:TABLE. Alias:ALTER MODIFY SAMPLE BY,MODIFY SAMPLE BYALTER ADD INDEX. Nivel:TABLE. Alias:ADD INDEXALTER DROP INDEX. Nivel:TABLE. Alias:DROP INDEXALTER MATERIALIZE INDEX. Nivel:TABLE. Alias:MATERIALIZE INDEXALTER CLEAR INDEX. Nivel:TABLE. Alias:CLEAR INDEXALTER CONSTRAINT. Nivel:GROUP. Alias:CONSTRAINTALTER ADD CONSTRAINT. Nivel:TABLE. Alias:ADD CONSTRAINTALTER DROP CONSTRAINT. Nivel:TABLE. Alias:DROP CONSTRAINTALTER TTL. Nivel:TABLE. Alias:ALTER MODIFY TTL,MODIFY TTLALTER MATERIALIZE TTL. Nivel:TABLE. Alias:MATERIALIZE TTLALTER SETTINGS. Nivel:TABLE. Alias:ALTER SETTING,ALTER MODIFY SETTING,MODIFY SETTINGALTER MOVE PARTITION. Nivel:TABLE. Alias:ALTER MOVE PART,MOVE PARTITION,MOVE PARTALTER FETCH PARTITION. Nivel:TABLE. Alias:ALTER FETCH PART,FETCH PARTITION,FETCH PARTALTER FREEZE PARTITION. Nivel:TABLE. Alias:FREEZE PARTITIONALTER EXECUTE. Nivel:TABLE. Alias:ALTER TABLE EXECUTEALTER VIEW. Nivel:GROUPALTER VIEW REFRESH. Nivel:VIEW. Alias:REFRESH VIEWALTER VIEW MODIFY QUERY. Nivel:VIEW. Alias:ALTER TABLE MODIFY QUERYALTER VIEW MODIFY SQL SECURITY. Nivel:VIEW. Alias:ALTER TABLE MODIFY SQL SECURITY
- El privilegio
ALTERincluye todos los demás privilegiosALTER*. ALTER CONSTRAINTincluye los privilegiosALTER ADD CONSTRAINTyALTER DROP CONSTRAINT.
- El privilegio
MODIFY SETTINGpermite modificar la configuración del motor de la tabla. No afecta a la configuración ni a los parámetros del servidor. - La operación
ATTACHrequiere el privilegio CREATE. - La operación
DETACHrequiere el privilegio DROP. - Para detener una mutación con la consulta KILL MUTATION, debes tener el privilegio necesario para iniciar esa mutación. Por ejemplo, si quieres detener la consulta
ALTER UPDATE, necesitas el privilegioALTER UPDATE,ALTER TABLEoALTER.
BACKUP
BACKUP] en las consultas. Para obtener más información sobre las copias de seguridad, consulte “Copia de seguridad y restauración”.
CREATE
CREATE. Nivel:GROUPCREATE DATABASE. Nivel:DATABASECREATE TABLE. Nivel:TABLECREATE ARBITRARY TEMPORARY TABLE. Nivel:GLOBALCREATE TEMPORARY TABLE. Nivel:GLOBAL
CREATE VIEW. Nivel:VIEWCREATE DICTIONARY. Nivel:DICTIONARY
- Para eliminar la tabla creada, el usuario necesita DROP.
CLUSTER
ON CLUSTER.
Syntax
ON CLUSTER requieren que al usuario se le haya concedido el privilegio CLUSTER.
Obtendrá el siguiente error si intenta usar ON CLUSTER en una consulta sin antes conceder el privilegio CLUSTER:
on_cluster_queries_require_cluster_grant,
ubicada en la sección access_control_improvements de config.xml (véase más abajo), en false.
config.xml
DROP
DROP. Nivel:GROUPDROP DATABASE. Nivel:DATABASEDROP TABLE. Nivel:TABLEDROP VIEW. Nivel:VIEWDROP DICTIONARY. Nivel:DICTIONARY
TRUNCATE
TABLE.
OPTIMIZE
TABLE.
SHOW
SHOW, DESCRIBE, USE y EXISTS según la siguiente jerarquía de privilegios:
SHOW. Nivel:GROUPSHOW DATABASES. Nivel:DATABASE. Permite ejecutar las consultasSHOW DATABASES,SHOW CREATE DATABASE,USE <database>.SHOW TABLES. Nivel:TABLE. Permite ejecutar las consultasSHOW TABLES,EXISTS <table>,CHECK <table>.SHOW COLUMNS. Nivel:COLUMN. Permite ejecutar las consultasSHOW CREATE TABLE,DESCRIBE.SHOW DICTIONARIES. Nivel:DICTIONARY. Permite ejecutar las consultasSHOW DICTIONARIES,SHOW CREATE DICTIONARY,EXISTS <dictionary>.
SHOW si tiene cualquier otro privilegio sobre la tabla, el diccionario o la base de datos especificados.
KILL QUERY
GLOBAL.
Notas
El privilegio KILL QUERY permite que un usuario finalice las consultas de otros usuarios.
GESTIÓN DE ACCESO
ACCESS MANAGEMENT. Nivel:GROUPCREATE USER. Nivel:GLOBALALTER USER. Nivel:GLOBALDROP USER. Nivel:GLOBALCREATE ROLE. Nivel:GLOBALALTER ROLE. Nivel:GLOBALDROP ROLE. Nivel:GLOBALROLE ADMIN. Nivel:GLOBALCREATE ROW POLICY. Nivel:GLOBAL. Alias:CREATE POLICYALTER ROW POLICY. Nivel:GLOBAL. Alias:ALTER POLICYDROP ROW POLICY. Nivel:GLOBAL. Alias:DROP POLICYCREATE QUOTA. Nivel:GLOBALALTER QUOTA. Nivel:GLOBALDROP QUOTA. Nivel:GLOBALCREATE SETTINGS PROFILE. Nivel:GLOBAL. Alias:CREATE PROFILEALTER SETTINGS PROFILE. Nivel:GLOBAL. Alias:ALTER PROFILEDROP SETTINGS PROFILE. Nivel:GLOBAL. Alias:DROP PROFILESHOW ACCESS. Nivel:GROUPSHOW_USERS. Nivel:GLOBAL. Alias:SHOW CREATE USERSHOW_ROLES. Nivel:GLOBAL. Alias:SHOW CREATE ROLESHOW_ROW_POLICIES. Nivel:GLOBAL. Alias:SHOW POLICIES,SHOW CREATE ROW POLICY,SHOW CREATE POLICYSHOW_QUOTAS. Nivel:GLOBAL. Alias:SHOW CREATE QUOTASHOW_SETTINGS_PROFILES. Nivel:GLOBAL. Alias:SHOW PROFILES,SHOW CREATE SETTINGS PROFILE,SHOW CREATE PROFILE
ALLOW SQL SECURITY NONE. Nivel:GLOBAL. Alias:CREATE SQL SECURITY NONE,SQL SECURITY NONE,SECURITY NONE
ROLE ADMIN permite a un usuario asignar y revocar cualquier rol, incluidos los que no le hayan sido asignados con la opción de administrador.
SYSTEM
SYSTEM. Nivel:GROUPSYSTEM SHUTDOWN. Nivel:GLOBAL. Alias:SYSTEM KILL,SHUTDOWNSYSTEM DROP CACHE. Alias:DROP CACHESYSTEM DROP DNS CACHE. Nivel:GLOBAL. Alias:SYSTEM CLEAR DNS CACHE,SYSTEM DROP DNS,DROP DNS CACHE,DROP DNSSYSTEM DROP MARK CACHE. Nivel:GLOBAL. Alias:SYSTEM CLEAR MARK CACHE,SYSTEM DROP MARK,DROP MARK CACHE,DROP MARKSSYSTEM DROP UNCOMPRESSED CACHE. Nivel:GLOBAL. Alias:SYSTEM CLEAR UNCOMPRESSED CACHE,SYSTEM DROP UNCOMPRESSED,DROP UNCOMPRESSED CACHE,DROP UNCOMPRESSED
SYSTEM RELOAD. Nivel:GROUPSYSTEM RELOAD CONFIG. Nivel:GLOBAL. Alias:RELOAD CONFIGSYSTEM RELOAD DICTIONARY. Nivel:GLOBAL. Alias:SYSTEM RELOAD DICTIONARIES,RELOAD DICTIONARY,RELOAD DICTIONARIESSYSTEM RELOAD EMBEDDED DICTIONARIES. Nivel:GLOBAL. Alias:RELOAD EMBEDDED DICTIONARIES
SYSTEM MERGES. Nivel:TABLE. Alias:SYSTEM STOP MERGES,SYSTEM START MERGES,STOP MERGES,START MERGESSYSTEM TTL MERGES. Nivel:TABLE. Alias:SYSTEM STOP TTL MERGES,SYSTEM START TTL MERGES,STOP TTL MERGES,START TTL MERGESSYSTEM FETCHES. Nivel:TABLE. Alias:SYSTEM STOP FETCHES,SYSTEM START FETCHES,STOP FETCHES,START FETCHESSYSTEM MOVES. Nivel:TABLE. Alias:SYSTEM STOP MOVES,SYSTEM START MOVES,STOP MOVES,START MOVESSYSTEM SENDS. Nivel:GROUP. Alias:SYSTEM STOP SENDS,SYSTEM START SENDS,STOP SENDS,START SENDSSYSTEM DISTRIBUTED SENDS. Nivel:TABLE. Alias:SYSTEM STOP DISTRIBUTED SENDS,SYSTEM START DISTRIBUTED SENDS,STOP DISTRIBUTED SENDS,START DISTRIBUTED SENDSSYSTEM REPLICATED SENDS. Nivel:TABLE. Alias:SYSTEM STOP REPLICATED SENDS,SYSTEM START REPLICATED SENDS,STOP REPLICATED SENDS,START REPLICATED SENDS
SYSTEM REPLICATION QUEUES. Nivel:TABLE. Alias:SYSTEM STOP REPLICATION QUEUES,SYSTEM START REPLICATION QUEUES,STOP REPLICATION QUEUES,START REPLICATION QUEUESSYSTEM SYNC REPLICA. Nivel:TABLE. Alias:SYNC REPLICASYSTEM RESTART REPLICA. Nivel:TABLE. Alias:RESTART REPLICASYSTEM FLUSH. Nivel:GROUPSYSTEM FLUSH DISTRIBUTED. Nivel:TABLE. Alias:FLUSH DISTRIBUTEDSYSTEM FLUSH LOGS. Nivel:GLOBAL. Alias:FLUSH LOGS
SYSTEM RELOAD EMBEDDED DICTIONARIES se concede implícitamente con el privilegio SYSTEM RELOAD DICTIONARY ON *.*.
INTROSPECTION
INTROSPECTION. Nivel:GROUP. Alias:INTROSPECTION FUNCTIONSaddressToLine. Nivel:GLOBALaddressToLineWithInlines. Nivel:GLOBALaddressToSymbol. Nivel:GLOBALdemangle. Nivel:GLOBAL
FUENTES
READ. Nivel:GLOBAL_WITH_PARAMETERWRITE. Nivel:GLOBAL_WITH_PARAMETER
AZUREFILEHDFSHIVEJDBCKAFKAMONGOMYSQLNATSODBCPOSTGRESRABBITMQREDISREMOTES3SQLITEURL
La separación de los privilegios READ/WRITE para fuentes está disponible a partir de la versión 25.7 y solo con la configuración del servidor
access_control_improvements.enable_read_write_grantsDe lo contrario, debe usar la sintaxis GRANT AZURE ON *.* TO user, que equivale al nuevo GRANT READ, WRITE ON AZURE TO user- Para crear una tabla con el motor de tabla MySQL, se necesitan los privilegios
CREATE TABLE (ON db.table_name)yMYSQL. - Para usar la función de tabla MySQL, se necesitan los privilegios
CREATE TEMPORARY TABLEyMYSQL.
Privilegios con filtro por origen
Esta función está disponible a partir de la versión 25.8 y solo con la configuración del servidor
access_control_improvements.enable_read_write_grantsWITH GRANT OPTION, puede volver a concederse con GRANT CURRENT GRANTS:
- No se permiten revocaciones parciales: No puede revocar solo un subconjunto de un patrón de filtro ya concedido. Debe revocar el privilegio completo y volver a concederlo con nuevos patrones si es necesario.
- No se permiten privilegios con comodines: No puede usar
GRANT READ ON *('regexp')ni patrones similares basados únicamente en comodines. Debe proporcionarse una source específica.
dictGet
dictGet. Alias:dictHas,dictGetHierarchy,dictIsIn
DICTIONARY.
Ejemplos
GRANT dictGet ON mydb.mydictionary TO johnGRANT dictGet ON mydictionary TO john
displaySecretsInShowAndSelect
SHOW y SELECT si tanto la
display_secrets_in_show_and_select configuración del servidor
como la
format_display_secrets_in_show_and_select configuración de formato
están activadas.
NAMED COLLECTION ADMIN
NAMED COLLECTION ADMIN. Nivel:NAMED_COLLECTION. Alias:NAMED COLLECTION CONTROLCREATE NAMED COLLECTION. Nivel:NAMED_COLLECTIONDROP NAMED COLLECTION. Nivel:NAMED_COLLECTIONALTER NAMED COLLECTION. Nivel:NAMED_COLLECTIONSHOW NAMED COLLECTIONS. Nivel:NAMED_COLLECTION. Alias:SHOW NAMED COLLECTIONSSHOW NAMED COLLECTIONS SECRETS. Nivel:NAMED_COLLECTION. Alias:SHOW NAMED COLLECTIONS SECRETSNAMED COLLECTION. Nivel:NAMED_COLLECTION. Alias: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
De forma predeterminada, por motivos de compatibilidad con versiones anteriores, al crear una tabla con un motor de tabla específico se ignoran los privilegios;
sin embargo, puede cambiar este comportamiento estableciendo
table_engines_require_grant en true
en config.xml.READ/WRITE sobre la fuente correspondiente. Consulte Sources.
Por ejemplo, para el motor de tabla AzureBlobStorage, puede ser necesario el siguiente privilegio.
GRANT READ, WRITE ON AZURE TO john
ALL
El privilegio
ALL no es compatible con ClickHouse Cloud, donde el usuario default tiene permisos limitados. Los usuarios pueden otorgar los permisos máximos a otro usuario concediéndole default_role. Consulta aquí para obtener más detalles.
Los usuarios también pueden usar GRANT CURRENT GRANTS con el usuario default para lograr un efecto similar a ALL.NONE
ADMIN OPTION
ADMIN OPTION permite a un usuario conceder su rol a otro usuario.