Acquisizione di dati crittografati
Puoi acquisire i file di dati crittografati in Adobe Experience Platform utilizzando origini batch di archiviazione cloud. Con l’acquisizione di dati crittografati, puoi sfruttare meccanismi di crittografia asimmetrica per trasferire in modo sicuro i dati batch in Experience Platform. Attualmente, i meccanismi di crittografia asimmetrica supportati sono PGP e GPG. Se si utilizza Amazon S3 come origine, è inoltre possibile combinare la crittografia PGP con Amazon S3 la crittografia lato server (SSE). Per ulteriori informazioni, vedere crittografia lato server per Amazon S3.
Il processo di acquisizione dei dati crittografati è il seguente:
- Creare una coppia di chiavi di crittografia utilizzando le API di Experience Platform. La coppia di chiavi di crittografia è costituita da una chiave privata e da una chiave pubblica. Una volta creata, puoi copiare o scaricare la chiave pubblica, insieme all’ID della chiave pubblica e all’ora di scadenza corrispondenti. Durante questo processo, la chiave privata verrà memorizzata da Experience Platform in un archivio protetto. NOTA: la chiave pubblica nella risposta è codificata in Base64 e deve essere decodificata prima di utilizzare.
- Utilizza la chiave pubblica per crittografare il file di dati che desideri acquisire.
- Inserisci il file crittografato nell’archiviazione cloud.
- Quando il file crittografato è pronto, crea una connessione di origine e un flusso di dati per l’origine dell’archiviazione cloud. Durante il passaggio di creazione del flusso, devi fornire un parametro
encryptione includere l’ID della chiave pubblica. - Experience Platform recupera la chiave privata dall’archivio protetto per decrittografare i dati al momento dell’acquisizione.
In questo documento vengono descritti i passaggi necessari per generare una coppia di chiavi di crittografia per crittografare i dati e acquisirli in Experience Platform utilizzando origini di archiviazione cloud.
Introduzione get-started
Questo tutorial richiede una buona conoscenza dei seguenti componenti di Adobe Experience Platform:
- Origini: Experience Platform consente di acquisire dati da varie origini e allo stesso tempo di strutturare, etichettare e migliorare i dati in arrivo tramite i servizi Experience Platform.
- Origini archiviazione cloud: crea un flusso di dati per portare i dati batch dall’origine archiviazione cloud ad Experience Platform.
- Sandbox: Experience Platform fornisce sandbox virtuali che suddividono una singola istanza Experience Platform in ambienti virtuali separati, utili per le attività di sviluppo e aggiornamento delle applicazioni di esperienza digitale.
Utilizzo delle API di Experience Platform
Per informazioni su come effettuare correttamente chiamate alle API di Experience Platform, consulta la guida introduttiva alle API di Experience Platform.
Estensioni di file supportate per i file crittografati supported-file-extensions-for-encrypted-files
L’elenco delle estensioni di file supportate per i file crittografati è:
- .csv
- .tsv
- .json
- parquet
- .csv.gpg
- .tsv.gpg
- .json.gpg
- parquet, gpg
- .csv.pgp
- .tsv.pgp
- .json.pgp
- .parquet.pgp
- gpg
- .pgp
Crittografia lato server per Amazon S3 server-side-encryption-for-amazon-s3
Se si utilizza Amazon S3 come origine dell’archiviazione cloud, è possibile combinare la crittografia dei file PGP con Amazon S3 la crittografia lato server (SSE). La crittografia dei file SSE e PGP protegge elementi diversi e funziona in modo indipendente l’uno dall’altro.
È possibile utilizzare SSE da solo, la crittografia dei file PGP da sola o entrambe insieme. Quando si utilizzano entrambi, Experience Platform decrittografa prima il livello SSE, quindi decrittografa il contenuto del file crittografato con PGP.
Verifica il supporto SSE del bucket check-your-buckets-sse-support
Controlla le impostazioni di crittografia del bucket nella console Amazon S3 in Proprietà > Crittografia predefinita. La tabella seguente descrive le modalità SSE supportate da Experience Platform.
aws/s3 predefinitaAggiungere un criterio chiave per SSE-KMS con una chiave gestita dal cliente add-a-key-policy-for-sse-kms
Se il bucket utilizza SSE-KMS con una chiave gestita dal cliente, devi consentire al ruolo del connettore Experience Platform di decrittografare la chiave.
La procedura seguente illustra come aggiungere le autorizzazioni necessarie:
-
Nella console KMS di AWS, seleziona la tua chiave.
-
Selezionare Criterio chiave, quindi selezionare Modifica.
-
Aggiungi l’istruzione seguente al criterio chiave, sostituendo i segnaposto per account e sandbox con i tuoi valori.
code language-json { "Sid": "Enable Experience Platform connector permissions", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::{ACCOUNT_ID}:role/aep-connector-{SANDBOX_ID}" ] }, "Action": "kms:Decrypt", "Resource": "*" } -
Salva le modifiche.
Questa istruzione concede lo stesso ruolo connettore che è già considerato attendibile per l’accesso Amazon S3. Non è necessario creare un nuovo ruolo.
Crea coppia di chiavi di crittografia create-encryption-key-pair
Il primo passaggio per acquisire dati crittografati in Experience Platform consiste nel creare la coppia di chiavi di crittografia effettuando una richiesta POST all’endpoint /encryption/keys dell’API Connectors.
Formato API
POST /data/foundation/connectors/encryption/keys
Richiesta
La richiesta seguente genera una coppia di chiavi di crittografia utilizzando l’algoritmo di crittografia PGP.
| code language-shell |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Parametro | Descrizione |
name |
Nome della coppia di chiavi di crittografia. |
encryptionAlgorithm |
Tipo di algoritmo di crittografia in uso. I tipi di crittografia supportati sono PGP e GPG. |
params.passPhrase |
La passphrase fornisce un ulteriore livello di protezione per le chiavi di crittografia. Al momento della creazione, Experience Platform memorizza la passphrase in un archivio protetto diverso dalla chiave pubblica. Specificare una stringa non vuota come passphrase. |
Risposta
In caso di esito positivo, la risposta restituisce la chiave pubblica con codifica Base64, l’ID della chiave pubblica e l’ora di scadenza delle chiavi. Il tempo di scadenza viene impostato automaticamente su 180 giorni dopo la data di generazione della chiave. L’ora di scadenza non è attualmente configurabile.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Proprietà | Descrizione |
publicKey |
La chiave pubblica viene utilizzata per crittografare i dati nell’archiviazione cloud. Questa chiave corrisponde alla chiave privata creata durante questo passaggio. Tuttavia, la chiave privata viene inviata immediatamente ad Experience Platform. |
publicKeyId |
L’ID della chiave pubblica viene utilizzato per creare un flusso di dati e acquisire i dati di archiviazione cloud crittografati in Experience Platform. |
expiryTime |
L’ora di scadenza definisce la data di scadenza della coppia di chiavi di crittografia. Questa data viene impostata automaticamente su 180 giorni dopo la data di generazione della chiave e viene visualizzata in formato timestamp unix. |
Recuperare le chiavi di crittografia retrieve-encryption-keys
Per recuperare tutte le chiavi di crittografia dell’organizzazione, eseguire una richiesta GET all’endpoint /encryption/keys=nt.
Formato API
GET /data/foundation/connectors/encryption/keys
Richiesta
La richiesta seguente recupera tutte le chiavi di crittografia dell’organizzazione.
| code language-shell |
|---|
|
Risposta
In caso di esito positivo, la risposta restituisce l’algoritmo di crittografia, il nome, la chiave pubblica, l’ID della chiave pubblica, il tipo di chiave e la scadenza corrispondente delle chiavi.
| code language-json |
|---|
|
Recupera chiavi di crittografia per ID retrieve-encryption-keys-by-id
Per recuperare un set specifico di chiavi di crittografia, effettuare una richiesta GET all’endpoint /encryption/keys e fornire l’ID della chiave pubblica come parametro di intestazione.
Formato API
GET /data/foundation/connectors/encryption/keys/{PUBLIC_KEY_ID}
Richiesta
| code language-shell |
|---|
|
Risposta
In caso di esito positivo, la risposta restituisce l’algoritmo di crittografia, il nome, la chiave pubblica, l’ID della chiave pubblica, il tipo di chiave e la scadenza corrispondente delle chiavi.
| code language-json |
|---|
|
Creare una coppia di chiavi gestite dal cliente create-customer-managed-key-pair
Facoltativamente, puoi creare una coppia di chiavi per la verifica della firma per firmare e acquisire i dati crittografati.
Durante questa fase, devi generare la tua combinazione di chiave privata e chiave pubblica e quindi utilizzare la tua chiave privata per firmare i dati crittografati. Successivamente, devi codificare la chiave pubblica in Base64 e condividerla con Experience Platform affinché Experience Platform possa verificare la firma.
Condividere la chiave pubblica in Experience Platform
Per condividere la chiave pubblica, effettuare una richiesta POST all’endpoint /customer-keys fornendo al contempo l’algoritmo di crittografia e la chiave pubblica con codifica Base64.
Formato API
POST /data/foundation/connectors/encryption/customer-keys
Richiesta
| code language-shell |
|---|
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parametro | Descrizione |
encryptionAlgorithm |
Tipo di algoritmo di crittografia in uso. I tipi di crittografia supportati sono PGP e GPG. |
publicKey |
La chiave pubblica che corrisponde alle chiavi gestite dal cliente utilizzate per la firma del file crittografato. Questa chiave deve avere la codifica Base64. |
Risposta
| code language-json |
|---|
|
| table 0-row-2 1-row-2 | |
|---|---|
| Proprietà | Descrizione |
publicKeyId |
Questo ID di chiave pubblica viene restituito in risposta alla condivisione della chiave gestita dal cliente con Experience Platform. Puoi fornire questo ID di chiave pubblica come ID della chiave di verifica della firma durante la creazione di un flusso di dati per dati firmati e crittografati. |
Recupera coppia di chiavi gestite dal cliente
Per recuperare le chiavi gestite dal cliente, effettuare una richiesta GET all’endpoint /customer-keys.
Formato API
GET /data/foundation/connectors/encryption/customer-keys
Richiesta
| code language-shell |
|---|
|
Risposta
| code language-json |
|---|
|
Connetti l’origine dell’archiviazione cloud ad Experience Platform utilizzando l’API Flow Service
Dopo aver recuperato la coppia di chiavi di crittografia, ora puoi procedere con la creazione di una connessione di origine per l’origine dell’archiviazione cloud e trasferire i dati crittografati ad Experience Platform.
Innanzitutto, devi creare una connessione di base per autenticare l’origine su Experience Platform. Per creare una connessione di base e autenticare l’origine, selezionare dall’elenco seguente l’origine che si desidera utilizzare:
Dopo aver creato una connessione di base, è necessario seguire i passaggi descritti nell’esercitazione per creare una connessione di origine per un’origine di archiviazione cloud per creare una connessione di origine, una connessione di destinazione e una mappatura.
Creare un flusso di dati per i dati crittografati create-a-dataflow-for-encrypted-data
Per creare un flusso di dati, effettuare una richiesta POST all’endpoint /flows dell’API Flow Service. Per acquisire i dati crittografati, è necessario aggiungere una sezione encryption alla proprietà transformations e includere publicKeyId creato in un passaggio precedente.
Formato API
POST /flows
Richiesta
| accordion | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Visualizza richiesta di esempio | ||||||||||||||||||||||||
|
La seguente richiesta crea un flusso di dati per acquisire dati crittografati per un’origine di archiviazione cloud.
|
Risposta
| accordion | ||
|---|---|---|
| Visualizza risposta di esempio | ||
|
In caso di esito positivo, la risposta restituisce l’ID (
|
Richiesta
| accordion | ||||||||
|---|---|---|---|---|---|---|---|---|
| Visualizza richiesta di esempio | ||||||||
|
Risposta
| accordion | ||
|---|---|---|
| Visualizza risposta di esempio | ||
|
In caso di esito positivo, la risposta restituisce l’ID (
|
Elimina chiavi di crittografia delete-encryption-keys
Per eliminare le chiavi di crittografia, effettua una richiesta DELETE all’endpoint /encryption/keys e fornisci l’ID della chiave pubblica come parametro di intestazione.
Formato API
DELETE /data/foundation/connectors/encryption/keys/{PUBLIC_KEY_ID}
Richiesta
| code language-shell |
|---|
|
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 204 (nessun contenuto) e un corpo vuoto.
Convalidare le chiavi di crittografia validate-encryption-keys
Per convalidare le chiavi di crittografia, effettuare una richiesta GET all’endpoint /encryption/keys/validate/ e fornire l’ID della chiave pubblica da convalidare come parametro di intestazione.
GET /data/foundation/connectors/encryption/keys/validate/{PUBLIC_KEY_ID}
Richiesta
| code language-shell |
|---|
|
Risposta
In caso di esito positivo, la risposta restituisce la conferma che gli ID sono validi o non validi.
Un ID chiave pubblica valido restituisce lo stato Active insieme all’ID chiave pubblica.
| code language-json |
|---|
|
Un ID di chiave pubblica non valido restituisce lo stato Expired insieme all’ID di chiave pubblica.
| code language-json |
|---|
|
Limitazioni all’acquisizione ricorrente restrictions-on-recurring-ingestion
L’acquisizione di dati crittografati non supporta l’acquisizione di cartelle ricorrenti o a più livelli nelle origini. Tutti i file crittografati devono essere contenuti in una singola cartella. Non sono supportati neanche i caratteri jolly con più cartelle in un unico percorso di origine.
Di seguito è riportato un esempio di struttura di cartelle supportata, dove il percorso di origine è /ACME-customers/*.csv.gpg.
In questo scenario, i file in grassetto vengono acquisiti in Experience Platform.
-
ACME-clienti
- File1.csv.gpg
- File2.json.gpg
- File3.csv.gpg
- File4.json
- File5.csv.gpg
Di seguito è riportato un esempio di struttura di cartelle non supportata in cui il percorso di origine è /ACME-customers/*.
In questo scenario, l’esecuzione del flusso non riuscirà e restituirà un messaggio di errore che indica che i dati non possono essere copiati dall’origine.
-
ACME-clienti
-
File1.csv.gpg
-
File2.json.gpg
-
Sottocartella1
- File3.csv.gpg
- File4.json.gpg
- File5.csv.gpg
-
-
fedeltà ACME
- File6.csv.gpg
Passaggi successivi
Seguendo questa esercitazione, hai creato una coppia di chiavi di crittografia per i dati dell’archiviazione cloud e un flusso di dati per acquisire i dati crittografati utilizzando Flow Service API. Per gli aggiornamenti sullo stato di completezza, errori e metriche del flusso di dati, leggi la guida sul monitoraggio del flusso di dati tramite l’API Flow Service 2}.