このトピックでは、PolarDB における特権アカウントと標準アカウントの権限について説明します。
背景情報
セキュリティのために、PolarDB のアカウント権限を管理および制御する必要があります。アカウントは、権限が付与されている操作のみを実行できます。 PolarDB は、アカウント権限を管理するためにロールベースの RAM モデルを採用しています。このモデルでは、アカウントにはさまざまなロールが割り当てられ、各ロールには特定の権限があります。各アカウントは、権限が付与されている操作を実行できます。この方法により、アカウント権限を制御し、データベース セキュリティを保護できます。
PolarDB は、特権アカウントと標準アカウントの 2 つのロールを提供します。
特権アカウントは、データベースの作成、基本権限の付与、パブリケーションとサブスクリプションの作成などの管理タスクに使用されます。
標準アカウントは、ビジネス ロジック操作を実行します。
PolarDB はこの権限システムを使用して、データベース操作タイプを構築し、RAM モデルを実装し、権限セキュリティを確保します。
特権アカウントに付与される権限
アカウント | 権限 |
特権アカウント | データベースを作成します。詳細については、「データベースを作成する」をご参照ください。 |
拡張機能を作成します。詳細については、「プラグイン」をご参照ください。 | |
権限がより低い、または同等のアカウントを作成します。 詳細については、「ユーザーを作成する」をご参照ください。 | |
イベント トリガーを作成して使用します。詳細については、「トリガーを作成する」をご参照ください。 | |
タイプを作成および変更します。詳細については、「オブジェクト タイプを作成する」をご参照ください。 | |
GC 命令を呼び出します。詳細については、「ガベージ コレクション メカニズム」をご参照ください。 | |
外部 FDW を作成および変更します。詳細については、「oss_fdw を使用した外部データ ファイルの読み取りと書き込み」をご参照ください。 | |
ROWID によって使用されるシーケンスを変更します。詳細については、「ALTER SEQUENCE」をご参照ください。 | |
パブリケーションとサブスクリプションを作成します。例: 説明
| |
システム コンテキストを作成します。例: | |
2 フェーズ トランザクションを使用します。例: | |
シグナルを送信します。例: | |
バックグラウンド プロセスのステータスを表示します。例: | |
オブジェクト名を変更します。例: |
特権アカウントまたは標準アカウントに付与されない権限
データベース セキュリティのために、次の権限は禁止されています。
アカウント | 権限 |
特権アカウントと標準アカウント | フォルダを作成します。 |
システム パラメータを変更します。 | |
表領域を作成します。 | |
スーパーユーザー プロセスを強制終了します。 | |
信頼されていない言語を実行します。 説明 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 | 禁止 | バイナリ コマンドの実行は許可されていません。 |