確定的暗号化を使用する場合の考慮事項
鍵の循環と絞り込みの可用性
一意の属性を持つ項目を絞り込み、クエリを実行するには、新規および既存の暗号化データが、有効な [Salesforce のデータ (確定的)] 鍵素材を使用して暗号化されている必要があります。バックグランド暗号化サービスを要求するタイミングと方法のヒントについては、「バックグラウンド暗号化サービスによるデータ暗号化の同期」を参照してください。
使用可能な項目およびその他のデータ
確定的暗号化は、カスタム URL、メール、電話、テキスト、テキストエリアのデータ型で使用できます。次の種類のデータでは使用できません。
- カスタム日付、日付/時刻、ロングテキストエリア、説明のデータ型
- Chatter
- ファイルと添付ファイル
検索条件の演算子
レポートとリストビューでは、演算子「次の文字列と一致する」および「次の文字列と一致しない」は確定的暗号化でサポートされています。「次の文字列を含む」や「次の文字列で始まる」などのその他の演算子は、完全一致を返さず、サポートされません。
大文字と小文字の区別
絞り込み可能な項目を識別する API オプション
確定的暗号化スキームを使用して暗号化された項目は絞り込み可能です。isFilterable() メソッドを使用すると、暗号化された特定の項目の暗号化スキームを判断できます。項目が絞り込み可能であれば、メソッドは true を返します。
ただし、API を使用して確定的暗号化スキームを明示的に検出または設定することはできません。
外部 ID
外部 ID は、メール項目の種別には使用できません。
複合名
確定的暗号化を使用していても、一部の種類の検索は、データが暗号化されている場合には機能しません。複合名などの連結された値は、個別の値と同じではありません。たとえば、複合名「William Jones」の暗号文は、「William」と「Jones」の暗号文を連結したものと同じではありません。
1Select Id from Contact Where Name = 'William Jones'1Select Id from Contact Where FirstName = 'William’ And LastName ='Jones'文字列のよるレコードの絞り込み
文字列を使用してレコードを検索できます。ただし、文字列内のカンマは OR ステートメントとして動作します。文字列にカンマが含まれる場合は、文字列を引用符で囲みます。たとえば、「“Universal Containers, Inc, Berlin”」を検索すると、カンマも含めた文字列全体を含むレコードが返されます。「Universal Containers, Inc, Berlin」を検索すると、「Universal Containers」または「Inc」または「Berlin」を含むレコードが返されます。
SOQL の GROUP BY ステートメント
確定的暗号化では、ほとんどの SOQL ステートメントを使用できます。GROUP BY は例外で、サポートされていません。ただし、レポート結果を行または列でグループ化することはできます。
SOQL の LIKE および STARTS WITH ステートメント
確定的暗号化では、大文字小文字を含めた完全一致のみがサポートされます。部分一致を返す比較演算子はサポートされていません。たとえば、LIKE ステートメントと STARTS WITH ステートメントはサポートされません。
SOQL の ORDER BY ステートメント
確定的暗号化では、データベース内の暗号化されたデータの並び替え順が維持されないため、ORDER BY はサポートされていません。
インデックス
確定的暗号化では、標準項目およびカスタム項目の単一列インデックス、単一列の一意のインデックス (大文字と小文字を区別)、2 列インデックス、カスタムインデックスがサポートされています。