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

Hologres:RAM ユーザーへのインスタンス開発権限の付与

最終更新日:Feb 04, 2026

このトピックでは、Alibaba Cloud アカウントが簡易権限モデルと標準 PostgreSQL 権限モデルを使用して、インスタンスの開発権限を Resource Access Management (RAM) ユーザーに付与する方法について説明します。

背景情報

デフォルトでは、インスタンスを購入した Alibaba Cloud アカウントがスーパー管理者 (スーパーユーザー) として設定されます。スーパーユーザーは、データベースの作成と削除、ロールの作成、ロールへの権限付与など、インスタンスに対するすべての権限を持ちます。

RAM ユーザーの権限に関する注意事項は次のとおりです。

  • RAM ユーザーがインスタンスにアクセスするには、Alibaba Cloud アカウントが RAM ユーザーに権限を付与する必要があります。RAM ユーザーにはスーパーユーザー権限を付与することもできます。

  • RAM ユーザーがインスタンスを購入する権限を持っている場合でも、Hologres インスタンスでデータ開発を行うには、Alibaba Cloud アカウントがそのユーザーに開発権限を付与する必要があります。

RAM 権限のアクセスの制御は、インスタンス開発権限のアクセスの制御とは異なります。詳細については、「RAM ユーザーへの権限付与」をご参照ください。

簡易権限モデルを使用した RAM ユーザーへの権限付与 (推奨)

  1. 任意: ユーザーへの権限付与

    簡易権限モデルでは、SQL 文を使用した RAM ユーザーへの権限付与もサポートされています。詳細については、「簡易権限モデルの使用」をご参照ください。

標準 PostgreSQL 権限モデルを使用した RAM ユーザーへの権限付与

次の手順では、エキスパート権限モデルを使用して RAM ユーザーに権限を付与する方法について説明します。

  1. ユーザーの作成

    Hologres インスタンスに RAM ユーザーを作成します。次のコードはサンプル文です。

    CREATE USER "p4_AccountID"; // ID は Alibaba Cloud RAM ユーザーの UID です。
    CREATE USER "p4_AccountID" SUPERUSER; // RAM ユーザーにスーパーユーザー権限を付与します。
  2. ユーザーへの権限付与

    RAM ユーザーが権限の範囲内のオブジェクトにアクセスするには、必要な権限を付与する必要があります。次のコードは、権限付与のサンプル文です。

    GRANT SELECT ON TABLE TABLENAME TO "AccountID"; // RAM ユーザーにテーブルの表示権限を付与します。
    GRANT SELECT,INSERT,UPDATE ON ALL TABLES IN SCHEMA PUBLIC TO "p4_AccountID"; // RAM ユーザーにすべてのテーブルの追加、変更、表示の権限を付与します。
    説明

    テーブルを削除できるのは、スーパーユーザーまたはテーブルのオーナーのみです。

    標準 PostgreSQL 権限モデルでの権限付与操作の詳細については、「標準 PostgreSQL 権限モデル」をご参照ください。

RAM ユーザーとして Hologres を使用する

権限付与が完了すると、RAM ユーザーは PSQL クライアントから Hologres インスタンスに接続して使用できます。詳細については、「PSQL クライアント」をご参照ください。

以下にサンプル文を示します。

PGUSER=<AccessID> PGPASSWORD=<AccessKey> psql -p <Port> -h <Endpoint> -d <Database>

RAM ユーザーの権限の表示

SQL 文を使用した RAM ユーザーの権限の表示

開発者ツールを Hologres インスタンスに接続した後、次の SQL 文を使用して RAM ユーザーの権限を表示できます。

SELECT * FROM pg_roles WHERE rolname = 'p4_ID'; //メンバーが持つロールを表示します。
SELECT rolname FROM pg_roles;
SELECT user_display_name(rolname) FROM pg_roles;
説明

SELECT * FROM pg_catalog.pg_roles; コマンドを使用して、すべてのユーザーの権限を表示できます。