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

PolarDB:アカウント権限

最終更新日:Nov 10, 2025

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

背景情報

セキュリティのために、PolarDB のアカウント権限を管理および制御する必要があります。アカウントは、権限が付与されている操作のみを実行できます。 PolarDB は、アカウント権限を管理するためにロールベースの RAM モデルを採用しています。このモデルでは、アカウントにはさまざまなロールが割り当てられ、各ロールには特定の権限があります。各アカウントは、権限が付与されている操作を実行できます。この方法により、アカウント権限を制御し、データベース セキュリティを保護できます。

PolarDB は、特権アカウントと標準アカウントの 2 つのロールを提供します。

  • 特権アカウントは、データベースの作成、基本権限の付与、パブリケーションとサブスクリプションの作成などの管理タスクに使用されます。

  • 標準アカウントは、ビジネス ロジック操作を実行します。

PolarDB はこの権限システムを使用して、データベース操作タイプを構築し、RAM モデルを実装し、権限セキュリティを確保します。

特権アカウントに付与される権限

アカウント

権限

特権アカウント

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

拡張機能を作成します。詳細については、「プラグイン」をご参照ください。

権限がより低い、または同等のアカウントを作成します 詳細については、「ユーザーを作成する」をご参照ください。

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

タイプを作成および変更します。詳細については、「オブジェクト タイプを作成する」をご参照ください。

GC 命令を呼び出します。詳細については、「ガベージ コレクション メカニズム」をご参照ください。

外部 FDW を作成および変更します。詳細については、「oss_fdw を使用した外部データ ファイルの読み取りと書き込み」をご参照ください。

ROWID によって使用されるシーケンスを変更します。詳細については、「ALTER SEQUENCE」をご参照ください。

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

-- パブリケーションを作成します。
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 は、サブスクリプションの作成に必要です。チャンネルの作成方法については、「ネットワーク チャンネル」をご参照ください。ネットワーク チャンネルを使用してサブスクリプションを作成するときに例外が発生した場合は、お問い合わせください。

システム コンテキストを作成します。例:

CREATE CONTEXT hr_context USING test_package;

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;

オブジェクト名を変更します。例:

RENAME test_table TO new_test_table;

特権アカウントまたは標準アカウントに付与されない権限

データベース セキュリティのために、次の権限は禁止されています。

アカウント

権限

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

フォルダを作成します。

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

表領域を作成します。

スーパーユーザー プロセスを強制終了します。

信頼されていない言語を実行します。

説明

PL/SQL のみが信頼されている言語です。他の言語は信頼されておらず、実行できません。

ユーザー グループの権限

PolarDB for PostgreSQL (Oracle 互換) は PostgreSQL プロトコル上に構築されており、PostgreSQL の特定のグループ権限を使用します。これらのグループ権限の継承メカニズムについては、次の表で詳しく説明します。これらの権限は、特権ユーザーが所有する権限と和集合の関係にあります。具体的には、権限のセットは、これら 2 種類の権限の合計です。

権限

所有権

説明

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

禁止

バイナリ コマンドの実行は許可されていません。