데브옵스
Kubernetes 클러스터의 안전한 운영을 위한 접근 제어
두줄요약
Kubernetes RBAC의 관리 복잡성과 기능 한계를 보완하기 위한 접근 제어 방식으로 KAC를 소개했습니다.투명한 Proxy와 정책 기반 제어로 멀티 클러스터 운영 보안과 감사 추적을 강화했습니다.
문제 상황
- Kubernetes RBAC 설정과 kubeconfig 관리의 복잡성으로 사용자별 권한 분리와 운영 부담이 커지는 문제
- 멀티 클러스터 환경에서 Role, RoleBinding, audit log를 각 클러스터마다 관리해야 하는 비효율
- deny rule, 패턴 매칭 부재로 세밀한 접근 제어와 리소스 필터링이 어려운 한계
해결 방법
- 클라이언트와 Kubernetes API 서버 사이에 투명한 KAC Proxy를 두어 요청을 가로채고 권한을 검사
- 사용자 로컬 KAC Agent가 kubeconfig를 관리해 기존 Kubernetes 사용성을 유지
- 자체 Policy 명세로 resources, subjects, actions, conditions를 정의하고 wildcard, pattern matching, deny rule, impersonation을 지원
구조와 흐름
- API 요청 분석 후 허용 시 Kubernetes API 서버로 전달, 차단 시 에러 응답
- exec 요청의 입력·출력 기록과 watch 응답, Pod 리스트 응답 필터링으로 세밀한 제어 제공
- 클러스터 자동 동기화와 태그 기반 조건으로 중앙 집중형 정책 관리 구성
적용해볼 점
- 멀티 클러스터 운영에서 중앙 집중형 정책과 태그 기반 분류를 통해 관리 단순화
- 감사 추적과 세분화된 접근 제어가 필요한 환경에서 proxy 기반 보안 계층 도입 검토
