コレクション作成時における Queryable Encryption の有効化
Overview
コレクション作成時にQueryable Encryptionを有効にしました。 すでにコレクション内にあるドキュメントのフィールドを暗号化することはできません。
重要
コレクションを 挿入操作で暗黙的に作成するのではなく、明示的にコレクションを作成します。 createCollection()
を使用してコレクションを作成すると、 MongoDBは暗号化されたフィールドにインデックスを作成します。 このインデックスがないと、暗号化されたフィールドに対するクエリの実行が遅くなる可能性があります。
コレクションでの Queryable Encryption の有効化
2 つの方法のいずれかの方法で、フィールドで 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 }); Tip
コレクションを作成するときと、コレクションにアクセスするためのクライアントを作成するときにも
encryptedFieldsObject
を指定します。 これにより、サーバーのセキュリティが侵害された場合でも、クライアントを介して情報は暗号化されます。