Closed1

PostgreSQLのユーザーを棚卸しする

Junichi HashimotoJunichi Hashimoto

Aurora PostgreSQLで検証。

ユーザーと属しているグループを出力する。ただし、システムユーザーは除外する(ログイン可能なユーザーのみ)。

SELECT a.rolname AS role_name,
       a.rolsuper,
       a.rolcreatedb,
       a.rolcreaterole,
       a.rolreplication,
       ARRAY(SELECT b.rolname
             FROM pg_auth_members m
             JOIN pg_roles b ON (m.roleid = b.oid)
             WHERE m.member = a.oid) AS member_of
FROM pg_roles a
WHERE a.rolcanlogin = true
ORDER BY role_name;

出力サンプル。

     role_name      | rolsuper | rolcreatedb | rolcreaterole | rolreplication |                    member_of
--------------------+----------+-------------+---------------+----------------+--------------------------------------------------
 xxx_user     | f        | f           | f             | f              | {rds_superuser}
 rdsadmin           | t        | t           | t             | t              | {}
...
このスクラップは3日前にクローズされました