DB-004 critical general
Database users documented (including read-only user)
All database users documented with purpose and permissions. Must include a read-only user for safe debugging/reporting.
Question to ask
"How many DB users exist, and do you know what each one can do?"
Verification guide
Severity: Critical
This is a guided manual check.
Prompt user:
Please provide evidence of your database users and their permissions.
For PostgreSQL, run:
\duorSELECT usename, usesuper, usecreatedb FROM pg_user;For MySQL, run:
SELECT user, host FROM mysql.user;andSHOW GRANTS FOR 'username'@'host';Provide:
- List of all database users
- Purpose of each user (app, migrations, admin, read-only, etc.)
- Permission level for each user
Verify:
- All users are documented with purpose
- A read-only user exists for safe debugging/reporting
- Permissions match stated purpose
Pass criteria:
- Complete list of DB users provided
- Each user has documented purpose
- Read-only user exists
- Permissions are appropriate for each role
Fail criteria:
- Users not documented
- No read-only user available
- Permissions don't match stated purpose
Evidence to capture:
- List of users with purposes
- Confirmation of read-only user
- Permission grants for each user