ネイティブ認証
StarRocks 内で SQL コマンドを使用して、ネイティブ認証を通じてユーザーを作成および管理します。
StarRocks のネイティブ認証は、パスワードベースの認証方法です。加えて、StarRocks は LDAP などの外部認証システムとの統合もサポートしています。詳細な手順については、セキュリティインテグレーションで認証 を参照してください。
システム定義のロール user_admin を持つユーザーは、StarRocks 内でユーザーの作成、変更、削除が可能です。
新しいクラスターがデプロイされると、デプロイ時に定義されたパスワードを持つ admin ユーザーが自動的に作成されます。この admin ユーザーは削除できず、システム定義のロール user_admin および db_admin を付与されるため、実質的にクラスターのデフォルトのスーパーユーザーとなります。
NOTE
- クラスターへのログインに使用するユーザーは、PhoenixAI Cloud コンソールへのログインに使用するユーザーとは異なります。
adminユーザーを除き、他のすべてのクラスターユーザーは、SQL ステートメントを実行してクラスター内で手動で作成する必要があります。
ユーザーの作成
ユーザーを作成する際には、ユーザーの識別情報、認証方法、およびオプションでデフォルトのロールを指定できます。ユーザーに対してネイティブ認証を有効にするには、パスワードをプレーンテキストまたは暗号化された形式で明示的に指定する必要があります。
以下の例では、ユーザー 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 に接続すると自動的にアクティブになります。接続後にユーザーのすべてのロール(デフォルトおよび付与された)を有効にする方法については、すべてのロールを有効にする を参照してください。
ユーザーの作成に関する詳細情報と高度な手順については、CREATE USER を参照してください。
ユーザーの変更
ユーザーのパスワード、デフォルトロール、またはプロパティを変更できます。
ユーザーのデフォルトロールを変更する方法については、ユーザーのデフォルトロールを変更する を参照してください。
ユーザーのプロパティの変更
ユーザーのプロパティは ALTER USER を使用して設定できます。
以下の例では、ユーザー jack の最大接続数を 1000 に設定します。同じユーザー名を持つユーザー識別情報は同じプロパティを共有します。
したがって、jack のプロパティを設定するだけで、この設定はユーザー名が jack のすべてのユーザー識別情報に適用されます。
ALTER USER 'jack' SET PROPERTIES ("max_user_connections" = "1000");
ユーザーのパスワードのリセット
ユーザーのパスワードは SET PASSWORD または ALTER USER を使用してリセットできます。
NOTE
- どのユーザーも自分のパスワードを特権なしでリセットできます。
以下の例はどちらも jack のパスワードを 54321 にリセットします。
-
SET PASSWORD を使用してパスワードをリセット:
SET PASSWORD FOR jack@'172.10.1.10' = PASSWORD('54321'); -
ALTER USER を使用してパスワードをリセット:
ALTER USER jack@'172.10.1.10' IDENTIFIED BY '54321';
admin ユーザーのパスワードをリセットする
admin ユーザーのパスワードを紛失し、クラスターに接続できない場合、PhoenixAI Cloud コンソールでのみパスワードをリセットできます。
NOTE
クラスターの
adminユーザーのパスワードをリセットできるのは、そのクラスターに対して Edit cluster 権限を持つ PhoenixAI メンバーのみです。
以下の手順に従ってください:
-
PhoenixAI Cloud コンソール にサインインします。
-
Clusters ページで、
adminユーザーのパスワードをリセットする対象のクラスターをクリックします。 -
クラスターの詳細ページで、Manage をクリックし、Reset password を選択します。
-
表示されるダイアログボックスで、
adminユーザーの新パスワードを入力するか、Generate password をクリックしてランダムなパスワードを生成します。 -
Reset & Save をクリックして新パスワードを保存します。
ユーザーの削除
ユーザーは DROP USER を使用して削除できます。
以下の例では、ユーザー jack を削除します。
DROP USER jack@'172.10.1.10';
ユーザーの表示
StarRocks クラスター内のすべてのユーザーを SHOW USERS を使用して表示できます。
SHOW USERS;
ユーザーのプロパティの表示
ユーザーのプロパティは SHOW PROPERTY を使用して表示できます。
以下の例では、ユーザー jack のプロパティを表示します。
SHOW PROPERTY FOR 'jack';
または、特定のプロパティを表示するには:
SHOW PROPERTY FOR 'jack' LIKE 'max_user_connections';