AnonymizationTask
Introduction
The purpose of the AnonymizationTask
manage the anonymization process.
 | Value |
---|---|
GUID |
|
Scheduled by default | It is scheduled by default but to actually do something - it has to be enabled How-to configure Anonymization |
Interval in seconds | 60 |
Concurrent | |
Parameters | uint[] with CoreIdentity Ids |
Anonymization Process
The anonymization process is the part of GDPR capability. After the Core Identity is deleted - system can delete the Personal Data that is in CoreIdentity+CoreIdentityAttributeValues and Identity+IdentityAttributeValue and in change entries.
The process involves a few tasks and is illustrated by timeline below:
ID | Action | Description | Core Identity Anon-State | Identity Anon-State |
---|---|---|---|---|
 | - | There is some happy Core Identity | NotAnonymized (1) | NotAnonymized (1) |
1 | Delete Core Identity | Core Identity state changed to Deleted | AnonymizationNeeded (2) | AnonymizationNeeded (2) |
2 | AnonymizationTask runs | Core Identity + Core Identity Attribute Values are anonymized Core Identity change entries are anonymized | HistoryAnonymized (5) | Â |
3 | UpdateIdentityTask runs | Identity Attribute Values are anonymized | Â | AnonymizationStarted (3) or HistoryAnonymizationNeeded (4) |
3B | ProvisionIdentityChangesTask runs (fastracked) | Anonymized changes are provisioned to Target System | Â | HistoryAnonymizationNeeded (4) |
4 | AnonymizationTask runs | Identity change entries are anonymized Clear | Anonymized (6) | Anonymized (6) |
You can see what is the action taken by each step and also what is the Anonymization state that is set at the end of the step on Core Identity and Identity.
You can diagnose process looking at anonymization states of Core Identity and Identity. You will recognize which steps were run and which are still to be run.
Step 2 - AnonymizationTask runs (first time)
Core Identity is filterd by:
State - Deleted
Anonymization State - AnonymizationNeeded
No role/resource assignments are removed
find resource assignment that respect any of following conditions:
Ignore = true
AssignmentState is one of (Denied, Assigned)
find role assignment that respect any of following conditions:
Ignore = true
AssignmentState is one of (Denied, Assigned, PendingAssignment)
Changes that are done:
Clear
readonly_email
Change Identities state to
PendingAnonymization is Identity is provisioned
HistoryAnonymizationNeeded otherwise
Core Identity Attribute value anonymization
Clear
readonly_used_value
Set
serialized_value
to NULLSet
explicit_serialized_value
toSerializedAnonymizationDefault
from Core Identity Type Attribute Mappingdefault C# value if
SerializedAnonymizationDefault
does not existin case of drop down - first drop down item
History anonymization
Overwrite all entries for
Module.DM.IdentityManagement.CoreIdentity
withidentifier
of processed CoreIdentity withAnonymized with AnonymizationTask
textCore Identity Anonymization state changed to HistoryAnonymized
Step 3 - UpdateIdentityTask
Processes Identities in anonymization state AnonymizationNeeded. More in Update Identity Task
After processing Identity anonymization state is be changed to:
AnonymizationStarted - when there are changes to be provisioned (
has_changed
in Identity Attribute Values)HistoryAnonymizationNeeded otherwise
Step 3B - ProvisionIdentityChangesTask runs
Provisiones Attribute Changes for Identity that is in anonymization state AnonymizationStarted.
After provisioning Identity anonymization state is changed to HistoryAnonymizationNeeded.
Step 4 - AnonymizationTask runs (second time)
Core Identity is filterd by:
State - Deleted
Anonymization State - HistoryAnonymized
For Identities in HistoryAnonymizationNeeded state:
Overwrite all entries for
Module.DM.IdentityManagement.Identity
withidentifier
of processed Identity withAnonymized with AnonymizationTask
textClear
old_serialized_value
in Identity Attribute ValueSets Identity anonymization state to Anonymized
For Core Identities
Set anonymization state to Anonymized if all Identities have Anonymized state too
Â
Diagram
Maybe looking at the diagram will help to understand the timeline a bit better:
Â
© ITSENSE AG. Alle Rechte vorbehalten. ITSENSE und CoreOne sind eingetragene Marken der ITSENSE AG.