Verschlüsselte Datenaufnahme
Erstellt für:
- Entwickler
Sie können verschlüsselte Datendateien mithilfe von Cloud-Speicher-Batch-Quellen in Adobe Experience Platform aufnehmen. Mithilfe der verschlüsselten Datenaufnahme können Sie asymmetrische Verschlüsselungsmechanismen nutzen, um Batch-Daten sicher in Experience Platform zu übertragen. Derzeit werden die asymmetrischen Verschlüsselungsmechanismen PGP und GPG unterstützt.
Die verschlüsselte Datenaufnahme läuft wie folgt ab:
- Erstellen Sie zunächst ein Verschlüsselungsschlüsselpaar mit Experience Platform-APIs. Das Verschlüsselungsschlüsselpaar besteht aus einem privaten Schlüssel und einem öffentlichen Schlüssel. Nach der Erstellung können Sie den öffentlichen Schlüssel zusammen mit der zugehörigen öffentlichen Schlüssel-ID und der Ablaufzeit kopieren oder herunterladen. Während dieses Vorgangs wird der private Schlüssel von Experience Platform in einem sicheren Tresor gespeichert. HINWEIS: Der öffentliche Schlüssel in der Antwort ist Base64-kodiert und muss vor der Verwendung dekodiert werden.
- Verwenden Sie den öffentlichen Schlüssel, um die aufzunehmende Datendatei zu verschlüsseln.
- Legen Sie Ihre verschlüsselte Datei in Ihrem Cloud-Speicher ab.
- Sobald die verschlüsselte Datei fertig ist, erstellen Sie eine Quellverbindung und einen Datenfluss für Ihre Cloud-Speicherquelle. Während des Schritts zur Flusserstellung müssen Sie einen
encryption
-Parameter angeben und Ihre öffentliche Schlüssel-ID einschließen. - Experience Platform ruft den privaten Schlüssel aus dem sicheren Tresor ab, um die Daten zum Zeitpunkt der Aufnahme zu entschlüsseln.
In diesem Dokument wird beschrieben, wie Sie ein Verschlüsselungsschlüsselpaar zum Verschlüsseln Ihrer Daten generieren und diese verschlüsselten Daten mithilfe von Cloud-Speicherquellen in Experience Platform aufnehmen.
Erste Schritte
Dieses Tutorial setzt ein Grundverständnis der folgenden Komponenten von Adobe Experience Platform voraus:
- Quellen: Experience Platform ermöglicht die Aufnahme von Daten aus verschiedenen Quellen und bietet Ihnen die Möglichkeit, die eingehenden Daten mithilfe von Experience Platform-Services zu strukturieren, zu kennzeichnen und anzureichern.
- Cloud-Speicherquellen: Erstellen Sie einen Datenfluss, um Batch-Daten aus Ihrer Cloud-Speicherquelle in Experience Platform zu übertragen.
- Sandboxes: Experience Platform bietet virtuelle Sandboxes, die eine einzelne Experience Platform-Instanz in separate virtuelle Umgebungen unterteilen, damit Sie Programme für digitale Erlebnisse besser entwickeln und weiterentwickeln können.
Verwenden von Experience Platform-APIs
Informationen zum erfolgreichen Aufrufen von Experience Platform-APIs finden Sie im Handbuch unter mit Experience Platform-APIs.
Unterstützte Dateierweiterungen für verschlüsselte Dateien
Die unterstützten Dateierweiterungen für verschlüsselte Dateien sind in der folgenden Liste aufgeführt:
- .csv
- .tsv
- .json
- .parquet
- .csv.gpg
- .tsv.gpg
- .json.gpg
- .parquet.gpg
- .csv.pgp
- .tsv.pgp
- .json.pgp
- .parquet.pgp
- .gpg
- .pgp
Erstellen eines Verschlüsselungsschlüsselpaars
Der erste Schritt bei der Aufnahme verschlüsselter Daten in Experience Platform besteht darin, Ihr Verschlüsselungsschlüsselpaar durch eine POST-Anfrage an den /encryption/keys
-Endpunkt der Connectors-API zu erstellen.
API-Format
POST /data/foundation/connectors/encryption/keys
Anfrage
Die folgende Anfrage generiert mithilfe des PGP-Verschlüsselungsalgorithmus ein Verschlüsselungsschlüsselpaar.
curl -X POST \
'https://platform.adobe.io/data/foundation/connectors/encryption/keys' \
-H 'Authorization: Bearer {{ACCESS_TOKEN}}' \
-H 'x-api-key: {{API_KEY}}' \
-H 'x-gw-ims-org-id: {{ORG_ID}}' \
-H 'x-sandbox-name: {{SANDBOX_NAME}}' \
-H 'Content-Type: application/json'
-d '{
"name": "acme-encryption",
"encryptionAlgorithm": "PGP",
"params": {
"passPhrase": "{{PASSPHRASE}}"
}
}'
name
encryptionAlgorithm
PGP
und GPG
.params.passPhrase
Antwort
Bei erfolgreicher Antwort werden Ihr öffentlicher, mit Base64 verschlüsselter Schlüssel, die ID des öffentlichen Schlüssels und die Ablaufzeit Ihrer Schlüssel zurückgegeben. Die Ablaufzeit wird automatisch auf 180 Tage nach dem Datum der Schlüsselgenerierung eingestellt. Die Ablaufzeit kann derzeit nicht konfiguriert werden.
{
"publicKey": "{PUBLIC_KEY}",
"publicKeyId": "{PUBLIC_KEY_ID}",
"expiryTime": "1684843168"
}
publicKey
publicKeyId
expiryTime
Abrufen von Verschlüsselungsschlüsseln
Um alle Verschlüsselungsschlüssel in Ihrer Organisation abzurufen, stellen Sie eine GET-Anfrage an den /encryption/keys
-Endpunkt=nt.
API-Format
GET /data/foundation/connectors/encryption/keys
Anfrage
Die folgende Anfrage ruft alle Verschlüsselungsschlüssel in Ihrer Organisation ab.
curl -X GET \
'https://platform.adobe.io/data/foundation/connectors/encryption/keys' \
-H 'Authorization: Bearer {{ACCESS_TOKEN}}' \
-H 'x-api-key: {{API_KEY}}' \
-H 'x-gw-ims-org-id: {{ORG_ID}}' \
Antwort
Bei einer erfolgreichen Antwort werden Ihr Verschlüsselungsalgorithmus, Name, öffentlicher Schlüssel, ID des öffentlichen Schlüssels, Schlüsseltyp und die entsprechende Ablaufzeit Ihrer Schlüssel zurückgegeben.
{
"encryptionAlgorithm": "{ENCRYPTION_ALGORITHM}",
"name": "{NAME}",
"publicKeyId": "{PUBLIC_KEY_ID}",
"publicKey": "{PUBLIC_KEY}",
"keyType": "{KEY_TYPE}",
"expiryTime": "{EXPIRY_TIME}"
}
Abrufen von Verschlüsselungsschlüsseln nach ID
Um einen bestimmten Satz von Verschlüsselungsschlüsseln abzurufen, stellen Sie eine GET-Anfrage an den /encryption/keys
-Endpunkt und geben Sie Ihre öffentliche Schlüssel-ID als Kopfzeilenparameter an.
API-Format
GET /data/foundation/connectors/encryption/keys/{PUBLIC_KEY_ID}
Anfrage
curl -X GET \
'https://platform.adobe.io/data/foundation/connectors/encryption/keys/{publicKeyId}' \
-H 'Authorization: Bearer {{ACCESS_TOKEN}}' \
-H 'x-api-key: {{API_KEY}}' \
-H 'x-gw-ims-org-id: {{ORG_ID}}' \
Antwort
Bei einer erfolgreichen Antwort werden Ihr Verschlüsselungsalgorithmus, Name, öffentlicher Schlüssel, ID des öffentlichen Schlüssels, Schlüsseltyp und die entsprechende Ablaufzeit Ihrer Schlüssel zurückgegeben.
{
"encryptionAlgorithm": "{ENCRYPTION_ALGORITHM}",
"name": "{NAME}",
"publicKeyId": "{PUBLIC_KEY_ID}",
"publicKey": "{PUBLIC_KEY}",
"keyType": "{KEY_TYPE}",
"expiryTime": "{EXPIRY_TIME}"
}
Erstellen eines kundenverwalteten Schlüsselpaars
Sie können optional ein Schlüsselpaar für die Signaturverifizierung erstellen, um Ihre verschlüsselten Daten zu signieren und aufzunehmen.
In dieser Phase müssen Sie Ihre eigene Kombination aus privatem Schlüssel und öffentlichem Schlüssel generieren und dann den privaten Schlüssel zum Signieren Ihrer verschlüsselten Daten verwenden. Als Nächstes müssen Sie Ihren öffentlichen Schlüssel in Base64 kodieren und ihn dann für Experience Platform freigeben, damit Experience Platform Ihre Signatur überprüfen kann.
Freigeben eines öffentlichen Schlüssels für Experience Platform
Um Ihren öffentlichen Schlüssel freizugeben, stellen Sie eine POST-Anfrage an den /customer-keys
-Endpunkt bei der Bereitstellung Ihres Verschlüsselungsalgorithmus und Ihres Base64-codierten öffentlichen Schlüssels.
API-Format
POST /data/foundation/connectors/encryption/customer-keys
Anfrage
curl -X POST \
'https://platform.adobe.io/data/foundation/connectors/encryption/customer-keys' \
-H 'Authorization: Bearer {{ACCESS_TOKEN}}' \
-H 'x-api-key: {{API_KEY}}' \
-H 'x-gw-ims-org-id: {{ORG_ID}}' \
-H 'x-sandbox-name: {{SANDBOX_NAME}}' \
-H 'Content-Type: application/json'
-d '{
"name": "acme-sign-verification-keys"
"encryptionAlgorithm": {{ENCRYPTION_ALGORITHM}},
"publicKey": {{BASE_64_ENCODED_PUBLIC_KEY}},
"params": {
"passPhrase": {{PASS_PHRASE}}
}
}'
encryptionAlgorithm
PGP
und GPG
.publicKey
Antwort
{
"publicKeyId": "e31ae895-7896-469a-8e06-eb9207ddf1c2"
}
publicKeyId
Vom Kunden verwaltetes Schlüsselpaar abrufen
Um die vom Kunden verwalteten Schlüssel abzurufen, stellen Sie eine GET-Anfrage an den /customer-keys
-Endpunkt.
API-Format
GET /data/foundation/connectors/encryption/customer-keys
Anfrage
curl -X GET \
'https://platform.adobe.io/data/foundation/connectors/encryption/customer-keys' \
-H 'Authorization: Bearer {{ACCESS_TOKEN}}' \
-H 'x-api-key: {{API_KEY}}' \
-H 'x-gw-ims-org-id: {{ORG_ID}}' \
Antwort
[
{
"encryptionAlgorithm": "{ENCRYPTION_ALGORITHM}",
"name": "{NAME}",
"publicKeyId": "{PUBLIC_KEY_ID}",
"publicKey": "{PUBLIC_KEY}",
"keyType": "{KEY_TYPE}",
}
]
Verbinden Ihrer Cloud-Speicherquelle mit Experience Platform mithilfe der Flow Service-API
Nachdem Sie Ihr Verschlüsselungsschlüsselpaar abgerufen haben, können Sie nun fortfahren, eine Quellverbindung für Ihre Cloud-Speicherquelle zu erstellen und Ihre verschlüsselten Daten an Experience Platform zu übertragen.
Zunächst müssen Sie eine Basisverbindung erstellen, um Ihre Quelle für Experience Platform zu authentifizieren. Um eine Basisverbindung zu erstellen und Ihre Quelle zu authentifizieren, wählen Sie die gewünschte Quelle aus der folgenden Liste aus:
Nachdem Sie eine Basisverbindung erstellt haben, müssen Sie die Schritte im Tutorial zum Erstellen einer Quellverbindung für eine Cloud-Speicherquelle befolgen, um eine Quellverbindung, eine Zielverbindung und eine Zuordnung zu erstellen.
Erstellen eines Datenflusses für verschlüsselte Daten
Um einen Datenfluss zu erstellen, stellen Sie eine POST-Anfrage an den /flows
-Endpunkt der Flow Service-API. Zum Aufnehmen verschlüsselter Daten müssen Sie einen Abschnitt encryption
zur transformations
-Eigenschaft hinzufügen und die in einem früheren Schritt erstellte publicKeyId
einschließen.
API-Format
POST /flows
Anfrage
Die folgende Anfrage erstellt einen Datenfluss zum Aufnehmen verschlüsselter Daten für eine Cloud-Speicherquelle.
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-H 'x-api-key: {{API_KEY}}' \
-H 'x-gw-ims-org-id: {{ORG_ID}}' \
-H 'x-sandbox-name: {{SANDBOX_NAME}}' \
-H 'Content-Type: application/json' \
-d '{
"name": "ACME Customer Data",
"description": "ACME Customer Data (Encrypted)",
"flowSpec": {
"id": "9753525b-82c7-4dce-8a9b-5ccfce2b9876",
"version": "1.0"
},
"sourceConnectionIds": [
"655f7c1b-1977-49b3-a429-51379ecf0e15"
],
"targetConnectionIds": [
"de688225-d619-481c-ae3b-40c250fd7c79"
],
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "6b6e24213dbe4f57bd8207d21034ff03",
"mappingVersion":"0"
}
},
{
"name": "Encryption",
"params": {
"publicKeyId":"311ef6f8-9bcd-48cf-a9e9-d12c45fb7a17"
}
}
],
"scheduleParams": {
"startTime": "1675793392",
"frequency": "once"
}
}'
flowSpec.id
sourceConnectionIds
targetConnectionIds
transformations[x].params.mappingId
transformations.name
Encryption
als zusätzlichen Transformationsparameter für Ihren Datenfluss angeben.transformations[x].params.publicKeyId
scheduleParams.startTime
scheduleParams.frequency
once
, minute
, hour
, day
oder week
.scheduleParams.interval
once
festgelegt ist, und sollte größer oder gleich 15
für andere Frequenzwerte sein.Antwort
Bei einer erfolgreichen Antwort wird die ID (id
) des neu erstellten Datenflusses für Ihre verschlüsselten Daten zurückgegeben.
{
"id": "dbc5c132-bc2a-4625-85c1-32bc2a262558",
"etag": "\"8e000533-0000-0200-0000-5f3c40fd0000\""
}
Anfrage
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-H 'x-api-key: {{API_KEY}}' \
-H 'x-gw-ims-org-id: {{ORG_ID}}' \
-H 'x-sandbox-name: {{SANDBOX_NAME}}' \
-H 'Content-Type: application/json' \
-d '{
"name": "ACME Customer Data (with Sign Verification)",
"description": "ACME Customer Data (with Sign Verification)",
"flowSpec": {
"id": "9753525b-82c7-4dce-8a9b-5ccfce2b9876",
"version": "1.0"
},
"sourceConnectionIds": [
"655f7c1b-1977-49b3-a429-51379ecf0e15"
],
"targetConnectionIds": [
"de688225-d619-481c-ae3b-40c250fd7c79"
],
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "6b6e24213dbe4f57bd8207d21034ff03",
"mappingVersion":"0"
}
},
{
"name": "Encryption",
"params": {
"publicKeyId":"311ef6f8-9bcd-48cf-a9e9-d12c45fb7a17",
"signVerificationKeyId":"e31ae895-7896-469a-8e06-eb9207ddf1c2"
}
}
],
"scheduleParams": {
"startTime": "1675793392",
"frequency": "once"
}
}'
params.signVerificationKeyId
Antwort
Bei einer erfolgreichen Antwort wird die ID (id
) des neu erstellten Datenflusses für Ihre verschlüsselten Daten zurückgegeben.
{
"id": "dbc5c132-bc2a-4625-85c1-32bc2a262558",
"etag": "\"8e000533-0000-0200-0000-5f3c40fd0000\""
}
Verschlüsselungsschlüssel löschen
Um Ihre Verschlüsselungsschlüssel zu löschen, stellen Sie eine DELETE-Anfrage an den /encryption/keys
-Endpunkt und geben Sie Ihre öffentliche Schlüssel-ID als Kopfzeilenparameter an.
API-Format
DELETE /data/foundation/connectors/encryption/keys/{PUBLIC_KEY_ID}
Anfrage
curl -X DELETE \
'https://platform.adobe.io/data/foundation/connectors/encryption/keys/{publicKeyId}' \
-H 'Authorization: Bearer {{ACCESS_TOKEN}}' \
-H 'x-api-key: {{API_KEY}}' \
-H 'x-gw-ims-org-id: {{ORG_ID}}' \
Antwort
Eine erfolgreiche Antwort gibt den HTTP-Status 204 (Kein Inhalt) und leeren Text zurück.
Verschlüsselungsschlüssel validieren
Um Ihre Verschlüsselungsschlüssel zu validieren, stellen Sie eine GET-Anfrage an den /encryption/keys/validate/
-Endpunkt und geben Sie die öffentliche Schlüssel-ID an, die Sie als Header-Parameter überprüfen möchten.
GET /data/foundation/connectors/encryption/keys/validate/{PUBLIC_KEY_ID}
Anfrage
curl -X GET \
'https://platform.adobe.io/data/foundation/connectors/encryption/keys/validate/{publicKeyId}' \
-H 'Authorization: Bearer {{ACCESS_TOKEN}}' \
-H 'x-api-key: {{API_KEY}}' \
-H 'x-gw-ims-org-id: {{ORG_ID}}' \
Antwort
Bei einer erfolgreichen Antwort wird entweder eine Bestätigung zurückgegeben, dass Ihre IDs gültig sind, oder sie wird ungültig.
Eine gültige öffentliche Schlüssel-ID gibt den Status Active
zusammen mit Ihrer öffentlichen Schlüssel-ID zurück.
{
"publicKeyId": "{PUBLIC_KEY_ID}",
"status": "Active"
}
Eine ungültige ID des öffentlichen Schlüssels gibt den Status Expired
zusammen mit Ihrer ID des öffentlichen Schlüssels zurück.
{
"publicKeyId": "{PUBLIC_KEY_ID}",
"status": "Expired"
}
Einschränkungen bei der wiederkehrenden Aufnahme
Die verschlüsselte Datenaufnahme unterstützt nicht die Aufnahme von wiederkehrenden oder mehrstufigen Ordnern in Quellen. Alle verschlüsselten Dateien müssen in einem einzigen Ordner enthalten sein. Platzhalter mit mehreren Ordnern in einem einzigen Quellpfad werden ebenfalls nicht unterstützt.
Im Folgenden finden Sie ein Beispiel für eine unterstützte Ordnerstruktur, bei der der Quellpfad /ACME-customers/*.csv.gpg
ist.
In diesem Szenario werden die fett gedruckten Dateien in Experience Platform aufgenommen.
-
ACME-customers
- File1.csv.gpg
- File2.json.gpg
- File3.csv.gpg
- File4.json
- File5.csv.gpg
Im Folgenden finden Sie ein Beispiel für eine nicht unterstützte Ordnerstruktur, bei der der Quellpfad /ACME-customers/*
ist.
In diesem Szenario schlägt die Flussausführung fehl und gibt eine Fehlermeldung zurück, die angibt, dass Daten nicht aus der Quelle kopiert werden können.
-
ACME-customers
-
File1.csv.gpg
-
File2.json.gpg
-
Unterordner1
- File3.csv.gpg
- File4.json.gpg
- File5.csv.gpg
-
-
ACME-Loyalität
- File6.csv.gpg
Nächste Schritte
In diesem Tutorial haben Sie ein Verschlüsselungsschlüsselpaar für Ihre Cloud-Speicherdaten und einen Datenfluss erstellt, um Ihre verschlüsselten Daten mithilfe der Flow Service API aufzunehmen. Statusaktualisierungen zur Vollständigkeit, zu Fehlern und Metriken Ihres Datenflusses finden Sie im Handbuch unter Überwachen Ihres Datenflusses mithilfe der Flow Service -API.