# Updating 권한설정 - RBAC

[공식 쿠버네티스 문서](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)에 따르면

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

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

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

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

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

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

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

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

#### 이번 실습의 목적  <a href="#undefined" id="undefined"></a>

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

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