Versleutelde gegevensinvoer
Gemaakt voor:
- Ontwikkelaar
U kunt gecodeerde gegevensbestanden via batchbronnen voor cloudopslag opnemen in Adobe Experience Platform. Met gecodeerde gegevensinvoer kunt u gebruikmaken van asymmetrische coderingsmechanismen om batchgegevens veilig naar het Experience Platform over te brengen. Momenteel, zijn de gesteunde asymmetrische encryptiemechanismen PGP en GPG.
De gecodeerde gegevensinvoer verloopt als volgt:
- creeer een encryptiesleutel gebruikend Experience Platform APIs. Het sleutelpaar bestaat uit een persoonlijke sleutel en een openbare sleutel. Als u een id hebt gemaakt, kunt u de openbare sleutel samen met de bijbehorende id voor de openbare sleutel en de Vervaltijd kopiëren of downloaden. Tijdens dit proces wordt de persoonlijke sleutel door het Experience Platform in een veilige kluis opgeslagen. NOTA: de openbare sleutel in de reactie is Base64-Gecodeerd en moet voorafgaand aan het gebruiken worden gedecodeerd.
- Gebruik de openbare sleutel om het gegevensbestand te coderen dat u wilt opnemen.
- Plaats het gecodeerde bestand in de cloudopslag.
- Zodra het gecodeerde dossier klaar is, creeer een bronverbinding en een dataflow voor uw bron van de wolkenopslag. Tijdens de stap voor het maken van flow moet u een parameter
encryption
opgeven en uw openbare-sleutelid opnemen. - Het Experience Platform wint de privé sleutel van de veilige kluis terug om de gegevens op het tijdstip van inname te decrypteren.
Dit document bevat stappen voor het genereren van een sleutelpaar voor versleuteling van gegevens en het invoeren van gecodeerde gegevens naar het Experience Platform met behulp van bronnen voor cloudopslag.
Aan de slag
Voor deze zelfstudie hebt u een goed inzicht nodig in de volgende onderdelen van Adobe Experience Platform:
- Bronnen: Experience Platform staat gegevens toe om van diverse bronnen worden opgenomen terwijl het voorzien van u van de capaciteit om, inkomende gegevens te structureren te etiketteren en te verbeteren gebruikend de diensten van het Platform.
- de opslagbronnen van de Wolk: Creeer een gegevensstroom om partijgegevens van uw bron van de wolkenopslag aan Experience Platform te brengen.
- Sandboxes: Experience Platform verstrekt virtuele zandbakken die één enkele instantie van het Platform in afzonderlijke virtuele milieu's verdelen helpen digitale ervaringstoepassingen ontwikkelen en ontwikkelen.
Platform-API's gebruiken
Voor informatie over hoe te om vraag aan Platform APIs met succes te maken, zie de gids op begonnen wordt met Platform APIs.
Ondersteunde bestandsextensies voor gecodeerde bestanden
De lijst met ondersteunde bestandsextensies voor gecodeerde bestanden is:
- .csv
- .tsv
- .json
- .parquet
- .csv.gpg
- .tsv.gpg
- .json.gpg
- .parquet.gpg
- .csv.pgp
- .tsv.pgp
- .json.pgp
- .parquet.pgp
- .gpg
- .pgp
Versleutelingssleutelpaar maken
De eerste stap bij het invoeren van gecodeerde gegevens in het Experience Platform is het maken van een sleutelpaar voor codering door een verzoek voor een POST in te dienen bij het /encryption/keys
-eindpunt van de Connectors API.
API formaat
POST /data/foundation/connectors/encryption/keys
Verzoek
Het volgende verzoek produceert een encryptiesleutel gebruikend het PGP encryptiealgoritme.
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
en GPG
.params.passPhrase
Reactie
Een succesvolle reactie keert uw Base64-Gecodeerde openbare sleutel, openbare zeer belangrijke identiteitskaart, en de vervaltijd van uw sleutels terug. De verlooptijd wordt automatisch ingesteld op 180 dagen na de datum waarop de sleutel wordt gegenereerd. Vervaltijd kan momenteel niet worden geconfigureerd.
{
"publicKey": "{PUBLIC_KEY}",
"publicKeyId": "{PUBLIC_KEY_ID}",
"expiryTime": "1684843168"
}
publicKey
publicKeyId
expiryTime
Coderingssleutels ophalen
Als u alle coderingssleutels in uw organisatie wilt ophalen, vraagt u een GET aan bij /encryption/keys
endpoit=nt.
API formaat
GET /data/foundation/connectors/encryption/keys
Verzoek
Het volgende verzoek wint alle encryptiesleutels in uw organisatie terug.
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}}' \
Reactie
Een geslaagde reactie retourneert uw versleutelingsalgoritme, naam, openbare sleutel, id van de openbare sleutel, sleuteltype en de bijbehorende vervaltijd van de sleutels.
{
"encryptionAlgorithm": "{ENCRYPTION_ALGORITHM}",
"name": "{NAME}",
"publicKeyId": "{PUBLIC_KEY_ID}",
"publicKey": "{PUBLIC_KEY}",
"keyType": "{KEY_TYPE}",
"expiryTime": "{EXPIRY_TIME}"
}
Coderingssleutels ophalen met id
Als u een specifieke set coderingssleutels wilt ophalen, vraagt u een GET naar het /encryption/keys
-eindpunt en geeft u uw openbare-sleutel-id op als een headerparameter.
API formaat
GET /data/foundation/connectors/encryption/keys/{PUBLIC_KEY_ID}
Verzoek
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}}' \
Reactie
Een geslaagde reactie retourneert uw versleutelingsalgoritme, naam, openbare sleutel, id van de openbare sleutel, sleuteltype en de bijbehorende vervaltijd van de sleutels.
{
"encryptionAlgorithm": "{ENCRYPTION_ALGORITHM}",
"name": "{NAME}",
"publicKeyId": "{PUBLIC_KEY_ID}",
"publicKey": "{PUBLIC_KEY}",
"keyType": "{KEY_TYPE}",
"expiryTime": "{EXPIRY_TIME}"
}
Door klant beheerd sleutelpaar maken
U kunt desgewenst een sleutelpaar voor handtekeningverificatie maken om uw gecodeerde gegevens te ondertekenen en in te voeren.
Tijdens dit stadium, moet u uw eigen privé sleutel en openbare zeer belangrijke combinatie produceren en dan uw privé sleutel gebruiken om uw gecodeerde gegevens te ondertekenen. Daarna, moet u uw openbare sleutel in Base64 coderen en dan het delen aan Experience Platform opdat Platform uw handtekening verifieert.
Uw openbare sleutel delen op Experience Platform
Om uw openbare sleutel te delen, doe een verzoek van de POST aan het /customer-keys
eindpunt terwijl het verstrekken van uw encryptiealgoritme en uw Base64-Gecodeerde openbare sleutel.
API formaat
POST /data/foundation/connectors/encryption/customer-keys
Verzoek
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
en GPG
.publicKey
Reactie
{
"publicKeyId": "e31ae895-7896-469a-8e06-eb9207ddf1c2"
}
publicKeyId
Ontvang klant geleid zeer belangrijk paar
Om uw klant beheerde sleutels terug te winnen, doe een verzoek van de GET aan het /customer-keys
eindpunt.
API formaat
GET /data/foundation/connectors/encryption/customer-keys
Verzoek
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}}' \
Reactie
[
{
"encryptionAlgorithm": "{ENCRYPTION_ALGORITHM}",
"name": "{NAME}",
"publicKeyId": "{PUBLIC_KEY_ID}",
"publicKey": "{PUBLIC_KEY}",
"keyType": "{KEY_TYPE}",
}
]
Sluit de bron voor cloudopslag aan op het Experience Platform met behulp van de API van Flow Service
Nadat u de coderingssleutel hebt opgehaald, kunt u nu doorgaan en een bronverbinding voor de bron van de cloudopslag maken en uw gecodeerde gegevens naar het platform overbrengen.
Eerst, moet u een basisverbinding tot stand brengen om uw bron tegen Platform voor authentiek te verklaren. Als u een basisverbinding wilt maken en de bron wilt verifiëren, selecteert u de gewenste bron in de onderstaande lijst:
Na het creëren van een basisverbinding, moet u dan de stappen volgen die in het leerprogramma voor worden geschetst creërend een bronverbinding voor een bron van de wolkenopslagom een bronverbinding, een doelverbinding, en een afbeelding tot stand te brengen.
Een gegevensstroom maken voor gecodeerde gegevens
Als u een gegevensstroom wilt maken, vraagt u een POST naar het /flows
-eindpunt van de Flow Service API. Als u gecodeerde gegevens wilt invoeren, moet u een encryption
-sectie toevoegen aan de eigenschap transformations
en de publicKeyId
opnemen die in een eerdere stap is gemaakt.
API formaat
POST /flows
Verzoek
Met de volgende aanvraag wordt een gegevensstroom gemaakt voor het invoeren van gecodeerde gegevens voor een bron voor cloudopslag.
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
opgeven als extra transformatieparameter voor de gegevensstroom.transformations[x].params.publicKeyId
scheduleParams.startTime
scheduleParams.frequency
once
, minute
, hour
, day
of week
.scheduleParams.interval
once
en moet groter zijn dan of gelijk zijn aan 15
voor andere frequentiewaarden.Reactie
Een succesvolle reactie keert identiteitskaart (id
) van nieuw gecreeerd dataflow voor uw gecodeerde gegevens terug.
{
"id": "dbc5c132-bc2a-4625-85c1-32bc2a262558",
"etag": "\"8e000533-0000-0200-0000-5f3c40fd0000\""
}
Verzoek
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
Reactie
Een succesvolle reactie keert identiteitskaart (id
) van nieuw gecreeerd dataflow voor uw gecodeerde gegevens terug.
{
"id": "dbc5c132-bc2a-4625-85c1-32bc2a262558",
"etag": "\"8e000533-0000-0200-0000-5f3c40fd0000\""
}
Versleutelingssleutels verwijderen
Als u de coderingssleutels wilt verwijderen, vraagt u een DELETE aan bij het /encryption/keys
-eindpunt en geeft u uw openbare-sleutel-id op als een headerparameter.
API formaat
DELETE /data/foundation/connectors/encryption/keys/{PUBLIC_KEY_ID}
Verzoek
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}}' \
Reactie
Een geslaagde reactie retourneert HTTP-status 204 (Geen inhoud) en een lege hoofdtekst.
Coderingssleutels valideren
Om uw encryptiesleutels te bevestigen, doe een verzoek van de GET aan het /encryption/keys/validate/
eindpunt en verstrek openbare zeer belangrijke identiteitskaart die u als kopbalparameter wilt bevestigen.
GET /data/foundation/connectors/encryption/keys/validate/{PUBLIC_KEY_ID}
Verzoek
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}}' \
Reactie
Een succesvol antwoord geeft een bevestiging dat je id's geldig of ongeldig zijn.
Een geldige openbare - sleutelidentiteitskaart keert een status van Active
samen met uw openbare belangrijkste identiteitskaart terug
{
"publicKeyId": "{PUBLIC_KEY_ID}",
"status": "Active"
}
Een ongeldige openbare - sleutelidentiteitskaart keert een status van Expired
samen met uw openbare belangrijkste identiteitskaart terug
{
"publicKeyId": "{PUBLIC_KEY_ID}",
"status": "Expired"
}
Beperkingen op terugkerende inname
Inname van gecodeerde gegevens ondersteunt geen inname van terugkerende of meervoudige mappen in bronnen. Alle gecodeerde bestanden moeten in één map staan. Jokertekens met meerdere mappen in één bronpad worden ook niet ondersteund.
Hieronder ziet u een voorbeeld van een ondersteunde mapstructuur, waarbij het bronpad /ACME-customers/*.csv.gpg
is.
In dit scenario worden de vetgedrukte bestanden in het Experience Platform opgenomen.
-
ACME-klanten
- File1.csv.gpg
- File2.json.gpg
- File3.csv.gpg
- File4.json
- File5.csv.gpg
Hieronder ziet u een voorbeeld van een niet-ondersteunde mapstructuur waarbij het bronpad /ACME-customers/*
is.
In dit scenario, zal de stroomlooppas ontbreken en een foutenmelding terugkeren erop wijzend dat de gegevens niet uit de bron kunnen worden gekopieerd.
-
ACME-klanten
-
File1.csv.gpg
-
File2.json.gpg
-
Submap1
- File3.csv.gpg
- File4.json.gpg
- File5.csv.gpg
-
-
ACME-loyaliteit
- File6.csv.gpg
Volgende stappen
Aan de hand van deze zelfstudie hebt u een sleutelpaar voor codering van uw gegevens voor cloudopslag gemaakt en een gegevensstroom voor het opnemen van gecodeerde gegevens via de Flow Service API . Voor statusupdates op de volledigheid van uw gegevensstroom, fouten, en metriek, lees de gids op controle uw gegevensstroom gebruikend Flow Service API.