Skip to content

RBAC 역할과 바인딩 (Roles & RoleBindings)

쿠버네티스와 같은 플랫폼에서 권한을 관리하는 RBAC(Role-Based Access Control)의 핵심은 "어떤 역할(역량 집합)"과 "누구/무엇(대상)에게 그 역할을 묶는 바인딩"을 분리하는 것입니다. 이 장에서는 역할·바인딩의 구성과 최소 권한 원칙을 데이터스케쳐스의 서비스 운영 관점에서 정리합니다.

RBAC 의 기본 개념

RBAC 는 세 가지를 분리합니다.

  • Role(역할): 네임스페이스 범위의 권한 묶음. 예: "파드 조회·생성", "시크릿 읽기".
  • ClusterRole: 클러스터 전체(모든 네임스페이스)에 걸친 권한 묶음.
  • RoleBinding / ClusterRoleBinding: 역할을 특정 주체(사용자·그룹·서비스어카운트) 에 연결하는 매개체.

즉 "운영자에게 배포 조회 권한을 준다" = Role(배포 조회) + RoleBinding(운영자 그룹).

왜 역할과 바인딩을 나누나

역할과 바인딩을 분리하면, 권한 정의(역할)와 부여 대상(바인딩) 을 독립적으로 바꿀 수 있습니다. 예: 새 직원이 들어오면 바인딩만 추가하면 되고, 권한 수준이 바뀌면 역할만 수정하면 됩니다. 여러 네임스페이스에 같은 역할을 재사용하기도 쉽습니다.

최소 권한 원칙 (Principle of Least Privilege)

  • 필요한 최소 권한만 부여합니다. 과한 권한(예: 모든 시크릿 읽기)은 유출 시 폭발 반경이 커집니다.
  • 서비스어카운트 단위로 워크로드 권한을 지정하고, 사람 계정과 분리합니다.
  • 정기 감사: "누가 어떤 역할에 묶여 있는지"를 점검하고 불필요한 바인딩을 제거합니다.

데이터스케쳐스 실무 관점

  • 멀티테넌트 웹빌더/서비스: 고객별 네임스페이스에 최소한의 Role + 각 팀/파이프라인 서비스어카운트에 ClusterRoleBinding(필요한 API만)을 구성해 테넌트 간 격리를 강화합니다.
  • CI/CD 파이프라인: 배포용 서비스어카운트는 배포에 필요한 권한만 갖도록 해, 파이프라인 토큰이 유출되어도 전체 클러스터가 위험하지 않게 합니다.

확인 필요

  • 역할·바인딩의 정확한 필드 문법과 권한 API 목록은 쿠버네티스 버전에 따라 다릅니다. 실제 플랫폼 공식 문서를 재확인하세요. (확인 필요)

더 알아보기