AlloyDB Omni のユーザーとロールを管理する

このページでは、AlloyDB Omni のユーザーとロールを作成して管理する方法について説明します。

PostgreSQL に付属のデフォルトのユーザーとロールに加えて、他の PostgreSQL ユーザーまたはロールを作成できます。これらのユーザーには、postgres ユーザーと同じ特権セット(CREATE ROLECREATEDBLOGIN)が付与されます。これらの権限の詳細については、CREATE ROLE をご覧ください。

ALTER ROLE コマンドを使用すると、任意のユーザーの権限を変更できます。psql クライアントで新しいユーザーを作成する場合は、別のロールに関連付けるか、別の権限を割り当てることができます。

始める前に

PostgreSQL コマンドを使用してクラスタ上のユーザーを管理するには、次のものが必要です。

  • psql クライアントへのアクセス
  • postgres データベース ユーザーまたは適切な管理者権限を持つ別のユーザーへのアクセス

データベース ユーザーを作成する

ユーザー名とパスワードを使用してデータベースで直接認証するデータベース ユーザー(組み込み認証)を作成するには、次のコマンドを使用します。

  CREATE USER USERNAME WITH PASSWORD 'PASSWORD';

次のように置き換えます。

  • USERNAME: ユーザーロールのユーザー名。

  • PASSWORD: ユーザーロールに割り当てる新しいパスワード。

Identity and Access Management を使用して認証を行うデータベース ユーザーを作成するには、IAM 認証を管理するをご覧ください。

データベース ユーザーの作成と定義方法の詳細については、CREATE USER をご覧ください。

ユーザーまたはロールを作成したら、psql クライアントの ALTER ROLE コマンドを使用して権限を変更できます。

データベース ユーザーにロールを付与する

データベース ユーザーにロールを付与するには、次のコマンドを使用します。

GRANT ROLE to USERNAME;

次のように置き換えます。

  • ROLE: データベース ユーザーに付与するロール。

  • PASSWORD: ユーザーロールに割り当てる新しいパスワード。

ユーザーにスーパーユーザー権限を付与するには、そのユーザーに alloydbsuperuser ロールを付与します。

データベース ユーザーのパスワードを変更する

標準の PostgreSQL データベース ユーザーの新しいパスワードを設定するには、次のコマンドを使用します。

ALTER USER USERNAME WITH PASSWORD 'PASSWORD';

次のように置き換えます。

  • USERNAME: データベース ユーザーのユーザー名。

  • PASSWORD: ユーザーロールに割り当てる新しいパスワード。

IAM ベースのユーザーはパスワードを使用して認証しないため、IAM ベースのユーザーのパスワードを変更または設定することはできません。詳細については、IAM アカウントを使用して接続するをご覧ください。

ユーザーのパスワードの変更の詳細については、ALTER ROLE をご覧ください。

データベース ユーザーからロールを取り消す

1 つ以上のロールから以前に付与された権限を取り消す場合、またはユーザーのロールのメンバーシップを取り消す場合は、次のコマンドを使用します。

  REVOKE ROLE FROM USERNAME;

ユーザーのスーパーユーザー権限を削除するには、そのユーザーから alloydbsuperuser ロールを取り消します。

データベース ユーザーのリストを表示する

すべてのデータベース ユーザーとそのグループ メンバーシップのテーブルを表示するには、次のコマンドを使用します。

  \du

データベース ユーザーの削除

ユーザーを削除する前に、そのユーザーが所有するすべてのオブジェクトを削除するか、ユーザーの所有権の割り当てを変更して、他のオブジェクトにロールが付与されている権限をすべて取り消す必要があります。

ユーザーを削除するには、次のコマンドを使用します。

  DROP ROLE USERNAME;

次のステップ