GRANT ステートメント
- 特権を ClickHouse ユーザーアカウントまたはロールに付与します。
- ユーザーアカウントや他のロールにロールを割り当てます。
特権を取り消すには、REVOKE ステートメントを使用します。また、付与された特権をリストするには、SHOW GRANTS ステートメントを使用できます。
特権付与構文
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
の古いロールを新しいロールで置き換えます。
現在の特権付与構文
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
データベースへのアクセスは常に許可されています(このデータベースはクエリを処理するために使用されるため)。
1 回のクエリで複数のアカウントに複数の特権を付与できます。クエリ 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
テーブルに対して特権を付与します。
以下に説明する機能は、24.10 ClickHouse バージョンから利用可能です。
テーブル名またはデータベース名の末尾にもアスタリスクを付けることができます。この機能により、テーブルのパスの抽象的なプレフィックスに対して特権を付与できます。
例: GRANT SELECT ON db.my_tables* TO john
。このクエリにより、john
が my_tables*
というプレフィックスを持つすべての db
データベースのテーブルに対して 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
クエリを実行できます。
アスタリスクは プレフィックス のみで指定できます:
特権
特権とは、ユーザーに特定の種類のクエリを実行する権限を与えるものです。
特権は階層構造を持ち、許可されるクエリのセットは特権の範囲によって異なります。
ClickHouse における特権の階層は以下の通りです:
ALL
ACCESS MANAGEMENT
ALLOW SQL SECURITY NONE
ALTER QUOTA
ALTER ROLE
ALTER ROW POLICY
ALTER SETTINGS PROFILE
ALTER USER
CREATE QUOTA
CREATE ROLE
CREATE ROW POLICY
CREATE SETTINGS PROFILE
CREATE USER
DROP QUOTA
DROP ROLE
DROP ROW POLICY
DROP SETTINGS PROFILE
DROP USER
ROLE ADMIN
SHOW ACCESS
SHOW QUOTAS
SHOW ROLES
SHOW ROW POLICIES
SHOW SETTINGS PROFILES
SHOW USERS
ALTER
ALTER DATABASE
ALTER DATABASE SETTINGS
ALTER TABLE
ALTER COLUMN
ALTER ADD COLUMN
ALTER CLEAR COLUMN
ALTER COMMENT COLUMN
ALTER DROP COLUMN
ALTER MATERIALIZE COLUMN
ALTER MODIFY COLUMN
ALTER RENAME COLUMN
ALTER CONSTRAINT
ALTER ADD CONSTRAINT
ALTER DROP CONSTRAINT
ALTER DELETE
ALTER FETCH PARTITION
ALTER FREEZE PARTITION
ALTER INDEX
ALTER ADD INDEX
ALTER CLEAR INDEX
ALTER DROP INDEX
ALTER MATERIALIZE INDEX
ALTER ORDER BY
ALTER SAMPLE BY
ALTER MATERIALIZE TTL
ALTER MODIFY COMMENT
ALTER MOVE PARTITION
ALTER PROJECTION
ALTER SETTINGS
ALTER STATISTICS
ALTER ADD STATISTICS
ALTER DROP STATISTICS
ALTER MATERIALIZE STATISTICS
ALTER MODIFY STATISTICS
ALTER TTL
ALTER UPDATE
ALTER VIEW
ALTER VIEW MODIFY QUERY
ALTER VIEW REFRESH
ALTER VIEW MODIFY SQL SECURITY
BACKUP
CLUSTER
CREATE
CREATE ARBITRARY TEMPORARY TABLE
CREATE TEMPORARY TABLE
CREATE DATABASE
CREATE DICTIONARY
CREATE FUNCTION
CREATE RESOURCE
CREATE TABLE
CREATE VIEW
CREATE WORKLOAD
dictGet
displaySecretsInShowAndSelect
DROP
DROP DATABASE
DROP DICTIONARY
DROP FUNCTION
DROP RESOURCE
DROP TABLE
DROP VIEW
DROP WORKLOAD
INSERT
INTROSPECTION
addressToLine
addressToLineWithInlines
addressToSymbol
demangle
KILL QUERY
KILL TRANSACTION
MOVE PARTITION BETWEEN SHARDS
NAMED COLLECTION ADMIN
ALTER NAMED COLLECTION
CREATE NAMED COLLECTION
DROP NAMED COLLECTION
NAMED COLLECTION
SHOW NAMED COLLECTIONS
SHOW NAMED COLLECTIONS SECRETS
OPTIMIZE
SELECT
SET DEFINER
SHOW
SHOW COLUMNS
SHOW DATABASES
SHOW DICTIONARIES
SHOW TABLES
SHOW FILESYSTEM CACHES
SOURCES
AZURE
FILE
HDFS
HIVE
JDBC
KAFKA
MONGO
MYSQL
NATS
ODBC
POSTGRES
RABBITMQ
REDIS
REMOTE
S3
SQLITE
URL
SYSTEM
SYSTEM CLEANUP
SYSTEM DROP CACHE
SYSTEM DROP COMPILED EXPRESSION CACHE
SYSTEM DROP CONNECTIONS CACHE
SYSTEM DROP DISTRIBUTED CACHE
SYSTEM DROP DNS CACHE
SYSTEM DROP FILESYSTEM CACHE
SYSTEM DROP FORMAT SCHEMA CACHE
SYSTEM DROP MARK CACHE
SYSTEM DROP MMAP CACHE
SYSTEM DROP PAGE CACHE
SYSTEM DROP PRIMARY INDEX CACHE
SYSTEM DROP QUERY CACHE
SYSTEM DROP S3 CLIENT CACHE
SYSTEM DROP SCHEMA CACHE
SYSTEM DROP UNCOMPRESSED CACHE
SYSTEM DROP PRIMARY INDEX CACHE
SYSTEM DROP REPLICA
SYSTEM FAILPOINT
SYSTEM FETCHES
SYSTEM FLUSH
SYSTEM FLUSH ASYNC INSERT QUEUE
SYSTEM FLUSH LOGS
SYSTEM JEMALLOC
SYSTEM KILL QUERY
SYSTEM KILL TRANSACTION
SYSTEM LISTEN
SYSTEM LOAD PRIMARY KEY
SYSTEM MERGES
SYSTEM MOVES
SYSTEM PULLING REPLICATION LOG
SYSTEM REDUCE BLOCKING PARTS
SYSTEM REPLICATION QUEUES
SYSTEM REPLICA READINESS
SYSTEM RESTART DISK
SYSTEM RESTART REPLICA
SYSTEM RESTORE REPLICA
SYSTEM RELOAD
SYSTEM RELOAD ASYNCHRONOUS METRICS
SYSTEM RELOAD CONFIG
SYSTEM RELOAD DICTIONARY
SYSTEM RELOAD EMBEDDED DICTIONARIES
SYSTEM RELOAD FUNCTION
SYSTEM RELOAD MODEL
SYSTEM RELOAD USERS
SYSTEM SENDS
SYSTEM DISTRIBUTED SENDS
SYSTEM REPLICATED SENDS
SYSTEM SHUTDOWN
SYSTEM SYNC DATABASE REPLICA
SYSTEM SYNC FILE CACHE
SYSTEM SYNC FILESYSTEM CACHE
SYSTEM SYNC REPLICA
SYSTEM SYNC TRANSACTION LOG
SYSTEM THREAD FUZZER
SYSTEM TTL MERGES
SYSTEM UNFREEZE
SYSTEM UNLOAD PRIMARY KEY
SYSTEM VIEWS
SYSTEM VIRTUAL PARTS UPDATE
SYSTEM WAIT LOADING PARTS
TABLE ENGINE
TRUNCATE
UNDROP TABLE
NONE
この階層の扱い例:
ALTER
特権は他のすべてのALTER*
特権を含みます。ALTER CONSTRAINT
はALTER ADD CONSTRAINT
およびALTER DROP CONSTRAINT
特権を含みます。
特権は異なるレベルで適用されます。レベルを知ることで、その特権に対して利用可能な構文が示唆されます。
レベル(低いものから高いものへ):
COLUMN
— 特権は列、テーブル、データベース、またはグローバルに付与できます。TABLE
— 特権はテーブル、データベース、またはグローバルに付与できます。VIEW
— 特権はビュー、データベース、またはグローバルに付与できます。DICTIONARY
— 特権は辞書、データベース、またはグローバルに付与できます。DATABASE
— 特権はデータベースまたはグローバルに付与できます。GLOBAL
— 特権はグローバルにのみ付与できます。GROUP
— 異なるレベルの特権をグループ化します。GROUP
レベルの特権が付与されると、使用された構文に対応するグループの特権のみが付与されます。
許可されている構文の例:
GRANT SELECT(x) ON db.table TO user
GRANT SELECT ON db.* TO user
許可されていない構文の例:
GRANT CREATE USER(x) ON db.table TO user
GRANT CREATE USER ON db.* TO user
特別な特権 ALL は、ユーザーアカウントまたはロールにすべての特権を付与します。
デフォルトでは、ユーザーアカウントまたはロールには特権がありません。
ユーザーやロールに特権がない場合は、NONE 特権として表示されます。
特定の実装により、特定の特権セットが要求されるクエリがあります。たとえば、RENAME クエリを実行するには、次の特権が必要です: SELECT
, CREATE TABLE
, INSERT
, DROP TABLE
。
SELECT
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
INSERT クエリを実行することを許可します。
特権レベル: COLUMN
.
説明
この特権を与えられたユーザーは、指定されたテーブルおよびデータベース内の指定された列のリストに対して INSERT
クエリを実行できます。他の列を含めた場合、指定されたクエリはデータを挿入しません。
例
付与された特権により、john
は db.table
の x
および/または y
列にデータを挿入できます。
ALTER
ALTER クエリを実行することを許可します。以下の特権の階層に基づきます:
ALTER
. レベル:COLUMN
.ALTER TABLE
. レベル:GROUP
ALTER UPDATE
. レベル:COLUMN
. エイリアス:UPDATE
ALTER DELETE
. レベル:COLUMN
. エイリアス:DELETE
ALTER COLUMN
. レベル:GROUP
ALTER ADD COLUMN
. レベル:COLUMN
. エイリアス:ADD COLUMN
ALTER DROP COLUMN
. レベル:COLUMN
. エイリアス:DROP COLUMN
ALTER MODIFY COLUMN
. レベル:COLUMN
. エイリアス:MODIFY COLUMN
ALTER COMMENT COLUMN
. レベル:COLUMN
. エイリアス:COMMENT COLUMN
ALTER CLEAR COLUMN
. レベル:COLUMN
. エイリアス:CLEAR COLUMN
ALTER RENAME COLUMN
. レベル:COLUMN
. エイリアス:RENAME COLUMN
ALTER INDEX
. レベル:GROUP
. エイリアス:INDEX
ALTER ORDER BY
. レベル:TABLE
. エイリアス:ALTER MODIFY ORDER BY
,MODIFY ORDER BY
ALTER SAMPLE BY
. レベル:TABLE
. エイリアス:ALTER MODIFY SAMPLE BY
,MODIFY SAMPLE BY
ALTER ADD INDEX
. レベル:TABLE
. エイリアス:ADD INDEX
ALTER DROP INDEX
. レベル:TABLE
. エイリアス:DROP INDEX
ALTER MATERIALIZE INDEX
. レベル:TABLE
. エイリアス:MATERIALIZE INDEX
ALTER CLEAR INDEX
. レベル:TABLE
. エイリアス:CLEAR INDEX
ALTER CONSTRAINT
. レベル:GROUP
. エイリアス:CONSTRAINT
ALTER ADD CONSTRAINT
. レベル:TABLE
. エイリアス:ADD CONSTRAINT
ALTER DROP CONSTRAINT
. レベル:TABLE
. エイリアス:DROP CONSTRAINT
ALTER TTL
. レベル:TABLE
. エイリアス:ALTER MODIFY TTL
,MODIFY TTL
ALTER MATERIALIZE TTL
. レベル:TABLE
. エイリアス:MATERIALIZE TTL
ALTER SETTINGS
. レベル:TABLE
. エイリアス:ALTER SETTING
,ALTER MODIFY SETTING
,MODIFY SETTING
ALTER MOVE PARTITION
. レベル:TABLE
. エイリアス:ALTER MOVE PART
,MOVE PARTITION
,MOVE PART
ALTER FETCH PARTITION
. レベル:TABLE
. エイリアス:ALTER FETCH PART
,FETCH PARTITION
,FETCH PART
ALTER FREEZE PARTITION
. レベル:TABLE
. エイリアス:FREEZE PARTITION
ALTER VIEW
レベル:GROUP
ALTER VIEW REFRESH
. レベル:VIEW
. エイリアス:ALTER LIVE VIEW REFRESH
,REFRESH VIEW
ALTER VIEW MODIFY QUERY
. レベル:VIEW
. エイリアス:ALTER TABLE MODIFY QUERY
ALTER VIEW MODIFY SQL SECURITY
. レベル:VIEW
. エイリアス:ALTER TABLE MODIFY SQL SECURITY
この階層の扱い例:
ALTER
特権は他のすべてのALTER*
特権を含みます。ALTER CONSTRAINT
はALTER ADD CONSTRAINT
およびALTER DROP CONSTRAINT
特権を含みます。
注意
MODIFY SETTING
特権はテーブルエンジンの設定を変更できます。設定やサーバーの構成パラメータには影響しません。ATTACH
操作には CREATE 特権が必要です。DETACH
操作には DROP 特権が必要です。- KILL MUTATION クエリによる変異の停止には、この変異を開始するための特権が必要です。たとえば、
ALTER UPDATE
クエリを停止したい場合は、ALTER UPDATE
、ALTER TABLE
、またはALTER
特権が必要です。
BACKUP
[BACKUP
] におけるクエリの実行を許可します。バックアップの詳細については、「バックアップと復元」を参照してください。
CREATE
CREATE および ATTACH DDL クエリを実行することを許可します。以下の特権の階層に基づきます:
CREATE
. レベル:GROUP
CREATE DATABASE
. レベル:DATABASE
CREATE TABLE
. レベル:TABLE
CREATE ARBITRARY TEMPORARY TABLE
. レベル:GLOBAL
CREATE TEMPORARY TABLE
. レベル:GLOBAL
CREATE VIEW
. レベル:VIEW
CREATE DICTIONARY
. レベル:DICTIONARY
注意
- 作成したテーブルを削除するには、ユーザーは DROP 特権が必要です。
CLUSTER
ON CLUSTER
クエリを実行することを許可します。
デフォルトでは、ON CLUSTER
を使用するクエリはユーザーが CLUSTER
特権を持つ必要があります。
CLUSTER
特権を最初に付与せずに ON CLUSTER
をクエリで使用しようとすると、次のエラーが発生します:
デフォルトの動作は、config.xml
の access_control_improvements
セクションにある on_cluster_queries_require_cluster_grant
設定を false
に設定することで変更できます。
DROP
DROP および DETACH クエリを実行することを許可します。以下の特権の階層に基づきます:
DROP
. レベル:GROUP
DROP DATABASE
. レベル:DATABASE
DROP TABLE
. レベル:TABLE
DROP VIEW
. レベル:VIEW
DROP DICTIONARY
. レベル:DICTIONARY
TRUNCATE
TRUNCATE クエリを実行することを許可します。
特権レベル: TABLE
。
OPTIMIZE
OPTIMIZE TABLE クエリを実行することを許可します。
特権レベル: TABLE
。
SHOW
SHOW
、DESCRIBE
、USE
、および EXISTS
クエリを実行することを許可します。以下の特権の階層に基づきます:
SHOW
. レベル:GROUP
SHOW 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
KILL クエリを実行することを許可します。以下の特権の階層に基づきます:
特権レベル: GLOBAL
.
注意
KILL QUERY
特権は、1 人のユーザーが他のユーザーのクエリを殺すことを許可します。
アクセス管理
ユーザーがユーザー、ロール、および行ポリシーを管理するクエリを実行できるようにします。
ACCESS MANAGEMENT
. レベル:GROUP
CREATE USER
. レベル:GLOBAL
ALTER USER
. レベル:GLOBAL
DROP USER
. レベル:GLOBAL
CREATE ROLE
. レベル:GLOBAL
ALTER ROLE
. レベル:GLOBAL
DROP ROLE
. レベル:GLOBAL
ROLE ADMIN
. レベル:GLOBAL
CREATE ROW POLICY
. レベル:GLOBAL
. エイリアス:CREATE POLICY
ALTER ROW POLICY
. レベル:GLOBAL
. エイリアス:ALTER POLICY
DROP ROW POLICY
. レベル:GLOBAL
. エイリアス:DROP POLICY
CREATE QUOTA
. レベル:GLOBAL
ALTER QUOTA
. レベル:GLOBAL
DROP QUOTA
. レベル:GLOBAL
CREATE SETTINGS PROFILE
. レベル:GLOBAL
. エイリアス:CREATE PROFILE
ALTER SETTINGS PROFILE
. レベル:GLOBAL
. エイリアス:ALTER PROFILE
DROP SETTINGS PROFILE
. レベル:GLOBAL
. エイリアス:DROP PROFILE
SHOW ACCESS
. レベル:GROUP
SHOW_USERS
. レベル:GLOBAL
. エイリアス:SHOW CREATE USER
SHOW_ROLES
. レベル:GLOBAL
. エイリアス:SHOW CREATE ROLE
SHOW_ROW_POLICIES
. レベル:GLOBAL
. エイリアス:SHOW POLICIES
,SHOW CREATE ROW POLICY
,SHOW CREATE POLICY
SHOW_QUOTAS
. レベル:GLOBAL
. エイリアス:SHOW CREATE QUOTA
SHOW_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
特権は、ユーザーが管理オプションで自分に割り当てられていないロールを含むすべてのロールを割り当てたり、取り消したりできるようにします。
SYSTEM
ユーザーが SYSTEM クエリを実行できるようにします。以下の特権の階層に基づきます。
SYSTEM
. レベル:GROUP
SYSTEM SHUTDOWN
. レベル:GLOBAL
. エイリアス:SYSTEM KILL
,SHUTDOWN
SYSTEM DROP CACHE
. エイリアス:DROP CACHE
SYSTEM DROP DNS CACHE
. レベル:GLOBAL
. エイリアス:SYSTEM DROP DNS
,DROP DNS CACHE
,DROP DNS
SYSTEM DROP MARK CACHE
. レベル:GLOBAL
. エイリアス:SYSTEM DROP MARK
,DROP MARK CACHE
,DROP MARKS
SYSTEM DROP UNCOMPRESSED CACHE
. レベル:GLOBAL
. エイリアス:SYSTEM DROP UNCOMPRESSED
,DROP UNCOMPRESSED CACHE
,DROP UNCOMPRESSED
SYSTEM RELOAD
. レベル:GROUP
SYSTEM RELOAD CONFIG
. レベル:GLOBAL
. エイリアス:RELOAD CONFIG
SYSTEM RELOAD DICTIONARY
. レベル:GLOBAL
. エイリアス:SYSTEM RELOAD DICTIONARIES
,RELOAD DICTIONARY
,RELOAD DICTIONARIES
SYSTEM RELOAD EMBEDDED DICTIONARIES
. レベル:GLOBAL
. エイリアス:RELOAD EMBEDDED DICTIONARIES
SYSTEM MERGES
. レベル:TABLE
. エイリアス:SYSTEM STOP MERGES
,SYSTEM START MERGES
,STOP MERGES
,START MERGES
SYSTEM TTL MERGES
. レベル:TABLE
. エイリアス:SYSTEM STOP TTL MERGES
,SYSTEM START TTL MERGES
,STOP TTL MERGES
,START TTL MERGES
SYSTEM FETCHES
. レベル:TABLE
. エイリアス:SYSTEM STOP FETCHES
,SYSTEM START FETCHES
,STOP FETCHES
,START FETCHES
SYSTEM MOVES
. レベル:TABLE
. エイリアス:SYSTEM STOP MOVES
,SYSTEM START MOVES
,STOP MOVES
,START MOVES
SYSTEM SENDS
. レベル:GROUP
. エイリアス:SYSTEM STOP SENDS
,SYSTEM START SENDS
,STOP SENDS
,START SENDS
SYSTEM DISTRIBUTED SENDS
. レベル:TABLE
. エイリアス:SYSTEM STOP DISTRIBUTED SENDS
,SYSTEM START DISTRIBUTED SENDS
,STOP DISTRIBUTED SENDS
,START DISTRIBUTED SENDS
SYSTEM 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 QUEUES
SYSTEM SYNC REPLICA
. レベル:TABLE
. エイリアス:SYNC REPLICA
SYSTEM RESTART REPLICA
. レベル:TABLE
. エイリアス:RESTART REPLICA
SYSTEM FLUSH
. レベル:GROUP
SYSTEM FLUSH DISTRIBUTED
. レベル:TABLE
. エイリアス:FLUSH DISTRIBUTED
SYSTEM FLUSH LOGS
. レベル:GLOBAL
. エイリアス:FLUSH LOGS
SYSTEM RELOAD EMBEDDED DICTIONARIES
特権は、SYSTEM RELOAD DICTIONARY ON *.*
特権によって暗黙に付与されます。
INTROSPECTION
イントロスペクション 関数を使用することを許可します。
INTROSPECTION
. レベル:GROUP
. エイリアス:INTROSPECTION FUNCTIONS
addressToLine
. レベル:GLOBAL
addressToLineWithInlines
. レベル:GLOBAL
addressToSymbol
. レベル:GLOBAL
demangle
. レベル:GLOBAL
SOURCES
外部データソースを使用することを許可します。これは テーブルエンジン および テーブル関数 に適用されます。
SOURCES
. レベル:GROUP
AZURE
. レベル:GLOBAL
FILE
. レベル:GLOBAL
HDFS
. レベル:GLOBAL
HIVE
. レベル:GLOBAL
JDBC
. レベル:GLOBAL
KAFKA
. レベル:GLOBAL
MONGO
. レベル:GLOBAL
MYSQL
. レベル:GLOBAL
NATS
. レベル:GLOBAL
ODBC
. レベル:GLOBAL
POSTGRES
. レベル:GLOBAL
RABBITMQ
. レベル:GLOBAL
REDIS
. レベル:GLOBAL
REMOTE
. レベル:GLOBAL
S3
. レベル:GLOBAL
SQLITE
. レベル:GLOBAL
URL
. レベル:GLOBAL
SOURCES
特権はすべてのソースの使用を可能にします。また、各ソースに個別に特権を付与することもできます。ソースを使用するには、追加の特権が必要です。
例:
- MySQL テーブルエンジン でテーブルを作成するには、
CREATE TABLE (ON db.table_name)
とMYSQL
特権が必要です。 - mysql 関数 を使用するには、
CREATE TEMPORARY TABLE
とMYSQL
特権が必要です。
dictGet
dictGet
. エイリアス:dictHas
,dictGetHierarchy
,dictIsIn
ユーザーが dictGet、dictHas、dictGetHierarchy、dictIsIn 関数を実行することを許可します。
特権レベル: DICTIONARY
.
例
GRANT dictGet ON mydb.mydictionary TO john
GRANT dictGet ON mydictionary TO john
displaySecretsInShowAndSelect
ユーザーが SHOW
および SELECT
クエリで秘密情報を表示できるようにします。条件として、両方の display_secrets_in_show_and_select
サーバー設定 および format_display_secrets_in_show_and_select
フォーマット設定 がオンになっている必要があります。
NAMED COLLECTION ADMIN
指定されたデータコレクションに対して特定の操作を許可します。バージョン 23.7 以前は NAMED COLLECTION CONTROL と呼ばれており、23.7 の後に NAMED COLLECTION ADMIN が追加され、NAMED COLLECTION CONTROL はエイリアスとして保持されています。
NAMED COLLECTION ADMIN
. レベル:NAMED_COLLECTION
. エイリアス:NAMED COLLECTION CONTROL
CREATE NAMED COLLECTION
. レベル:NAMED_COLLECTION
DROP NAMED COLLECTION
. レベル:NAMED_COLLECTION
ALTER NAMED COLLECTION
. レベル:NAMED_COLLECTION
SHOW NAMED COLLECTIONS
. レベル:NAMED_COLLECTION
. エイリアス:SHOW NAMED COLLECTIONS
SHOW NAMED COLLECTIONS SECRETS
. レベル:NAMED_COLLECTION
. エイリアス:SHOW NAMED COLLECTIONS SECRETS
NAMED COLLECTION
. レベル:NAMED_COLLECTION
. エイリアス:NAMED COLLECTION USAGE, USE NAMED COLLECTION
他のすべての権限 (CREATE, DROP, ALTER, SHOW) と異なり、NAMED COLLECTION の付与は 23.7 に追加され、他のすべては以前の 22.12 に追加されました。
例
データコレクションが abc と呼ばれると仮定し、ユーザー john に CREATE NAMED COLLECTION の権限を付与します。
GRANT CREATE NAMED COLLECTION ON abc TO john
TABLE ENGINE
テーブル作成時に指定されたテーブルエンジンを使用できるようにします。テーブルエンジンに適用されます。
例
GRANT TABLE ENGINE ON * TO john
GRANT TABLE ENGINE ON TinyLog TO john
ALL
規制対象のエンティティに対するすべての権限をユーザーアカウントまたはロールに付与します。
権限 ALL
は ClickHouse Cloud ではサポートされておらず、default
ユーザーには制限された権限があります。ユーザーは default_role
を付与することによって、他のユーザーに最大の権限を付与できます。詳細についてはこちらを参照してください。
ユーザーはまた、デフォルトユーザーとして GRANT CURRENT GRANTS
を使用して ALL
に類似した効果を得ることができます。
NONE
いかなる権限も付与しません。
ADMIN OPTION
ADMIN OPTION
権限は、ユーザーが自分のロールを他のユーザーに付与できるようにします。