Required user permissions
Overview
This documentation page is designed as a comprehensive guide detailing the minimum user permissions required to perform Data Anonymization for each supported database type. Given the critical nature of data masking in maintaining data privacy and regulatory compliance, it's essential to understand the specific permissions needed for effective and secure operations.
Audience
This document is intended for Database Administrators, Security Officers, and DevOps personnel responsible for setting up masking operations across various data source environments.
Goal
Implementing the correct user permissions for Data Data Anonymization is a critical risk factor that can significantly impact organizational security, compliance, and operational effectiveness. This documentation aims to mitigate these risks by providing a detailed guide to setting the minimum required permissions for each supported database type. Additionally, this document includes sample code snippets for granting any missed permissions. Adhering to these guidelines ensures that your data masking operations are secure, compliant, and operationally efficient.
Â
Database types
Â
Database type | Minimum user permissions | How to grant permissions, sample | |
---|---|---|---|
1 | Oracle | For masking user's own schema:Roles:
Grant data dictionary view:
Permissions to mask tables from other schemas:Grant table:
| grant connect, resource to masking_db_grants; Â Â Â grant select on sys.v_$instance to masking_db_grants; Â Â grant alter any trigger to masking_db_grants; grant select,update,alter on masking_db_grants2.tab01 to masking_db_grants; |
2 | MySQL | Instance level grants:
Database level grants:
Table level grants:
| grant process on *.* to user_test_grants; Â Â Â grant create,drop,index,insert,select on test_grants.* to user_test_grants; Â Â Â grant alter,references,update on test_grants.TAB01 to user_test_grants; |
3 | PostgreSQL | Masking application often does " Â | grant connect on database test_grants to user_test_grants; grant owner_test_grants to user_test_grants; |
4 | DB2 LUW | Shema level grants:Grant:
 Table level grants:Grant:
| Â GRANT CREATEIN,DROPIN,ALTERIN ON SCHEMA TEST_GRANTS TO USER_MASKING; Â Â Â Â Â GRANT ALTER,SELECT,UPDATE,REFERENCES,INDEX ON TEST_GRANTS.TAB01 TO USER_MASKING; |
5 | SQL Server (Microsoft) | Database level grants:
  Schema level grants:
Table level grants:
| USE Acc_lhost_MSSQL2_lhost_SQLEXPRESS GRANT CREATE TABLE TO USER_MASKING_DB_GRANTS Â GRANT SELECT,ALTER,INSERT ON SCHEMA::MASKING_DB_GRANTS TO USER_MASKING_DB_GRANTS Â GRANT UPDATE,REFERENCES ON MASKING_DB_GRANTS.TAB01 TO USER_MASKING_DB_GRANTS |
6 | MongoDB 4.2+ | Database level:Roles
| use masking_db_grants db.createUser({user:"user_masking_db_grants", pwd: "user_masking_db_grants", roles:[{"role" : "readWrite", "db" : "masking_db_grants"}]}); |
Â