すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:ユーザーと権限管理

最終更新日:Mar 26, 2026

StarRocks の権限管理システムは、詳細なテーブルレベルのアクセスの制御、ロールベースアクセス制御 (RBAC)、およびホワイトリストメカニズムをサポートしています。

StarRocks 2.x および 3.x の間では、一部の SQL 構文および動作が異なります。該当する場合は、各セクションでバージョン固有の構文を提供しています。完全なコマンドリファレンスについては、StarRocks 2.5 コマンドリファレンスまたは StarRocks 3.2 コマンドリファレンスをご参照ください。

各操作を実行できるユーザー

変更を行う前に、ご利用のアカウントにその操作に必要な権限があることを確認してください。

操作必要な権限
ユーザーの作成ADMIN権限、または任意のレベルのGRANT権限
他のユーザーのパスワードを変更ADMIN権限、またはグローバルレベルのGRANT権限
自身のパスワードを変更認証済みユーザー
ルートユーザーのパスワードをリセットルートユーザーのみ
ユーザーの削除ADMIN権限
権限の付与ADMIN権限、または一致する範囲 (グローバル / データベース / テーブル) のGRANT権限
権限の取り消しADMIN権限、または一致する範囲 (グローバル / データベース / テーブル) のGRANT権限
ロールの作成ADMIN権限
ロールの削除GRANT_PRIV または ADMIN_PRIV 権限
重要

グローバルレベルのGRANT権限は、任意のユーザーに任意の権限を付与できるため、ADMIN権限と同等です。慎重に付与してください。

重要

ADMIN_PRIV 権限は、グローバルレベルでのみユーザーに付与または取り消すことができます。

ユーザー管理

ユーザーの作成

CREATE USER user_identity [auth_option] [DEFAULT ROLE 'role_name'];

パラメーター

パラメーター説明
user_identityユーザーID。 username@'userhost' または username@['domain'] の形式を使用します。
auth_option認証方式。有効な値: IDENTIFIED BY 'auth_string'IDENTIFIED WITH auth_pluginIDENTIFIED WITH auth_plugin BY 'auth_string'IDENTIFIED WITH auth_plugin AS 'auth_string'
DEFAULT ROLEログイン時にユーザーに割り当てられるデフォルトロール。

パスワードなしでユーザーを作成:

CREATE USER 'jack';

プレーンテキストパスワードを持つユーザーを作成し、172.10.. からのログインに制限:

CREATE USER 'jack'@'172.10.**.**' IDENTIFIED WITH mysql_native_password BY '123456';

暗号文パスワードを持つユーザーを作成し、172.10.. からのログインに制限:

CREATE USER 'jack'@'172.10.**.**' IDENTIFIED BY PASSWORD '6BB4837EB74329105EE4568DDA7DC67ED2CA****';
PASSWORD() を使用してパスワードの暗号文を取得します。例: SELECT PASSWORD('123456');

192.168 サブネットに制限されたユーザーを作成し、example_role ロールを割り当てます:

-- ユーザー作成時にロールを割り当てる
CREATE USER 'jack'@'192.168.%' DEFAULT ROLE 'example_role';

example_domain ドメインからのログインに制限されたユーザーを作成:

CREATE USER 'jack'@['example_domain'] IDENTIFIED BY '12345';

ユーザーのパスワードを変更

SET PASSWORD [FOR user_identity] = [PASSWORD('plain password')]|['hashed password'];

現在のユーザーのパスワードを変更:

SET PASSWORD = PASSWORD('123456');
SET PASSWORD = '6BB4837EB74329105EE4568DDA7DC67ED2CA****';

特定のユーザーのパスワードを変更:

SET PASSWORD FOR 'jack'@'192.%' = PASSWORD('123456');
SET PASSWORD FOR 'jack'@['domain'] = '6BB4837EB74329105EE4568DDA7DC67ED2CA****';
SELECT CURRENT_USER() を使用して現在のユーザーのIDを取得します。PASSWORD() を使用してパスワードの暗号文を取得します。

ユーザーの削除

DROP USER 'user_identity';

