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
両方のdisplay_secrets_in_show_and_select
サーバー設定とformat_display_secrets_in_show_and_select
フォーマット設定がオンになっている場合、ユーザーがSHOW
およびSELECT
クエリでシークレットを表示できるようにします。