クラスター内のデータベースユーザーを管理する
このトピックでは、CelerData でのユーザー、ロール、および権限の管理方法について説明します。
CelerData は、ロールベースのアクセス制御 (RBAC) とアイデンティティベースのアクセス制御 (IBAC) の両方を採用しており、CelerData クラスター内の権限を管理します。これにより、クラスター管理者は異なる粒度レベルでクラスター内の権限を簡単に制限できます。
CelerData クラスター内では、権限はユーザーまたはロールに付与できます。ロールは、必要に応じてクラスター内のユーザーまたは他のロールに割り当てられる権限の集合です。ユーザーには 1 つ以上のロールを付与でき、それにより異なるオブジェクトに対する権限が決まります。
ユーザーを管理する
システム定義のロール user_admin
を持つユーザーは、CelerData クラスター内でユーザーを作成、変更、削除できます。
ユーザーを作成する
ユーザー名、認証方法、およびデフォルトロールを指定してユーザーを作成できます。ユーザーの作成に関する詳細情報と高度な手順については、CREATE USER を参照してください。
次の例では、ユーザー jack
を作成し、パスワードを 12345
に設定し、デフォルトロールとして example_role
を割り当てます。
CREATE USER jack IDENTIFIED BY '12345' DEFAULT ROLE 'example_role';
ユーザーを変更する
ユーザーのパスワードまたはプロパティを変更できます。
ユーザーのデフォルトロールは、ユーザーが CelerData に接続すると自動的にアクティブ化されます。
ユーザーのプロパティを変更する
ALTER USER を使用して、ユーザーのプロパティを設定できます。
次の例では、ユーザー jack
の最大接続数を 1000
に設定します。
SET PROPERTY FOR jack 'max_user_connections' = '1000';
ユーザーのパスワードをリセットする
SET PASSWORD または ALTER USER を使用して、ユーザーのパスワードをリセットできます。
NOTE
どのユーザーも、自分のパスワードを権限なしでリセットできます。
次の例はどちらも、jack
のパスワードを 54321
にリセットします。
-
SET PASSWORD を使用してパスワードをリセットする:
SET PASSWORD FOR jack = PASSWORD('54321');
-
ALTER USER を使用してパスワードをリセッ トする:
ALTER USER jack IDENTIFIED BY '54321';
ユーザーを削除する
DROP USER を使用してユーザーを削除できます。
次の例では、ユーザー jack
を削除します。
DROP USER jack;
ロールを管理する
システム定義のロール user_admin
を持つユーザーは、CelerData クラスター内でロールを作成、付与、取り消し、削除できます。
ロールを作成する
CREATE ROLE を使用してロールを作成できます。
次の例では、ロール example_role
を作成します。
CREATE ROLE example_role;
ロールを付与する
GRANT を使用して、ユーザーまたは他のロールにロールを付与できます。
-
ユーザーにロールを付与する。
次の例では、ユーザー
jack
にロールexample_role
を付与します。GRANT example_role TO USER jack;
-
他のロールにロールを付与する。
次の例では、ロール
test_role
にロールexample_role
を付与します。GRANT example_role TO ROLE test_role;
ロールを取り消す
REVOKE を使用して、ユーザーまたは他のロールからロールを取り消すことができます。
NOTE
システム定義のデフォルトロール
PUBLIC
をユーザーから取り消すことはできません。
-
ユーザーからロールを取り消す。
次の例では、ユーザー
jack
からロールexample_role
を取り消します。REVOKE example_role FROM USER jack;
-
他のロールからロールを取り消す。
次の例では、ロール
test_role
からロールexample_role
を取り消します。REVOKE example_role FROM ROLE test_role;