- 権限を ClickHouse のユーザーアカウントまたはロールに付与します。
- ロールをユーザーアカウントまたは他のロールに割り当てます。
権限付与の構文
privilege— 権限の種類。role— ClickHouse のユーザーロール。user— ClickHouse のユーザーアカウント。
WITH GRANT OPTION 句は、user または role に GRANT クエリを実行する権限を付与します。ユーザーは、自身が持つ権限と同じスコープ、またはそれより狭いスコープの権限を付与できます。
WITH REPLACE OPTION 句は、user または role に対する既存の権限を新しい権限で置き換えます。これが指定されていない場合は、権限が追加されます。
ロールの割り当て構文
role— ClickHouse のユーザーロール。user— ClickHouse のユーザーアカウント。
WITH ADMIN OPTION 句は、user または role に ADMIN OPTION 権限を付与します。
WITH REPLACE OPTION 句は、user または role の既存のロールを新しいロールで置き換えます。指定しない場合は、ロールが追加されます。
Grant Current Grants の構文
privilege— 権限の種類。role— ClickHouse のユーザーロール。user— ClickHouse のユーザーアカウント。
CURRENT GRANTS ステートメントを使用すると、指定したすべての権限を、指定したユーザーまたはロールに付与できます。
権限が何も指定されていない場合は、指定したユーザーまたはロールに CURRENT_USER で利用可能なすべての権限が付与されます。
使用方法
GRANT を使用するには、アカウントに GRANT OPTION 権限が必要です。権限を付与できるのは、自身のアカウントに与えられている権限の範囲内に限られます。
たとえば、管理者は次のクエリで john アカウントに権限を付与しています。
john に次の実行権限があることを意味します。
SELECT x,y FROM db.table.SELECT x FROM db.table.SELECT y FROM db.table.
john は SELECT z FROM db.table を実行できません。SELECT * FROM db.table も実行できません。このクエリを処理する場合、ClickHouse は x と y についてもデータを一切返しません。唯一の例外は、テーブルに x と y のカラムしかない場合です。この場合、ClickHouse はすべてのデータを返します。
また、john は GRANT OPTION 権限も持っているため、同じスコープまたはそれより狭いスコープの権限を他のユーザーに付与できます。
system データベースへのアクセスは常に許可されます (このデータベースはクエリの処理に使用されるためです) 。
新規ユーザーがデフォルトでアクセスできるシステムテーブルは多数ありますが、権限が付与されていない場合、すべてのシステムテーブルにデフォルトでアクセスできるわけではありません。
さらに、
system.zookeeper など一部のシステムテーブルへのアクセスは、セキュリティ上の理由により Cloud ユーザーには制限されています。GRANT SELECT, INSERT ON *.* TO john, robin を使用すると、アカウント john と robin は、サーバー上のすべてのデータベース内のすべてのテーブルに対して INSERT クエリと SELECT クエリを実行できます。
ワイルドカードを使った権限付与
*) を使用できます。たとえば、GRANT SELECT ON db.* TO john クエリでは、john に db データベース内のすべてのテーブルに対する SELECT クエリの実行を許可します。
また、データベース名を省略することもできます。この場合、権限は現在のデータベースに対して付与されます。
たとえば、GRANT SELECT ON * TO john は現在のデータベース内のすべてのテーブルに対する権限を付与し、GRANT SELECT ON mytable TO john は現在のデータベース内の mytable テーブルに対する権限を付与します。
以下で説明する機能は、ClickHouse バージョン 24.10 以降で利用できます。
GRANT SELECT ON db.my_tables* TO john。このクエリでは、john に db データベース内で my_tables をプレフィックスに持つすべてのテーブルに対する SELECT クエリの実行を許可します。
さらに例を示します。
GRANT SELECT ON db.my_tables* TO john
GRANT SELECT ON db*.* TO john
GRANT SELECT ON db.* TO john クエリを実行した後に新しいテーブル db.new_table を作成すると、ユーザー john は SELECT * FROM db.new_table クエリを実行できます。
アスタリスクを指定できるのは、プレフィックスに対してのみです。
権限
ALLアクセス管理ALLOW 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
テーブルエンジンTRUNCATEUNDROP TABLE
NONE
ALTER権限には、ほかのすべてのALTER*権限が含まれます。ALTER CONSTRAINTには、ALTER ADD CONSTRAINT権限とALTER DROP CONSTRAINT権限が含まれます。
COLUMN— 権限はカラム、テーブル、データベース、またはグローバルに対して付与できます。TABLE— 権限はテーブル、データベース、またはグローバルに対して付与できます。VIEW— 権限はビュー、データベース、またはグローバルに対して付与できます。DICTIONARY— 権限は Dictionary、データベース、またはグローバルに対して付与できます。DATABASE— 権限はデータベースまたはグローバルに対して付与できます。GLOBAL— 権限はグローバルに対してのみ付与できます。GROUP— 異なるレベルの権限をグループ化したものです。GROUPレベルの権限を付与すると、使用した構文に対応するグループ内の権限のみが付与されます。
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、DROP TABLE。
SELECT
COLUMN。
説明
この権限が付与されたユーザーは、指定したデータベースおよびテーブルにおいて、指定したカラムの一覧に対する SELECT クエリを実行できます。指定されたもの以外のカラムをユーザーが含めた場合、そのクエリはデータを返しません。
次の権限について考えてみましょう。
john は db.table の x および/または y カラムのデータを含む任意の SELECT クエリを実行できます。たとえば、SELECT x FROM db.table です。john は SELECT z FROM db.table を実行できません。SELECT * FROM db.table も実行できません。このクエリを処理しても、ClickHouse は x や y を含め、データを一切返しません。唯一の例外は、テーブルに x と y のカラムしかない場合で、この場合は ClickHouse がすべてのデータを返します。
INSERT
COLUMN。
説明
この権限を付与されたユーザーは、指定したデータベース内の指定したテーブルに対して、指定されたカラムの一覧に対する INSERT クエリを実行できます。ユーザーが指定されたもの以外のカラムを含めた場合、そのクエリではデータは挿入されません。
例
john は db.table の x および/または y カラムにデータを挿入できます。
ALTER
ALTER。レベル:COLUMN。ALTER TABLE。レベル:GROUPALTER UPDATE。レベル:COLUMN。別名:UPDATEALTER DELETE。レベル:COLUMN。別名:DELETEALTER COLUMN。レベル:GROUPALTER ADD COLUMN。レベル:COLUMN。別名:ADD COLUMNALTER DROP COLUMN。レベル:COLUMN。別名:DROP COLUMNALTER MODIFY COLUMN。レベル:COLUMN。別名:MODIFY COLUMNALTER COMMENT COLUMN。レベル:COLUMN。別名:COMMENT COLUMNALTER CLEAR COLUMN。レベル:COLUMN。別名:CLEAR COLUMNALTER RENAME COLUMN。レベル:COLUMN。別名:RENAME COLUMNALTER INDEX。レベル:GROUP。別名:INDEXALTER ORDER BY。レベル:TABLE。別名:ALTER MODIFY ORDER BY,MODIFY ORDER BYALTER SAMPLE BY。レベル:TABLE。別名:ALTER MODIFY SAMPLE BY,MODIFY SAMPLE BYALTER ADD INDEX。レベル:TABLE。別名:ADD INDEXALTER DROP INDEX。レベル:TABLE。別名:DROP INDEXALTER MATERIALIZE INDEX。レベル:TABLE。別名:MATERIALIZE INDEXALTER CLEAR INDEX。レベル:TABLE。別名:CLEAR INDEXALTER CONSTRAINT。レベル:GROUP。別名:CONSTRAINTALTER ADD CONSTRAINT。レベル:TABLE。別名:ADD CONSTRAINTALTER DROP CONSTRAINT。レベル:TABLE。別名:DROP CONSTRAINTALTER TTL。レベル:TABLE。別名:ALTER MODIFY TTL,MODIFY TTLALTER MATERIALIZE TTL。レベル:TABLE。別名:MATERIALIZE TTLALTER SETTINGS。レベル:TABLE。別名:ALTER SETTING,ALTER MODIFY SETTING,MODIFY SETTINGALTER MOVE PARTITION。レベル:TABLE。別名:ALTER MOVE PART,MOVE PARTITION,MOVE PARTALTER FETCH PARTITION。レベル:TABLE。別名:ALTER FETCH PART,FETCH PARTITION,FETCH PARTALTER FREEZE PARTITION。レベル:TABLE。別名:FREEZE PARTITIONALTER EXECUTE。レベル:TABLE。別名:ALTER TABLE EXECUTEALTER VIEW。レベル:GROUPALTER VIEW REFRESH。レベル:VIEW。別名:REFRESH VIEWALTER VIEW MODIFY QUERY。レベル:VIEW。別名:ALTER TABLE MODIFY QUERYALTER VIEW MODIFY SQL SECURITY。レベル:VIEW。別名:ALTER TABLE MODIFY SQL SECURITY
ALTER権限には、他のすべてのALTER*権限が含まれます。ALTER CONSTRAINTには、ALTER ADD CONSTRAINTとALTER DROP CONSTRAINTの権限が含まれます。
MODIFY SETTING権限では、テーブルエンジンの設定を変更できます。settings やサーバー設定のパラメータには影響しません。ATTACH操作には CREATE 権限が必要です。DETACH操作には DROP 権限が必要です。- KILL MUTATIONクエリでミューテーションを停止するには、そのミューテーションを開始できる権限が必要です。たとえば、
ALTER UPDATEクエリを停止したい場合は、ALTER UPDATE、ALTER TABLE、またはALTER権限が必要です。
BACKUP
BACKUP] を実行できます。バックアップの詳細については、“バックアップと復元” をご覧ください。
CREATE
CREATE。レベル:GROUPCREATE DATABASE。レベル:DATABASECREATE TABLE。レベル:TABLECREATE ARBITRARY TEMPORARY TABLE。レベル:GLOBALCREATE TEMPORARY TABLE。レベル:GLOBAL
CREATE VIEW。レベル:VIEWCREATE DICTIONARY。レベル:DICTIONARY
- 作成したテーブルを削除するには、ユーザーに DROP 権限が必要です。
クラスター
ON CLUSTER クエリを実行できます。
Syntax
ON CLUSTER を含むクエリを実行するには、ユーザーに CLUSTER 権限付与が必要です。
CLUSTER 権限付与を事前に行わずにクエリで ON CLUSTER を使おうとすると、次のエラーが発生します。
config.xml の access_control_improvements セクションにある on_cluster_queries_require_cluster_grant 設定 (以下を参照) を false に設定することで変更できます。
config.xml
DROP
DROP。レベル:GROUPDROP DATABASE。レベル:DATABASEDROP TABLE。レベル:TABLEDROP VIEW。レベル:VIEWDROP DICTIONARY。レベル:DICTIONARY
TRUNCATE
TABLE。
OPTIMIZE
TABLE。
SHOW
SHOW、DESCRIBE、USE、EXISTS クエリの実行を許可します。
SHOW。レベル:GROUPSHOW DATABASES。レベル:DATABASE。SHOW DATABASES、SHOW CREATE DATABASE、USE <database>クエリの実行を許可します。SHOW TABLES。レベル:TABLE。SHOW TABLES、EXISTS <table>、CHECK <table>クエリの実行を許可します。SHOW COLUMNS。レベル:COLUMN。SHOW CREATE TABLE、DESCRIBEクエリの実行を許可します。SHOW DICTIONARIES。レベル:DICTIONARY。SHOW DICTIONARIES、SHOW CREATE DICTIONARY、EXISTS <dictionary>クエリの実行を許可します。
SHOW 権限も付与されます。
KILL QUERY
GLOBAL。
注意
KILL QUERY 権限を持つユーザーは、他のユーザーのクエリを強制終了できます。
アクセス管理
ACCESS MANAGEMENT. レベル:GROUPCREATE USER. レベル:GLOBALALTER USER. レベル:GLOBALDROP USER. レベル:GLOBALCREATE ROLE. レベル:GLOBALALTER ROLE. レベル:GLOBALDROP ROLE. レベル:GLOBALROLE ADMIN. レベル:GLOBALCREATE ROW POLICY. レベル:GLOBAL. 別名:CREATE POLICYALTER ROW POLICY. レベル:GLOBAL. 別名:ALTER POLICYDROP ROW POLICY. レベル:GLOBAL. 別名:DROP POLICYCREATE QUOTA. レベル:GLOBALALTER QUOTA. レベル:GLOBALDROP QUOTA. レベル:GLOBALCREATE SETTINGS PROFILE. レベル:GLOBAL. 別名:CREATE PROFILEALTER SETTINGS PROFILE. レベル:GLOBAL. 別名:ALTER PROFILEDROP SETTINGS PROFILE. レベル:GLOBAL. 別名:DROP PROFILESHOW ACCESS. レベル:GROUPSHOW_USERS. レベル:GLOBAL. 別名:SHOW CREATE USERSHOW_ROLES. レベル:GLOBAL. 別名:SHOW CREATE ROLESHOW_ROW_POLICIES. レベル:GLOBAL. 別名:SHOW POLICIES,SHOW CREATE ROW POLICY,SHOW CREATE POLICYSHOW_QUOTAS. レベル:GLOBAL. 別名:SHOW CREATE QUOTASHOW_SETTINGS_PROFILES. レベル:GLOBAL. 別名:SHOW PROFILES,SHOW CREATE SETTINGS PROFILE,SHOW CREATE PROFILE
ALLOW SQL SECURITY NONE. レベル:GLOBAL. 別名:CREATE SQL SECURITY NONE,SQL SECURITY NONE,SECURITY NONE
ROLE ADMIN 権限があると、admin オプション付きでそのユーザーに付与されていないロールも含め、あらゆるロールを付与したり取り消したりできます。
SYSTEM
SYSTEM。レベル:GROUPSYSTEM SHUTDOWN。レベル:GLOBAL。別名:SYSTEM KILL,SHUTDOWNSYSTEM DROP CACHE。別名:DROP CACHESYSTEM DROP DNS CACHE。レベル:GLOBAL。別名:SYSTEM CLEAR DNS CACHE,SYSTEM DROP DNS,DROP DNS CACHE,DROP DNSSYSTEM DROP MARK CACHE。レベル:GLOBAL。別名:SYSTEM CLEAR MARK CACHE,SYSTEM DROP MARK,DROP MARK CACHE,DROP MARKSSYSTEM DROP UNCOMPRESSED CACHE。レベル:GLOBAL。別名:SYSTEM CLEAR UNCOMPRESSED CACHE,SYSTEM DROP UNCOMPRESSED,DROP UNCOMPRESSED CACHE,DROP UNCOMPRESSED
SYSTEM RELOAD。レベル:GROUPSYSTEM RELOAD CONFIG。レベル:GLOBAL。別名:RELOAD CONFIGSYSTEM RELOAD DICTIONARY。レベル:GLOBAL。別名:SYSTEM RELOAD DICTIONARIES,RELOAD DICTIONARY,RELOAD DICTIONARIESSYSTEM RELOAD EMBEDDED DICTIONARIES。レベル:GLOBAL。別名:RELOAD EMBEDDED DICTIONARIES
SYSTEM MERGES。レベル:TABLE。別名:SYSTEM STOP MERGES,SYSTEM START MERGES,STOP MERGES,START MERGESSYSTEM TTL MERGES。レベル:TABLE。別名:SYSTEM STOP TTL MERGES,SYSTEM START TTL MERGES,STOP TTL MERGES,START TTL MERGESSYSTEM FETCHES。レベル:TABLE。別名:SYSTEM STOP FETCHES,SYSTEM START FETCHES,STOP FETCHES,START FETCHESSYSTEM MOVES。レベル:TABLE。別名:SYSTEM STOP MOVES,SYSTEM START MOVES,STOP MOVES,START MOVESSYSTEM SENDS。レベル:GROUP。別名:SYSTEM STOP SENDS,SYSTEM START SENDS,STOP SENDS,START SENDSSYSTEM DISTRIBUTED SENDS。レベル:TABLE。別名:SYSTEM STOP DISTRIBUTED SENDS,SYSTEM START DISTRIBUTED SENDS,STOP DISTRIBUTED SENDS,START DISTRIBUTED SENDSSYSTEM REPLICATED SENDS。レベル:TABLE。別名:SYSTEM STOP REPLICATED SENDS,SYSTEM START REPLICATED SENDS,STOP REPLICATED SENDS,START REPLICATED SENDS
SYSTEM REPLICATION QUEUES。レベル:TABLE。別名:SYSTEM STOP REPLICATION QUEUES,SYSTEM START REPLICATION QUEUES,STOP REPLICATION QUEUES,START REPLICATION QUEUESSYSTEM SYNC REPLICA。レベル:TABLE。別名:SYNC REPLICASYSTEM RESTART REPLICA。レベル:TABLE。別名:RESTART REPLICASYSTEM FLUSH。レベル:GROUPSYSTEM FLUSH DISTRIBUTED。レベル:TABLE。別名:FLUSH DISTRIBUTEDSYSTEM FLUSH LOGS。レベル:GLOBAL。別名:FLUSH LOGS
SYSTEM RELOAD EMBEDDED DICTIONARIES 権限は、SYSTEM RELOAD DICTIONARY ON *.* 権限により暗黙的に付与されます。
INTROSPECTION
INTROSPECTION. レベル:GROUP. 別名:INTROSPECTION FUNCTIONSaddressToLine. レベル:GLOBALaddressToLineWithInlines. レベル:GLOBALaddressToSymbol. レベル:GLOBALdemangle. レベル:GLOBAL
SOURCES
READ. レベル:GLOBAL_WITH_PARAMETERWRITE. レベル:GLOBAL_WITH_PARAMETER
AZUREFILEHDFSHIVEJDBCKAFKAMONGOMYSQLNATSODBCPOSTGRESRABBITMQREDISREMOTES3SQLITEURL
SOURCES に対する READ/WRITE 権限の分離は、バージョン 25.7 以降で、かつサーバー設定
access_control_improvements.enable_read_write_grants
が有効な場合にのみ利用できます。それ以外の場合は、GRANT AZURE ON *.* TO user 構文を使用してください。これは新しい GRANT READ, WRITE ON AZURE TO user と同等です。- MySQL テーブルエンジンでテーブルを作成するには、
CREATE TABLE (ON db.table_name)とMYSQL権限が必要です。 - mysql テーブル関数を使用するには、
CREATE TEMPORARY TABLEとMYSQL権限が必要です。
ソースフィルターの権限付与
この機能は、バージョン 25.8 以降で、サーバー設定
access_control_improvements.enable_read_write_grants
が有効な場合にのみ利用できますWITH GRANT OPTION が含まれている場合は、GRANT CURRENT GRANTS を使用して再付与できます:
- 部分的な取り消しはできません: 付与済みのフィルターパターンの一部だけを取り消すことはできません。必要な場合は、付与全体をいったん取り消したうえで、新しいパターンで再付与する必要があります。
- ワイルドカードによる権限付与はできません:
GRANT READ ON *('regexp')や、これに類するワイルドカードのみのパターンは使用できません。必ず具体的なソースを指定してください。
dictGet
dictGet。別名:dictHas,dictGetHierarchy,dictIsIn
DICTIONARY。
例
GRANT dictGet ON mydb.mydictionary TO johnGRANT dictGet ON mydictionary TO john
displaySecretsInShowAndSelect
display_secrets_in_show_and_select サーバー設定
と
format_display_secrets_in_show_and_select フォーマット設定
の両方が有効になっている場合、ユーザーは SHOW クエリおよび SELECT クエリでシークレットを表示できます。
NAMED COLLECTION ADMIN
NAMED COLLECTION ADMIN. レベル:NAMED_COLLECTION. 別名:NAMED COLLECTION CONTROLCREATE NAMED COLLECTION. レベル:NAMED_COLLECTIONDROP NAMED COLLECTION. レベル:NAMED_COLLECTIONALTER NAMED COLLECTION. レベル:NAMED_COLLECTIONSHOW NAMED COLLECTIONS. レベル:NAMED_COLLECTION. 別名:SHOW NAMED COLLECTIONSSHOW NAMED COLLECTIONS SECRETS. レベル:NAMED_COLLECTION. 別名:SHOW NAMED COLLECTIONS SECRETSNAMED COLLECTION. レベル:NAMED_COLLECTION. 別名: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
デフォルトでは、後方互換性のため、特定のテーブルエンジンを指定したテーブル作成では権限チェックが無視されます。
ただし、config.xml で
table_engines_require_grant to true
を設定すると、この動作を変更できます。READ/WRITE 権限が必要になる場合があります。SOURCES を参照してください。
たとえば、AzureBlobStorage テーブルエンジンでは、次の権限が必要になる場合があります。
GRANT READ, WRITE ON AZURE TO john
ALL
権限
ALL は ClickHouse Cloud ではサポートされておらず、default ユーザーに付与される権限は制限されています。ユーザーに最大限の権限を付与するには、default_role を付与します。詳細はこちらを参照してください。
また、default ユーザーとして GRANT CURRENT GRANTS を使用することで、ALL と同様の効果を得ることもできます。NONE
ADMIN OPTION
ADMIN OPTION 権限があると、ユーザーは自身のロールを別のユーザーに付与できます。