ユーザープロパティの表示

SHOW PROPERTY [FOR user] [LIKE key];
パラメーター説明
userユーザー名。
keyプロパティをフィルターするためのキーワード。

特定のユーザーのすべてのプロパティを表示:

SHOW PROPERTY FOR 'jack';

特定のユーザーの load_cluster に関連するプロパティを表示:

SHOW PROPERTY FOR 'jack' LIKE '%load_cluster%';

権限の付与と取り消し

権限の付与

StarRocks 3.x

すべてのデータベースとテーブルに対する SELECT権限をユーザーに付与:

GRANT SELECT ON *.* TO 'jack'@'%';

db1 内のすべてのテーブルに対する INSERT権限をロールに付与:

GRANT INSERT ON db1.* TO ROLE '<role_name>';

すべてのリソースに対する USAGE権限をユーザーに付与:

GRANT USAGE ON RESOURCE * TO 'jack'@'%';

StarRocks 2.x

データベースまたはテーブルに対する権限をユーザーまたはロールに付与:

GRANT privilege_list ON db_name[.tbl_name] TO user_identity [ROLE role_name];

リソースに対する権限をユーザーまたはロールに付与:

GRANT privilege_list ON RESOURCE resource_name TO user_identity [ROLE role_name];
ROLE role_name で指定されたロールが存在しない場合、自動的に作成されます。

権限リファレンス (StarRocks 2.x)

権限説明
NODE_PRIVノード構成を変更: フロントエンド (FE) ノード、バックエンド (BE) ノード、およびブローカーの追加、削除、非公開。ルートユーザーにのみ付与できます。
GRANT_PRIV権限を変更: 権限を付与または取り消し、ユーザーとロールを作成、削除、または変更します。
SELECT_PRIVデータベースとテーブルへの読み取り専用アクセス。
LOAD_PRIVデータベースとテーブルへの書き込みアクセス: LOAD、INSERT、および DELETE 操作。
ALTER_PRIVデータベースとテーブルの構造を変更: データベースとテーブルの名前を変更、列を追加、削除、または変更、パーティションを作成または削除します。
CREATE_PRIVデータベース、テーブル、およびビューを作成。
DROP_PRIVデータベース、テーブル、およびビューを削除。
USAGE_PRIVリソースを使用。

権限の取り消し

StarRocks 3.x

ユーザーからテーブルの SELECT権限を取り消し:

REVOKE SELECT ON TABLE sr_member FROM USER 'jack'@'172.10.**.**';

ロールからリソースの USAGE権限を取り消し:

REVOKE USAGE ON RESOURCE '<resource_name>' FROM ROLE '<role_name>';

StarRocks 2.x

ユーザーまたはロールからデータベースまたはテーブルの権限を取り消し:

REVOKE privilege_list ON db_name[.tbl_name] FROM user_identity [ROLE role_name];

ユーザーまたはロールからリソースの権限を取り消し:

REVOKE privilege_list ON RESOURCE resource_name FROM user_identity [ROLE role_name];

ロール管理

ロールを使用すると、一連の権限をグループ化し、複数のユーザーに割り当てることができます。ユーザーは、割り当てられたロールに付与されたすべての権限を継承します。

ロールの作成とユーザーへの割り当て

次のワークフローを使用して、ロールを作成し、権限を付与し、ユーザーに割り当てます。

  1. ロールを作成します。

    CREATE ROLE <role_name>;
  2. ロールに必要な権限を付与します。

    -- StarRocks 3.x: grant INSERT on all tables in db1 to the role
    GRANT INSERT ON db1.* TO ROLE '<role_name>';
    
    -- StarRocks 2.x: grant privileges on a database or table to the role
    GRANT privilege_list ON db_name[.tbl_name] TO ROLE role_name;
  3. アカウント作成時にユーザーにロールを割り当てるか、既存のユーザーのデフォルトロールを更新します。

    -- Assign role at user creation
    CREATE USER 'jack'@'192.168.%' DEFAULT ROLE 'example_role';

ロールの表示

SHOW ROLES;

ロールの削除

DROP ROLE <role_name>;