- يمنح الامتيازات لحسابات مستخدمي ClickHouse أو للأدوار.
- يسند الأدوار إلى حسابات المستخدمين أو إلى أدوار أخرى.
صيغة منح الامتيازات
privilege— نوع الامتياز.role— دور مستخدم ClickHouse.user— حساب مستخدم ClickHouse.
WITH GRANT OPTION المستخدم user أو الدور role صلاحية تنفيذ الاستعلام GRANT. ويمكن للمستخدمين منح امتيازات ضمن النطاق نفسه الذي لديهم أو ضمن نطاق أضيق.
تستبدل العبارة WITH REPLACE OPTION الامتيازات القديمة بامتيازات جديدة للمستخدم user أو الدور role، وإذا لم تُحدَّد، فإنها تضيف الامتيازات.
صيغة إسناد الدور
role— دور في ClickHouse.user— حساب مستخدم ClickHouse.
WITH ADMIN OPTION امتياز ADMIN OPTION إلى user أو role.
ويستبدل البند 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 tables التي يمكن للمستخدمين الجدد الوصول إليها افتراضيًا، فقد لا يتمكنون افتراضيًا من الوصول إلى جميع system tables من دون grants.
بالإضافة إلى ذلك، يكون الوصول إلى بعض system tables مثل
system.zookeeper مقيّدًا لمستخدمي Cloud لأسباب أمنية.GRANT SELECT, INSERT ON *.* TO john, robin للحسابين john و robin تنفيذ استعلامَي INSERT و SELECT على جميع الجداول في جميع قواعد البيانات على الخادم.
منح الامتيازات باستخدام أحرف البدل
*) بدلًا من اسم جدول أو قاعدة بيانات. على سبيل المثال، يتيح الاستعلام GRANT SELECT ON db.* TO john للمستخدم john تنفيذ الاستعلام SELECT على جميع الجداول في قاعدة البيانات db.
كما يمكنك حذف اسم قاعدة البيانات. في هذه الحالة، تُمنح الامتيازات لقاعدة البيانات الحالية.
على سبيل المثال، يمنح GRANT SELECT ON * TO john الامتياز على جميع الجداول في قاعدة البيانات الحالية، بينما يمنح GRANT SELECT ON mytable TO john الامتياز على الجدول mytable في قاعدة البيانات الحالية.
الميزة الموضحة أدناه متاحة بدءًا من إصدار ClickHouse 24.10.
GRANT SELECT ON db.my_tables* TO john. يتيح هذا الاستعلام للمستخدم john تنفيذ الاستعلام SELECT على جميع جداول قاعدة البيانات db التي تطابق البادئة my_tables*.
المزيد من الأمثلة:
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 CACHESالمصادرAZUREFILEHDFSHIVEJDBCKAFKAMONGOMYSQLNATSODBCPOSTGRESRABBITMQREDISREMOTES3SQLITEURL
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
- يشمل الامتياز
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 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 تنفيذ أي استعلام SELECT يتضمن بيانات من العمودين x و/أو y في db.table، على سبيل المثال: 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 إدخال بيانات في العمودين x و/أو y في db.table.
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تعديل إعدادات محرك الجدول. ولا يؤثر في الإعدادات أو معلمات تهيئة الخادم. - تتطلب عملية
ATTACHامتياز CREATE. - تتطلب عملية
DETACHامتياز DROP. - لإيقاف عملية mutation باستخدام الاستعلام 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.
CLUSTER
ON CLUSTER.
Syntax
ON CLUSTER أن يكون لدى المستخدم امتياز CLUSTER.
ستظهر لك رسالة الخطأ التالية إذا حاولت استخدام ON CLUSTER في استعلام بدون منح امتياز CLUSTER أولًا:
on_cluster_queries_require_cluster_grant،
الموجود في قسم access_control_improvements في ملف config.xml (انظر أدناه)، إلى 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 للمستخدم منح أي أدوار وسحبها، بما في ذلك الأدوار التي لم تُمنح للمستخدم مع خيار المسؤول.
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
المصادر
READ. المستوى:GLOBAL_WITH_PARAMETERWRITE. المستوى:GLOBAL_WITH_PARAMETER
AZUREFILEHDFSHIVEJDBCKAFKAMONGOMYSQLNATSODBCPOSTGRESRABBITMQREDISREMOTES3SQLITEURL
يتوفر الفصل بين امتيازات 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_grantsGRANT OPTION:
إذا كان المنح الأصلي يتضمن WITH GRANT OPTION، فيمكن إعادة منحه باستخدام GRANT CURRENT GRANTS:
- لا يُسمح بإلغاء الصلاحيات جزئيًا: لا يمكنك إلغاء جزء من نمط التصفية الممنوح. يجب إلغاء المنح بالكامل ثم منحها من جديد باستخدام أنماط جديدة عند الحاجة.
- لا يُسمح بمنحٍ باستخدام أحرف البدل فقط: لا يمكنك استخدام
GRANT READ ON *('regexp')أو أنماط مشابهة تعتمد على أحرف البدل فقط. يجب تحديدsourceبعينه.
dictGet
dictGet. الأسماء البديلة:dictHas,dictGetHierarchy,dictIsIn
DICTIONARY.
أمثلة
GRANT dictGet ON mydb.mydictionary TO johnGRANT dictGet ON mydictionary TO john
displaySecretsInShowAndSelect
SHOW وSELECT إذا كان كلٌّ من
display_secrets_in_show_and_select إعداد الخادم
و
format_display_secrets_in_show_and_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
افتراضيًا، ولأسباب تتعلق بالتوافق مع الإصدارات السابقة، فإن إنشاء جدول باستخدام محرك جدول محدد يتجاهل امتيازات GRANT،
ومع ذلك يمكنك تغيير هذا السلوك بتعيين
table_engines_require_grant إلى true
في config.xml.READ/WRITE على المصدر المقابل. راجع المصادر.
على سبيل المثال، بالنسبة إلى محرك الجدول AzureBlobStorage، قد يلزم منح الامتياز التالي.
GRANT READ, WRITE ON AZURE TO john
ALL
الامتياز
ALL غير مدعوم في ClickHouse Cloud، حيث يمتلك المستخدم default أذونات محدودة. يمكن للمستخدمين منح الحد الأقصى من الأذونات لمستخدمٍ ما من خلال منح default_role. راجع هنا لمزيد من التفاصيل.
يمكن للمستخدمين أيضًا استخدام GRANT CURRENT GRANTS بصفتهم المستخدم default لتحقيق تأثير مشابه لـ ALL.NONE
ADMIN OPTION
ADMIN OPTION للمستخدم منح دوره إلى مستخدم آخر.