Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-67422

Role-strategy compatibility with matrix-auth 3.0

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • role-strategy-plugin
    • None
    • Jenkins 2.319.1
      Role-based Authorization Strategy plugin 3.2.0
      Azure AD plugin upgraded from 185.v3b416408dcb1 to 188.v2369adb95a31
      Matrix Authorization Strategy plugin upgraded from 2.6.11 to 3.0

    • 484.v8a_a_e4b_d785fd

      Upgrading the Azure AD plugin to 188.v2369adb95a31 and the Matrix Authorization Strategy plugin to 3.0 stopped Role-based Authorization Strategy from recognizing me as a Jenkins administrator.

      Reproduction steps

      The Configuration as Code jenkins.yaml file included:

      jenkins:
        authorizationStrategy:
          roleBased:
            roles:
              global:
              - assignments:
                - "REDACTED@REDACTED.com" # my Azure AD account without any "USER:" or "GROUP:" prefix
                name: "admin"
                pattern: ".*"
                permissions:
                - "Job/Create"
                - "Overall/Administer"
      

      jenkins.yaml also defined a few more global roles and item roles, but those should only be able to grant more permissions rather than remove any, so they don't seem relevant to this issue.

      Before the upgrade, I was able to log in as REDACTED@REDACTED.com and get administrator access to Jenkins.

      I then upgraded Jenkins plugins:

      • matrix-auth from 2.6.11 to 3.0
      • azure-ad from 185.v3b416408dcb1 to 188.v2369adb95a31

      restarted Jenkins, and logged in.

      Expected result

      Should still have been able to log in and have administrator access to Jenkins.

      Actual result

      I was able to log in again but no longer had administrator access.

      I edited jenkins.yaml, added the "USER:" prefix to the email address, and restarted Jenkins again. I was still able to log in but did not have administrator access.

      I downloaded the previous versions of azure-ad.hpi and matrix-auth.hpi from https://plugins.jenkins.io/, copied them to JENKINS_HOME/plugins as described in https://www.jenkins.io/doc/book/managing/plugins/#on-the-controller, restored jenkins.yaml, and restarted Jenkins. I was able to log in and got administrator access again.

      Notes

      According to JENKINS-67387 and https://github.com/jenkinsci/azure-ad-plugin/issues/179#issuecomment-999004161, role-strategy is not yet compatible with matrix-auth 3.0. I didn't find any other role-strategy-plugin issue about this incompatibility (JENKINS-67413, JENKINS-67393, and JENKINS-67406 describe less serious problems), so I'm filing this one.

          [JENKINS-67422] Role-strategy compatibility with matrix-auth 3.0

          Tim Jacomb added a comment - - edited

          Tim Jacomb added a comment - - edited See also: https://community.jenkins.io/t/matrix-authorization-strategy-3-0-no-type-prefix/1043/4 https://issues.jenkins.io/browse/JENKINS-67387 https://github.com/jenkinsci/matrix-auth-plugin/pull/110#issuecomment-995192829 Lots of clicks from community.jenkins.io fyi runzexia

          Alan Sparks added a comment -

          I experienced this issue as well with Jenkins 2.319.2 and the 3.0 matrix plugin and current (3.2.0) version of RBAS plugin. Had to regress Matrix plugin to pre-3.0 to fix.

          Alan Sparks added a comment - I experienced this issue as well with Jenkins 2.319.2 and the 3.0 matrix plugin and current (3.2.0) version of RBAS plugin. Had to regress Matrix plugin to pre-3.0 to fix.

          I won't be easily able to test fixes for this issue, because I already switched the Jenkins instance to a different authorization strategy.

          Kalle Niemitalo added a comment - I won't be easily able to test fixes for this issue, because I already switched the Jenkins instance to a different authorization strategy.

          Alan Sparks added a comment -

          This is open now 4 months and we can't update the plugin. How do we get attention?

          Alan Sparks added a comment - This is open now 4 months and we can't update the plugin. How do we get attention?

          Max de Graaf added a comment -

          Same concerns here Alan. Still running Jenkins 2.331 over here. Not even sure if i can update to the most recent version 2.343 with a fix on this.

          Max de Graaf added a comment - Same concerns here Alan. Still running Jenkins 2.331 over here. Not even sure if i can update to the most recent version 2.343 with a fix on this.

          We are on Jenkins 2.332.3 and unfortunately have the updated Matrix Authorization Strategy Plugin Version 3.1.2 too.
          Usually you guys make sure that plugins are either in line or aren't installable anyways (e.g. when the Jenkins version does not match).

          While it still works as of now - I won't make any configuration changes yet, not sure if that breaks anything.
          But seeing that the topic is open for nearly 5 months is a let-down.

          Daniel Geißler added a comment - We are on Jenkins 2.332.3 and unfortunately have the updated Matrix Authorization Strategy Plugin Version 3.1.2 too. Usually you guys make sure that plugins are either in line or aren't installable anyways (e.g. when the Jenkins version does not match). While it still works as of now - I won't make any configuration changes yet, not sure if that breaks anything. But seeing that the topic is open for nearly 5 months is a let-down.

          NGG added a comment -

          Work has already been started to resolve this in https://github.com/jenkinsci/role-strategy-plugin/pull/172

          NGG added a comment - Work has already been started to resolve this in https://github.com/jenkinsci/role-strategy-plugin/pull/172

          Lukas Hauser added a comment -

          I've tried it today with azure-ad:218.v90f6a_980b_a_61role-strategy:488.v0634ce149b_8c and matrix-auth:3.1.2 on a Jenkins 2.332.3 but still no success. Can someone confirm that this bug is fixed and tell how to make use of it? Thanks!

          Lukas Hauser added a comment - I've tried it today with azure-ad:218.v90f6a_980b_a_61 ,  role-strategy:488.v0634ce149b_8c and matrix-auth:3.1.2 on a Jenkins 2.332.3 but still no success. Can someone confirm that this bug is fixed and tell how to make use of it? Thanks!

          Max de Graaf added a comment -

          Running Jenkins 2.345 with LDAP 2.10, Role-based Authorization Strategy 3.2.0 and Matrix Authorization Strategy 3.1.2 and do have this problem. Still considering if i should update or not. Read stories about guys who were not able to logon anymore at all with and LDAP/AD account. That would basically lock us out of Jenkins entirely.

          Max de Graaf added a comment - Running Jenkins 2.345 with LDAP 2.10, Role-based Authorization Strategy 3.2.0 and Matrix Authorization Strategy 3.1.2 and do have this problem. Still considering if i should update or not. Read stories about guys who were not able to logon anymore at all with and LDAP/AD account. That would basically lock us out of Jenkins entirely.

            oleg_nenashev Oleg Nenashev
            kon Kalle Niemitalo
            Votes:
            36 Vote for this issue
            Watchers:
            48 Start watching this issue

              Created:
              Updated:
              Resolved: