メインコンテンツまでスキップ
バージョン: Latest-3.4

StarRocks がサポートする権限

ユーザーまたはロールに付与された権限は、そのユーザーまたはロールが特定のオブジェクトに対してどの操作を実行できるかを決定します。権限は、データセキュリティを保護するためのきめ細かいアクセス制御を実装するために使用できます。

このトピックでは、StarRocks が異なるオブジェクトに提供する権限とその意味について説明します。権限は GRANTREVOKE を使用して付与および取り消されます。オブジェクトに付与できる権限は、オブジェクトのタイプに特有です。たとえば、テーブルの権限はデータベースの権限とは異なります。

注: このトピックで説明する権限は v3.0 から利用可能です。v3.0 の権限フレームワークと構文は、以前のバージョンとは互換性がありません。v3.0 にアップグレードした後、特定の操作に関するものを除いて、元の権限のほとんどは保持されます。詳細な違いについては、このトピックの最後にある アップグレードノート を参照してください。

権限リスト

このセクションでは、異なるオブジェクトで利用可能な権限について説明します。

SYSTEM

権限説明
NODEノードの操作(追加、削除、または退役など)。クラスターのセキュリティを確保するため、この権限はユーザーまたはロールに直接付与することはできません。cluster_admin ロールがこの権限を持っています。
GRANTユーザーまたはロールを作成、変更、またはユーザーまたはロールに権限を付与します。この権限はユーザーまたはロールに直接付与することはできません。user_admin ロールがこの権限を持っています。
CREATE RESOURCE GROUPリソースグループを作成します。
CREATE RESOURCESpark Load ジョブまたは外部テーブルのリソースを作成します。
CREATE EXTERNAL CATALOG外部カタログを作成します。
PLUGINプラグインをインストールまたはアンインストールします。
REPOSITORYリポジトリを作成、削除、または表示します。
BLACKLISTSQL ブラックリストおよび BE ブラックリストを作成、削除、または表示します。
FILEファイルを作成、削除、または表示します。
OPERATEレプリカ、設定項目、変数、およびトランザクションを管理します。
CREATE GLOBAL FUNCTIONグローバル UDF を作成します。
CREATE STORAGE VOLUMEリモートストレージシステムのストレージボリュームを作成します。

RESOURCE GROUP

権限説明
ALTERリソースグループにクラシファイア(分類器)を追加または削除します。
DROPリソースグループを削除します。
ALLリソースグループに対して上記すべての権限を持ちます。

RESOURCE

権限説明
USAGEリソースを使用します。
ALTERリソースを変更します。
DROPリソースを削除します。
ALLリソースに対して上記すべての権限を持ちます。

USER

権限説明
IMPERSONATEユーザー A がユーザー B として操作を実行できるようにします。

GLOBAL FUNCTION (Global UDFs)

権限説明
USAGEクエリで関数を使用します。
DROP関数を削除します。
ALL関数に対して上記すべての権限を持ちます。

CATALOG

オブジェクト権限説明
CATALOG (internal catalog)USAGE内部カタログ (default_catalog) を使用します。
CATALOG (internal catalog)CREATE DATABASE内部カタログにデータベースを作成します。
CATALOG (internal catalog)ALL内部カタログに対して上記すべての権限を持ちます。
CATALOG (external catalog)USAGE外部カタログを使用してその中のテーブルを表示します。
CATALOG (external catalog)DROP外部カタログを削除します。
CATALOG (external catalog)ALL外部カタログに対して上記すべての権限を持ちます。

注: StarRocks の内部カタログは削除できません。

DATABASE

権限説明
ALTERデータベースのプロパティを設定、データベースの名前を変更、またはデータベースのクォータを設定します。
DROPデータベースを削除します。
CREATE TABLEデータベースにテーブルを作成します。
CREATE VIEWビューを作成します。
CREATE FUNCTION関数を作成します。
CREATE MATERIALIZED VIEWマテリアライズドビューを作成します。
ALLデータベースに対して上記すべての権限を持ちます。

TABLE

