Docs Menu
Docs Home
/
MongoDBマニュアル
/ / / / /

CSFLE 用の MongoClient オプション

項目一覧

  • Overview
  • AutoEncryptionOpts

MongoClientインスタンスのクライアント側フィールドレベル暗号化(CSFLE)固有の構成オプションに関する情報を表示します。

CSFLE 固有のオプションを指定するには、 autoEncryptionOptsオブジェクトをMongoClientインスタンスに渡します。

次の表は、 autoEncryptionOptsオブジェクトの構造を説明するものです。

Parameter
タイプ
必須
説明
keyVaultClient
MongoClient
No

キーヴォールト コレクションをホストしている MongoDB インスタンスに接続するように構成されたMongoClientインスタンス。

keyVaultClientオプションを省略すると、 autoEncryptionOpts構成を含むMongoClientインスタンスに指定された MongoDB インスタンスが、キーヴォールト コレクションのホストとして使用されます。

キーヴォールト コレクションの詳細については、 暗号化キーとキーヴォールト を参照してください。

keyVaultNamespace
文字列
はい
キーヴォールト コレクションの完全な名前空間
kmsProviders
オブジェクト
はい

CMK(Customer Master Key)を管理するためにクライアント側のフィールドレベル暗号化で使用される KMS(Key Management System)。

kmsProvidersオブジェクトの詳細については、 KMS プロバイダー を参照してください。

CMK の詳細については、「暗号化キー と キーヴォールト 」を参照してください。

tlsOptions
オブジェクト
No

キー管理システム プロバイダー名を TLS 構成オプションにマッピングするオブジェクト。

TLS オプションの詳細については、 TLS オプション を参照してください

TLS の詳細については、 TLS/SSL(トランスポート暗号化) を参照してください。

schemaMap
オブジェクト
No

暗号化スキーマ。

暗号化スキーマの構築方法については、「暗号化スキーマ 」を参照してください。

暗号化スキーマに関する詳細なドキュメントについては、「 CSFLE の暗号化スキーマ 」を参照してください。

bypassAutoEncryption
ブール値
No

自動クライアント側フィールドレベル暗号化ルールをバイパスし、明示的な暗号化を実行するには、 trueを指定します。 bypassAutoEncryptionは自動復号化を無効にしません。

このオプションの詳細については、「自動復号化 」を参照してください。

autoEncryptionOptsを使用してMongoClientインスタンスを構成する方法を示すコードスニペットを表示するには、ドライバーに対応するタブを選択します。

var autoEncryptionOpts =
{
"keyVaultNamespace" : "<database>.<collection>",
"kmsProviders" : { ... },
"schemaMap" : { ... }
}
cluster = Mongo(
"<Your Connection String>",
autoEncryptionOpts
);

Tip

環境変数

可能であれば、 で提供される認証情報を環境変数として定義し、kmsProviders オプションを使用してmongosh --evalに渡すことを検討してください。これにより、認証情報がログに漏洩する可能性を最小限に抑えられます。

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)

戻る

サポートされている操作