Queryable Encryption equality and range queries are fully supported in production. Prefix, suffix, and substring queries are only available in public preview in MongoDB 8.2. Do not enable these query types in production. GA functionality of prefix, suffix and substring query types will be incompatible with the preview feature. To learn more, see Supported Query Types.
개요
컬렉션 생성 시 Queryable Encryption 을 활성화합니다. 이미 컬렉션 에 있는 문서의 필드는 암호화할 수 없습니다.
중요
삽입 작업을 통해 암시적으로 컬렉션을 생성하는 대신 명시적으로 컬렉션 을 생성합니다. createCollection() 를 사용하여 컬렉션 을 생성하면 MongoDB 는 암호화됨 필드에 인덱스 를 생성합니다. 이 인덱스 가 없으면 암호화됨 필드에 대한 쿼리가 느리게 실행 수 있습니다.
컬렉션에서 Queryable Encryption 활성화
두 가지 방법 중 하나로 필드에서 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 옵션 섹션을 참조하세요.암호화 스키마
encryptedFieldsObject을createEncryptedCollection()에 전달합니다.await encryptedDB.createEncryptedCollection("<collection name>", { encryptedFields: encryptedFieldsObject }); 팁
컬렉션 만들 때
encryptedFieldsObject를 지정하고 컬렉션 액세스 위해 클라이언트 만들 때도 지정합니다. 을(를) 정의하지 않을 경우의 보안encryptedFieldsObject고려 사항에 대한 자세한 내용은 보안 고려 사항을 참조하세요.