ClientEncryption.decrypt(encryptedValue)
ClientEncryption.decrypt()
encryptionValue
현재 데이터베이스 연결이 를 암호화하는 데 사용되는 KMS(KMS) 및 키 볼트에 대한 액세스로 구성된encryptionValue
경우 는 를 해독합니다.반환합니다: 암호 해독된 값입니다.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
ClientEncryption.decrypt
의 구문은 다음과 같습니다:
clientEncryption = db.getMongo().getClientEncryption() clientEncryption.decrypt(encryptedValue)
은 encryptedValue
클라이언트 사이드 필드 수준 암호화 사용하여 생성된 하위 6 binary data
유형의 객체 여야 합니다.
행동
올바른 KMS( ) 및 키 볼트에 액세스할 수 있는 데이터베이스 연결 configured
에서 실행된 읽기 작업은KMS 를 사용하여 암호화된 필드 값을 자동으로 해독할 수 있습니다.ClientEncryption.encrypt()
클라이언트는 문서 필드에 저장되지 않은 하위 유형 값을 해독하기 decrypt()
Binary
위해 만 사용하면 됩니다.6
데이터베이스 연결에서 클라이언트 측 필드 레벨 암호화 활성화
mongosh
ClientEncryption
메서드를 사용하려면 사용 중 암호화 활성화된 데이터베이스 연결이 필요합니다. 사용 중 암호화 활성화된 상태에서 현재 데이터베이스 연결이 시작되지 않은 경우 다음 중 하나를 수행합니다.
예시
다음 예에서는 클라이언트 사이드 필드 수준 암호화 구성을 위해 로컬로 managed KMS를 사용합니다.
암호화된 연결 만들기
mongosh 시작
실행:
mongosh --nodb --nodb
데이터베이스 에 연결하지 않음을 의미합니다.키 string생성
기본 64 96바이트 string 을 생성합니다.
const TEST_LOCAL_KEY = require("crypto").randomBytes(96).toString("base64") 암호화 옵션 객체 만들기
클라이언트 사이드 필드 수준 암호화 옵션 객체 를 만들려면 이전 단계의
TEST_LOCAL_KEY
string 을 사용합니다.var autoEncryptionOpts = { "keyVaultNamespace" : "encryption.__dataKeys", "kmsProviders" : { "local" : { "key" : BinData(0, TEST_LOCAL_KEY) } } } 암호화된 클라이언트 객체 만들기
암호화됨 클라이언트 객체 를 만들려면
Mongo()
생성자를 사용합니다.mongodb://myMongo.example.net
URI를 대상 클러스터 의 연결 string URI 로 바꿉니다. 예를 예시 다음과 같습니다.encryptedClient = Mongo( "mongodb://myMongo.example.net:27017/?replSetName=myMongo", autoEncryptionOpts )
데이터 복호화
ClientEncryption
객체를 검색하고 ClientEncryption.decrypt()
메서드를 사용하여 ClientEncryption.encrypt()
로 암호화된 값을 해독합니다.
clientEncryption = encryptedClient.getClientEncryption(); clientEncryption.decrypt(BinData(6,"AmTi2H3xaEk8u9+jlFNaLLkC3Q/+kmwDbbWrq+h9nuv9W+u7A5a0UnpULBNZH+Q21fAztPpU09wpKPrju9dKfpN1Afpj1/ZhFcH6LYZOWSBBOAuUNjPLxMNSYOOuITuuYWo="))
결과 예시
성공하면 decrypt()
이 해독된 값을 반환합니다.
"123-45-6789"
자세히 알아보기
클라이언트 사이드 필드 레벨 암호화가 활성화된 상태에서 MongoDB 연결을 시작하는 방법에 대한 전체 설명서는 Mongo()
를 참조하세요.