Bring Your Own Key のトラブルシューティング
Shield Platform Encryption の Bring Your Own Key サービスで問題が発生した場合のトラブルシューティングに役立ててください。
必要なエディション
| Salesforce Classic (使用できない組織もあります) および Lightning Experience の両方で使用できます。 |
| 使用可能なエディション: Salesforce Shield または Shield Platform Encryption ライセンスが付属する Enterprise Edition、Performance Edition、および Unlimited Edition。 |
| Developer Edition で無料で使用できます。 |
- 提供されたスクリプトのいずれかを使用しようとしているが、実行されない。
- オペレーティングシステムに適したスクリプトを実行していることを確認します。Windows マシンで作業している場合は、Linux エミュレーターをインストールして Linux スクリプトを使用できます。次の問題によってスクリプトを実行できない場合もあります。
- スクリプトを実行しようとしているフォルダーでの更新権限がない。更新権限を持っているフォルダーからスクリプトを実行するようにします。
- スクリプトが参照する証明書が存在しない。適切に証明書を生成したことを確認します。
- 証明書が存在しないか、正しい名前で参照されていない。スクリプト内で証明書の正しいファイル名を入力したことを確認します。
- 提供されているスクリプトのいずれかを使用し、独自の乱数ジェネレーターも使用する必要があります。
- Salesforce が提供するスクリプトでは、乱数ジェネレーターを使用して、テナントの秘密として使用するランダムな値を作成します。別のジェネレーターを使用する場合は、
head -c 32 /dev/random | tr '\n' =(Mac バージョンではhead -c 32 /dev/random > $PLAINTEXT_SECRET) を、希望するジェネレーターを使用して乱数を生成するコマンドに置き換えます。
メモ /dev/urandom よりも /dev/random の方がランダムなバイト生成プロセスに近いため、お勧めします。 - テナントの秘密をハッシュするために独自のハッシュプロセスを使用したい場合はどうなりますか?
- 問題ありません。結果が次の要件を満たすようにしてください。
- SHA-256 アルゴリズムを使用している。
- base64 でエンコードされたハッシュ済みのテナントの秘密が作成される。
- 暗号化する前に乱数のハッシュを生成する。
- テナントの秘密を Salesforce にアップロードする前に、どのように暗号化する必要がありますか?
- 提供されたスクリプトを使用している場合は、暗号化プロセスは問題なく処理されます。スクリプトを使用しない場合は、テナントの秘密を暗号化するときに正しいパディングスキームを指定します。サンプルスクリプトでパディング要件を確認してください。結果の暗号化されたテナントの秘密ファイルとハッシュされたテナントの秘密ファイルが base64 を使用してエンコードされていることを確認します。 次のいずれかの条件が満たされていない場合、テナントの秘密をアップロードできません。
- 提供されているスクリプトのいずれかを使用しない場合は、最も近いスクリプトをモデルとして使用します。
- ラップされた DEK が受け入れられません。何をすべきですか?
- SHA512 パディングアルゴリズムを使用して生成した BYOK 互換証明書の公開キーを使用して、ルートキーで生成された DEK(検索インデックス暗号化用など)をラップしてください。SHA1 アルゴリズムを使用して他の BYOK テナントの秘密をラップすることもできます。
- 証明書の期限が近づいています。何をすべきですか?
- BYOK など、秘密のアップロードのみに使用する証明書は、鍵素材をアップロードするときにのみ有効です。ただし、キャッシュのみの鍵の場合、証明書は積極的に使用され、Salesforce が基盤となるデータ暗号化鍵 (DEK) 素材をラップするコンテンツ暗号化鍵 (CEK) をアンラップするために有効なままである必要があります。証明書の有効期限が切れると、キャッシュのみの鍵を使用できなくなります。
重要 Salesforce は、CA 証明書の有効期限を業界全体で短縮することに準拠しています。「Certificates in Salesforce (Salesforce の証明書)」の情報を読み、それに従って計画してください。 - セッショントークンまたはインポートトークンの有効期限が切れている。何をすべきですか?
- すでに作成した証明書をダウンロードできます。新しいセッショントークンファイルが作成されます。[設定] の [Bring Your Own Key] ページで、[証明書とトークンをダウンロード] ボタンをクリックします。ダウンロードした .zip ファイルからセッショントークンファイルを抽出します。次に、ラップされたテナントの秘密と共にセッショントークンをアップロードします。
- 暗号化されたテナントの秘密とハッシュされたテナントの秘密をアップロードできません。
- いくつかのエラーによりファイルをアップロードできない場合があります。次の表を使用して、テナントの秘密と証明書に問題がないことを確認してください。
考えられる原因 解決方法 期限切れの証明書を使用してファイルが生成された。 証明書の日付を確認します。期限が切れている場合は、証明書を更新するか、別の証明書を使用できます。 証明書が有効になっていないか、有効な Bring Your Own Key 証明書ではない。 証明書の設定に Bring Your Own Key 機能との互換性があることを確認します。[証明書] ページの [証明書と鍵の編集] セクションで、4096 ビット証明書サイズを選択し、エクスポート可能な非公開鍵を無効にし、プラットフォームの暗号化を有効にします。期限切れの証明書についての詳細は、「証明書の有効期限が近づいています」セクションを参照してください。 暗号化されたテナントの秘密とハッシュされたテナントの秘密の両方を添付していない。 暗号化されたテナントの秘密とハッシュされたテナントの秘密の両方を添付してください。これらの両方のファイルのサフィックスが .b64 になっている必要があります。 テナントの秘密またはハッシュされたテナントの秘密が正しく生成されていない。 このエラーの原因となる問題はいくつかあります。通常は、テナントの秘密またはハッシュされたテナントの秘密が、正しい SSL パラメーターを使用して生成されていないことが原因です。OpenSSL を使用している場合は、スクリプトを参照して、テナントの秘密の生成とハッシュに使用する正しいパラメーターの例を確認できます。OpenSSL 以外のライブラリを使用している場合は、そのライブラリのサポートページでテナントの秘密の生成とハッシュの両方の正しいパラメーターを見つけるためのヘルプ情報を確認してください。
まだ問題が解決しない場合は、Salesforce のアカウントエグゼクティブにお問い合わせください。Salesforce の支援担当者をご紹介します。
- 証明書のアップロードができません。
- 正常にアップロードするには、証明書が有効な JKS 形式である必要があります。「キーストアを使用した証明書のエクスポートおよびインポート」の要件と一般的な問題を確認します。
- BYOK for Database Encryption で問題が発生しました。
- データベース暗号化では、鍵素材の管理方法が異なります。
- [設定] の [鍵の管理] ページでのみ、顧客が指定したテナントの秘密をアップロードできます。API サポートは使用できません。
- API を使用して BYOK 互換の証明書を生成することはできません。
- 鍵素材をアップロードしようとしたときにこれらのエラーが発生した場合、次の修正が考えられます。
エラー 問題修正のヒント ラップされたテナントの秘密と、テナントの秘密をラップするために使用した証明書に付属するセッショントークンの 2 つのファイルをアップロードします。 必ず、必要なファイル (暗号化されたテナントの秘密ファイルとセッショントークンファイル) の両方を選択してください。次に、[Upload] をクリックします。 このセッショントークンは無効です。このページで別のコピーをダウンロードして、もう一度お試しください。それでもアップロードできない場合は、Salesforce カスタマーサポートにお問い合わせください。 [設定] の [Bring Your Own Database Encryption Key] ページで、[Download Certificate & Token] ボタンをクリックします。ダウンロードした .zip ファイルからセッショントークンファイルを抽出します。次に、ラップされたテナントの秘密と共にセッショントークンをアップロードします。 テナントの秘密は、AES 256 ビットのエフェメラル鍵でラップされた AES 256 ビット鍵である必要があります。このページからダウンロードした証明書の公開鍵ですべてラップされます。テナントの秘密がこの要件を満たしているのにアップロードできない場合は、Salesforce カスタマーサポートにお問い合わせください。 テナントの秘密と一時鍵のサイズが正しいことを確認します。[Bring Your Own Database Encryption Key (独自のデータベース暗号化鍵)] ページの [Manage Certificates (証明書の管理)] セクションにリストされている現在の証明書の公開鍵を使用して暗号化されていることを再確認します。 適切なセッション ID ではテナントの秘密を認証できません。後でもう一度試すか、Salesforce カスタマーサポートにお問い合わせください。 Salesforce がセッション ID を認証できない場合があるため、アップロードしたセッショントークンとセッションを照合できません。通常、この問題は時間の経過と共に解決される内部プロセスが原因で発生します。ラップされたテナントの秘密とセッショントークンを後でアップロードしてみてください。 API を使用して、データベース暗号化のために顧客が入力したテナントの秘密をアップロードすることはできません。 BYOK for Database Encryption は、[設定] でのみ使用できます。[Bring Your Own Database Encryption Key (独自のデータベース暗号化鍵)] ページで、顧客が指定したテナントの秘密をアップロードします。 別の証明書がすでにこの表示ラベルを使用しています。一意の表示ラベルを入力します。 各証明書には一意の表示ラベルが必要です。[設定] の [証明書と鍵の管理] ページで既存の証明書を確認できます。 何かあったのね後でもう一度試すか、Salesforce カスタマーサポートにお問い合わせください。 後でもう一度アクションを実行するか、アカウントエグゼクティブに連絡してパイロットトライアル組織でのトラブルシューティングを依頼してください。 - BYOK for Data 360 のアップロードで問題が発生する
- 鍵素材をアップロードしようとしたときにこれらのエラーが発生した場合、次の修正が考えられます。
エラー 問題修正のヒント Data Cloud ルート鍵のアップロードの準備ができていません Data 360 BYOK をアップロードしようとすると、この状況が発生する可能性があります。Salesforce で新しい Data Cloud ルート鍵の準備中に問題が発生しました。再試行できるように、その状況は [待機中] とマークされます。[設定] の [鍵の管理] ページに移動します。[Root Key Inventory (ルート鍵インベントリ)] の [Data Cloud] タブで、[再試行] をクリックします。 正当なコンテンツだが、証明書鍵の有効期限が切れている。 使用された証明書が無効であるか、期限切れです。証明書とトークンを再度ダウンロードしてください。 有効なトークンですが、ラップされた鍵が無効です。 アップロードされた鍵が無効です。ヘルパースクリプトのガイドラインに従ってインポートキーを作成してラップし、再試行してください。 - トランザクションデータベースデータのすべてのデータを新しいテナントの秘密と同期できない。
- データベース暗号化ではデータがフラグメントレベルで暗号化されるため、ユーザーが必要に応じて新しいテナントの秘密を使用してデータが暗号化されます。以前に暗号化されたデータは、常に以前の DEK で復号化できます。これが、データベース暗号化で鍵の破棄がサポートされない理由の 1 つです。
- まだ鍵に関する問題があります。どこに問い合わせすればよいですか?
- まだ質問がある場合は、アカウントエグゼクティブにお問い合わせください。この機能を専門とするサポートチームをご紹介します。
関連項目:
この記事で問題は解決されましたか?
ご意見をお待ちしております。
