Redgate Test Data Manager

Anonymization connection requirements

This document outlines the required database permissions for the commands the require a database connection.

Overview

The Classify commands are read-only operations that perform data analysis, while the Masking command modifies data and requires additional permissions.

SqlServer

These permissions are at the database level.

Classify Command

The following permissions are required for the Classify command:

PermissionPurpose
CONNECTEstablish connection to the database
SELECTRead data from tables for classification analysis
VIEW ANY COLUMN ENCRYPTION KEY DEFINITIONAccess encrypted column metadata
VIEW ANY COLUMN MASTER KEY DEFINITION

Access master key information for encrypted data

VIEW DATABASE PERFORMANCE STATE

Monitor database performance during operations

Masking Command

The following permissions are required for the Masking command:

PermissionPurpose
CONNECTEstablish connection to the database
SELECTRead original data that needs to be masked
UPDATEModify data with masked values
VIEW ANY COLUMN ENCRYPTION KEY DEFINITIONAccess encrypted column metadata
VIEW ANY COLUMN MASTER KEY DEFINITIONAccess master key information for encrypted data
VIEW DATABASE PERFORMANCE STATEMonitor database performance during operations
ALTER ANY TRIGGERS DDLModify triggers that may interfere with masking operations


PostgreSQL

These permissions are per schema and per table in a database.

Classify Command

he following permissions are required for the Classify command:

ObjectPermissionPurpose
DatabaseCONNECTEstablish connection to the database
SchemaUSAGEAllows access to objects contained in the schema (assuming that the objects' own privilege requirements are also met).
TableSELECTAllows read access to a table-like objects


Masking Command

We need a user that has superuser privileges or to be the owner of the tables you are planning to mask because that is, to our knowledge, the only way to disable triggers and constraints in PostgreSQL.


We only try to disable triggers and constraints that are enabled, meaning if they have been disabled before Masking then, following are the least amount of privileges needed:

ObjectPermissionPurpose
DatabaseCONNECTEstablish connection to the database
SchemaUSAGEAllows access to objects contained in the schema (assuming that the objects' own privilege requirements are also met).
TableSELECTAllows read access to a table-like objects
TableUPDATEAllows update of any column or column(s) in a table


MySql/MariaDB/Oracle

We currently have no way of Anonymizing these databases without being the schema owner or a proxy user. 


Didn't find what you were looking for?