Summary
- Add Field Level Encryption capability into Rust driver, specifically:
CSFLE 1.0 - Azure and GCP and AWS as KMS providers
- KMIP as generic KMS for those with custom key management requirements
- CSFLE 2.0
Motivation
We are expanding our field level encryption capabilities substantially in MongoDB 6.0, and the Rust driver needs to be caught up with our new, comprehensive suite of offerings.
Cast of Characters
Engineering Lead:
Document Author:
POCers:
Product Owner: Rachelle Palmer
Program Manager:
Stakeholders:
Documentation
[Scope Document|some.url]
[Technical Design Document|some.url]
- is depended on by
-
RUST-1227 Add ClientEncryption entity and Key Management API operations to Unified Test Format
- Closed
- is duplicated by
-
RUST-1368 Require 4.2.0 server for tests with "csfle: true" runOnRequirement
- Closed
-
RUST-936 CSFLE 1.0 KMIP Support
- Development Complete
-
RUST-1161 FLE 1.0 Shared Library
- Development Complete
-
RUST-1257 FLE 2.0 Support
- Development Complete
-
RUST-119 Support Client-side Field Level Encryption
- Closed
-
RUST-1136 Key Management API
- Closed
-
RUST-1264 Add CSFLE spec test for auto encryption on a collection with no jsonSchema
- Closed
-
RUST-1265 CSFLE badQueries and types errorContains failing to match on mongocryptd 6.0.0-alpha
- Closed
-
RUST-1378 Require contentionFactor for "Indexed" explicit encryption
- Closed
-
RUST-1430 Update expected error in fle2-InsertFind-Unindexed test
- Closed
-
RUST-1471 Run legacy Client Side Encryption tests on serverless
- Closed
-
RUST-1255 CSFLE "Custom Endpoint Test" Case 5 fails match
- Closed
-
RUST-1288 Add FLE 2 behavior for CreateCollection() and Collection.Drop()
- Closed
-
RUST-1304 Add FLE 2 test for compactStructuredEncryptionData
- Closed
-
RUST-1331 Replace public references to "FLE2" with "Queryable Encryption".
- Closed
-
RUST-1350 Test auto decryption occurs after CommandSucceeded events
- Closed
-
RUST-1377 Remove ClientEncryption.createKey() in favor of createDataKey()
- Closed
-
RUST-1427 Update key material for Azure and KMIP datakeys in RewrapManyDataKey
- Closed
-
RUST-1429 Add prose test for RewrapManyDataKey
- Closed
-
RUST-1470 FLE - maxWireVersion should run on Mongo Server 4.0.x
- Closed
-
RUST-559 Support Azure and GCP keystores in FLE
- Closed
-
RUST-651 Support AWS authentication with temporary credentials in CSFLE
- Closed
-
RUST-704 Test that KMS TLS connections verify peer certificates
- Closed
-
RUST-1242 Remove use of admin database in CSFLE driver doc examples
- Closed
-
RUST-1326 Ban comparisons to encrypted fields in collection validator and partialFilterExpression
- Closed
-
RUST-1379 Remove unnecessary on-demand credentials in CSE unified spec tests
- Closed
-
RUST-1324 Update FLE 2 collection management
- Closed
-
RUST-1365 Reduce expected removeKeyAltName operations to a single findOneAndUpdate
- Closed
-
RUST-1367 Ensure "does not fail" in CSE Prose Test 13 accounts for (no) matching documents
- Closed
-
RUST-1376 Allow RewrapManyDataKeyResult.bulkWriteResult to be optional
- Closed
-
RUST-1397 Update CSE unified tests expectResult: null
- Closed
-
RUST-1307 Ensure FLE2 Create-from-EncryptedFieldsMap test sends encryptedFields in options
- Closed
-
RUST-1296 Add FLE 2 API to AutoEncryptionOpts
- Closed
-
RUST-1301 Add FLE 2 API to ClientEncryptionOpts
- Closed
-
RUST-1361 EncryptOpts queryType should accept a string consistent with queryType in encryptedFields
- Closed
- is related to
-
RUST-1338 Update expected FLE 2 find payloads in tests
- Closed