보안

Couchbase Server 4.5의 역할 기반 액세스 제어 소개

수년 동안 저는 가능한 한 '최소 권한' 액세스를 사용해야 한다는 것을 몸에 익혀 왔습니다. 이는 특히 관리자에게 적용되는데, 관리자는 NoSQL 데이터베이스와 같은 중요한 IT 인프라 구성 요소를 관리하며, 다음과 같은 권한을 자유롭게 사용할 수 있습니다.
시스템에서 제공하는 모든 권한을 사용할 수 있습니다.

Couchbase를 충분히 오래 사용했다면 다음과 같은 상황이 발생했습니다.

  1. 전체 관리자는 버킷, 보기, XDCR 등 클러스터 리소스 전반에 걸쳐 모든 작업을 수행할 수 있는 모든 권한을 가졌습니다.
  2. 기본 제공 관리자 역할은 전체 관리자와 읽기 전용 관리자의 두 가지(모두 또는 아무것도 없는 종류) 뿐이었습니다.

즉, XDCR을 설정하거나 간단한 버킷 설정을 변경하기 위해 누군가가 필요하다면 기본적으로 전체 관리자 자격 증명을 제공해야 했습니다. 이것이 핵심 문제였습니다!

4.5는 어떤 관리자가 어떤 리소스에 액세스할 수 있는지 명확하게 정의하고 적용하는 관리자용 역할 기반 액세스 제어(RBAC)를 도입하여 보안 관점에서 매우 흥미로운 릴리스입니다. RBAC 사용 시
관리자의 경우, 이제 규정 준수와 조직 내부 보안 규정 준수를 위해 여러 관리자의 업무를 분리할 수 있습니다.

그렇다면 RBAC는 실제로 어떤 요구 사항을 해결하나요?

RBAC는 NoSQL 데이터베이스에 대한 다음 질문에 답하는 데 도움이 됩니다:

  1. 카우치베이스 관리자의 업무를 분리할 수 있나요?
  2. 어떤 관리자가 어떤 리소스에 액세스할 수 있나요?
  3. 내 환경에서 관리자의 인증을 중앙 집중화하려면 어떻게 해야 하나요?

그렇다면 RBAC는 어떻게 요구 사항을 충족할 수 있을까요?

RBAC를 이해하는 가장 쉬운 방법은 예시를 통해 이해하는 것입니다.

아담, 메리, 돈, 커크 등 3~4명의 관리자로 구성된 팀이 Couchbase를 담당한다고 가정해 보겠습니다. 이 기능이 유용하지 않다면 이들 모두에게 전체 관리자 권한을 부여하지 않는 것이 좋습니다. 또한 개발 테스트 환경에서
환경에서는 관리자에게 클러스터에 대한 모든 권한을 허용하여 제한 없이 자유롭게 Couchbase 설정을 탐색하고 프로덕션 준비를 위해 클러스터 설정을 조정할 수 있도록 할 수 있습니다.

프로덕션 배포가 가까워지면 클러스터 잠그기에 대해 생각해야 합니다(즉, 관리자 업무를 분리하고 어떤 관리자가 어떤 리소스에 액세스해야 하는지 파악하는 방법을 생각해야 합니다). 대부분의 경우
엔터프라이즈 배포에서 LDAP를 통한 사용자 인증의 중앙 집중화는 프로덕션 환경에서 매우 일반적입니다.

RBAC를 설정하는 첫 번째 단계는 LDAP에서 관리 사용자를 만드는 것입니다. 엔터프라이즈에 이미 LDAP가 설정되어 있는 경우 먼저 다음을 구성해야 합니다. LDAP를 사용하는 카우치베이스.

이 예제에서 필요한 사용자는 아담, 메리, 돈, 커크 그리고 본인 사용자 계정 등 4명입니다.

사용자

제목

직무 설명

4.5 이전 버전

4.5에서

나 자신

카우치베이스 관리 팀 관리자

클러스터에 대한 완전한 제어

전체 관리자

?

Adam

선임 카우치베이스 관리자

보안 설정을 제어할 권한 없이도 클러스터를 완벽하게 제어할 수 있습니다.

전체 관리자

?

Mary

앱 팀 관리자

앱 팀은 애플리케이션 버킷 설정을 편집해야 할 때 Mary에게 전화합니다.

전체 관리자

?

Don

HA 컨설턴트

클러스터 간 XDCR 설정을 위한 핵심 담당자

전체 관리자

?

Kirk

앱 팀 컨설턴트

애플리케이션의 보기를 정의하고 배포하는 핵심 담당자

전체 관리자

?

역할 멤버십을 통해 관리자에게 권한 할당하기

다음으로 관리자의 직무 역할에 따라 관리자에게 어떤 수준의 권한을 부여할지 결정해야 합니다. 카우치베이스는 역할별로 그룹화된 6가지 권한 세트를 제공합니다. 이렇게 하면 관리자 액세스 권한을 더 쉽게 할당하고 이해할 수 있습니다.
가능한 모든 작업에 대해 개별 권한을 설정하지 않아도 됩니다.

이 여섯 가지 권한 세트는 다음과 같습니다:

전체 관리자: 카우치베이스 리소스에 가능한 모든 작업을 수행할 수 있습니다. 이미 익숙한 전체 관리자입니다. 이는 관리자 사용자가 가질 수 있는 가장 높은 수준의 액세스 권한입니다. 그렇다면 전체 관리자는 UI에서 무엇을 볼 수 있을까요? 거의
보안 설정을 포함한 모든 항목(4.5에 새로 추가된 보안 탭 아래)

