Couchbase Server 버전 7.0에서는 역할 기반 액세스 제어(RBAC) 권한 부여 시스템의 일부로 몇 가지 중요한 변경 사항이 도입되었습니다. Couchbase Server는 RBAC를 통해 플랫폼에 대한 세분화된 액세스 제어를 허용했습니다. 버전 4.5부터 관리자용 그리고 버전 5.0 이후 모든 사용자. 에서 이전 블로그 게시물에서 DBA가 일부 역할을 제어하여 범위 또는 컬렉션 수준에 대한 액세스를 제한하는 방법을 설명했습니다. 이 게시물에서는 몇 가지 역할 변경 사항과 추가된 역할을 보여드리고자 합니다.
다음은 변경 사항을 요약한 내용입니다:
-
- 보안 관리자가 로컬 또는 외부 사용자 보안 관리자로 대체되었습니다.
- 두 개의 새로운 전체 관리자 역할: 이벤트 전체 관리자 및 백업 전체 관리자
- SQL++ 쿼리 사용자 정의 함수를 위한 8가지 새로운 함수 역할
- 두 가지 추가 운영 역할: 범위 및 외부 통계 리더 관리
보안 관리자
RBAC가 기존 보안 관리자 역할을 충분히 좁게 정의하지 않았다는 고객 피드백을 받았습니다. 저희는 보안 관리자가 로컬 사용자, 외부 사용자 또는 둘 다 관리할 수 있도록 관리자가 선택할 수 있도록 보안을 개선하기로 결정했습니다. Couchbase Server 7.0에서는 보안 관리자의 역할을 두 가지 역할로 분리했습니다: 로컬 사용자 보안 관리자와 외부 사용자 보안 관리자.
사용자가 보안 관리자 역할을 가지고 있는 이전 버전에서 클러스터를 업그레이드하면 역할 정의가 변경되어 기존 보안 관리자 역할 대신 새 역할을 모두 상속받게 됩니다.
새로운 로컬 사용자 보안 관리자 역할을 통해 관리자는 정의 및 저장된 사용자를 추가/제거/수정할 수 있습니다. 로컬 로 설정합니다. 이 역할은 관리자가 외부 인증 설정을 변경하는 것을 허용하지 않습니다.
그리고 외부 사용자 보안 관리자 역할을 통해 관리자는 정의 및 관리되는 사용자를 추가/제거/수정할 수 있습니다. 외부 를 LDAP 또는 Active Directory와 같은 시스템에서 클러스터에 추가합니다. 또한 이 역할은 수정 허용 외부 인증 설정을 변경할 수 있습니다.
로컬 사용자 보안 관리자 및 외부 사용자 보안 관리자를 모두 소유한 관리자는 클러스터의 모든 비관리자 사용자를 관리할 수 있습니다.
새로운 전체 관리자 역할
이벤트 및 백업에 대한 클러스터 전체 작업을 용이하게 하기 위해 Couchbase Server 7.0에 두 가지 새로운 역할을 만들었습니다: 이벤트 전체 관리자 및 백업 전체 관리자입니다.
전체 관리자 이벤트 은 강력한 관리자 역할입니다. 전체 관리자와 대부분의 기능이 동일하지만 사용자 추가 또는 제거와 같은 보안 설정의 수정이나 XDCR 수정은 허용되지 않습니다.
전체 관리자 백업 또한 강력한 관리자 역할입니다. 이 역할 역시 전체 관리자와 대부분의 기능이 동일하지만 보안 설정을 수정할 수 없습니다. 이벤트 데이터를 백업하려는 관리자는 이 역할 또는 전체 관리자 역할이 있어야 합니다.
새로운 SQL++ 쿼리 사용자 정의 함수 역할
새로운 SQL++를 관리하거나 실행하기 위한 8개의 새로운 역할이 Couchbase Server 7.0에 추가되었습니다. 사용자 정의 기능 (N1QL UDF) 기능을 지원합니다. 이는 범위 및 전역 수준과 함수에 대한 인라인 및 외부 수준 모두에 적용됩니다:
-
- 글로벌 함수 관리
- 글로벌 함수 실행
- 범위 기능 관리
- 범위 함수 실행
- 글로벌 외부 함수 관리
- 글로벌 외부 함수 실행
- 범위 외부 함수 관리
- 범위 외부 함수 실행
전역 함수는 네임스페이스 내에서 네임스페이스 내의 버킷과 동일한 수준으로 생성되는 반면, 범위 함수는 범위 내에서 범위 내의 컬렉션과 동일한 수준으로 생성됩니다. 사용자 정의 함수를 만들 때 현재 쿼리 컨텍스트에 따라 전역 함수로 만들지, 아니면 범위 함수로 만들지가 결정됩니다. 함수 이름을 지정할 때 함수의 전체 경로를 포함할 수도 있습니다.
인라인 함수는 SQL++ 언어를 사용하여 함수의 기능을 정의하는 반면, 외부 함수는 JavaScript와 같은 외부 언어를 사용합니다.
다음은 몇 가지 예입니다:
|
1 2 |
부여 쿼리_관리_글로벌_기능 TO user1; 부여 쿼리_실행_외부_기능 켜기 기본값:테스트.scope1 TO user1; |
SQL++ 함수를 관리하거나 실행할 수 있는 세분성을 제공하고 특정 범위와 실행 언어만 허용함으로써 관리자는 최소한의 권한만 제공할 수 있습니다. 최소 권한의 원칙 (PoLP).
새로운 운영 역할
마지막으로 두 가지 운영 유형 역할이 추가되었습니다. 범위 관리 역할과 외부 통계 리더 역할입니다.
범위 관리 역할을 통해 클러스터 또는 버킷 관리자는 사용자에게 역할을 할당할 때 주어진 매개변수에 따라 버킷 수준에서 범위 및 컬렉션의 추가/제거를 위임하거나 범위 수준에서 컬렉션의 추가/제거를 위임할 수 있습니다.
외부 통계 리더 역할은 내장된 Prometheus 시스템 통계 저장소에 저장된 데이터를 제공하는 통계 엔드포인트에 액세스할 수 있도록 합니다.
결론
이 글에서는 Couchbase Server 7.0에 추가된 새로운 RBAC 역할과 그 용도에 대해 설명했습니다.
보안이 중요하다면 Couchbase 데이터를 보호하는 데 도움이 되는 RBAC 기능에 대한 몇 가지 추가 블로그 게시물을 읽어보시기 바랍니다.
- RBAC를 사용한 인증 및 권한 부여
- RBAC를 사용한 인증 및 권한 부여(2부)
- 카우치베이스 7.0의 컬렉션을 위한 역할 기반 액세스 제어(RBAC) 보안 소개
- 30일 무료 클라우드 호스팅 평가판으로 다음과 같은 최신 기능을 사용해 보세요. 카우치베이스 카펠라
- 자세히 알아보기 Couchbase 7 릴리스 및 새로운 기능
- 자세히 알아보기 범위 및 컬렉션