Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / / / /

컬렉션 생성 시 Queryable Encryption 활성화

이 페이지의 내용

  • 개요
  • 컬렉션에서 Queryable Encryption 활성화

컬렉션 생성 시 Queryable Encryption 을 활성화합니다. 이미 컬렉션 에 있는 문서의 필드는 암호화할 수 없습니다.

중요

삽입 작업을 통해 암시적으로 컬렉션을 생성하는 대신 명시적으로 컬렉션 을 생성합니다. createCollection() 를 사용하여 컬렉션 을 생성하면 MongoDB 는 암호화됨 필드에 인덱스 를 생성합니다. 이 인덱스 가 없으면 암호화됨 필드에 대한 쿼리가 느리게 실행 수 있습니다.

두 가지 방법 중 하나로 필드에서 Queryable Encryption을 활성화할 수 있습니다. 다음 예제에서는 Node.js를 사용하여 Queryable Encryption을 활성화합니다.

  • 애플리케이션이 컬렉션을 만드는 데 사용하는 클라이언트에 encryptedFieldsObject 상수로 표시되는 암호화 스키마를 전달합니다.

    const client = new MongoClient(uri, {
    autoEncryption: {
    keyVaultNameSpace: "<your keyvault namespace>",
    kmsProviders: "<your kms provider>",
    extraOptions: {
    cryptSharedLibPath: "<path to Automatic Encryption Shared Library>"
    },
    encryptedFieldsMap: {
    "<databaseName.collectionName>": { encryptedFieldsObject }
    }
    }
    ...
    await client.db("<database name>").createEncryptedCollection("<collection name>");
    }

    autoEncryption 구성 옵션에 대한 자세한 내용은 Queryable Encryption 을 위한 MongoClient 옵션 섹션을 참조하세요.

  • 암호화 스키마 encryptedFieldsObjectcreateEncryptedCollection() 에 전달합니다.

    await encryptedDB.createEncryptedCollection("<collection name>", {
    encryptedFields: encryptedFieldsObject
    });

    컬렉션을 만들 때와 컬렉션에 액세스하기 위해 클라이언트를 만들 때 encryptedFieldsObject 를 지정합니다. 이렇게 하면 서버의 보안이 손상되더라도 정보는 클라이언트를 통해 계속 암호화됩니다.

돌아가기

스키마 만들기