確定的暗号化を使用する場合の考慮事項
鍵の循環と絞り込みの可用性
鍵素材を循環したり、項目の暗号化スキームを大文字と小文字を区別する確定的暗号化スキームまたは大文字と小文字を区別しない確定的暗号化スキームに変更する場合は、データを同期します。同期すると、Salesforce の (確定的) 鍵素材にあるアクティブなデータが既存データおよび新規データに適用されます。データを同期しない場合、一意の属性を持つ項目を絞り込み、クエリを実行しても、正しい結果が返されません。
[設定] の [暗号化統計およびデータ同期] ページからほとんどのデータを自分で同期できます。詳細については、「バックグラウンド暗号化サービスによるデータ暗号化の同期」を参照してください。
使用可能な項目およびその他のデータ
確定的暗号化は、カスタム URL、メール、電話、テキスト、テキストエリアのデータ型で使用できます。次の種類のデータでは使用できません。
- カスタム日付、日付/時刻、ロングテキストエリア、リッチテキストエリア、説明のデータ型
- Chatter
- ファイルと添付ファイル
検索条件の演算子
レポートとリストビューでは、演算子「次の文字列と一致する」および「次の文字列と一致しない」は、大文字と小文字を区別する確定的暗号化でサポートされています。「次の文字列を含む」や「次の文字列で始まる」などのその他の演算子は、完全一致を返さず、サポートされません。絞り込み項目検索条件など、サポートされていない演算子に依存する機能もサポートされません。
大文字と小文字を区別しない確定的暗号化では、リストビューとレポートをサポートします。ただしユーザインターフェースには、暗号化データをサポートしない演算子を含め、すべての演算子が表示されます。サポートされている演算子のリストを確認するには、「数式での暗号化されたデータの使用」を参照してください。
数式
大文字と小文字の区別
カスタム項目の割当
絞り込み可能な項目を識別する API オプション
確定的暗号化スキームを使用して暗号化された項目は絞り込み可能です。isFilterable() メソッドを使用すると、暗号化された特定の項目の暗号化スキームを判断できます。項目が絞り込み可能であれば、メソッドは true を返します。
ただし、API を使用して確定的暗号化スキームを明示的に検出または設定することはできません。
外部 ID
大文字と小文字を区別しない確定的暗号化では、テキストとメールの外部 ID カスタム項目をサポートしますが、その他の外部 ID カスタム項目はサポートしません。これらの項目を作成または編集するときは、以下の項目設定の組み合わせのいずれかを使用します。
| 外部 ID データ型 | 一意の属性 | 暗号化 |
|---|---|---|
| Text | なし | 大文字と小文字を区別しない確定的暗号化を使用 |
| Text | 一意かつ大文字と小文字を区別する | 大文字と小文字を区別する確定的暗号化を使用 |
| Text | 一意かつ大文字と小文字を区別しない | 大文字と小文字を区別しない確定的暗号化を使用 |
| なし | 大文字と小文字を区別しない確定的暗号化を使用 | |
| 一意 | 大文字と小文字を区別する確定的暗号化を使用 |
[ユニーク - 大文字と小文字を区別する] および [暗号化] オプションの両方の変更を同時に保存す��ことはできません。1 つの設定を変更し、保存してから、次の設定を変更します。
複合項目
確定的暗号化を使用していても、一部の種類の検索は、データが大文字と小文字を区別する確定的暗号化で暗号化されている場合には機能しません。複合名などの連結された値は、個別の値と同じではありません。たとえば、複合名「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 列インデックス、カスタムインデックスがサポートされています。
- 取引先責任者 — メール
- メールメッセージ — リレーション
- リード — メール
- 名前
多数のレコードを含む項目に確定的暗号化を適用する場合は、有効化プロセスに長い時間がかかる可能性があります。絞り込みをサポートするため、有効化プロセスでは項目インデックスも再作成されます。
Next Best Action Recommendations
確定的暗号化を使用する場合、暗号化項目は、「次の文字列と一致する」または「次の文字列と一致しない」演算子を使用する読み込み条件でのみ使用できます。