Manage user privileges
ユーザ権限の管理
このトピックでは、StarRocksでユーザ、ロール、および権限を管理する方法について説明します。
StarRocksは、StarRocksクラスタ内でのさまざまなグラニュールレベルでクラスタ管理者が簡単に特権を制限できるようにするために、ロールベースのアクセス制御(RBAC)とアイデンティティベースのアクセス制御(IBAC)の両方を使用します。
StarRocksクラスタ内では、ユーザまたはロールに特権を付与できます。ロールは、クラスタ内の他のユーザやロールに必要に応じて割り当てることができる特権のコレクションです。ユーザには1つ以上のロールが付与されることができ、これらのロールによって異なるオブジェクト上での権限が決定されます。
ユーザとロールの情報の表示
システム定義のuser_admin
ロールを持つユーザは、StarRocksクラスタ内のすべてのユーザおよびロール情報を表示することができます。
権限情報の表示
SHOW GRANTSを使用して、ユーザまたはロールに付与された特権を表示することができます。
-
現在のユーザの特権を表示する。
SHOW GRANTS;
注意
特権を持たないユーザでも、自分自身の特権を表示することができます。
-
特定のユーザの特権を表示する。次の例は、ユーザ
jack
の特権を表示しています:SHOW GRANTS FOR jack@'172.10.1.10';
-
特定のロールの特権を表示する。次の例は、ロール
example_role
の特権を表示しています:SHOW GRANTS FOR ROLE example_role;
ユーザのプロパティの表示
SHOW PROPERTYを使用して、ユーザのプロパティを表示することができます。
次の例は、ユーザjack
のプロパティを表示しています:
SHOW PROPERTY FOR jack@'172.10.1.10';
ロールの表示
SHOW ROLESを使用して、StarRocksクラスタ内のすべてのロールを表示することができます。
SHOW ROLES;
ユーザの表示
SHOW USERSを使用して、StarRocksクラスタ内のすべてのユーザを表示することができます。
SHOW USERS;
ユーザの管理
システム定義のuser_admin
ロールを持つユーザは、StarRocksでユーザを作成、変更、および削除することができます。
ユーザの作成
ユーザのアイデンティティ、認証方法、およびデフォルトのロールを指定して、ユーザを作成することができます。
StarRocksは、ログイン資格情報またはLDAP認証によるユーザ認証をサポートしています。StarRocksの認証についての詳細は、「認証」を参照してください。ユーザの作成に関する詳細な情報と詳細な手順については、「CREATE USER」を参照してください。
次の例では、ユーザjack
を作成し、IPアドレス172.10.1.10
からの接続のみを許可し、パスワードを12345
に設定し、デフォルトのロールとしてexample_role
を割り当てます:
CREATE USER jack@'172.10.1.10' IDENTIFIED BY '12345' DEFAULT ROLE 'example_role';
注意
- StarRocksは、ユーザのパスワードを保存する前に暗号化します。パスワードを取 得するには、password()関数を使用できます。
- ユーザの作成時にデフォルトのロールが指定されていない場合、システム定義のデフォルトロール
PUBLIC
がユーザに割り当てられます。
ユーザの変更
ユーザのパスワード、デフォルトのロール、またはプロパティを変更することができます。
ユーザのデフォルトのロールは、ユーザがStarRocksに接続すると自動的にアクティブ化されます。接続後にユーザのすべての(デフォルトおよび付与された)ロールを有効にする方法については、「すべてのロールの有効化」を参照してください。