暗号化キーの問題を解決する
データベースダンプを別の環境にインポートすると、暗号化キーはソース環境に残ります。 この記事では、支払いと保存されたデータの問題を解決するために暗号化キーを転送する方法について説明します。
説明 description
環境
Adobe Commerce on cloud infrastructure 2.4.x
問題/症状
実稼動環境からステージング/統合環境に データベースダンプ を読み込むと、次の1つ以上が発生します。
- 保存したクレジットカード番号が正しくありません
- 加盟店の資格情報を必要とする決済統合で支払いが失敗する
- 保存されている支払い方法データが破損しています
原因
機密データ(クレジットカード番号やマーチャントの資格情報など)の暗号化に使用される暗号化キーは、データベースに保存されません。 したがって、データベースダンプをインポートまたはエクスポートする際に、他の環境に転送されることはありません。
解決策 resolution
暗号化キーをソース環境からコピーし、宛先環境に追加する必要があります。
暗号化キーをコピーするには:
- 開発者ドキュメントのSSH to environmentで説明されているように、データベースダンプのソースだったプロジェクトにSSHで接続します。
app/etc/env.phpをテキストエディターで開きます。cryptのkeyの値をコピーします。
return array(
'crypt' => array(
'key' => '',
),
);
宛先プロジェクトのキー値を設定するには:
- Cloud Consoleを開き、プロジェクトを見つけます。
- 開発者ドキュメントの プロジェクトの設定で説明されているように、CRYPT_KEY変数の値を開発者ドキュメントで設定します。 これにより、デプロイメントプロセスがトリガーされ、各デプロイメントの
app/etc/env.phpファイルでCRYPT_KEYが上書きされます。
オプションで、app/etc/env.php ファイルの暗号化キーを手動で上書きできます。
- 宛先環境へのSSH。
app/etc/env.phpをテキストエディターで開きます。- コピーしたデータを
cryptのkey値として貼り付けます。 - 編集した
env.phpを保存します。 bin/magentocache:cleanを実行するか、Systemの下のCommerce管理者で実行して、宛先環境のキャッシュをクリーンアップします>ツール>キャッシュ管理。
recommendation-more-help
experience-cloud-kcs-help-kbarticles