暗号化キーの管理

学習の目的

この単元を完了すると、次のことができるようになります。

  • 暗号化キーを作成する。
  • Marketing Cloud で暗号化キーを使用する。
  • Marketing Cloud でデータを暗号化/復号化する。

キーの種類

Marketing Cloud セキュリティの基軸となるのがキーです。キーとは、Marketing Cloud でさまざまな機能を安全に使用できるようにするための値です。たとえば、暗号化や復号化、シングルサインオンの管理、Journey Builder のカスタムアクティビティの JSON Web トークン (JWT) の生成でキー値を使用します。

これらのキーはどこで確認できるのでしょうか? Marketing Cloud で、[セットアップ] をクリックし、[データ管理] セクションを展開すると、[キー管理] ページが表示されます。このページで自身のキーを作成して管理します。各自のニーズに応じて、数種類のキーを作成できます。確認しておきましょう。

  • 非対称キーを作成する場合は、証明書をアップロードする必要があります。このキーを使用して、データを暗号化/復号化したり、メールメッセージにデジタル署名することができます。
  • 対称キーは、このキーと一緒に使用するパスフレーズを作成する必要があります。このキー値には 32 個の 16 進文字が必要です。このキーを使用して、データを暗号化/復号化したり、メールメッセージにデジタル署名することができます。
  • 初期化ベクトルキーの場合は、16 ビット値を自分で指定するか、キー管理で生成することができます。このキーを使用して、フィールドレベルの暗号化を実装できます。
  • Salt キーは 8 ビットより大きい 16 進数値を使用します。この暗号化では、ランダムビットをパスワードまたはパスフレーズと併用し、Journey Builder のカスタムアクティビティの JWT を生成します。
  • SSH キーは SFTP 認証を可能にします。このキーにもアップロードされた証明書が必要です。
  • SSO メタデータキーにより、Marketing Cloud にシングルサインオン認証を連携させることができます。このキーは、アカウントの SSO 認証が有効な場合にのみ作成できます。
メモ

メモ

以下のような機密データを Marketing Cloud に絶対に保存しないでください。
  • 社会保障、パスポート、運転免許証、その他の政府が発行した ID 番号
  • クレジットカード、デビットカード、銀行口座、その他の金融口座番号

どのような暗号化スキームを使用するにしろ、Marketing Cloud はこうした情報の保存を意図するものではありません。

データの暗号化

Marketing Cloud のアクティビティで暗号化キーは多様な役割を担います。たとえば、次の AMPscript の例が示すように、送信時にデータを暗号化/復号化することができます。

例: AMPscript を使用したデータの暗号化/復号化 

この 1 つ目のスクリプトは指定した外部キーを使用して ExampleDate 値を暗号化し、2 つ目のスクリプトはそのデータを復号化します。

%%[
     SET @encData=EncryptSymmetric("ExampleData", "AES", "passwordExternalKey", @null, "saltExternalKey", @null, "IVExternalKey", @null)
     SET @clearData=DecryptSymmetric(@encData, "AES", "passwordExternalKey", @null, "saltExternalKey", @null, "IVExternalKey", @null)
]%%

Automation Studio でファイル転送アクティビティのデータを暗号化/復号化することもできます。Marketing Cloud Safehouse の場所から FTP の場所へのファイル転送アクティビティの中でキーを指定します。

メモ

メモ

Marketing Cloud でのデータの管理についての詳細は、「Marketing Cloud データ管理」モジュールを参照してください。

JWT のエンコード

Salt キーを使用して、Journey Builder アクティビティの JSON Web トークン (JWT) 情報をエンコードすることもできます。JWT は、カスタムアクティビティへの API コールを検証します。機密データを取得するアクティビティや、機密性の高いアクションを実行するアクティビティに JWT を使用します。次の例では、サンプルコードが、実行、保存、検証、公開アクティビティに JWT 値と Salt キーを使用しています。

例: Journey Builder の JWT のエンコード

var ixn = {
   "id": "...",
   "key": "...",
   "name": "My journey",
   "version": 1,
   "workflowApiVersion": 1,
   "activities": [
      {
         "key": "REST-1",
         "name": "Custom REST Activity",
         "type": "REST",
         "outcomes": [
            {
               "next": null
            }
         ],
         "arguments": {
            "execute": {
               "inArguments": [
                  {
                     "message": "someMessage"
                  }
               ],
               "outArguments": [],
               "url": "https://example.com/post.php?dir=et_rest_activity_execute",
               "body": "{email-body}",
               "header": "",
               "useJwt": true,
               "customerKey": "your-encryption-customer-key-here",
               "timeout": 10000
            }
         },
         "configurationArguments": {
            "save": {
               "url": "https://example.com/post.php?dir=et_rest_activity_save",
               "body": "",
               "header": "",
               "useJwt": true,
               "customerKey": "your-encryption-customer-key-here"
            },
            "validate": {
               "url": "https://example.com/post.php?dir=et_rest_activity_validate",
               "body": "",
               "header": "",
               "useJwt": true,
               "customerKey": "your-encryption-customer-key-here"
            },
               "publish": {
                  "url": "https://example.com/post.php?dir=et_rest_activity_publish",
                  "body": "",
                  "header": "",
                  "useJwt": true,
                  "customerKey": "your-encryption-customer-key-here"
               }
            },
            "metaData": {
               "isConfigured": true
            }
         }
      ],
      "triggers": [],
      "goals": [],
      "entryMode": "SingleEntryAcrossAllVersions",
      "executionMode": "Production",
      "status": "Draft"
};

Marketing Cloud アカウントへの SSO の実装

最後に、どのシングルサインオン連携にも SSO メタデータキーが必要です。このキーの情報は連携の作成で使用したプロバイダーによって異なりますが、プロセスを完了するためには次の値が必要です。

  • SAML メタデータ
  • URL からのデータの取得 (プロバイダーが指定した URL から自動的に生成される)
  • プロバイダー証明書
  • エンティティ ID
  • 名前 ID 形式
  • シングルログアウトサービスの場所とバインド (プロバイダが決定)

アクティビティの達成に必要なキーのみを作成して、安全に保存します。他のセキュリティ状況と同様に、キーを無造作に置いたままにすることはお勧めしません。次は、Web ページやランディングページの安全性を確保する最善の方法を見ていきます。

リソース

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる