このページでは、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
: ユーザーロールに割り当てる新しいパスワード。
データベース ユーザーの作成と定義方法の詳細については、CREATE
USER
をご覧ください。
ユーザーまたはロールを作成したら、psql
クライアントの ALTER
ROLE
コマンドを使用して権限を変更できます。
データベース ユーザーにロールを付与する
データベース ユーザーにロールを付与するには、次のコマンドを使用します。
GRANT ROLE to USERNAME;
次のように置き換えます。
ROLE
: データベース ユーザーに付与するロール。PASSWORD
: ユーザーロールに割り当てる新しいパスワード。
ユーザーにスーパーユーザー権限を付与するには、そのユーザーに alloydbsuperuser
ロールを付与します。
データベース ユーザーのパスワードを変更する
標準の PostgreSQL データベース ユーザーの新しいパスワードを設定するには、次のコマンドを使用します。
ALTER USER USERNAME WITH PASSWORD 'PASSWORD';
次のように置き換えます。
USERNAME
: データベース ユーザーのユーザー名。PASSWORD
: ユーザーロールに割り当てる新しいパスワード。
ユーザーのパスワードの変更について詳しくは、ALTER ROLE
をご覧ください。
データベース ユーザーのロールを取り消す
1 つ以上のロールから以前に付与された権限を取り消す場合、またはユーザーのロールのメンバーシップを取り消す場合は、次のコマンドを使用します。
REVOKE ROLE FROM USERNAME;
ユーザーのスーパーユーザー権限を削除するには、そのユーザーに付与されている alloydbsuperuser
ロールを取り消します。
データベース ユーザーのリストを表示する
すべてのデータベース ユーザーとそのグループ メンバーシップのテーブルを表示するには、次のコマンドを使用します。
\du
データベース ユーザーを削除する
ユーザーを削除する前に、そのユーザーが所有するすべてのオブジェクトを削除するか、それらの所有権を割り当て直し、ロールに付与されている他のオブジェクトに対する権限をすべて取り消す必要があります。
ユーザーを削除するには、次のコマンドを使用します。
DROP ROLE USERNAME;