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

StarRocks がサポートする権限

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

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

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

権限リスト​

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

SYSTEM​

権限説明
NODEノードの追加、削除、または退役などのノードを操作します。クラスタのセキュリティを確保するため、この権限はユーザーまたはロールに直接付与することはできません。cluster_admin ロールがこの権限を持っています。
GRANTユーザーまたはロールを作成、変更、またはユーザーまたはロールに権限を付与します。この権限はユーザーまたはロールに直接付与することはできません。user_admin ロールがこの権限を持っています。
CREATE RESOURCE GROUPリソースグループを作成します。
CREATE RESOURCESpark Load ジョブまたは外部テーブルのリソースを作成します。
CREATE EXTERNAL CATALOG外部 catalog を作成します。
PLUGINプラグインをインストールまたはアンインストールします。
REPOSITORYリポジトリを作成、削除、または表示します。
BLACKLISTSQL ブラックリストを作成、削除、または表示します。
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 (グローバル UDF)​

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

CATALOG​

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

注意: StarRocks の内部 catalog は削除できません。

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 (データベースレベルの UDF)​

権限説明
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_PRIV、CREATE_PRIV、および DROP_PRIV 権限を持つユーザーは、データベースおよびテーブルを復元できます。デフォルトの catalog に対して 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 操作を実行してロールと権限を割り当ててください。

Rocky the happy otterStarRocks Assistant

AI generated answers are based on docs and other sources. Please test answers in non-production environments.