CSFLE 固有の MongoClient オプション
Overview
MongoClient
インスタンスのクライアント側フィールドレベル暗号化(CSFLE)固有の構成オプションに関する情報を表示します。
AutoEncryptionOpts
CSFLE 固有のオプションを指定するには、 autoEncryptionOpts
オブジェクトをMongoClient
インスタンスに渡します。
次の表は、 autoEncryptionOpts
オブジェクトの構造を説明するものです。
Parameter | タイプ | 必須 | 説明 |
---|---|---|---|
keyVaultClient | MongoClient | No | キーヴォールト コレクションをホストしている MongoDB インスタンスに接続するように構成された
キー Vault コレクションの詳細については、「キー Vault コレクション 」を参照してください。 |
keyVaultNamespace | 文字列 | はい | キーヴォールト コレクションの完全な名前空間。 |
kmsProviders | オブジェクト | はい | CMK(Customer Master Key)を管理するためにクライアント側のフィールドレベル暗号化で使用される KMS(Key Management System)。
CMK の詳細については、「キー と キーヴォールト 」を参照してください。 |
tlsOptions | オブジェクト | No | キー管理システム プロバイダー名を TLS 構成オプションにマッピングするオブジェクト。 TLS オプションの詳細については、 TLS オプション を参照してください。 TLS の詳細については、 TLS/SSL(トランスポート暗号化) を参照してください。 |
schemaMap | オブジェクト | No | 暗号化スキーマ。 暗号化スキーマの構築方法については、「暗号化スキーマ 」を参照してください。 暗号化スキーマに関する詳細なドキュメントについては、「 CSFLE の暗号化スキーマ 」を参照してください。 |
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, { useNewUrlParser: true, useUnifiedTopology: true, 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)