미사용 KMIP 암호화 구성
KMIP서버를 사용하여 Kubernetes Operator가 관리하는 MongoDB 배포에 대해 미사용데이터 암호화를 구성할 수 있습니다.
고려 사항
미사용 데이터 암호화를 구성하기 전에 다음 사항을 고려하세요.
실행 중인 KMIP 서버가 있어야 합니다.
키파일 기반 미사용 데이터 암호화를 사용하는 배포는 KMIP기반 미사용 데이터 암호화로 전환할 수 없습니다.
이미 배포된 MongoDB 리소스에 대해 미사용 KMIP 암호화를 활성화하려면 MongoDB 지원팀 에 문의하세요.
절차
다음 절차에서는 MongoDB 복제본 세트에 대한 샘플 KMIP 구성을 구성하는 방법을 설명합니다. 배포에 필요한 대로 파일 이름 및 경로, Kubernetes 네임스페이스, 리소스 이름, MongoDB 버전을 조정합니다.
1
CA의 ConfigMap을 만듭니다.
다음 명령을 실행하여 KMIP서버의 인증서에 서명한 CA를 보관할 ConfigMap 을 만듭니다.
kubectl -n mongodb create configmap mongodb-kmip-certificate-authority-pem --from-file=ca.pem
2
클라이언트 인증서 및 개인 키 PEM에 대한 비밀을 생성합니다.
다음 명령을 실행하여 시크릿 을 생성합니다.KMIP 서버에서 마스터 키를 체크아웃하기 위해 연결된 클라이언트 인증서와 비공개 키를 보관합니다.
kubectl -n mongodb create secret generic mongodb-kmip-client-pem --from-file=cert.pem
3
KMIP 서버 를 사용하도록 배포서버 서버를 구성합니다.
사용자 지정 리소스 에서 설정을 구성합니다. 사양으로 additionalMongodConfig
설정해야 KMIP 서버를 사용할 수 있습니다. 예를 들면 다음과 같습니다.
apiVersion: mongodb.com/v1 kind: MongoDB metadata: name: kmip namespace: mongodb spec: type: ReplicaSet members: 3 backup: encryption: kmip: client: clientCertificatePrefix: "mdb" additionalMongodConfig: security: enableEncryption: true kmip: clientCertificateFile: /kmip/cert/cert.pem serverCAFile: /kmip/ca/ca.pem serverName: pykmip-server.pymongo port: 5696 featureCompatibilityVersion: '6.0' version: 6.0.14-ent opsManager: configMapRef: name: my-project credentials: my-credentials podSpec: podTemplate: spec: containers: - name: mongodb-enterprise-database volumeMounts: - name: mongodb-kmip-client-pem mountPath: /kmip/cert - name: mongodb-kmip-certificate-authority-pem mountPath: /kmip/ca volumes: - name: mongodb-kmip-client-pem secret: secretName: mongodb-kmip-client-pem - name: mongodb-kmip-certificate-authority-pem configMap: name: mongodb-kmip-certificate-authority-pem items: - key: ca.pem path: ca.pem
중요
리소스 에서 설정하다spec.backup.encryption.kmip
을 지정하는 경우 값으로 연결된 API 키에 역할 spec.credentials
이 있어야 Global Owner
합니다.