Page MenuHomePhabricator

Move "privileged account' concept into MediaWiki core
Open, MediumPublic

Description

IMO the kind of authentication logging we are doing [​historic link​] is expected from any decent application by default and should live in core. (Also, for obvious reasons the config files are a poor place for business logic.) The only reason this is not trivial to do is the wfGetPrivilegedGroups method which is used to enrich the logs and is somewhat WMF-specific. We should probably move it (and the whole logging) to core.

We could have a static User::getPrivilegedGroups() method, a $wgPrivilegedGroups config settings which defaults to admin/bureaucrat/interface-admin and a GetPrivilegedGroups hook for CentralAuth and similar extensions to tie into.

Event Timeline

Change 482589 had a related patch set uploaded (by Gergő Tisza; owner: Gergő Tisza):
[mediawiki/core@master] Add User::getPrivilegedGroups()

https://gerrit.wikimedia.org/r/482589

chasemp triaged this task as Medium priority.Dec 9 2019, 4:42 PM
chasemp added a project: Security-Team.

Change 482589 had a related patch set uploaded (by Reedy; owner: Gergő Tisza):
[mediawiki/core@master] Add UserManager::getUserPrivilegedGroups()

https://gerrit.wikimedia.org/r/482589

Change 482589 merged by jenkins-bot:

[mediawiki/core@master] Add UserGroupManager::getUserPrivilegedGroups()

https://gerrit.wikimedia.org/r/482589

Change 954628 had a related patch set uploaded (by Reedy; author: Gergő Tisza):

[mediawiki/core@REL1_40] Add UserGroupManager::getUserPrivilegedGroups()

https://gerrit.wikimedia.org/r/954628

Change 954629 had a related patch set uploaded (by Reedy; author: Gergő Tisza):

[mediawiki/core@REL1_39] Add UserGroupManager::getUserPrivilegedGroups()

https://gerrit.wikimedia.org/r/954629

Change 954730 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/core@master] UserGroupManager: Fixup getUserPrivilegedGroups docs

https://gerrit.wikimedia.org/r/954730

Change 954730 merged by jenkins-bot:

[mediawiki/core@master] UserGroupManager: Fixup getUserPrivilegedGroups docs

https://gerrit.wikimedia.org/r/954730

Change 954629 merged by jenkins-bot:

[mediawiki/core@REL1_39] Add UserGroupManager::getUserPrivilegedGroups()

https://gerrit.wikimedia.org/r/954629

Change 954628 merged by jenkins-bot:

[mediawiki/core@REL1_40] Add UserGroupManager::getUserPrivilegedGroups()

https://gerrit.wikimedia.org/r/954628

Change 954742 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/core@master] Expose PrivilegedGroups to extension schema

https://gerrit.wikimedia.org/r/954742

Change 955757 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/WikiLambda@master] Flag functioneer and functionmainters as privileged

https://gerrit.wikimedia.org/r/955757

Change 955767 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/CheckUser@master] Flag checkusers privileged

https://gerrit.wikimedia.org/r/955767

Change 955768 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/CentralAuth@master] Flag stewards as privileged

https://gerrit.wikimedia.org/r/955768

Change 955770 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/WikimediaIncubator@master] Flag test-sysops as privileged

https://gerrit.wikimedia.org/r/955770

OK, I've quickly read through every hit on this search and I think the only four production repos we care about rights from (beyond core itself) are as patched above:

[mediawiki/extensions/WikiLambda@master] Flag functioneer and functionmainters as privileged
https://gerrit.wikimedia.org/r/955757

[mediawiki/extensions/CheckUser@master] Flag checkusers privileged
https://gerrit.wikimedia.org/r/955767

[mediawiki/extensions/CentralAuth@master] Flag stewards as privileged
https://gerrit.wikimedia.org/r/955768

[mediawiki/extensions/WikimediaIncubator@master] Flag test-sysops as privileged
https://gerrit.wikimedia.org/r/955770

Change 954742 merged by jenkins-bot:

[mediawiki/core@master] Expose PrivilegedGroups to extension schema

https://gerrit.wikimedia.org/r/954742

Change 955064 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/core@REL1_40] Expose PrivilegedGroups to extension schema

https://gerrit.wikimedia.org/r/955064

Change 955065 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/core@REL1_39] Expose PrivilegedGroups to extension schema

https://gerrit.wikimedia.org/r/955065

Change 955065 merged by jenkins-bot:

[mediawiki/core@REL1_39] Expose PrivilegedGroups to extension schema

https://gerrit.wikimedia.org/r/955065

Change 955064 merged by jenkins-bot:

[mediawiki/core@REL1_40] Expose PrivilegedGroups to extension schema

https://gerrit.wikimedia.org/r/955064

Change 955768 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] Flag stewards as privileged

https://gerrit.wikimedia.org/r/955768

Change 955767 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] Flag checkusers privileged

https://gerrit.wikimedia.org/r/955767

Change 955788 had a related patch set uploaded (by Dreamy Jazz; author: Jforrester):

[mediawiki/extensions/CheckUser@REL1_40] Flag checkusers privileged

https://gerrit.wikimedia.org/r/955788

Change 955789 had a related patch set uploaded (by Dreamy Jazz; author: Jforrester):

[mediawiki/extensions/CheckUser@REL1_39] Flag checkusers privileged

https://gerrit.wikimedia.org/r/955789

Change 955788 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@REL1_40] Flag checkusers privileged

https://gerrit.wikimedia.org/r/955788

OK, I've quickly read through every hit on this search and I think the only four production repos we care about rights from (beyond core itself) are as patched above:

Should we add push-subscripton-managers as well? Per T259148, it's some sort of system bot account.

OK, I've quickly read through every hit on this search and I think the only four production repos we care about rights from (beyond core itself) are as patched above:

Should we add push-subscripton-managers as well? Per T259148, it's some sort of system bot account.

I felt that it wasn't a risky-enough user right set to warrant it, but I defer to others' views. :-)

Change 955770 merged by jenkins-bot:

[mediawiki/extensions/WikimediaIncubator@master] Flag test-sysops as privileged

https://gerrit.wikimedia.org/r/955770

Change 955801 had a related patch set uploaded (by Reedy; author: Jforrester):

[mediawiki/extensions/CentralAuth@REL1_40] Flag stewards as privileged

https://gerrit.wikimedia.org/r/955801

Change 955802 had a related patch set uploaded (by Reedy; author: Jforrester):

[mediawiki/extensions/CentralAuth@REL1_39] Flag stewards as privileged

https://gerrit.wikimedia.org/r/955802

Change 955802 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@REL1_39] Flag stewards as privileged

https://gerrit.wikimedia.org/r/955802

Change 955801 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@REL1_40] Flag stewards as privileged

https://gerrit.wikimedia.org/r/955801

Change 955789 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@REL1_39] Flag checkusers privileged

https://gerrit.wikimedia.org/r/955789

Change 955757 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@master] Flag functioneer and functionmainters as privileged

https://gerrit.wikimedia.org/r/955757