OIDC+RBAC 기반 외부 개발자 ArgoCD 권한 공유하기

수 많은 개발 협력 도구들... 계정 관리, 권한 관리 많이 어려우셨죠? OIDC와 RBAC를 통해 일관되게 관리해보세요!
서지호's avatar
Jan 12, 2026
OIDC+RBAC 기반 외부 개발자 ArgoCD 권한 공유하기

업무 배경

이번에는 회사에서 처음으로 외부개발자와 함께 프로젝트를 진행하게 됐습니다.

Plaid Labs의 쿠버네티스 클러스터를 개발환경으로 사용하기로 결정하였고 클러스터에 배포된 어플리케이션의 실시간 로그를 외부 개발자들이 봐야할 필요성이 생겼습니다.

이러한 요구를 충족하기 위해서 다양한 방안을 검토해보았는데요.

  1. Slack WebHook 기반

  1. Elastic Search

  2. ArgoCD 권한 부여

1번 슬랙의 경우엔 어플리케이션에 코드를 추가하고 슬랙 채널을 추가로 개설하고 ERROR수준의 로그를 수신하도록 하였습니다.

2번 Elastic Search는 OIDC를 이용한 SSO연동이 무료기능이 아닌 유료기능이였기에 .. SSO연동이 불구하면 계정관리의 어려움이 있어서 배제하였습니다.

3번 ArgoCD는 자체적으로 SSO연동을 지원하고 특히 저희가 사용하는 KeyCloak과 궁합이 매우 잘 맞았습니다. Keycloak에서 지정한 그룹명에 따라 Role Based Access control에도 매우 적합하여서 이 방식을 진행하기로 결정하였습니다.

Plaid의 SSO 시스템

Plaid에서는 오픈소스 Identity Procider로 알려진 Keycloak을 사내 SSO 구축을 위해 사용하고 있습니다.

전체적인 구조.

회사 구글 워크스페이스 계정과 keycloak을 연동하여서, 회사 이메일만 발급되면 쉽게 사내 시스템에 접근 할 수 있도록 되어있는 편리한 시스템이 구축되어있습니다.

일단 외부 개발자들이 사내시스템에 접근 할 수 있도록 회사 이메일을 발급하여 배부하였습니다.

그리고 불필요한 자원에 접근 하는걸 방지하기 위해서 Keycloak에서 각 회사 구성원마다 그룹을 지정할 수 있기에 ext-dev 그룹을 만들고 이 그룹에만 할당을 시키면
ArgoCD에서 필요한 자원외의 접근을 막을 수 있습니다.

ArgoCD 프로젝트 만들기.

프로젝트 설정

ArgoCD에서 설정에 들어가서 프로젝트의 이름을 설정합니다. 이번엔 mam이라는 이름의 프로젝트를 만들었습니다. (사내 프로젝트 코드)

위에 사진처럼 프로젝트별로 어떤 클러스터에 배포할 것인지 어떤 네임스페이스에 접근이 가능한지 제한 할 수 있습니다.


그 이후 이렇게 역할을 만들면 내부 개발자와 외부 개발자의 접근 수준을 제어 할 수 있습니다.

이렇게 외부 개발자는 mam프로젝트 속 어플리케이션에 대해선 한정된 권한만을 부여하였습니다.

이렇게 OIDC group중 mam-ext-dev 그룹에 속한 개발자들은 한정된 argoCD접근이 가능합니다 .

그럼 이제 관리자가 보는 화면과 외부개발자가 보는 화면은 서로 어떻게 다른지 확인해볼까요?

관리자가 보는 ArgoCD 화면

ArgoCD-Admin 그룹에 속하는 저의 계정을 통해 보니 모든 어플리케이션들이 정상적으로 보입니다, 관리자니까 당연히 잘보이겠죠?

Keycloak을 통해서 그룹을 오직 mam-ext-dev에만 할당해보겠습니다.


외부 개발자가 보는 ArgoCD화면

그룹을 변경하고 다시 로그인해보니 mam 프로젝트에 속한 어플리케이션만 보입니다!

실시간 로그도 매우 잘 보이네요!

SSO와 Keycloak 그리고 ArgoCD의 RBAC를 통해서 이렇게 쉽게 외부개발자에게도 안전하게 로그를 같이 볼 수 있게 되었습니다 .

후기

ArgoCD 외에도 많은 사내 시스템을 외부 개발자 혹은 내부 개발자에게도 안전하게 공유할 수 있는 방법을 고민하게 된 계기가 되었습니다.

Plaid Labs의 인프라를 안전하고 편리하게 만들어나가는 좋은 DevOps 개발자로 거듭나겠습니다, 감사합니다.

Share article

플래드