Docs Menu
Docs Home
/
데이터베이스 매뉴얼
/ / /

ClientEncryption.decrypt() (mongosh 메서드)

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를 사용합니다.

1
  1. mongosh 시작

    실행:

    mongosh --nodb

    --nodb 데이터베이스 에 연결하지 않음을 의미합니다.

  2. 키 string생성

    기본 64 96바이트 string 을 생성합니다.

    const TEST_LOCAL_KEY = require("crypto").randomBytes(96).toString("base64")
  3. 암호화 옵션 객체 만들기

    클라이언트 사이드 필드 수준 암호화 옵션 객체 를 만들려면 이전 단계의 TEST_LOCAL_KEY string 을 사용합니다.

    var autoEncryptionOpts = {
    "keyVaultNamespace" : "encryption.__dataKeys",
    "kmsProviders" : {
    "local" : {
    "key" : BinData(0, TEST_LOCAL_KEY)
    }
    }
    }
  4. 암호화된 클라이언트 객체 만들기

    암호화됨 클라이언트 객체 를 만들려면 Mongo() 생성자를 사용합니다. mongodb://myMongo.example.net URI를 대상 클러스터 의 연결 string URI 로 바꿉니다. 예를 예시 다음과 같습니다.

    encryptedClient = Mongo(
    "mongodb://myMongo.example.net:27017/?replSetName=myMongo",
    autoEncryptionOpts
    )
2

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() 를 참조하세요.

돌아가기

ClientEncryption.encryptExpression

이 페이지의 내용