Page MenuHomePhabricator

Offboarding script for account handling
Closed, ResolvedPublic

Description

Offboarding users should be simpler: Provide a generic wrapper script to remove a user from LDAP and Phabricator (either completely, with retaining non-privileged group or with also retaining privileged groups if under NDA)

Related Objects

Event Timeline

I wrote some code (probably under my @Krenair account) a while ago that would look for any intersection between keys allowed in labs and keys allowed in production. It might be useful here.

The cross-validation is already handled via the daily consistency check. I started to work on a quick frontend to add a user to data.yaml, but that doesn't work very well, since loading/modifying/dumping the YAML file messes with the currently hand-crafted YAML data in terms of formatting (and also loses comments). ruamel.yaml is supposed to handle that better, but it didn't make much of a difference either. But since data.yaml is only edited by Ops (and also fairly rarely), that's not really much of an issue either.

The second part of is bugs a generic offboarding script: It queries all the LDAP groups who a user is part of and deals with them in three possible ways:

  1. Remove a user of all groups immediately (only used in exceptional cases, e.g. in there's a security concern wrt that user)
  2. Offboard a user and drop him/her from all privileged groups (standard labs group/project memberships are retained)
  3. Offboard a former staff user turned volunteer, retaining also privileged groups, but moving him/her from the wmf to nda group

In addition, there's WIP to add Phabricator support: This will also leave all project memberships intact, but removes the user from privileged groups (such as Security, WMF-NDA) unless the volunteer NDA is signed.

MoritzMuehlenhoff renamed this task from Provide wrapper script for account handling to Offboarding script for account handling.Mar 13 2017, 2:38 PM
MoritzMuehlenhoff claimed this task.
MoritzMuehlenhoff updated the task description. (Show Details)

An offboarding script for LDAP and Phabricator has been added to puppet.git, it's available on terbium as offboard-user. Docs have been updated at
https://office.wikimedia.org/wiki/VerboseOffboard#LDAP_.28also_defines_Nova_permissions.29
https://office.wikimedia.org/wiki/VerboseOffboard#Phabricator