DBAtlas · データベース運用アトラス

ユーザー/ロールを一覧表示

Oracle

SELECT username, account_status, default_tablespace, created
FROM dba_users
ORDER BY username;

account_status は LOCKED/EXPIRED の状態を示す。ロールには dba_roles を使用する。

PostgreSQL

SELECT rolname, rolsuper, rolcanlogin, rolvaliduntil
FROM pg_roles
ORDER BY rolname;
-- Shortcut (psql): \du

PostgreSQL のユーザーは LOGIN 属性を持つロール。rolcanlogin で区別する。

MySQL

SELECT user, host, account_locked, password_expired
FROM mysql.user
ORDER BY user;

MySQL のアカウントはユーザー + ホストの組('app'@'%' と 'app'@'localhost' は別物)。

SQL Server

-- Server logins:
SELECT name, type_desc, is_disabled FROM sys.server_principals
WHERE type IN ('S','U','G');
-- Database users:
SELECT name, type_desc FROM sys.database_principals
WHERE type IN ('S','U','G');

ログインはサーバーレベル、ユーザーはデータベースレベル。両者は SID で対応付けられる。

MongoDB

// Users in the current database:
db.getUsers()
// All users in the system: use admin; db.system.users.find({}, {user:1, db:1, roles:1})

ユーザーは作成されたデータベース(authenticationDatabase)で定義される。

Redis

ACL LIST
# Names only: ACL USERS
# Your own identity: ACL WHOAMI

Redis 6+ の ACL システム。それ以前は単一の 'default' ユーザーと requirepass のみだった。

DBAtlas で開く →