Project

General

Profile

Actions

Defect #1250

closed

End of contract didn't remove roles from the system

Added by Alena Peterová over 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Vít Švanda
Category:
Provisioning
Target version:
-
Start date:
09/12/2018
Due date:
% Done:

0%

Estimated time:
Affected versions:
Owner:

Description

Version 8.1.6, AD connector 1.3.4.25 (newest)

This problem occurred only in 2 out of 5 attempts to simulate it, but the result is a security problem.
Sorry about the complicated use-case :-(

Starting situation:
  • System "AD user" has the multivalued attribute "ldapGroups" with the strategy "Merge"
  • System "AD user" has the attribute "__ENABLED__", which is filled by a script, which returns false, if the identity is disabled or if the account is in protection.
  • One role "AD uživatel" which grants account on the system "AD user"
  • Second role "AD group" which adds one group in the system "AD users" = it fills the attribute "ldapGroups" with its value
  • These two roles are automatic by organization structure for a position P
  • A user has an active contract on the position P (so he has an active AD account with 1 group)
  • The password for the AD account was changed by IdM
The problem:
  • The contract of the user is ended in HR and set to excluded
  • The synchronization of the contracts sets the contract "valid till"="31.12.2016", "state"="EXCLUDED" and automatically sets the validity of both roles to the past (see contracted_position.png, assigned_roles.png)
  • IdM disables the AD account (it correctly sends "__ENABLED__" = false), but it doesn't clear the groups (even though the provisioning operation contains empty ldapGroups in the left table - see provisioning_log.png)
  • After some minutes, HrEndContractProcess (started at the end of sync) removes both roles from the identity, but sends no other AD operation (because it's in protection)

I attached also audit_log.png and entity_events.png which correspond to my use case.

I set the category to provisioning, because it looks like a problem in computing the attributes (IdM knew that ldapGroups should be empty, but didn't send them, even though they were not empty on the system).

Please note that if the user has some manually assigned roles, everything worked well (I tried it several times). These roles were removed as late as HrEndContractProcess.


Files

assigned_roles.png (37.3 KB) assigned_roles.png Alena Peterová, 09/12/2018 04:32 PM
audit_log.png (73.6 KB) audit_log.png Alena Peterová, 09/12/2018 04:32 PM
entity_events.png (48.4 KB) entity_events.png Alena Peterová, 09/12/2018 04:32 PM
provisioning_log.png (44.4 KB) provisioning_log.png Alena Peterová, 09/12/2018 04:32 PM
contracted_position.png (24.7 KB) contracted_position.png Alena Peterová, 09/12/2018 04:32 PM

Related issues

Related to IdStory Identity Manager - Task #1298: Merge strategy does not support change of value for system ClosedVít Švanda10/08/2018

Actions
Actions #2

Updated by Vít Švanda over 5 years ago

  • Status changed from New to Needs feedback
  • Assignee changed from Vít Švanda to Alena Peterová

We tried to simulation of this problem. After three hours we found only one usecase how can be this simulated.

First question: Did you delete the provisioning archive for this account (or truncate on DB)? If yes, that is the cause of this problem.

Actions #3

Updated by Alena Peterová over 5 years ago

Vít Švanda wrote:

We tried to simulation of this problem. After three hours we found only one usecase how can be this simulated.

First question: Did you delete the provisioning archive for this account (or truncate on DB)? If yes, that is the cause of this problem.

I'm sure I cancelled provisioning queue - active operations for this account were cancelled repeatedly. I don't remember truncating the archive.
I simulated the bug on the same identity and account - 1st attempt had the bug, 2nd, 3rd and 4th didn't, 5th had the bug. The active operations were cancelled before the first attempt. During the testing, I didn't cancel anymore.

Actions #4

Updated by Alena Peterová over 5 years ago

  • Assignee changed from Alena Peterová to Vít Švanda
Actions #5

Updated by Vít Švanda over 5 years ago

  • Assignee changed from Vít Švanda to Radek Tomiška
Actions #6

Updated by Radek Tomiška over 5 years ago

  • Status changed from Needs feedback to In Progress
  • Target version set to Morganite (9.2.0)
Actions #7

Updated by Alena Peterová over 5 years ago

  • Assignee changed from Radek Tomiška to Alena Peterová

I will try it synchronously again and then write result.
Also check that ldapGroups was retrieved from the system.

Actions #8

Updated by Vít Švanda over 5 years ago

  • Target version changed from Morganite (9.2.0) to Onyx (9.3.0)
Actions #9

Updated by Petr Michal over 5 years ago

  • Related to Task #1298: Merge strategy does not support change of value for system added
Actions #10

Updated by Vít Švanda over 5 years ago

  • Status changed from In Progress to Needs feedback
  • Target version changed from Onyx (9.3.0) to Opal (9.4.0-rc.1)
Actions #11

Updated by Vít Švanda over 5 years ago

  • Target version deleted (Opal (9.4.0-rc.1))
Actions #12

Updated by Radek Tomiška almost 5 years ago

  • Status changed from Needs feedback to Closed
  • Assignee changed from Alena Peterová to Vít Švanda

I'm closing this obsolete ticket. Merge mechanism was rewritten from scratch, provisioning archive is not used any more.

We can open this ticket, if issue occurs again.

Actions

Also available in: Atom PDF