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

ApsaraDB RDS:ApsaraDB RDS for PostgreSQLインスタンスのユーザー権限の設定

最終更新日:Jan 23, 2024

RDS for PostgreSQLはスーパーユーザーを提供していないため、多くのクラウドユーザーに困難をもたらします。 これは、次の理由によるものです。
  • PostgreSQLのスーパーユーザーはほとんどすべてのデータベース権限を持っており、システムテーブルを直接変更することもできます。
  • RDS for PostgreSQLのスーパーユーザーは、O&Mインスタンスを使用して、ストリームレプリケーションやバックアップなどの操作を管理します。 言い換えれば、それは完全にクラウドサービスに任せるべきです。
  • apsaradb RDS for PostgreSQLアプリケーションの共通ユーザー権限は、ユーザーがクラウドでデータを管理できるようにするのに十分です。

基本原則

  • 共通ユーザーは、自身が所有者であるデータベースにのみスキーマを作成できます。
  • データベース内のオブジェクトにはスキーマがあります。 一般ユーザーは、パブリックモードでテーブルなどのオブジェクトを作成できます。 他のスキーマ内のオブジェクトは、スキーマ所有者であるか承認される必要があります。
  • データベースオブジェクトを管理するには、(ユーザーグループに加えて) オブジェクトの所有者である必要があります。

例外と解決策

マルチユーザー環境では、apsaradb RDS for PostgreSQLユーザーは、共通ユーザーを使用して他の共通ユーザーによって作成されたオブジェクトを管理できず、操作オブジェクトに対する権限もありません。

コンソールで作成したPremierアカウントを使用して管理者アカウントを作成し、管理者アカウントにサブアカウントの権限を付与できます。 このようなユーザーグループは、単一の管理者アカウントを使用してグループ内の他のすべての共通ユーザーとそのオブジェクトを管理するために使用できます。複数のユーザーのオブジェクトを管理し、ある程度の権限分離を実現できます。

説明 デフォルトでは、管理者アカウントにはINHERIT権限があります。これにより、ロールが属するロールの権限を継承するかどうかが決まります。 INHERIT属性を持つロールは、それが属するグループに直接または間接的に付与された権限を自動的に使用できます。