Skip to main content

ANO Tasks Overview

Goal

An ANO Tasks consists of two levels:

  1. Task Groups - top level
  2. Work Tasks - Secondary level

Task Groups are collections of Work Tasks. Work Tasks are collections of anonymization rules. A Work Task points to a specific table. A rule within points to a specifc column.

Work Task Types

Considerations

  • Task Groups can be nested
  • Work Tasks can not be nested
  • Work Task can be run by Task Group name or by Work Task name
  • Naming two Tasks the same renders them indistinguishable when running
    • Two Tasks of the same name will both be run when a Task is run by name
  • The order of Tasks run is the same as the order of the Tasks in the ANO file

ANO Structure

task <TaskGroupName>
{
update <table> <WorkTaskName>
mask <column> <RuleName>
<rule-logic>
randomize <column> <RuleName>
<rule-logic>
shuffle <column> <RuleName>
<rule-logic>

create <table> <WorkTaskName>
mask <column> <RuleName>
<rule-logic>
mask <column> <RuleName>
<rule-logic>
mask <column> <RuleName>
<rule-logic>
}

task <TaskGroup2Name>
{
...
}

Work Task Types

A Work Task is organized by database table. The Work Task type defines what kind of Rules can be applied. Each Rule in a Work Task applies to one of the columns of a table.

Work Tasks can adhere to table constraints such as


update lets you write Rules that anonymizes (changes or replaces) the values in table columns.

The same anonymizations can be applied to columns of child tables (i.e., using foreign keys).

See update for more details.

Use Cases

This is the standard way of anonymizing the data of an entire database for testing and development purposes.

Common implementation strategy:

  1. Dump the whole database from production to development environment
  2. Do update Work Tasks to anonymize sensitive columns in development environment
  3. Grant developers and testers access to the anonymized data in the development database