보안

데이터 보안 잠금 해제: Capella의 고객 관리 암호화 키

Capella는 특히 클라우드 서비스를 사용할 때 데이터 보안이 비즈니스에 얼마나 중요한지 잘 알고 있습니다. 그렇기 때문에 데이터 보호를 직접 제어할 수 있는 새로운 기능을 발표하게 되어 기쁩니다: 고객 관리 암호화 키(CMEK).

CMEK란 무엇인가요?

CMEK는 잘 알려진 클라우드 보안 관행으로, 자체 관리 암호화 키를 사용하여 미사용 데이터를 암호화 및 해독할 수 있습니다. 이 사례에서는 암호화 키가 생성되어 고객 소유 환경에 상주하며 타사 공급업체가 공급업체에 상주하는 고객 데이터를 암호화/해독하는 데 사용됩니다. 이 관행의 주요 목표는 고객이 암호화 알고리즘 및 키 교체 정책과 같은 보안 측면을 완전히 관리할 수 있도록 하는 것입니다.

누가 CMEK를 사용해야 하나요?

고객 관리형 암호화 키 시스템은 다음과 같은 비즈니스에 이상적입니다:

    • 엄격한 규정 준수에 따라 매우 민감한 데이터를 처리하세요.
    • 특정 데이터 보안 규정을 준수해야 합니다.

CMEK 인 카펠라 시작하기

고객 관리 암호화 키를 연결하는 기능은 다음을 통해 지원됩니다. 카펠라 관리 API.  현재 이 기능은 Capella의 모든 AWS 및 GCP 클러스터에서 사용할 수 있으며, 고객은 CMEK를 신규 또는 기존 클러스터에 연결할 수 있습니다.

내부적으로 Capella는 키의 내용을 알지 못하며 이 키를 사용하여 저장된 데이터를 단순히 암호화하고 해독합니다.

CMEK가 기존 Capella 클러스터와 연결되면 클러스터가 다시 배포되고 영구 볼륨이 이 키로 암호화됩니다. 이 작업은 또한 노드의 온라인 스왑 리밸런싱을 일으켜 Capella가 데이터를 안정적으로 암호화할 수 있도록 합니다.

이 블로그는 새로운 고객 관리 암호화 키를 생성하고 이를 Capella 클러스터에 연결하는 튜토리얼입니다. 이 과정에서 V4 관리 API를 사용하여 키를 생성, 연결 및 회전합니다.

전제 조건

클라우드 네이티브 키 관리 서비스(KMS)에서 키 만들기

먼저 클라우드 네이티브 KMS에 새 키를 생성합니다. 이렇게 하려면 프로그래밍 방식으로 또는 UI 콘솔을 통해 AWS 또는 GCP에서 KMS에 액세스할 수 있는 올바른 권한이 있는지 확인합니다.

클라우드 KMS 콘솔에서 키를 구성하는 동안 키가 다음과 같은 유형인지 확인합니다. 대칭. 이렇게 하면 암호화 및 암호 해독에 사용할 수 있는 단일 키가 생성됩니다.

두 번째로 중요한 단계는 허용할 키 사용을 정의하는 것입니다. 암호화 및 암호 해독 작업을 수행합니다. 이렇게 하면 이 키가 저장된 데이터를 암호화하고 해독하는 데 특별히 사용될 수 있습니다.

AWS:

Accessing key management services

GCP:

Customer managed keys in GCP

키의 지역성

AWS 또는 GCP에서 키를 구성할 때는 Capella 클러스터와 동일한 지역에 있는지 확인하세요. 두 클라우드 제공업체 모두 키의 지역성을 선택할 수 있으며, 다음 중 하나를 선택할 수 있습니다. 싱글 또는 다중 지역.

AWS에서 키가 다중 지역를 사용하려면 Capella 클러스터와 동일한 리전에 하나 이상의 키 복제본을 보유하는 것이 중요합니다. 그런 다음 이 복제본 키의 ARN(Amazon 리소스 이름)을 Capella 클러스터와 연결해야 합니다.

Configuring regionality of keys in Capella

GCP에서는 글로벌 키 링은 모든 GCP 위치에서 키를 사용할 수 있도록 합니다. 확인 Cloud KMS를 위한 GCP의 지원 위치 를 클릭하고 Capella 클러스터의 위치가 KMS에서 지원되는 위치와 일치하는지 확인합니다.

Create a global key ring GCP

Capella V4 관리 API 설정

이 튜토리얼의 다음 단계에서는 Capella에서 V4 관리 API를 실행할 수 있는 액세스 권한이 필요합니다. 팔로우 이 블로그 를 클릭하면 V4 관리 API를 빠르게 시작할 수 있습니다.

1단계: 카펠라가 키에 액세스할 수 있게 만들기

이제 자체 관리 클라우드 계정에 CMEK가 성공적으로 생성되었으므로, Capella가 이 키를 사용하여 저장된 데이터를 암호화/복호화할 수 있는지 확인해야 합니다.

이 액세스 권한을 제공하려면 먼저 Capella에 배포된 각 조직에 고유한 Capella의 해당 클라우드 계정 ID를 캡처해야 합니다.

이 V4 API를 실행하여 정보를 가져옵니다:

샘플 응답은 다음과 같이 표시됩니다.

해당 클라우드 계정 ID를 복사합니다. 예: CMEK가 AWS에 있는 경우 Capella AWS 계정 ID를 복사합니다. 또한 Capella 클러스터의 클라우드 제공업체와 동일한 클라우드 제공업체에서 CMEK를 만들어야 합니다.

키 액세스 정책 업데이트

AWS에서는 다음과 같이 CMEK의 액세스 정책을 업데이트하여 Capella에 대한 액세스 권한을 추가합니다:

