Page MenuHomePhabricator

Create solution for developer account authentication for services hosted in Cloud VPS
Closed, ResolvedPublic

Description

There are a few services running on Cloud VPS, mostly cloud infrastructure related (such as metricsinfra alertmanager) but also just in generic projects (such as logstash-beta.wmcloud.org) that could benefict from being able to authenticate the user against the developer account database, in most cases requiring membership in some Cloud VPS project.

LDAP authentication directly is not allowed in WMCS for good reasons and according to @MoritzMuehlenhoff the production CAS SSO service shouldn't be used directly in WMCS for security/realm separation reasons. This task is to investigate and possibly implement an alternative solution (for example a separate CAS installation somewhere).

Event Timeline

Change 705624 had a related patch set uploaded (by Jbond; author: John Bond):

[operations/puppet@production] hiera cloud idp: Add the idp cloud as a service provider

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

Change 705624 merged by Jbond:

[operations/puppet@production] hiera cloud idp: Add the idp cloud as a service provider

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

Change 705625 had a related patch set uploaded (by Jbond; author: John Bond):

[operations/software/cas-overlay-template@master] WMCS branch: create a wmcs specific branch to add Delegated Authentication

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

Change 705657 had a related patch set uploaded (by Jbond; author: John Bond):

[operations/puppet@production] C:apereo_cas: Add ability to support delegated authenticators

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

Change 705660 had a related patch set uploaded (by Jbond; author: John Bond):

[operations/puppet@production] P:idp: update profile to support delegated authenticators

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

Change 705657 merged by Jbond:

[operations/puppet@production] C:apereo_cas: Add ability to support delegated authenticators

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

Change 705660 merged by Jbond:

[operations/puppet@production] P:idp: update profile to support delegated authenticators

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

We currently have a cloud version of idp which is mostly used for testing and development. This use to rely on a local ldap database as "LDAP authentication directly is not allowed in WMCS". However I have updated this idp instance so that it delegates authentication to the production idp server. As the idp server in cloud is currently configured to allow any service in *.wmcloud.org to authenticate against there should be no further configuration required unless one is doing something a bit more advanced.

This has configueration has the benefits that:

  • All authentication and direct access to the ldap database happens on the production idp severs.
  • The production idp server only talks to the cloud idp server meaning updates to production will not be blocked on various cloud projects
  • cloud project can get authentication to cloud services using developer account ldap credentials

such as logstash-beta.wmcloud.org

Logstash is one of the few services that are not currently working with IDP in production so this one will not be easy

Also worth pointing out the following debugging end point https://idp-test-login.wmcloud.org/. This will dump all the headers/environment variables set by the mod_auth_cas module (look for the ones prefixed HTTP_X_CAS_)

jbond triaged this task as Medium priority.Jul 20 2021, 1:16 PM

Change 705625 merged by Jbond:

[operations/software/cas-overlay-template@master] WMCS branch: create a wmcs specific branch to add Delegated Authentication

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

jbond claimed this task.

I think this is complete but please re-open if i missed something