Privileges in databases, like other permissions, should be managed according to least privilege principles, including database administrators and security administrators.
On that first point, it’s important to keep security and database administration roles separate whenever possible. The security admin should be the only user or group of users able to perform security-related tasks. To avoid issues of privilege creep, neither users nor administrators should have access to things to which they do not need access.
When managing systems with multiple users, it’s important to ensure each user is identified uniquely, and prevent shared user accounts. Effectively monitoring user activities and the ability to manage audit trails is key to identifying sources of security breaches and hold user activity accountable.
User groups and roles should relate to the function of the user. For example, users who work in sales should be grated access to sales databases, preferably with a dedicated admin or admins. As with system and file permissions, it’s also best to avoid assigning privileges directly to users. Users should be assigned to groups or roles, with privileges assigned to the group/role, instead of to the individual user.