暗号化キーの管理
学習の目的
この単元を完了すると、次のことができるようになります。
- 暗号化キーを作成する。
- Marketing Cloud Engagement で暗号化キーを使用する。
- Marketing Cloud Engagement でデータを暗号化/復号化する。
キーの種類
Marketing Cloud Engagement セキュリティの基軸となるのがキーです。キーとは、Marketing Cloud Engagement でさまざまな機能を安全に使用できるようにするための値です。たとえば、暗号化や復号化、シングルサインオンの管理、Journey Builder のカスタムアクティビティの JSON Web トークン (JWT) の生成でキー値を使用します。
これらのキーはどこで確認できるのでしょうか? Marketing Cloud Engagement で、[Setup (設定)] をクリックし、[Data Management (データ管理)] セクションを展開すると、[Key Management (キー管理)] ページが表示されます。このページで自分のキーを作成して管理します。各自のニーズに応じて、数種類のキーを作成できます。確認しておきましょう。
- 非対称キーを作成する場合は、証明書をアップロードする必要があります。このキーを使用して、データを暗号化/復号化したり、メールメッセージにデジタル署名することができます。
- 対称キーは、このキーと一緒に使用するパスフレーズを作成する必要があります。このキー値には 32 個の 16 進文字が必要です。このキーを使用して、データを暗号化/復号化したり、メールメッセージにデジタル署名することができます。
- 初期化ベクトルキーの場合は、16 ビット値を自分で指定するか、キー管理で生成することができます。このキーを使用して、フィールドレベルの暗号化を実装できます。
- Salt キーは 8 ビットより大きい 16 進数値を使用します。この暗号化では、ランダムビットをパスワードまたはパスフレーズと併用し、Journey Builder のカスタムアクティビティの JWT を生成します。
- SSH キーは SFTP 認証を可能にします。このキーにもアップロードされた証明書が必要です。
- SSO メタデータキーにより、Marketing Cloud Engagement にシングルサインオン認証を連携させることができます。このキーは、アカウントの SSO 認証が有効な場合にのみ作成できます。
データの暗号化
Marketing Cloud Engagement のアクティビティで暗号化キーは多様な役割を担います。たとえば、次の AMPscript の例が示すように、送信時にデータを暗号化/復号化することができます。
例: AMPscript を使用したデータの暗号化/復号化
この 1 つ目のスクリプトは指定した外部キーを使用して ExampleData 値を暗号化し、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 Engagement Safehouse の場所から FTP の場所へのファイル転送アクティビティの中でキーを指定します。
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 Engagement アカウントに SSO を実装する
最後に、どのシングルサインオン連携にも SSO メタデータキーが必要です。このキーの情報は連携の作成で使用したプロバイダーによって異なりますが、プロセスを完了するためには次の値が必要です。
- SAML メタデータ
- URL からのデータの取得 (プロバイダーが指定した URL から自動的に生成される)
- プロバイダー証明書
- エンティティ ID
- 名前 ID 形式
- シングルログアウトサービスの場所とバインド (プロバイダーが決定)
アクティビティの達成に必要なキーのみを作成して、安全に保存します。他のセキュリティ状況と同様に、キーを無造作に置いたままにすることはお勧めしません。次は、Web ページやランディングページの安全性を確保する最善の方法を見ていきます。
リソース
- Salesforce ヘルプ: キー管理
- Salesforce ヘルプ: ファイル転送アクティビティでの作成済みキーの使用
- Salesforce ヘルプ: JWT を使用したカスタムアクティビティのエンコード
- Salesforce ヘルプ: SAML 2.0 を使用するシングルサインオン認証
