snow · 2026.5.15 11:07 · 조회 1

Jenkins 보안 설정

보안 설정 접근

Jenkins 관리 → Security (보안 설정)


인증(Authentication) 설정

Jenkins 자체 사용자 DB

기본 설정. Jenkins 내부에서 사용자를 직접 관리합니다.

  1. Security Realm: Jenkins' own user database
  2. Allow users to sign up: 필요에 따라 체크/해제

LDAP 연동

Active Directory 또는 OpenLDAP와 연동합니다.

Security Realm → LDAP Server: ldap://your-ldap-server:389 Root DN: dc=example,dc=com User search filter: uid={0}

GitHub OAuth

GitHub 계정으로 로그인합니다. GitHub Authentication 플러그인 필요.


권한(Authorization) 설정

Matrix-based Security (권장)

세밀한 권한 제어가 가능합니다.

권한 그룹주요 권한
OverallAdminister, Read
JobBuild, Cancel, Configure, Create, Delete, Read, Workspace
ViewConfigure, Create, Delete, Read
AgentBuild, Configure, Connect, Create, Delete

설정 방법

  1. Authorization: Matrix-based security 선택
  2. Add user/group 버튼으로 사용자 추가
  3. 각 권한 항목 체크박스로 개별 권한 부여

Role-Based Strategy (권장 플러그인)

Role-based Authorization Strategy 플러그인을 사용하면 역할(Role) 단위로 권한을 관리할 수 있습니다.

Jenkins 관리 → Manage and Assign Roles → Global roles: admin, developer, viewer → Project roles: 정규식으로 특정 Job에만 권한 부여

CSRF 보호

Prevent Cross Site Request Forgery exploits 항상 활성화 권장.

파이프라인 원격 트리거 시 Crumb을 함께 전송해야 합니다.

1# Crumb 발급2CRUMB=$(curl -s 'http://admin:TOKEN@jenkins/crumbIssuer/api/json' | python3 -c "import sys,json; print(json.load(sys.stdin)['crumb'])")3 4# 빌드 트리거5curl -X POST http://admin:TOKEN@jenkins/job/my-job/build \6  -H "Jenkins-Crumb: $CRUMB"

Agent 보안

TCP 포트 설정

Security → Agents 섹션에서 Agent 연결 포트를 고정 설정합니다. (기본: 50000)

방화벽에서 해당 포트만 허용하도록 설정하세요.


SSL/HTTPS 설정

리버스 프록시(Nginx/Apache)를 통해 HTTPS를 적용하는 것을 권장합니다.

1server {2    listen 443 ssl;3    server_name jenkins.example.com;4 5    ssl_certificate /etc/ssl/certs/jenkins.crt;6    ssl_certificate_key /etc/ssl/private/jenkins.key;7 8    location / {9        proxy_pass http://localhost:8080;10        proxy_set_header Host $host;11        proxy_set_header X-Real-IP $remote_addr;12        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;13        proxy_set_header X-Forwarded-Proto $scheme;14    }15}

댓글

아직 댓글이 없습니다.

댓글을 작성하려면 로그인이 필요합니다.