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

AnalyticDB:ユーザーと権限の管理

最終更新日:Sep 29, 2024

ユーザーの管理

インスタンスを作成すると、初期ユーザー名とパスワードを指定するように求められます。 この初期ユーザーはrootユーザーです。 インスタンスの作成後、ルートユーザーの資格情報を使用して、そのインスタンスのデータベースに接続できます。 PostgreSQLまたはGreenplumのpsql CLIクライアントを使用してインスタンス上のデータベースに接続した後、\du + コマンドを実行してすべてのユーザーの情報を表示できます。 例:

重要

rootユーザーに加えて、データベースを管理するために他のユーザーも作成されます。

postgres=> \du+
                                List of roles
  Role name   |            Attributes             | Member of |  Description
--------------+-----------------------------------+-----------+---------------
 root_user    |                                   |           | rds_superuser
 ...

AnalyticDB for PostgreSQLは、RDS_SUPERUSERロールと同等のスーパーユーザーを提供しません。 これは、ApsaraDB RDS for PostgreSQLでも同じです。 ただし、RDS_SUPERUSERロールをルートユーザーに付与することはできます。たとえば、前の例で作成したroot_userです。 rootユーザーがこのロールを持っているかどうかは、ユーザーの説明に基づいてのみ確認できます。 root ユーザーには次の権限があります。

  • データベースとアカウントを作成し、データベースにログオンしますが、スーパーユーザーの資格情報はありません。

  • スーパーユーザー以外のユーザーが作成したテーブルを表示および変更し、テーブルの所有者を変更し、SELECT、UPDATE、DELETEなどの操作を実行します。

  • スーパーユーザー以外のユーザーへの接続を表示し、SQL文をキャンセルし、接続を終了します。

  • CREATE EXTENSIONおよびDROP EXTENSIONステートメントを実行して、拡張機能を作成および削除します。

  • RDS_SUPERUSERロールを持つユーザーを作成します。 例:

    CRATE ROLE root_user2 RDS_SUPERUSER LOGIN PASSWORD 'xyz';

権限管理

データベース、スキーマ、およびテーブルレベルで権限を管理できます。 たとえば、ユーザーにテーブルの読み取り権限を付与し、書き込み権限を取り消す場合は、次のステートメントを実行します。

GRANT SELECT ON TABLE t1 TO normal_user1;
REVOKE UPDATE ON TABLE t1 FROM normal_user1;
REVOKE DELETE ON TABLE t1 FROM normal_user1;