暗号化されたデータの取り込み
クラウドストレージバッチソースを使用して、暗号化されたデータファイルをAdobe Experience Platformに取り込むことができます。 暗号化されたデータの取り込みでは、非対称暗号化メカニズムを利用して、バッチデータを Experience Platform に安全に転送できます。 現在のところ、サポートされている非対称暗号化メカニズムは PGP と GPG です。
暗号化されたデータの取り込みプロセスは次のとおりです。
- Experience Platform API を使用して暗号化キーペアを作成します。 暗号化キーペアは、秘密鍵と公開鍵で構成されます。 暗号化キーペアを作成したら、公開鍵を、それに対応する公開鍵 ID および有効期限と共にコピーまたはダウンロードできます。 このプロセス中に、秘密鍵は Experience Platform によってセキュアなコンテナに保存されます。メモ: 応答内の公開鍵は Base64 でエンコードされており、使用する前にデコードする必要があります。
- 公開鍵を使用して、取り込むデータファイルを暗号化します。
- 暗号化されたファイルをクラウドストレージに格納します。
- 暗号化されたファイルの準備が整ったら、クラウドストレージソースのソース接続とデータフローを作成します。フロー作成手順で、
encryption
パラメーターを指定し、公開鍵 ID を含める必要があります。 - Experience Platform は、セキュアなコンテナから秘密鍵を取得して、取り込み時にデータを復号します。
このドキュメントでは、データを暗号化するための暗号化キーペアを生成し、暗号化されたデータをクラウドストレージソースを使用して Experience Platform に取り込む手順について説明します。
基本を学ぶ get-started
このチュートリアルは、Adobe Experience Platform の次のコンポーネントを実際に利用および理解しているユーザーを対象としています。
- ソース:Experience Platform を使用すると、データを様々なソースから取得しながら、Platform サービスを使用して受信データの構造化、ラベル付け、拡張を行うことができます。
- クラウドストレージソース:クラウドストレージソースから Experience Platform にバッチデータを取り込むためのデータフローを作成します。
- サンドボックス:Experience Platform には、単一の Platform インスタンスを別々の仮想環境に分割し、デジタルエクスペリエンスアプリケーションの開発と発展に役立つ仮想サンドボックスが用意されています。
Platform API の使用
Platform API を正常に呼び出す方法について詳しくは、Platform API の概要のガイドを参照してください。
暗号化されたファイルでサポートされるファイル拡張子 supported-file-extensions-for-encrypted-files
暗号化ファイルでサポートされるファイル拡張子のリストを以下に示します。
- .csv
- .tsv
- .json
- .parquet
- .csv.gpg
- .tsv.gpg
- .json.gpg
- .parquet.gpg
- .csv.pgp
- .tsv.pgp
- .json.pgp
- .parquet.pgp
- .gpg
- .pgp
暗号化キーペアの作成 create-encryption-key-pair
暗号化されたデータを Experience Platform に取り込む最初の手順は、Connectors API の /encryption/keys
エンドポイントに対して POST リクエストを実行して暗号化キーペアを作成することです。
API 形式
POST /data/foundation/connectors/encryption/keys
リクエスト
次のリクエストは、PGP 暗号化アルゴリズムを使用して暗号化キーペアを生成します。
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 | |
---|---|
パラメーター | 説明 |
name |
暗号化キーペアの名前。 |
encryptionAlgorithm |
使用する暗号化アルゴリズムのタイプ。 サポートされているタイプは PGP と GPG です。 |
params.passPhrase |
パスフレーズは、暗号化キーにさらに保護レイヤーを追加します。 作成時に、Experience Platform は、公開鍵とは別のセキュアなコンテナにパスフレーズを保存します。 空白以外の文字列をパスフレーズとして指定する必要があります。 |
応答
正常な応答では、Base64 でエンコードされた公開鍵、公開鍵 ID および鍵の有効期限が返されます。 有効期限は、キーの生成日から 180 日後に自動的に設定されます。 現在、有効期限は設定変更できません。
code language-json |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 | |
---|---|
プロパティ | 説明 |
publicKey |
公開鍵は、クラウドストレージ内のデータの暗号化に使用されます。このキーは、この手順で作成された秘密鍵に対応します。ただし、秘密鍵は直ちに Experience Platform に送信されます。 |
publicKeyId |
公開鍵 ID は、データフローを作成し、暗号化されたクラウドストレージデータを Experience Platform に取り込むために使用されます。 |
expiryTime |
有効期限は、暗号化キーペアの有効期限を定義します。この日付は、キーの生成日から 180 日後に自動的に設定され、UNIX タイムスタンプ形式で表示されます。 |
暗号化キーの取得 retrieve-encryption-keys
組織内のすべての暗号化キーを取得するには、/encryption/keys
endpoint=nt にGETリクエストを行います。
API 形式
GET /data/foundation/connectors/encryption/keys
リクエスト
次のリクエストでは、組織内のすべての暗号化キーを取得します。
code language-shell |
---|
|
応答
正常な応答では、暗号化アルゴリズム、名前、公開鍵、公開鍵 ID、鍵のタイプおよび鍵の対応する有効期限が返されます。
code language-json |
---|
|
ID による暗号化キーの取得 retrieve-encryption-keys-by-id
特定の暗号化キーセットを取得するには、/encryption/keys
エンドポイントに対してGETリクエストを実行し、公開鍵 ID をヘッダーパラメーターとして指定します。
API 形式
GET /data/foundation/connectors/encryption/keys/{PUBLIC_KEY_ID}
リクエスト
code language-shell |
---|
|
応答
正常な応答では、暗号化アルゴリズム、名前、公開鍵、公開鍵 ID、鍵のタイプおよび鍵の対応する有効期限が返されます。
code language-json |
---|
|
顧客管理キーペアの作成 create-customer-managed-key-pair
オプションで、署名検証キーペアを作成して、暗号化されたデータに署名し、取り込むことができます。
この段階では、独自の秘密鍵および公開鍵の組み合わせを生成し、秘密鍵を使用して暗号化されたデータに署名する必要があります。次に、Platform で署名を検証するために、Base64 で公開鍵をエンコードして、Experience Platform で共有する必要があります。
公開鍵を Experience Platform に共有
公開鍵を共有するには、/customer-keys
エンドポイントに POST リクエストを行い、暗号化アルゴリズムと Base64 でエンコードされた公開鍵を提供します。
API 形式
POST /data/foundation/connectors/encryption/customer-keys
リクエスト
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 | |
---|---|
パラメーター | 説明 |
encryptionAlgorithm |
使用する暗号化アルゴリズムのタイプ。 サポートされているタイプは PGP と GPG です。 |
publicKey |
暗号化された署名に使用する、顧客が管理する鍵に対応する公開鍵。この鍵は、Base64 でエンコードする必要があります。 |
応答
code language-json |
---|
|
table 0-row-2 1-row-2 | |
---|---|
プロパティ | 説明 |
publicKeyId |
この公開鍵 ID は、顧客が管理する鍵を Experience Platform と共有する際に返されます。署名済みおよび暗号化されたデータのデータフローを作成する際に、この公開鍵 ID を署名検証鍵 ID として提供できます。 |
顧客管理キーペアの取得
顧客管理キーを取得するには、/customer-keys
エンドポイントに対してGETリクエストを行います。
API 形式
GET /data/foundation/connectors/encryption/customer-keys
リクエスト
code language-shell |
---|
|
応答
code language-json |
---|
|
Flow Service API を使用した Experience Platform へのクラウドストレージソースの接続
暗号化キーペアを取得したら、手順を進めて、クラウドストレージソースのソース接続を作成し、暗号化されたデータを Platform に取り込むことができます。
まず、Platform に対してソースを認証するためのベース接続を作成する必要があります。 ベース接続を作成しソースを認証するには、使用するソースを以下のリストから選択します。
ベース接続を作成したら、クラウドストレージソースのソース接続の作成に関するチュートリアルで概要を説明している手順に従って、ソース接続、ターゲット接続、およびマッピングを作成する必要があります。
暗号化されたデータのデータフローの作成 create-a-dataflow-for-encrypted-data
データフローを作成するには、Flow Service API の /flows
エンドポイントに対して POST リクエストを実行します。暗号化されたデータを取り込むには、transformations
プロパティに encryption
セクションを追加し、その中に、前の手順で作成した publicKeyId
を含める必要があります。
API 形式
POST /flows
リクエスト
accordion | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
リクエスト例を表示 | ||||||||||||||||||||||||
次のリクエストでは、クラウドストレージソースの暗号化されたデータを取り込むデータフローを作成しています。
|
応答
accordion | ||
---|---|---|
応答の例を表示 | ||
正常な応答では、暗号化されたデータの新規作成されたデータフローの ID(
|
リクエスト
accordion | ||||||||
---|---|---|---|---|---|---|---|---|
リクエスト例を表示 | ||||||||
|
応答
accordion | ||
---|---|---|
応答の例を表示 | ||
正常な応答では、暗号化されたデータの新規作成されたデータフローの ID(
|
暗号化キーの削除 delete-encryption-keys
暗号化キーを削除するには、/encryption/keys
エンドポイントに対してDELETEリクエストを実行し、公開鍵 ID をヘッダーパラメーターとして指定します。
API 形式
DELETE /data/foundation/connectors/encryption/keys/{PUBLIC_KEY_ID}
リクエスト
code language-shell |
---|
|
応答
リクエストが成功した場合は、HTTP ステータス 204(コンテンツなし)が空白の本文とともに返されます。
暗号化キーを検証 validate-encryption-keys
暗号化キーを検証するには、/encryption/keys/validate/
エンドポイントに対してGETリクエストを実行し、検証する公開鍵 ID をヘッダーパラメーターとして指定します。
GET /data/foundation/connectors/encryption/keys/validate/{PUBLIC_KEY_ID}
リクエスト
code language-shell |
---|
|
応答
応答が成功すると、ID が有効か無効かを示す確認が返されます。
有効な公開鍵 ID は、公開鍵 ID と共に Active
のステータスを返します。
code language-json |
---|
|
無効な公開鍵 ID は、公開鍵 ID と共に Expired
のステータスを返します。
code language-json |
---|
|
繰り返し取り込みの制限 restrictions-on-recurring-ingestion
暗号化されたデータの取り込みは、ソースでの繰り返しフォルダーまたはマルチレベルフォルダーの取り込みをサポートしていません。 すべての暗号化ファイルは、1 つのフォルダーに格納する必要があります。 1 つのソースパスに複数のフォルダーがあるワイルドカードもサポートされていません。
次に、ソースパスが /ACME-customers/*.csv.gpg
である、サポートされているフォルダー構造の例を示します。
このシナリオでは、太字のファイルがExperience Platformに取り込まれます。
-
ACME-customers
- File1.csv.gpg
- File2.json.gpg
- File3.csv.gpg
- File4.json
- File5.csv.gpg
次に、ソースパスが /ACME-customers/*
である、サポートされていないフォルダー構造の例を示します。
このシナリオでは、フロー実行が失敗し、ソースからデータをコピーできないことを示すエラーメッセージを返します。
-
ACME-customers
-
File1.csv.gpg
-
File2.json.gpg
-
Subfolder1
- File3.csv.gpg
- File4.json.gpg
- File5.csv.gpg
-
-
ACME-loyalty
- File6.csv.gpg
次の手順
このチュートリアルでは、クラウドストレージデータの暗号化キーペアと、暗号化されたデータを Flow Service API を使用して取り込むデータフローを作成しました。データフローの完全性、エラーおよび指標に関するステータスの更新については、API を使用したデータフローの監視に関するガイドを参照し Flow Service ください。