문서 홈 → 애플리케이션 개발 → MongoDB 매뉴얼
KMIP로 자동 Queryable Encryption 사용
이 페이지의 내용
개요
이 가이드에서는 MongoDB Queryable Encryption 기능을 구현하여 문서 필드를 자동으로 암호화 및 복호화하고 키 관리를 위해 Key Management Interoperability Protocol (KMIP) 호환 키 제공자를 사용하는 애플리케이션을 빌드하는 방법을 보여줍니다.
이 가이드의 단계를 완료하면 다음과 같은 내용이 표시됩니다:
KMIP호환 키 제공자가 managed 고객 마스터 키
고객 마스터 키를 사용하여 암호화된 필드가 있는 문서를 삽입하는 작동하는 클라이언트 애플리케이션
팁
고객 마스터 키
고객 마스터 키에 대해 자세히 알아보려면 키 및 키 볼트 설명서를 참조하세요.
시작하기 전에
이 가이드의 코드를 완료하고 실행하려면 설치 요구 사항 페이지에 표시된 대로 개발 환경을 설정해야 합니다.
팁
참조: 전체 적용
이 샘플 애플리케이션의 전체 코드를 보려면 프로그래밍 언어에 해당하는 탭을 선택하고 제공된 링크를 따라가세요. 각 샘플 애플리케이션 리포지토리에는 환경을 설정하고 애플리케이션을 실행하는 방법을 배우는 데 사용할 수 있는 README.md
파일이 포함되어 있습니다.
KMS 설정
애플리케이션 생성
애플리케이션 변수 할당
이 튜토리얼의 코드 샘플에서는 다음 변수를 사용하여 Queryable Encryption 워크플로를 수행합니다.
중요
키 볼트 컬렉션 네임스페이스 권한
키 볼트 컬렉션은 encryption.__keyVault
네임스페이스에 있습니다. 애플리케이션이 MongoDB에 연결하는 데 사용하는 데이터베이스 사용자에게 이 네임스페이스에 대한 읽기/쓰기 권한이 있는지 확인합니다.
암호화된 컬렉션 만들기
자동 암호화 옵션 설정
참고
자동 암호화 옵션
자동 암호화 옵션은 자동 암호화 공유 라이브러리에 구성 정보를 제공하여 암호화된 필드에 액세스할 때 애플리케이션의 동작을 수정합니다.
자동 암호화 공유 라이브러리에 대해 자세히 알아보려면 Queryable Encryption을 위한 자동 암호화 공유 라이브러리 페이지를 참조하세요.
암호화된 필드에 대한 쿼리
다음 코드 샘플은 암호화된 필드에서 찾기 쿼리를 실행하고 해독된 데이터를 출력합니다.
이전 코드 샘플의 출력은 다음과 유사해야 합니다.
{ "_id": { "$oid": "648b384a722cb9b8392df76a" }, "name": "Jon Doe", "record": { "ssn": "987-65-4320", "billing": { "type": "Visa", "number": "4111111111111111" } }, "__safeContent__": [ { "$binary": { "base64": "L1NsYItk0Sg+oL66DBj6IYHbX7tveANQyrU2cvMzD9Y=", "subType": "00" } } ] }
경고
__safeContent__ 필드 수정 금지
__safeContent__
필드는 Queryable Encryption에 필수적입니다. 이 필드의 내용은 수정하지 마세요.
자세히 알아보기
Queryable Encryption의 작동 방식을 알아보려면 기본 사항을 참조하세요.
이 가이드에 언급된 주제에 대해 자세히 알아보려면 다음 링크를 참조하세요: