Assimilação de dados criptografados
Você pode assimilar arquivos de dados criptografados na Adobe Experience Platform usando fontes de lote de armazenamento na nuvem. Com a assimilação de dados criptografados, você pode aproveitar os mecanismos assimétricos de criptografia para transferir com segurança os dados em lote para o Experience Platform. Atualmente, os mecanismos de criptografia assimétrica compatíveis são PGP e GPG.
O processo de assimilação de dados criptografados é o seguinte:
- Criar um par de chaves de criptografia usando APIs Experience Platform. O par de chaves de criptografia consiste em uma chave privada e uma chave pública. Depois de criada, você pode copiar ou baixar a chave pública, juntamente com a ID da chave pública e o Tempo de expiração correspondentes. Durante esse processo, a chave privada será armazenada pelo Experience Platform em um cofre seguro. OBSERVAÇÃO: a chave pública na resposta é codificada na Base64 e deve ser decodificada antes do uso.
- Use a chave pública para criptografar o arquivo de dados que você deseja assimilar.
- Coloque o arquivo criptografado no armazenamento na nuvem.
- Quando o arquivo criptografado estiver pronto, crie uma conexão de origem e um fluxo de dados para sua fonte de armazenamento na nuvem. Durante a etapa de criação do fluxo, você deve fornecer um parâmetro
encryption
e incluir sua ID de chave pública. - Experience Platform recupera a chave privada do cofre seguro para descriptografar os dados no momento da assimilação.
Este documento fornece etapas sobre como gerar um par de chaves de criptografia para criptografar seus dados e assimilar esses dados criptografados no Experience Platform usando fontes de armazenamento na nuvem.
Introdução get-started
Este tutorial requer que você tenha uma compreensão funcional dos seguintes componentes do Adobe Experience Platform:
- Fontes: o Experience Platform permite que os dados sejam assimilados de várias fontes e, ao mesmo tempo, fornece a capacidade de estruturar, rotular e aprimorar os dados recebidos usando os serviços da plataforma.
- Fontes de armazenamento na nuvem: crie um fluxo de dados para trazer dados em lote da sua fonte de armazenamento na nuvem para o Experience Platform.
- Sandboxes: o Experience Platform fornece sandboxes virtuais que particionam uma única instância da Platform em ambientes virtuais separados para ajudar a desenvolver aplicativos de experiência digital.
Uso de APIs da plataforma
Para obter informações sobre como fazer chamadas para APIs da Platform com êxito, consulte o manual sobre introdução às APIs da Platform.
Extensões de arquivo compatíveis com arquivos criptografados supported-file-extensions-for-encrypted-files
A lista de extensões de arquivo compatíveis com arquivos criptografados é:
- .csv
- .tsv
- .json
- .parquet
- .csv.gpg
- .tsv.gpg
- .json.gpg
- .parquet.gpg
- .csv.pgp
- .tsv.pgp
- .json.pgp
- .parquet.pgp
- .gpg
- .pgp
Criar par de chaves de criptografia create-encryption-key-pair
A primeira etapa na assimilação de dados criptografados no Experience Platform é criar seu par de chaves de criptografia fazendo uma solicitação POST para o ponto de extremidade /encryption/keys
da API Connectors.
Formato da API
POST /data/foundation/connectors/encryption/keys
Solicitação
A solicitação a seguir gera um par de chaves de criptografia usando o algoritmo de criptografia PGP.
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 | |
---|---|
Parâmetro | Descrição |
name |
O nome do par de chaves de criptografia. |
encryptionAlgorithm |
O tipo de algoritmo de criptografia que você está usando. Os tipos de criptografia com suporte são PGP e GPG . |
params.passPhrase |
A senha fornece uma camada adicional de proteção para suas chaves de criptografia. Após a criação, o Experience Platform armazena a senha em um cofre seguro diferente da chave pública. Você deve fornecer uma sequência de caracteres não vazia como senha. |
Resposta
Uma resposta bem-sucedida retorna a chave pública codificada na Base64, a ID da chave pública e o tempo de expiração das chaves. O tempo de expiração é automaticamente definido como 180 dias após a data de geração da chave. A hora de expiração não pode ser configurada no momento.
code language-json |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 | |
---|---|
Propriedade | Descrição |
publicKey |
A chave pública é usada para criptografar os dados no armazenamento na nuvem. Essa chave corresponde à chave privada que também foi criada durante essa etapa. No entanto, a chave privada vai imediatamente para Experience Platform. |
publicKeyId |
A ID da chave pública é usada para criar um fluxo de dados e assimilar os dados criptografados do armazenamento na nuvem no Experience Platform. |
expiryTime |
O tempo de expiração define a data de expiração do par de chaves de criptografia. Essa data é definida automaticamente para 180 dias após a data de geração da chave e é exibida no formato de carimbo de data e hora unix. |
Recuperar chaves de criptografia retrieve-encryption-keys
Para recuperar todas as chaves de criptografia em sua organização, faça uma Solicitação GET para o endpoint /encryption/keys
=nt.
Formato da API
GET /data/foundation/connectors/encryption/keys
Solicitação
A solicitação a seguir recupera todas as chaves de criptografia na organização.
code language-shell |
---|
|
Resposta
Uma resposta bem-sucedida retorna o algoritmo de criptografia, o nome, a chave pública, a ID da chave pública, o tipo de chave e o tempo de expiração correspondente de suas chaves.
code language-json |
---|
|
Recuperar chaves de criptografia por ID retrieve-encryption-keys-by-id
Para recuperar um conjunto específico de chaves de criptografia, faça uma solicitação GET ao ponto de extremidade /encryption/keys
e forneça sua ID de chave pública como um parâmetro de cabeçalho.
Formato da API
GET /data/foundation/connectors/encryption/keys/{PUBLIC_KEY_ID}
Solicitação
code language-shell |
---|
|
Resposta
Uma resposta bem-sucedida retorna o algoritmo de criptografia, o nome, a chave pública, a ID da chave pública, o tipo de chave e o tempo de expiração correspondente de suas chaves.
code language-json |
---|
|
Criar par de chaves gerenciado pelo cliente create-customer-managed-key-pair
Opcionalmente, é possível criar um par de chaves de verificação de assinatura para assinar e assimilar os dados criptografados.
Durante esse estágio, você deve gerar sua própria combinação de chave privada e chave pública e usar sua chave privada para assinar seus dados criptografados. Em seguida, você deve codificar sua chave pública em Base64 e, em seguida, compartilhá-la no Experience Platform para que a Platform verifique sua assinatura.
Compartilhar sua chave pública no Experience Platform
Para compartilhar sua chave pública, faça uma solicitação POST para o ponto de extremidade /customer-keys
enquanto fornece seu algoritmo de criptografia e sua chave pública codificada em Base64.
Formato da API
POST /data/foundation/connectors/encryption/customer-keys
Solicitação
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 | |
---|---|
Parâmetro | Descrição |
encryptionAlgorithm |
O tipo de algoritmo de criptografia que você está usando. Os tipos de criptografia com suporte são PGP e GPG . |
publicKey |
A chave pública que corresponde às chaves gerenciadas pelo cliente usadas para assinar o criptografado. Essa chave deve ser codificada na Base64. |
Resposta
code language-json |
---|
|
table 0-row-2 1-row-2 | |
---|---|
Propriedade | Descrição |
publicKeyId |
Essa ID de chave pública é retornada em resposta ao compartilhamento da chave gerenciada pelo cliente com o Experience Platform. Você pode fornecer essa ID de chave pública como a ID de chave de verificação de assinatura ao criar um fluxo de dados para dados assinados e criptografados. |
Recuperar par de chaves gerenciadas pelo cliente
Para recuperar suas chaves gerenciadas pelo cliente, faça uma solicitação GET ao ponto de extremidade /customer-keys
.
Formato da API
GET /data/foundation/connectors/encryption/customer-keys
Solicitação
code language-shell |
---|
|
Resposta
code language-json |
---|
|
Conecte sua fonte de armazenamento na nuvem ao Experience Platform usando a API Flow Service
Depois de recuperar o par de chaves de criptografia, você pode continuar e criar uma conexão de origem para sua fonte de armazenamento na nuvem e trazer seus dados criptografados para a Platform.
Primeiro, você deve criar uma conexão base para autenticar sua origem na Platform. Para criar uma conexão base e autenticar sua origem, selecione a origem que deseja usar na lista abaixo:
Depois de criar uma conexão base, siga as etapas descritas no tutorial para criar uma conexão de origem para uma origem de armazenamento na nuvem para criar uma conexão de origem, uma conexão de destino e um mapeamento.
Criar um fluxo de dados para dados criptografados create-a-dataflow-for-encrypted-data
Para criar um fluxo de dados, faça uma solicitação POST para o ponto de extremidade /flows
da API Flow Service. Para assimilar dados criptografados, você deve adicionar uma seção encryption
à propriedade transformations
e incluir o publicKeyId
que foi criado em uma etapa anterior.
Formato da API
POST /flows
Solicitação
accordion | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Exibir solicitação de exemplo | ||||||||||||||||||||||||
A solicitação a seguir cria um fluxo de dados para assimilar dados criptografados de uma fonte de armazenamento na nuvem.
|
Resposta
accordion | ||
---|---|---|
Exibir resposta de exemplo | ||
Uma resposta bem-sucedida retorna a ID (
|
Solicitação
accordion | ||||||||
---|---|---|---|---|---|---|---|---|
Exibir solicitação de exemplo | ||||||||
|
Resposta
accordion | ||
---|---|---|
Exibir resposta de exemplo | ||
Uma resposta bem-sucedida retorna a ID (
|
Excluir chaves de criptografia delete-encryption-keys
Para excluir suas chaves de criptografia, faça uma solicitação DELETE para o ponto de extremidade /encryption/keys
e forneça sua ID de chave pública como um parâmetro de cabeçalho.
Formato da API
DELETE /data/foundation/connectors/encryption/keys/{PUBLIC_KEY_ID}
Solicitação
code language-shell |
---|
|
Resposta
Uma resposta bem-sucedida retorna o status HTTP 204 (Sem conteúdo) e um corpo em branco.
Validar chaves de criptografia validate-encryption-keys
Para validar suas chaves de criptografia, faça uma solicitação GET ao ponto de extremidade /encryption/keys/validate/
e forneça a ID da chave pública que você deseja validar como um parâmetro de cabeçalho.
GET /data/foundation/connectors/encryption/keys/validate/{PUBLIC_KEY_ID}
Solicitação
code language-shell |
---|
|
Resposta
Uma resposta bem-sucedida retorna uma confirmação de que suas IDs são válidas ou são inválidas.
Uma ID de chave pública válida retorna um status de Active
junto com sua ID de chave pública.
code language-json |
---|
|
Uma ID de chave pública inválida retorna um status de Expired
junto com sua ID de chave pública.
code language-json |
---|
|
Restrições à assimilação recorrente restrictions-on-recurring-ingestion
A assimilação de dados criptografados não oferece suporte à assimilação de pastas recorrentes ou de vários níveis nas fontes. Todos os arquivos criptografados devem estar contidos em uma única pasta. Também não há suporte para curingas com várias pastas em um único caminho de origem.
Veja a seguir um exemplo de uma estrutura de pastas com suporte, em que o caminho de origem é /ACME-customers/*.csv.gpg
.
Nesse cenário, os arquivos em negrito são assimilados no Experience Platform.
-
Clientes ACME
- Arquivo1.csv.gpg
- File2.json.gpg
- Arquivo3.csv.gpg
- File4.json
- Arquivo5.csv.gpg
Este é um exemplo de uma estrutura de pasta sem suporte em que o caminho de origem é /ACME-customers/*
.
Nesse cenário, a execução do fluxo falhará e retornará uma mensagem de erro indicando que os dados não podem ser copiados da origem.
-
Clientes ACME
-
File1.csv.gpg
-
File2.json.gpg
-
Subpasta1
- File3.csv.gpg
- File4.json.gpg
- File5.csv.gpg
-
-
Fidelização por ACME
- File6.csv.gpg
Próximas etapas
Seguindo este tutorial, você criou um par de chaves de criptografia para seus dados de armazenamento na nuvem e um fluxo de dados para assimilar seus dados criptografados usando o Flow Service API. Para obter atualizações de status sobre a integridade, os erros e as métricas do fluxo de dados, leia o manual sobre monitoramento do fluxo de dados usando a Flow Service API.