暗号化キーの問題を解決する

データベースダンプを別の環境にインポートすると、暗号化キーはソース環境に残ります。 この記事では、支払いと保存されたデータの問題を解決するために暗号化キーを転送する方法について説明します。

説明 description

環境

Adobe Commerce on cloud infrastructure 2.4.x

問題/症状

実稼動環境からステージング/統合環境に​ データベースダンプ ​を読み込むと、次の1つ以上が発生します。

  • 保存したクレジットカード番号が正しくありません
  • 加盟店の資格情報を必要とする決済統合で支払いが失敗する
  • 保存されている支払い方法データが破損しています

原因

機密データ(クレジットカード番号やマーチャントの資格情報など)の暗号化に使用される暗号化キーは、データベースに保存されません。 したがって、データベースダンプをインポートまたはエクスポートする際に、他の環境に転送されることはありません。

解決策 resolution

暗号化キーをソース環境からコピーし、宛先環境に追加する必要があります。

暗号化キーをコピーするには:

  1. 開発者ドキュメントのSSH to environmentで説明されているように、データベースダンプのソースだったプロジェクトにSSHで接続します。
  2. app/etc/env.phpをテキストエディターで開きます。
  3. cryptkeyの値をコピーします。
return array(
    'crypt' => array(
        'key' => '',
    ),
);

宛先プロジェクトのキー値を設定するには:

  1. Cloud Consoleを開き、プロジェクトを見つけます。
  2. 開発者ドキュメントの​ プロジェクトの設定で説明されているように、CRYPT_KEY変数の値を開発者ドキュメントで設定します。 これにより、デプロイメントプロセスがトリガーされ、各デプロイメントのapp/etc/env.php ファイルでCRYPT_KEYが上書きされます。

オプションで、app/etc/env.php ファイルの暗号化キーを手動で上書きできます。

  1. 宛先環境へのSSH。
  2. app/etc/env.phpをテキストエディターで開きます。
  3. コピーしたデータをcryptkey値として貼り付けます。
  4. 編集したenv.phpを保存します。
  5. bin/magento cache:cleanを実行するか、Systemの下のCommerce管理者で実行して、宛先環境のキャッシュをクリーンアップします > ツール > キャッシュ管理
recommendation-more-help
experience-cloud-kcs-help-kbarticles