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

コレクション作成時における Queryable Encryption の有効化

項目一覧

  • Overview
  • コレクションでの Queryable Encryption の有効化

コレクション作成時にQueryable Encryptionを有効にしました。すでにコレクション内にあるドキュメントのフィールドを暗号化することはできません。

重要

コレクションを 挿入操作で暗黙的に作成するのではなく、明示的にコレクションを作成します。 createCollection()を使用してコレクションを作成すると、 MongoDBは暗号化されたフィールドにインデックスを作成します。このインデックスがないと、暗号化されたフィールドに対するクエリの実行が遅くなる可能性があります。

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 オプション のセクションを参照してください。

  • 暗号化スキーマencryptedFieldsObjectcreateEncryptedCollection()に渡します。

    await encryptedDB.createEncryptedCollection("<collection name>", {
    encryptedFields: encryptedFieldsObject
    });

    Tip

    コレクションを作成するときと、コレクションにアクセスするためのクライアントを作成するときにもencryptedFieldsObjectを指定します。 これにより、サーバーのセキュリティが侵害された場合でも、クライアントを介して情報は暗号化されます。

戻る

スキーマを作成する