교체 <capella-aws-account-id> 값이 있는 플레이스홀더 AWS-카펠라-계정 를 반환합니다.

GCP의 경우, 간단히 클라우드 KMS 크립토키 인크립터/복호화기 Capella의 서비스 계정에 대한 권한을 설정합니다: rc-cluster-admin@.iam.gserviceaccount.com.

Cloud KMS CryptoKey Encrypter/Decrypter

2단계: 카펠라에게 키에 대해 알리기

1단계에서는 Capella가 키를 사용하여 미사용 데이터를 암호화/복호화할 수 있는지 확인했습니다. 이 단계에서는 이러한 CMEK가 존재하며 클러스터에서 사용할 수 있음을 Capella에 알려야 합니다.

이제 Capella 조직에 CMEK 메타데이터를 추가하겠습니다:

여기서 키 구성 ARN은 고객 소유의 AWS 계정에 표시되는 키의 ARN입니다:

the ARN of the key, as seen in the customer-owned AWS account

GCP의 경우, API 페이로드는 리소스 이름 를 입력합니다.

이 API는 CMEK ID로 응답합니다. 이 ID는 이후 API 호출에 사용되므로 주의하세요.

키를 Capella에 추가하면 이 키에 대한 V4 API를 사용하여 키 목록, 읽기, 삭제 작업을 쉽게 수행할 수 있습니다. 자세한 내용은 이 API 사양을 참조하세요.

Capella는 키와 활발하게 연결된 클러스터가 없는 경우에만 키 삭제를 허용한다는 점에 유의하세요.

3단계: 클러스터에 암호화 키 연결하기

다음으로, 이 CMEK를 사용해 Capella 클러스터 중 하나에서 데이터를 암호화/복호화하려고 합니다. 이렇게 하려면 Capella UI에서 특정 클러스터의 프로젝트 ID와 클러스터 ID를 기록해 두세요.

이 API를 사용하여 CMEK를 해당 클러스터에 연결합니다. 해당 클러스터의 cmekId 는 2단계에서 CMEK 메타데이터가 Capella에 추가되었을 때 받은 ID입니다:

이 API가 호출되면 클러스터가 다시 배포되고 Capella는 모든 데이터를 새로운 영구 볼륨으로 이동합니다. 이러한 볼륨은 제공된 CMEK로 새로 생성됩니다. 이 작업은 가동 중단 시간 없이 클러스터의 모든 노드에서 스왑 리밸런싱을 수행합니다. 이 작업은 데이터와 클러스터 크기에 따라 일반적으로 5~10분 정도 소요됩니다.

Associating the Encryption Key with a Cluster

마지막으로 클러스터가 정상 상태로 돌아오고 클러스터와 연결된 CMEK를 볼 수 있습니다. 이 정보는 클러스터 세부 정보 GET API 호출합니다.

클러스터에서 키 연결을 해제하려면 이 API를 실행하기만 하면 됩니다:

이렇게 하면 클러스터가 다시 배포되고, 키가 제거되며, Capella에서 완전히 관리하는 새 암호화 키를 사용하여 저장된 데이터를 암호화합니다. 이 작업 역시 스왑 재조정을 수행하며 몇 분 정도 소요됩니다.

키를 새 클러스터에 연결하기

키를 실행하여 새 클러스터에 연결할 수 있습니다. 클러스터 API 생성 를 클릭하고 다음과 같이 요청 페이로드에 CMEK ID를 전달합니다:

4단계: 암호화 키 회전하기

데이터 보안 강화의 중요한 측면은 일정에 따라 암호화 키를 순환하는 것입니다. Capella를 사용하면 키 교체에 대한 알림은 제공하지만 키 자체를 교체할 수는 없습니다. 보안 거버넌스 정책에 따라 교체 주기를 결정할 수 있습니다.

이렇게 하려면 클라우드 네이티브 KMS 계정에서 새 CMEK를 만듭니다. 다음 API를 호출하여 Capella 클러스터와 연결된 동일한 CMEK ID에 대한 키 ARN 또는 키 리소스 이름을 업데이트하도록 Capella에 알립니다.

AWS와 GCP에서는 동일한 키 리소스에 대한 로테이션 정책을 제공할 수 있지만, 제한된 액세스 권한으로 인해 Capella는 클라우드 계정에서 키가 자동으로 로테이션되었는지 여부를 감지할 수 없습니다. 따라서 위의 키 로테이션 API는 원래 키의 리소스 이름과 다른 키 리소스 이름만 허용합니다.

이 API가 호출되면 Capella는 해당 CMEK ID를 가진 키를 사용하는 모든 클러스터를 자동으로 감지하고 관련 CMEK를 순환하기 위해 재디플로이먼트를 수행합니다. Capella는 이전 키 리소스를 제거하고 새 키 리소스를 클러스터의 퍼시스턴트 볼륨에 연결합니다. 이 작업은 또한 다운타임 없이 클러스터의 모든 노드에 걸쳐 데이터의 스왑 재밸런싱을 수행합니다.

마지막으로 클러스터가 정상 상태로 돌아왔으며 새 키 리소스가 해당 CMEK ID와 연결된 것을 확인할 수 있습니다.

결론

Capella의 모든 Couchbase 클러스터에 고객 관리 암호화 키를 사용하여 데이터 보안을 제어할 수 있는 방법입니다.

리소스 및 다음 단계

고객 관리 암호화 키 사용에 대한 자세한 설명서와 V4 관리 API 참조 링크를 확인하세요:

질문이나 의견이 있으시면 아래에 댓글을 남겨 주세요. The 카우치베이스 포럼 또는 카우치베이스 디스코드 채널도 질문하기 좋은 곳입니다.

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

작성자

게시자 탈리나 슈로트리야, 수석 엔지니어링 매니저

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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