Screen Shot 2016-05-11 at 11.50.07 AM.png

클러스터 관리자: 전체 관리자와 비슷하지만 보안 제어에 대한 몇 가지 제한이 있습니다. 관리자 그룹이 클러스터를 실행하도록 하되 감사 기능 등의 보안 권한을 부여할 수 없는 경우에 가장 적합합니다.
켜기/끄기, 관리자 역할 멤버십 변경.

Screen Shot 2016-05-11 at 11.47.42 AM.png

그렇다면 클러스터 관리자는 UI에서 무엇을 볼 수 있을까요? 보안 탭을 제외한 모든 항목이 표시됩니다.

버킷 관리자: 이 기능은 애플리케이션 팀의 버킷 설정 조정 요청에 응답하는 관리자 그룹이 버킷 비밀번호 재설정, 버킷 메모리 할당량 변경 등 버킷 설정을 조정하고자 할 때 가장 적합합니다. 버킷 관리자는 무엇을 볼 수 있나요?
데이터 버킷 탭의 UI에서 관리 중인 버킷만 표시됩니다.

Screen Shot 2016-05-11 at 12.01.07 PM.png

다른 모든 탭(예: 서버 노드)의 경우 버킷 관리자에게는 읽기 전용입니다.

Screen Shot 2016-05-11 at 12.12.09 PM.png

관리자 보기: 애플리케이션 팀과 협력하여 애플리케이션 보기를 설정하고 배포하는 관리자가 있다고 가정해 보겠습니다. 이를 위해 뷰 관리자 역할이 있습니다.

Screen Shot 2016-05-11 at 1.50.03 PM.png

복제 관리자: 이 문서는 XDCR 전략을 담당하는 관리자를 위한 것입니다. 이 관리자는 다음을 설정하는 관리자입니다. XDCR 클러스터 간의 클러스터 참조,
복제를 시작/중지합니다.

마지막으로  읽기 전용 관리자: 보되 만지지는 마세요. 리소스를 보고 검사할 수는 있지만 그 외에는 아무것도 할 수 없습니다. 이 기능은 4.5에서 새롭게 추가된 역할은 아니지만

이러한 역할은 서로 중복되며 다음 다이어그램에는 역할 계층 구조가 요약되어 있습니다.

모든 것을 종합하기

이제 역할을 알았으니 아담, 메리, 돈, 커크가 해당 역할의 멤버가 되도록 하는 것이 중요합니다.

사용자

제목

직무 설명

4.5 이전 버전

4.5에서

나 자신

카우치베이스 관리 팀 관리자

클러스터에 대한 완전한 제어

전체 관리자

전체 관리자

Adam

선임 카우치베이스 관리자

보안 설정을 제어할 권한 없이도 클러스터를 완벽하게 제어할 수 있습니다.

전체 관리자

클러스터 관리자

Mary

앱 팀 관리자

앱 팀은 애플리케이션 버킷 설정을 편집해야 할 때 Mary에게 전화합니다.

전체 관리자

버킷 관리자

Don

HA 컨설턴트

클러스터 간 XDCR 설정을 위한 핵심 담당자

전체 관리자

복제 관리자

Kirk

앱 팀 컨설턴트

애플리케이션의 보기를 정의하고 배포하는 핵심 담당자

전체 관리자

관리자 보기

카우치베이스 4.5에서는 UI를 통해 이 기능을 설정할 수 있습니다, REST 그리고 CLI

Screen Shot 2016-05-11 at 6.16.20 PM.png

요약하면 다음과 같습니다.

RBAC는 NoSQL 데이터베이스에 대한 다음 질문에 답하는 데 도움이 됩니다:

  1. 카우치베이스 관리자의 업무를 분리할 수 있나요? 예, 이제 4.5의 관리자용 RBAC를 사용하면 가능합니다!
  2. 어떤 관리자가 어떤 리소스에 액세스할 수 있나요? 쉽고 간단합니다 - 역할에 따라 다릅니다.
  3. 내 환경에서 관리자의 인증을 중앙 집중화하려면 어떻게 해야 하나요? LDAP는 RBAC와 함께 사용해야 하며 일반적으로 관리자를 위한 인증을 중앙 집중화하는 방법입니다.

역할 기반 액세스 제어에 대한 이 개요가 도움이 되셨기를 바랍니다. 저희는 RBAC에 대해 매우 기대가 크며, 앞으로 Couchbase Server에 더 많은 엔터프라이즈급 기능을 구축할 수 있기를 기대합니다. Couchbase에서 관리자를 위한 RBAC를 잘 사용하세요.
4.5 배포!

여러분의 피드백을 기다리겠습니다.

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 돈 핀토, 수석 제품 관리자, Couchbase

돈 핀토는 Couchbase의 수석 제품 관리자로 현재 Couchbase Server의 기능을 발전시키는 데 주력하고 있습니다. 데이터 기술에 대한 열정이 대단한 그는 과거에 기술 블로그와 백서 등 Couchbase Server에 관한 여러 기사를 저술한 바 있습니다. Couchbase에 입사하기 전에는 IBM에서 수년간 근무하며 DB2 정보 관리 그룹에서 소프트웨어 개발자의 역할을 수행했고, 가장 최근에는 Microsoft의 SQL Server 팀에서 프로그램 관리자로 근무했습니다. Don은 캐나다 토론토 대학교에서 컴퓨터 공학 석사 학위와 컴퓨터 공학 학사 학위를 받았습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.