権限説明
ALTERテーブルを変更するか、外部テーブルのメタデータを更新します。
DROPテーブルを削除します。
SELECTテーブルのデータをクエリします。
INSERTテーブルにデータを挿入します。
UPDATEテーブルのデータを更新します。
EXPORTStarRocks テーブルからデータをエクスポートします。
DELETE指定された条件に基づいてテーブルからデータを削除するか、テーブルからすべてのデータを削除します。
ALLテーブルに対して上記すべての権限を持ちます。

VIEW

権限説明
SELECTビューのデータをクエリします。
ALTERビューの定義を変更します。
DROPビューを削除します。
ALLビューに対して上記すべての権限を持ちます。

MATERIALIZED VIEW

権限説明
SELECTクエリを高速化するためにマテリアライズドビューをクエリします。
ALTERマテリアライズドビューを変更します。
REFRESHマテリアライズドビューを更新します。
DROPマテリアライズドビューを削除します。
ALLマテリアライズドビューに対して上記すべての権限を持ちます。

FUNCTION (Database-level UDFs)

権限説明
USAGE関数を使用します。
DROP関数を削除します。
ALL関数に対して上記すべての権限を持ちます。

STORAGE VOLUME

権限説明
ALTERストレージボリュームの資格情報プロパティ、コメント、またはステータス(有効)を変更します。
DROPストレージボリュームを削除します。
USAGEストレージボリュームを説明し、デフォルトのストレージボリュームとして設定します。
ALLストレージボリュームに対して上記すべての権限を持ちます。

アップグレードノート

v2.x から v3.0 へのアップグレード中に、新しい権限システムの導入により、一部の操作が実行できなくなる場合があります。次の表は、アップグレード前後の変更点を説明しています。

操作関与するコマンド
テーブルの変更ALTER TABLE, CANCEL ALTER TABLEテーブルまたはそのテーブルが属するデータベースに LOAD_PRIV 権限を持つユーザーは、ALTER TABLE および CANCEL ALTER TABLE 操作を実行できます。これらの操作を実行するには、テーブルに対する ALTER 権限が必要です。
外部テーブルの更新REFRESH EXTERNAL TABLE外部テーブルに LOAD_PRIV 権限を持つユーザーは、外部テーブルを更新できます。この操作を実行するには、外部テーブルに対する ALTER 権限が必要です。
バックアップとリストアBACKUP, RESTOREデータベースに LOAD_PRIV 権限を持つユーザーは、データベースまたはデータベース内の任意のテーブルをバックアップおよびリストアできます。アップグレード後、管理者はユーザーに再度バックアップおよびリストア権限を付与する必要があります。
削除後のリカバリーRECOVERデータベースおよびテーブルに ALTER_PRIVCREATE_PRIV、および DROP_PRIV 権限を持つユーザーは、データベースおよびテーブルをリカバリーできます。デフォルトのカタログでデータベースをリカバリーするには、CREATE DATABASE 権限が必要です。データベースで CREATE TABLE 権限とテーブルで DROP 権限が必要です。
ユーザーの作成と変更CREATE USER, ALTER USERデータベースに GRANT_PRIV 権限を持つユーザーは、ユーザーを作成および変更できます。ユーザーを作成および変更するには、user_admin ロールが必要です。
権限の付与と取り消しGRANT, REVOKEオブジェクトに GRANT_PRIV 権限を持つユーザーは、オブジェクトに対する権限を他のユーザーまたはロールに付与できます。アップグレード後、すでに持っているオブジェクトに対する権限を他のユーザーまたはロールに引き続き付与できます。
新しい権限システムでは:
  • 他のユーザーまたはロールに権限を付与するには、user_admin ロールが必要です。
  • GRANT ステートメントに WITH GRANT OPTION が含まれている場合、ステートメントに関与する権限を他のユーザーまたはロールに付与できます。

v2.x では、StarRocks はロールベースのアクセス制御 (RBAC) を完全には実装していません。ユーザーにロールを割り当てると、StarRocks はロール自体ではなく、ロールのすべての権限を直接ユーザーに付与します。したがって、ユーザーは実際にはロールを所有していません。

v3.0 では、StarRocks は権限システムを刷新しました。v3.0 にアップグレードした後、元のロールは保持されますが、ユーザーとロールの間に所有権はありません。新しい RBAC システムを使用するには、GRANT 操作を実行してロールと権限を割り当ててください。