-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HR DB check needs a configurable grace period #805
Comments
I think we should consider a few things, first of all the end time. I'd like to understand if the end time always coincides with the expiry of the CERN affiliation. Is it always set? and how is it set? In this specific case, my guess is that the CERN job runs when the new affiliation has already started, otherwise the user would be disabled and then restored at the next run. Also, does the membership expire at 23:59 or 00:00 and does the new one, the day after, start at exactly what time? |
Someone with access to the CERN HR DB should confirm, but from what we have been shown without direct access, records seem to have a start and end date, with no time specified, e.g.:
If that is indeed the case, the time is likely the same for start and end. |
Hi all, However, my point is that we should ensure we have enough flexibility on the side of IAM to counteract any unwanted behavior prompted by results from HR DB queries. That implies applying grace periods where needed and being able to correct a person's status from the GUI. I suspect we are close already, but with v1.9.0 we observed at least the case of an ATLAS user that had to be manually restored, while the HR DB suggested his next contract started on the next day after his previous contract finished --> we need to avoid that an admin intervention is needed for such cases... Even if we get an exact specification of the current behavior of the API, there may well come a code change (on purpose or accidental) that adjusts the exact meaning of a timestamp: normally the users of such info do not care much, while we do! For example, we just add 1 day to the contract end date and only flag the account if on the second day the user still does not have a new contract. We probably would like to have that grace period configurable. |
Hi again, |
We discussed in today WLCG AuthZ meeting that while CERN HR API returns just
we should threat it as
|
Is the 1s gap below threshold or enough to continue to trigger suspension? |
Good point. If we still see unwarranted suspensions,
As the HR DB is sometimes seen to get updated belatedly, |
why do you guys discuss "hours" here ?? I have seen cases where it took days for User's Office to get records straight when Unless user association was terminated because of evil acts, there is no possible harm |
Ciao Stefano, |
Hi, unfortunately the meaning of all those labels (referring to the account lifecycle) were not documented in Indigo IAM website, but there is already a PR in review almost ready to be merged indigo-iam/iam-website#108. |
Is not a bit weird to require grace period for a service that should enforce security policies? That's why I think it make sense to fix how we use CERN HR infrastructure data instead of applying grace period workarounds in IAM... |
thank you all for listening. @vokac, I appreciate the philosophical point, but we need to have something that can work. One thing is that we must be able to stop evil-doers asap (and being able to search users by DN is important there! ). A different thing is how to deal gracefully with the fact that humans at CERN may not always do every thing in a matter of hours. When a student moves to another institution we do not kick them out of the experiment, nor does CERN disable their computer account. So we do not take their proxy or token permissions out either. If that can be achieved by smart interpretation of HR records, fine. But the end result must be that I do not get bugged because a User Office employee took a day off ! |
nor because they delete old institution on Friday and add new one on Monday ! |
It has been observed that even when a user's new contract starts the next day after the previous contract ended, and the LHC experiment affiliation has remained the same, the HR DB check can decide to put the user account into the
PENDING_REMOVAL
state, from which it currently cannot recover automatically (see #768). To avoid glitches due to the exact meaning and implementation of the relevant HR DB API time stamps, which might even change, possibly accidentally, the HR DB check needs to be made more robust: a configurable grace period of at least 1 day should be applied before concluding a user is no longer affiliated with a given experiment.The text was updated successfully, but these errors were encountered: