CSFLE에 대한 MongoClient 옵션
개요
MongoClient
인스턴스에 대한 CSFLE(클라이언트 측 필드 레벨 암호화) 관련 구성 옵션에 대한 정보를 확인합니다.
자동 암호화 옵션
autoEncryptionOpts
객체를 MongoClient
인스턴스에 전달하여 CSFLE 관련 옵션을 지정합니다.
다음 표에서는 autoEncryptionOpts
객체의 구조를 설명합니다.
Parameter | 유형 | 필수 사항 | 설명 |
---|---|---|---|
keyVaultClient | MongoClient | No | 키 볼트 컬렉션을 호스팅하는 MongoDB 인스턴스에 연결하도록 구성된
키 볼트 컬렉션에 학습 보려면 암호화 키 및 키 볼트를 참조하세요. |
keyVaultNamespace | 문자열 | 예 | 키 볼트 컬렉션 의 전체 네임스페이스 입니다. |
kmsProviders | 객체 | 예 | 고객 마스터 키(CMK)를 관리하기 위해 클라이언트 측 필드 레벨 암호화에서 사용하는 키 관리 시스템(KMS)입니다.
고객 마스터 키에 학습 보려면 암호화 키 및 키 볼트를 참조하세요. |
tlsOptions | 객체 | No | 키 관리 시스템 제공자 이름을 TLS 구성 옵션에 매핑하는 객체입니다. TLS 옵션에 대해 자세히 알아보려면 TLS 옵션을 참조하세요 . TLS에 대해 자세히 알아보려면 TLS/SSL(전송 암호화)을 참조하세요. |
schemaMap | 객체 | No | |
bypassAutoEncryption | 부울 | No | 자동 클라이언트 측 필드 레벨 암호화 규칙을 우회하고 명시적 암호화를 수행하려면 이 옵션에 대해 자세히 알아보려면 자동 암호 해독을 참조하세요. |
예시
autoEncryptionOpts
을 사용하여 MongoClient
인스턴스를 구성하는 방법을 보여주는 코드 스니펫을 보려면 드라이버에 해당하는 탭을 선택합니다.
var autoEncryptionOpts = { "keyVaultNamespace" : "<database>.<collection>", "kmsProviders" : { ... }, "schemaMap" : { ... } } cluster = Mongo( "<Your Connection String>", autoEncryptionOpts );
var clientSettings = MongoClientSettings.FromConnectionString(_connectionString); var autoEncryptionOptions = new AutoEncryptionOptions( keyVaultNamespace: keyVaultNamespace, kmsProviders: kmsProviders, schemaMap: schemaMap, extraOptions: extraOptions); clientSettings.AutoEncryptionOptions = autoEncryptionOptions; var client = new MongoClient(clientSettings);
autoEncryptionOpts := options.AutoEncryption(). SetKmsProviders(provider.Credentials()). SetKeyVaultNamespace(keyVaultNamespace). SetSchemaMap(schemaMap). SetExtraOptions(extraOptions) client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri).SetAutoEncryptionOptions(autoEncryptionOpts))
MongoClientSettings clientSettings = MongoClientSettings.builder() .applyConnectionString(new ConnectionString("mongodb://localhost:27017")) .autoEncryptionSettings(AutoEncryptionSettings.builder() .keyVaultNamespace(keyVaultNamespace) .kmsProviders(kmsProviders) .schemaMap(schemaMap) .extraOptions(extraOptions) .build()) .build(); MongoClient mongoClient = MongoClients.create(clientSettings);
const secureClient = new MongoClient(connectionString, { monitorCommands: true, autoEncryption: { keyVaultNamespace, kmsProviders, schemaMap: patientSchema, extraOptions: extraOptions, }, });
fle_opts = AutoEncryptionOpts( kms_providers, key_vault_namespace, schema_map=patient_schema, **extra_options ) client = MongoClient(connection_string, auto_encryption_opts=fle_opts)