使用 Groovy 脚本配置矩阵授权插件

Configure matrix authorization plugin using Groovy script

我正在学习编写 groovy 脚本来配置矩阵授权插件。我写了这个脚本,只有经过身份验证的用户才能访问 Jenkins:

import jenkins.model.*
import hudson.security.*
import com.cloudbees.hudson.plugins.folder.properties.AuthorizationMatrixProperty

try {
    def instance = Jenkins.getInstance()
    def realm = new HudsonPrivateSecurityRealm(false)
    instance.setSecurityRealm(realm)

    def strategy = new hudson.security.GlobalMatrixAuthorizationStrategy()
    strategy.add(Jenkins.ADMINISTER, 'authenticated')
    instance.setAuthorizationStrategy(strategy)

    instance.save()

}
catch(Throwable exc) {
    println '!!! Error configuring jenkins'
    org.codehaus.groovy.runtime.StackTraceUtils.sanitize(new Exception(exc)).printStackTrace()
    println '!!! Shutting down Jenkins to prevent possible mis-configuration from going live'
    jenkins.cleanUp()
    System.exit(1)
}

现在,我想以任何人都无法访问 Jenkins 设置区域的方式配置此矩阵插件(即使经过身份验证的用户也无法访问 Jenkins 设置)。我对此做了很多研究,但无法继续推进。任何 help/pointer 将不胜感激。谢谢!

我找到了答案。以下是我遗漏的上述要求的完整代码 Jenkins.READ.

import jenkins.model.*
import hudson.security.*
import com.cloudbees.hudson.plugins.folder.properties.AuthorizationMatrixProperty

try {
    def instance = Jenkins.getInstance()
    def realm = new HudsonPrivateSecurityRealm(false)
    instance.setSecurityRealm(realm)

    def strategy = new hudson.security.GlobalMatrixAuthorizationStrategy()
    strategy.add(Jenkins.READ, 'authenticated')
    instance.setAuthorizationStrategy(strategy)

    instance.save()

}
catch(Throwable exc) {
    println '!!! Error configuring jenkins'
    org.codehaus.groovy.runtime.StackTraceUtils.sanitize(new 
    Exception(exc)).printStackTrace()
    println '!!! Shutting down Jenkins to prevent possible mis-configuration from going live'
    jenkins.cleanUp()
    System.exit(1)
}