見出し画像

【第149回】 Marketing Cloud における ファイル転送時の暗号化/復号化

Salesforce Marketing Cloud では、安全なデータエクスポートに備えて(👈️ これが主たる目的です)Automation Studio のファイル転送時に「公開鍵」(DE → FTP で使用)と「秘密鍵」(FTP → DE で使用)を使った「暗号化」と「復号化」を実現することができます

Salesforce Marketing Cloud で RSA キーペアを使用するには「符号なし 4096 ビット RSA キーペアを .ASC ファイル形式」で作成する必要があります

なお、今回の RSA キーペアの作成は Windows PC で行う例を記載します。ご利用中の PC が Mac の場合は「Homebrew」などのソフトウェアをインストールして実装してください。参考になるリンクを下に貼っておきます。


■ RSA キーペアの作成方法

それでは、以下で Windows PC を使っての RSA キーペアの作成方法を紹介します。これを実現するには、いくつかのソフトウェアがあると思いますが、今回は、Gpg4win / Kleopatra ソフトウェアを使用します。

私が紹介すると言っても、Gpg4win / Kleopatra ソフトウェアの設定の手順は、以下のリンクが大変参考になります。このリンクを参考に、ツールをインストールして、証明書を作成するところまで進めて下さい。

・・・ 数分後 ・・・・

いかがでしたでしょうか?
下記のような画面まで来れましたでしょうか?

途中出てきたパスフレーズ(任意のパスワード)は Marketing Cloud の「キー管理」に登録する際も使用しますので、保管しておいて下さい。

ここまで設定ができたら、証明書(表示されている行)をクリックすると、「エクスポート」のボタンが押せるようになるので、エクスポートを実行してください。ここで、ローカルに保存されるファイルが「公開鍵」(暗号化用)です。ファイル名に「public」が入っていると思います。

続いて、証明書を右クリックして「Backup Secret Keys」をクリックします。ここで保存されるファイルが「秘密鍵」(復号化用)です。ファイル名に「secret」が入っていると思います。

これらの RSA キーペアが用意できたら、Marketing Cloud のセットアップの「キー管理」へ移動して下さい。


■「キー管理」への登録方法

セットアップの「キー管理」で 2 種の鍵の「作成」(登録)を行います。

① 公開鍵の登録(DE → FTP で使用)

キータイプで「非対称」を選択します。キーの箇所に「公開鍵」(拡張子:asc)を登録します。Private Key のチェックは不要です。設定が完了したら
保存して下さい。

② 秘密鍵の登録(FTP → DE で使用)

① と同様、キータイプは「非対称」を選択します。キーの箇所に「秘密鍵」(拡張子:asc)を登録します。今回は Private Key にチェックを入れます。すると、パスフレーズ(パスワード)を登録する窓が現れますので、Gpg4win / Kleopatra で作成したパスフレーズを入力して保存して下さい。


■ ファイルの暗号化の手順

それでは最後に、Automation Studio のファイル転送アクティビティを使って、暗号化と復号化を試してみます。まずは、暗号化です。

以下のようなデータエクステンションを作成します。

同時に、後のインポート用に、これと同じ構成の空のバージョンも上記のデータエクステンションをコピーして作成しておきます。

それでは、Automation Studio でデータ抽出アクティビティとファイル転送アクティビティでデータを SFTP へ移動します。

データ抽出アクティビティは通常のデータエクステンション抽出と同じように、以下のような形になるかと思います。ファイルの命名パターンには、必ず .csv を付けて下さい。

続いて、ファイル転送アクティビティですが、こちらも 1 ページ目は通常通り、「Safehouse からファイルを移動」を選択します

続いて、2 ページ目ではファイルの命名パターンはデータ抽出アクティビティのまま「DataExtension.csv」と命名します。ここでは「.pgp」などの拡張子は追加しないように注意して下さい。転送の設定の箇所では「ファイルの暗号化」にチェックを入れて、今回は、ラジオボタンで「PGP」を選択しますカスタム公開キーのプルダウンでは、先ほど作成した公開鍵の名前が表示されますので、そちらを選択します

以上の設定ができたら、オートメーションを 1 回実行してみます。

すると、SFTP のインポートディレクトリに「DataExtension.csv.pgp」というファイルが置かれました。暗号化の成功です。


■ ファイルの暗号化の手順

それでは、上記の暗号化されたファイルを復号化します。復号化をするには、再びファイル転送アクティビティを構成します。今回は、ファイルの管理側を選択します。

ここで 1 点、注意点を記載します。

上の図はデータの流れになりますが、復号化する際の「ファイルの管理」選択後のファイルの出力先が「SFTP のインポートディレクトリ」になっている場合があります。(画面上でどちらになっているかは確認できません。)

この場合は、テクニカルサポートにケースを上げて、上記の図のように、デフォルトの「ファイルの管理」の出力先を「Safehouse ディレクトリ」に変更した方が良いです。(👈️「重要」と書いてある部分に記載があります。)

なぜなら、結果的に SFTP 上に CSV ファイルが置かれてしまうからですね。よりセキュアな Safehouse でファイルが出力されるように設定しましょう

私が扱っているデモ環境では、上記の変更ができていませんでしたので、このまま「SFTP インポートディレクトリ」に戻して、データエクステンションへのインポートを実行します。

ちなみに、この「ファイルの管理」の出力先の変更は、アカウントレベルで行うものではなく、各ビジネスユニット単位で有効化の依頼ができます

続いて、2 ページ目では、ファイルの命名パターンを記入します。ここでは「.csv」の後ろに「.pgp」を記載して下さい。そして、ファイルの暗号化解除にチェックを入れて、カスタマープライベートキーのプルダウンに先ほど設定した「秘密鍵」が表示されるので設定します

この設定が終わりましたら、一度、この復号化のファイル転送アクティビティを実行します。すると、前述した通り、私の環境では Safehouse ではなく、SFTP インポートディレクトリに出力されてきました。一旦、成功です。

あとは、こちらを一番最初で作成した空のデータエクステンションにインポートして、データが同じものになるか確認してみます。

インポートアクティビティでは、以下のように、ファイルの場所として「SFTP インポートディレクトリ」を選択します。

※ デフォルトの「ファイルの管理」の出力先を「Safehouse」に変更した場合は、下記の通り、ファイルの場所で「Safehouse」を選択します。↓ ↓ ↓

構成後、このインポートアクティビティを一回実行します。データのインポート先は、先ほどコピーで作成した空の「DataExtension_PGP」です。

すると、上記の通り、データが復号化されてインポートされてきました。成功です。全体の 4 つのアクティビティも通して実行できるか、念の為チェックして下さい。


ちなみに Marketing Cloud では、PGP(Pretty Good Privacy)の他に、GPG(GNU Privacy Guard)での暗号化と復号化にも対応できます

これは単純に暗号化するときに、GPG のラジオボタンを選択すれば「gpg」の拡張子でインポートディレクトリ上にファイルが生成されてきますので、復号化する際のファイル命名パターンで「DataExtension.csv.gpg」と記載してあげて下さい。PGP の場合と流れは全く同じで、GPG 専用の鍵が必要とかではなく、PGP の時に登録したキーペアで PGP も GPG も処理できます

PGP と GPG の違いに関しての詳しいことは、私も素人で理解していませんので、下記のリンクをご確認下さい。

今回は以上です。


次の記事はこちら

前回の記事はこちら

私の note のトップページはこちら

この記事が気に入ったらサポートをしてみませんか?