개요
쿠버네티스 역할 기반 액세스 제어(RBAC)는 누가(주체), 무엇을(동사), 어디에(네임스페이스) 실행할 수 있는지 결정하는 권한 또는 템플릿 집합을 수반하는 Identity 및 액세스 관리 형식입니다. RBAC는 사용자 책임이 아닌 사용자 이름을 기반으로 액세스 권한을 부여하던 기존의 속성 기반 액세스 제어(ABAC)에서 발전한 형태입니다.
쿠버네티스란?
쿠버네티스(k8s 또는 "큐브(kube)"라고도 함)는 컨테이너화된 애플리케이션을 배포, 관리, 확장할 때 수반되는 다수의 수동 프로세스를 자동화하는 오픈소스 컨테이너 오케스트레이션 플랫폼입니다.
쿠버네티스에서 관리할 때 Linux 컨테이너는 마이크로서비스 기반 애플리케이션에 이상적인 애플리케이션 배포 유닛 및 독립적인 실행 환경을 제공합니다. 쿠버네티스는 YAML으로 작성되므로, 코드를 사람이 읽을 수 있습니다.
Red Hat 리소스
역할이란?
역할은 포드와 노드에 다양한 수준의 액세스 권한을 부여합니다. 역할은 애플리케이션 워크로드(간단히 역할이라고 함) 또는 전체 클러스터(클러스터 역할이라고 함)로서 함께 작동하는 특정 클러스터 그룹에 액세스하도록 승인될 수 있습니다.
- 역할은 가상으로 연결된 클러스터 그룹(네임스페이스라고 함)에 권한을 부여합니다. 워크로드에 대한 사용자 액세스가 특정 네임스페이스에 어떤 클러스터가 포함되어 있는지에 따라 결정되기 때문에 역할은 네임스페이스가 지정된 리소스의 한 유형이라 볼 수 있습니다. 역할 바인딩을 통해 사용자, 사용자 그룹, 서비스 계정 이름을 하나의 역할로 통합할 수 있습니다.
- 클러스터 역할은 개별 하드웨어 노드 그룹인 전체 클러스터에 권한을 부여하며, 여러 개의 네임스페이스에 걸쳐 있을 수 있습니다. 클러스터 역할 바인딩은 한 클러스터에 있는 모든 네임스페이스에 클러스터 역할을 연결합니다. 예를 들어 클러스터 관리자라는 클러스터 역할 이름은 모든 클러스터에 대한 무제한 액세스 권한이 있습니다.
역할 바인딩과 클러스터 역할 권한은 메타데이터를 사용해 결합 및 누적될 수 있습니다. 이렇게 하면 클러스터 역할에 정의된 권한을 역할 바인딩의 네임스페이스 내부에 있는 리소스에 부여하여 여러 네임스페이스 전반에서 재사용할 수 있는 클러스터에서 공통 역할을 정의하는 데 도움이 됩니다.
쿠버네티스 RBAC의 작동 방식
쿠버네티스 애플리케이션 프로그래밍 인터페이스(API)는 쿠버네티스 컨트롤 플레인의 프런트엔드입니다. 쿠버네티스 API는 컴퓨터 또는 시스템과 상호 작용하며 정보를 검색하거나 기능을 수행합니다.
쿠버네티스 RBAC는 특정 역할을 API 엔드포인트로 연결할 때 API 서버와 통신하는 API 그룹으로 관련 기능 요청을 수집합니다.
쿠버네티스 도큐멘테이션, rbac.authorization.k8s.io 인증, kubectl 커맨드라인 툴, 애드온, kubelet TLS 부트스트랩, 네트워크 정책 설정 등 쿠버네티스 RBAC 사용과 관련한 자세한 내용은 오픈소스 프로젝트의 RBAC 문서를 참조하시기 바랍니다.
Red Hat을 선택해야 하는 이유
Red Hat은 출시 전부터 쿠버네티스를 개발한 Google과 협력해 프로젝트에 참여한 최초의 기업입니다. 그때부터 Red Hat은 줄곧 쿠버네티스 업스트림 프로젝트를 이끄는 두 번째 기여자였으며, 엔터프라이즈 쿠버네티스 플랫폼을 처음으로 시장에 출시한 기업이 되었습니다.
Red Hat® OpenShift®는 엔터프라이즈용 쿠버네티스로, 쿠버네티스를 더욱 강력하고 실행 가능하게 만드는 모든 기술을 갖추고 있습니다. 이러한 구성 요소로는 특히 네트워킹, 인증, 모니터링, 보안, 자동화를 들 수 있습니다.
독점 구성 요소는 물론 복잡한 프로세스를 필요로 하는 다른 벤더 플랫폼과는 달리 Red Hat OpenShift는 운영 및 개발팀을 위한 단일 통합 플랫폼으로서, 쿠버네티스용으로 사용되는 인기 스토리지 및 네트워킹 플러그인을 검증하며 모니터링, 로깅, 분석 솔루션을 기본으로 제공합니다.
레드햇 공식 블로그
레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.