Mysql – Can we protect data form Database Administrator by encrypting the data

encryptionMySQLSecurity

How can we protect data on my database which is MySQL form database administrator stealing it?

Will encrypting it prevent it from being stolen? If yes, how as he already has access to the database he can de-crypt it?

Best Answer

I have an old post where I discussed an actual product I was evaluating : How to properly secure MySQL database?. The product Gazzang (now Cloudera) would basically encrypt the data and the framework requires using specific keys. Even if you copied the files, the keys not being present in the target system made everything inaccessible just from an OS standpoint.

If you do not trust a DBA with the key, you may have issue specific MySQL grants to SysAdmin/DBAs: SHUTDOWN, PROCESS, SHOW DATABASES, SUPER, REPLICATION CLIENT, and REPLICATION SLAVE. All other GRANTs would need to be given to Project Leaders and Lead Developers.

As you can tell from this answer, your question makes the leap from technology to office politics. We all wish there was some 100% automated HIPAA compilance framework around a database. Until then, you would need to scrupulously define what an operational DBA can and cannot do.