暗号化されたデータの取り込み
クラウドストレージのバッチソースを使用して、暗号化されたデータファイルを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を使用すると、様々なソースからデータを取り込むことができますが、Experience Platform サービスを使用して着信データを構造化、ラベル付け、強化することができます。
- クラウドストレージソース:クラウドストレージソースから Experience Platform にバッチデータを取り込むためのデータフローを作成します。
- サンドボックス : Experience Platformは、1つのExperience Platform インスタンスを個別のバーチャル環境に分割して、デジタルエクスペリエンスアプリケーションの開発と進化に役立つバーチャルサンドボックスを提供します。
Experience Platform APIの使用
Experience Platform APIの呼び出しを正常に行う方法について詳しくは、Experience 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
オプションで、署名検証キーペアを作成して、暗号化されたデータに署名し、取り込むことができます。
この段階では、独自の秘密鍵および公開鍵の組み合わせを生成し、秘密鍵を使用して暗号化されたデータに署名する必要があります。 次に、Experience 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 へのクラウドストレージソースの接続
暗号化キーペアを取得したら、クラウドストレージソースのソース接続を続行して作成し、暗号化されたデータをExperience Platformに取り込むことができます。
まず、Experience 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 を使用して取り込むデータフローを作成しました。 データフローの完全性、エラー、指標に関するステータス更新については、 Flow Service API🔗を使用したデータフローの監視に関するガイドを参照してください。