このページでは、AlloyDB Omni のユーザーとロールを作成して管理する方法について説明します。
PostgreSQL に付属のデフォルトのユーザーとロールに加えて、他の PostgreSQL ユーザーまたはロールを作成できます。これらのユーザーには、postgres
ユーザーと同じ特権セット(CREATE ROLE
、CREATEDB
、LOGIN
)が付与されます。これらの権限の詳細については、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;