このトピックでは、ApsaraDB RDSでPostgreSQLインスタンス用に作成された特権アカウントと標準アカウントの権限について説明します。
権限の説明
データベースのセキュリティと安定性を確保するため、RDSインスタンスのデータベースアカウントにはpg_authidテーブルへのアクセス許可が付与されていません。 pg_rolesビューを使用して、データベースロールに関する情報を照会できます。
標準アカウント
RDSインスタンスの標準アカウントの権限は、オープンソースPostgreSQLの非特権アカウントの権限と同じです。 詳細は、「PostgreSQL 公式ドキュメント」をご参照ください。
特権アカウント
RDSインスタンスの特権アカウントには、標準アカウントのすべての権限に加えて、次の権限があります。
2フェーズコミット (2PC) プロセス中に準備されたすべてのトランザクションをコミットします。
説明トランザクションに複数のデータベースまたはシステム間で実行する必要がある操作が含まれる場合、2PCプロトコルを使用してデータの一貫性を確保します。 2PCプロトコルは、関連するすべてのトランザクションがコミットまたはロールバックされることを保証します。
詳細については、「SQL PREPARE TRANSACTION」をご参照ください。
テーブルに対してVACUUMステートメントを手動で実行します。
説明VACUUMステートメントは、削除された行によって占有されているディスク領域を再利用し、統計を更新するために使用されます。 詳細については、「VACUUM」をご参照ください。
CREATE EVENT TRIGGERステートメントを実行してイベントトリガーを作成するか、イベントトリガーの所有者を特権アカウントの所有者に変更します。
説明イベントトリガーの詳細については、「CREATE event trigger」をご参照ください。
CREATE EXTENSIONステートメントを実行して、拡張機能を作成します。 サポートされている拡張機能の詳細については、「ApsaraDB RDS For PostgreSQLでサポートされている拡張機能」をご参照ください。
関数の作成時に関数のLEAKPROOFパラメーターを設定するか、関数のLEAKPROOFパラメーターを変更します。
説明詳細については、「CREATE FUNCTION」をご参照ください。
CREATE PUBLICATIONステートメントを実行して、パブリケーションを作成するか、パブリケーションの所有者を変更します。
説明PostgreSQLでは、論理レプリケーション機能を使用してパブリケーションを作成します。 この機能は、データベースの変更を他のデータベースに適用します。
CREATE SUBSCRIPTIONステートメントを実行して、サブスクリプションを作成するか、サブスクリプションの所有者を変更します。
説明PostgreSQLでは、論理レプリケーション機能を使用してサブスクリプションを作成します。 サブスクリプションを使用すると、システムはパブリケーションの変更をサブスクライブしたデータベースに適用できます。
テキスト検索機能を使用して、フルテキスト検索とテキストベースの照合を実行します。 詳細については、「全文検索」をご参照ください。
データ型の所有者を変更します。
特権アカウントを作成するか、標準アカウントを特権アカウントに変更します。
特権アカウントとすべての標準アカウントのバックエンドプロセスを照会し、プロセスの
pg_terminate_backend()などの関数を呼び出します。pg_stat_activityビューから、特権アカウントとすべての標準アカウントのバックエンド接続設定を取得します。標準アカウントのオブジェクトに対してGRANTおよびREVOKEステートメントを実行します。 詳細については、「GRANT」および「REVOKE」をご参照ください。
SET ROLEステートメントを実行して、現在のセッションの特権アカウントの権限を、指定された標準アカウントの権限に変更します。
参考資料
詳細な方法で権限を管理する方法の詳細については、「ApsaraDB RDS For PostgeSQLインスタンスの権限の管理」をご参照ください。