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

PolarDB:アカウント権限

最終更新日:Dec 10, 2025

本トピックでは、特権アカウントと標準アカウントの権限について説明します。

はじめに

データベースのセキュリティを確保するためには、ユーザーにタスクに必要な権限のみを付与することで、ユーザー権限を管理および制限する必要があります。ApsaraDB は、ロールベースアクセス制御 (RBAC) モデルを使用してユーザー権限を管理します。このモデルでは、ユーザーをさまざまなロールに割り当て、各ロールには特定の権限セットがあります。このモデルは、効果的なアクセス制御を提供し、データベースのセキュリティを強化します。

データベースは、特権ユーザーと一般ユーザーの 2 つのロールをユーザーに提供します。

  • 特権ユーザーは、データベースの作成、基本権限の付与、パブリケーションとサブスクリプションの作成などの管理タスクを実行します。

  • 一般ユーザーは、さまざまなビジネスロジック操作を実行します。

PolarDB は、この権限システムを使用してデータベースの操作タイプを定義し、アクセス制御モデルを実装して ApsaraDB のセキュリティを強化します。

特権ユーザーの権限

アカウントタイプ

権限

特権アカウント

テーブル、インデックス、型、ビュー、関数、プロシージャなど、すべての非システムオブジェクトの作成、更新、アクセス、削除。これらのオブジェクトに対する権限はすべての特権ユーザー間で共有されるため、どの特権ユーザーも他の特権ユーザーが所有するオブジェクトにアクセスできます。

データベースの作成。詳細については、「データベースの作成」をご参照ください。

拡張機能の作成。詳細については、「拡張機能」をご参照ください。

自身の権限を超えない範囲でのユーザー作成。詳細については、「ユーザーを作成する」をご参照ください。

イベントトリガーの作成と使用。詳細については、「トリガーの作成」をご参照ください。

型の作成と変更。詳細については、「オブジェクトタイプの作成」をご参照ください。

GC 命令の呼び出し。詳細については、「GC の仕組み」をご参照ください。

外部データラッパー (FDW) の作成と変更。詳細については、「oss_fdw を使用した外部テキストファイルの読み書き」をご参照ください。

パブリケーションとサブスクリプションを作成します。例:

-- パブリケーションの作成
CREATE PUBLICATION my_publication FOR TABLE test_t;

-- サブスクリプションの作成
CREATE SUBSCRIPTION my_subscription
CONNECTION 'channel_name=XXXX dbname=XXXX user=XXXX password=XXXX'
PUBLICATION my_publication;
説明

サブスクリプションを作成するには、channel を使用する必要があります。チャンネルの作成方法については、「ネットワークチャンネル」をご参照ください。サブスクリリプションの作成中にエラーが発生した場合は、お問い合わせください

2 フェーズコミットを使用します。例:

-- session_1
begin;
insert into t values (1,'a');
prepare transaction 'test_1';

-- session_2
commit prepared 'test_1';
-- またはロールバック
rollback prepared 'test_1';

シグナルを送信します。例:

-- 4300 はスーパーユーザー以外のプロセスです
select pg_cancel_backend(4300);
select pg_terminate_backend(4300);

バックグラウンドプロセスのステータスの表示。例:

select * from pg_stat_activity;

標準ユーザーの権限

アカウントタイプ

権限

標準アカウント

すべてのデータベースへの接続権限。

PUBLIC 権限を持つオブジェクトをクエリする権限。

特権ユーザーと標準ユーザーが利用できない権限

以下の権限は、データベースにセキュリティリスクをもたらすため、すべてのユーザーに対して禁止されています。

アカウントタイプ

権限

特権アカウント/標準アカウント

システム パラメータを変更します。

表領域の作成。

スーパーユーザープロセスの強制終了。

信頼できない言語の実行。

説明

plpgsql は信頼できる言語です。他のすべての言語は信頼できないため、実行できません。

ユーザー グループの権限

クラウドネイティブデータベースである PolarDB for PostgreSQL は PostgreSQL 上に構築されており、PostgreSQL からいくつかのグループ権限を継承しています。このセクションでは、これらのグループ権限の継承メカニズムについて説明します。これらの権限は、前述の特権ユーザーの権限と組み合わされます。最終的な権限セットは、両方の和集合です。

権限名

権限ステータス

説明

pg_read_all_stats & pg_stat_scan_tables

フル

統計情報に関連する完全な権限。

pg_signal_backend

フル

他のプロセスにシグナルを送信するための完全な権限。

pg_polar_superuser

フル

特権ユーザーのための一連の権限を含む特権ユーザーグループ。完全に所有されます。

pg_polar_replication

フル

ストリーミングレプリケーションを使用する権限を提供します。完全に所有されます。

pg_monitor

完全

モニタリング権限を提供しますが、ローカルファイルの読み取りおよび書き込み権限はブロックします。

pg_read_all_data & pg_write_all_data

制限付き

任意のテーブルを読み書きする権限。任意のユーザーテーブルを読み書きでき、ほとんどのシステムテーブルを読み取ることができます。一部のシステムテーブルへのアクセスは、セキュリティ上の理由からブロックされます。

pg_read_all_settings

制限付き

任意のパラメーターを読み取る権限。権限範囲内のパラメーターを読み取ることができます。一部のパラメーターへのアクセスは、セキュリティ上の理由からブロックされます。

pg_read_server_files & pg_write_server_files

ブロック済み

ローカルファイルの読み書き権限はサポートされていません。

pg_execute_server_program

ブロック済み

バイナリコマンドの実行権限はサポートされていません。