Updating 권한설정 - RBAC

쿠버네티스에서 RBAC(역할 기반 접근 제어)이 작동하는 방식에 대해 알아봅니다.

공식 쿠버네티스 문서에 따르면

RBAC(역할 기반 접근 제어)는 엔터프라이즈 내의 개별 사용자의 역할에 따라 컴퓨터 또는 네트워크 리소스에 대한 액세스를 규제하는 방법 입니다.

RBAC의 핵심 논리적 구성 요소는 다음과 같습니다.

Entity Group, User 또는 service account (응용 프로그램을 대표하는 ID로 특정 작업이나 액션을 실행 하기 위해 사용 권한을 필요로 합니다.)

Resource 특정 작업을 사용하여 엔티티가 액세스 하려는 파드, 서비스 또는 시크릿 (암호, 토큰 또는 키와 같은 소량의 중요한 데이터를 포함하는 오브젝트).

Role 엔티티가 다양한 리소스를 수행 할 수 있는 작업에 대한 규칙을 정의하는 데 사용 됩니다.

Role binding 역할을 엔터티에 연결 하는 것으로 지정된 리소스에 부착된 엔터티에 의해 규칙 집합에 정의된 작업이 허용됩니다.

두 가지 유형의 역할 (역할, 클러스터) 및 각각의 바인딩 (Rolebinding, ClusterRoleBinding)이 있습니다. 이들은 네임 스페이스 또는 클러스터 전체에서 인증을 구분 합니다.

Namespace 네임 스페이스는 보안 경계를 만드는 훌륭한 방법이며 ‘네임 스페이스’ 이름이 암시하는 오브젝트 이름에 대해 고유 한 범위를 제공합니다. 이들은 다중 테넌트 환경에서 동일한 실제 클러스터에 가상 쿠버네티스 클러스터를 만드는 데 사용 되도록 의도 되었습니다.

이번 실습의 목적

이번 실습에서는 rbac-user라는 IAM 사용자를 만들어 쿠버네티스 RBAC를 확인합니다. RBAC를 통해 권한을 부여 받은 rbac-user는 EKS 클러스터 접근을 인증 받지만 ‘rbac-test’ 네임 스페이스에서만 파드 조회, 가져오기, 감시, 배포를 하도록 권한이 부여 됩니다.

이를 위해 IAM 사용자를 만들고, 사용자를 쿠버네티스 역할에 맵핑한 다음 해당 사용자의 컨텍스트에서 쿠버네티스 작업을 수행 합니다.

Last updated