본문 바로가기

정보보안

제로 트러스트 아키텍처 SAML 2.0 SSO 연동으로 DevOps 툴 접근제어JenKins (역할, role 기반으로 권한을 분할하자)

반응형

이번에는 젠킨스를 AD 계정으로 로그인하면서 역할 admin, user, 서비스 A, 서비스 B에 맞는 권한을 부여해 보겠습니다. 

 

단순 SAML 2.0 연동을 하게 되면 오로지 접근 제어밖에 할 수 없게 됩니다. 접근 권한 = admin 이 되어 모든 사용자가 admin이 되게 됩니다. 하지만 admin과 user 간 권한이 분리되어야 하며 admin 은 지정된 운영자만이 권한을 가질 수 있습니다. 그리고 user는 모든 Item에 접근 가능해서는 안되고 오직 권한이 부여된 Item에 대해서만 권한을 가져야 합니다. 

 

위와 같이 AD의 admin 그룹에 속하는 유저만이 젠킨스의 admin 권한을, user 그룹과 A 서비스 그룹에 속해야만 젠킨스의 A 서비스에 대해 권한을 가져야 합니다. 

 

 

AD 와 젠킨스 간 그룹별로 매치를 시켜 주었습니다. AD 유저가 admin_Group에 포함되면 젠킨스의 admin_Group 롤을 받게 되며, user_Group과 Service_A에 포함되게 되면 젠킨스의 user 권한과 Service_A Item에 대한 권한을 받을 수 있습니다. 

 

admin 권한을 가진 계정으로 한번 로그인 해보았습니다. 모든 설정 변경이 가능하고 모든 Item들이 보입니다.

 

 

user_group과 Service_A에 속하는 계정으롤 로그인했습니다. 젠킨스 관련 설정이 불가능하고 Service A Item만 노출이 됩니다. 

 

 

이번에는 user_group 과 Service_B에 속하는 계정으로 로그인했습니다. 오직 Service B Item 에만 권한을 가지고 있습니다. 

 

젠킨스 외에도 다른 Devops 툴들 SAML 2.0 연동이 가능하다면 위와 같은 구성이 가능합니다. SAML 2.0로 각종 devops 툴들을 연동해 최소 권한을 부여하는 방법들 역시 거의 위와 같이 동일합니다.  

 

반응형