컬렉션 생성 시 Queryable Encryption 활성화
이 페이지의 내용
개요
컬렉션 생성 시 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
를 지정합니다. 이렇게 하면 서버의 보안이 손상되더라도 정보는 클라이언트를 통해 계속 암호화됩니다.