DevOps

Jenkins RBAC(w/ helm chart)

모이스쳐라이징 2024. 9. 8. 23:52

Chart Values를 통해 RBAC구성해보는 내용

 

우선 jenkins는 custom group 개념이 없다는걸 삽질 끝에 알게 됨

※ 예외라면 authenticated 그룹은 시스템 자체에 있는데 jenkins에 가입한 모든 유저는 해당 그룹에 등록됨

※ LDAP, AD 인증은 가능한듯

 

게다가 rbac을 기본으로 제공하는것도 아니라 role-strategy 플러그인을 사용해야하고,
UI에서 group 생성하는 부분이 있지만 user를 할당하는 부분이 어디에도 존재 하지 않았음..

 

Overall/Administer은 suber admin 느낌으로 모든 권한이 들어감

pipelines(items)별로 권한을 줄 수 있어서 regex기반 패턴을 통해 쉽게 적용할 수 있음

    authorizationStrategy: |-
      roleBased:
        roles:
          global:
            - name: "Admin"
              description: "Jenkins administrators"
              permissions:
                - "Overall/Administer"
              entries:
                - user: "admin@xxx.com"
            - name: "Readonly"
              description: "Read-only users"
              permissions:
                - "Overall/Read"
              entries:
                - group: "authenticated"
          items:
            - name: "All-item"
              description: "All-item"
              pattern: ".*"
              permissions:
                - "Job/Build"
                - "Job/Cancel"
                - "Job/Configure"
                - "Job/Create"
                - "Job/Delete"
                - "Job/Discover"
                - "Job/Move"
                - "Job/Read"
                - "Job/Workspace"
            - name: "Dev-item"
              description: "Dev-item"
              pattern: "DEV.*"
              permissions:
                - "Job/Build"
                - "Job/Cancel"
                - "Job/Configure"
                - "Job/Discover"
                - "Job/Read"
              entries:
                - user: "developer@xxx.com"

 

 

---

 

google Oauth 연동 하는법

    securityRealm: |-
        googleOAuth2:
          clientId: "xxx"
          clientSecret: "xxx"
          domain: "xxx.com"