Skip to main content

역할 바인딩

역할 바인딩(RoleBinding)은 역할에 정의된 권한을 특정 주체(사용자, 그룹, 서비스 계정)에게 부여하는 리소스입니다. 역할이 "무엇을 할 수 있는가"를 정의한다면, 역할 바인딩은 "누가 그 역할을 가지는가"를 정의합니다.


역할 바인딩 목록

사이드바에서 보안 > 역할 바인딩을 선택하면 현재 네임스페이스의 RoleBinding 목록이, 보안 > 클러스터 역할 바인딩을 선택하면 ClusterRoleBinding 목록이 표시됩니다.

목록에서 확인할 수 있는 정보는 다음과 같습니다.

  • 이름: 바인딩의 고유 이름
  • 네임스페이스: RoleBinding의 경우 소속 네임스페이스
  • 역할 참조: 바인딩된 Role 또는 ClusterRole의 이름
  • 생성 시간: 리소스가 생성된 시각

역할 바인딩 상세

역할 바인딩 상세 화면에서는 주체(Subject)와 역할(Role)의 연결 관계를 확인할 수 있습니다.

Subject (주체)

역할이 부여되는 대상입니다. 다음 세 가지 종류가 있으며, 콘솔에서 테이블로 표시됩니다.

  • User: 개별 사용자. 클러스터의 인증 시스템에서 관리되는 사용자 이름입니다.
  • Group: 사용자 그룹. 예를 들어 system:masters는 관리자 그룹입니다.
  • ServiceAccount: 서비스 계정. 네임스페이스와 이름으로 식별됩니다.

Role 연결

바인딩이 참조하는 역할 정보입니다. 역할 이름을 클릭하면 해당 역할의 상세 화면으로 이동하여 정책 규칙을 확인할 수 있습니다.

참고: RoleBinding은 같은 네임스페이스의 Role뿐만 아니라 ClusterRole도 참조할 수 있습니다. 이 경우 ClusterRole에 정의된 권한이 해당 네임스페이스 범위로 제한되어 적용됩니다.


RBAC가 콘솔 UI에 미치는 영향

RBAC 설정은 COP Console의 사용자 경험에 직접적인 영향을 미칩니다. 콘솔은 현재 사용자의 권한에 따라 동적으로 UI를 조정합니다.

리소스 목록 접근

사용자에게 특정 리소스에 대한 list 권한이 없으면, 해당 리소스 목록 페이지에 접근할 때 권한 부족 오류가 표시됩니다. 사이드바 메뉴는 기본적으로 모두 표시되지만, 접근 시 API 서버에서 403 Forbidden 응답을 반환합니다.

리소스 상세 조회

get 권한이 없는 리소스의 상세 화면에 접근하면 오류 메시지가 표시됩니다. 관련 리소스에 대한 권한이 부분적으로 있는 경우, 권한이 있는 정보만 표시되고 나머지는 오류 상태로 나타날 수 있습니다.

생성/편집/삭제

  • create 권한이 없으면 리소스 생성 버튼이 비활성화되거나, 생성 시도 시 오류가 발생합니다.
  • update/patch 권한이 없으면 편집 기능을 사용할 수 없습니다.
  • delete 권한이 없으면 삭제 작업을 수행할 수 없으며, 삭제 시도 시 오류 메시지가 표시됩니다.

네임스페이스 범위

사용자에게 특정 네임스페이스에 대한 권한만 부여된 경우, 콘솔의 네임스페이스 필터에서 해당 네임스페이스만 선택하여 작업해야 합니다. 설정에서 허용 네임스페이스를 지정하면 더 효율적으로 사용할 수 있습니다.

권한 문제 해결

콘솔 사용 중 권한 오류가 발생하면 다음을 확인하십시오.

  1. 현재 사용자의 인증 정보(kubeconfig 또는 토큰)가 유효한지 확인합니다.
  2. 보안 메뉴에서 역할 바인딩을 검색하여 현재 사용자에게 적절한 역할이 바인딩되어 있는지 확인합니다.
  3. 바인딩된 역할의 정책 규칙을 확인하여 필요한 리소스와 동사가 포함되어 있는지 확인합니다.
  4. 클러스터 관리자에게 필요한 권한 부여를 요청합니다.