このトピックでは、特権アカウントと標準アカウントの権限について説明します。
概要
クラウドデータベースのセキュリティを確保するには、ユーザー権限を管理および制限する必要があります。ユーザーは、自身のタスクに必要な権限のみを持つべきであり、その範囲を超える権限を持つべきではありません。そのため、クラウドデータベースでは、ロールベースアクセス制御 (RBAC) モデルを使用して一般ユーザーの権限を管理します。このモデルでは、異なるユーザーに異なるロールが割り当てられ、各ロールには特定の権限があり、ユーザーは実行する必要のある操作に基づいてロールに割り当てられます。このアプローチにより、ユーザー権限を効果的に制御し、データベースのセキュリティを確保します。
現在、データベースはユーザー向けに特権ユーザーと標準ユーザーの 2 つのロールを提供しています。
-
特権ユーザーは、主にデータベースの作成、基本権限の付与、パブリケーションとサブスクリプションの作成などの管理タスクに使用されます。
-
標準ユーザーは、さまざまなビジネスロジック操作を実行するために使用される基本的なロールです。
PolarDB は、この権限システムを使用してデータベース操作タイプを構築し、アクセス制御モデルを実装することで、クラウドデータベースの権限セキュリティをより効果的に保護します。
特権ユーザーの権限
|
アカウントタイプ |
権限 |
|
特権アカウント |
データベースの作成。詳細については、「データベースの作成」をご参照ください。 |
|
拡張の作成。詳細については、「拡張」をご参照ください。 |
|
|
自分自身の権限以下の権限を持つユーザーの作成。 詳細については、「ユーザーの作成」をご参照ください。 |
|
|
イベントトリガーの作成と使用。詳細については、「トリガーの作成」をご参照ください。 |
|
|
タイプの作成と変更。詳細については、「オブジェクトタイプの作成」をご参照ください。 |
|
|
ガベージコレクションコマンドの呼び出し。詳細については、「ガベージコレクションの仕組み」をご参照ください。 |
|
|
外部データラッパー (FDW) の作成と変更。詳細については、「oss_fdw を使用した外部データファイルの読み書き」をご参照ください。 |
|
|
ROWID で使用されるシーケンスの変更。詳細については、「ALTER SEQUENCE」をご参照ください。 |
|
|
パブリケーションとサブスクリプションの作成。例:
説明
サブスクリプションを作成するには |
|
|
システムコンテキストの作成。例:
|
|
|
2フェーズトランザクションの使用。例:
|
|
|
信号の送信。例:
|
|
|
バックグラウンドプロセスの状態の表示。例:
|
|
|
オブジェクトの名前変更。例:
|
特権ユーザーと標準ユーザーの両方で利用できない権限
一部の権限はデータベースにセキュリティリスクをもたらします。そのため、現在、すべてのユーザーに対して以下の権限が禁止されています。
|
アカウントタイプ |
権限 |
|
特権アカウント/標準アカウント |
フォルダの作成。 |
|
システムパラメーターの変更。 |
|
|
表領域の作成。 |
|
|
スーパーユーザープロセスの強制終了。 |
|
|
信頼できない言語の実行。 説明
plsql は信頼できる言語です。他のすべての言語は信頼できないため、実行できません。 |
ユーザーグループの権限
PolarDB for PostgreSQL (Compatible with Oracle) は PostgreSQL 上に構築されており、特定の PostgreSQL グループロールを継承しています。以下のセクションでは、これらのグループ権限について詳しく説明します。これらの権限と前述の特権ユーザーの権限は和集合 (UNION) を形成し、最終的な権限セットは両方の組み合わせになります。
|
ロール名 |
ステータス |
説明 |
|
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 |
ブロック |
バイナリコマンドの実行権限はサポートされていません。 |