mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-19 12:52:37 +00:00
2.6 KiB
2.6 KiB
slug | sidebar_position | sidebar_label | title |
---|---|---|---|
/ja/sql-reference/statements/create/role | 40 | ROLE | CREATE ROLE |
新しいロールを作成します。ロールは、特権の集合です。ロールに割り当てられたユーザーは、そのロールのすべての特権を取得します。
構文:
CREATE ROLE [IF NOT EXISTS | OR REPLACE] name1 [, name2 [,...]] [ON CLUSTER cluster_name]
[IN access_storage_type]
[SETTINGS variable [= value] [MIN [=] min_value] [MAX [=] max_value] [CONST|READONLY|WRITABLE|CHANGEABLE_IN_READONLY] | PROFILE 'profile_name'] [,...]
ロールの管理
ユーザーには複数のロールを割り当てることができます。ユーザーは、SET ROLE文を使用して、割り当てられたロールを任意の組み合わせで適用することができます。最終的な特権の範囲は、適用されたすべてのロールのすべての特権を組み合わせたものになります。ユーザーアカウントに直接付与された特権がある場合、それもロールによって付与された特権と組み合わされます。
ユーザーはログイン時に適用されるデフォルトのロールを持つことができます。デフォルトのロールを設定するには、SET DEFAULT ROLE文またはALTER USER文を使用します。
ロールを取り消すには、REVOKE文を使用します。
ロールを削除するには、DROP ROLE文を使用します。削除されたロールは、割り当てられていたすべてのユーザーおよびロールから自動的に取り消されます。
例
CREATE ROLE accountant;
GRANT SELECT ON db.* TO accountant;
この一連のクエリは、db
データベースからデータを読み取る特権を持つロール accountant
を作成します。
ユーザー mira
にロールを割り当てるには:
GRANT accountant TO mira;
ロールが割り当てられた後、ユーザーはそのロールを適用し、許可されたクエリを実行できます。例えば:
SET ROLE accountant;
SELECT * FROM db.*;