Etapa 4: gerar um esquema de criptografia para um arquivo tabular - AWS Clean Rooms

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Etapa 4: gerar um esquema de criptografia para um arquivo tabular

Para criptografar dados, é necessário um esquema de criptografia descrevendo como os dados serão usados. Esta seção descreve como o cliente de criptografia C3R ajuda na geração de um esquema de criptografia para um CSV arquivo com uma linha de cabeçalho ou um arquivo. Parquet

Você só precisa fazer isso uma vez por arquivo. Depois que o esquema existir, ele poderá ser reutilizado para criptografar o mesmo arquivo (ou qualquer arquivo com nomes de colunas idênticos). Se os nomes das colunas ou o esquema de criptografia desejado mudarem, você deverá atualizar o arquivo do esquema. Para obter mais informações, consulte (Opcional) Crie um esquema (usuários avançados).

Importante

É fundamental que todas as partes colaboradoras usem a mesma chave secreta compartilhada. As partes colaboradoras também devem coordenar os nomes das colunas de acordo com se elas serão JOIN editadas ou comparadas de outra forma para garantir a igualdade nas consultas. Caso contrário, as SQL consultas podem produzir resultados inesperados ou incorretos. No entanto, isso não é necessário se o criador da colaboração habilitou a configuração de allowJoinsOnColumnsWithDifferentNames criptografia durante a criação da colaboração. Para obter mais informações sobre configurações relevantes para criptografia, consulte. Parâmetros de computação criptográfica

Quando executado no modo de esquema, o cliente de criptografia C3R percorre o arquivo de entrada coluna por coluna, perguntando se e como essa coluna deve ser tratada. Se o arquivo contiver muitas colunas que não são desejadas para a saída criptografada, a geração do esquema interativo pode se tornar entediante porque você deve ignorar cada coluna indesejada. Para evitar isso, você pode escrever manualmente um esquema ou criar uma versão simplificada do arquivo de entrada com apenas as colunas desejadas. Em seguida, o gerador de esquema interativo poderia ser executado nesse arquivo reduzido. O cliente de criptografia C3R gera informações sobre o arquivo do esquema e pergunta como as colunas de origem devem ser incluídas ou criptografadas (se houver) na saída de destino.

Para cada coluna de origem no arquivo de entrada, você será solicitado a fornecer:

  1. Quantas colunas de destino devem ser geradas

  2. Como cada coluna de destino deve ser criptografada (se for o caso)

  3. O nome de cada coluna de destino

  4. Como os dados devem ser preenchidos antes da criptografia se a coluna estiver sendo criptografada como uma sealed coluna

nota

Ao criptografar dados de uma coluna que foi criptografada como uma sealed coluna, você deve determinar quais dados precisam ser preenchidos. O cliente de criptografia C3R sugere um preenchimento padrão durante a geração do esquema que preenche todas as entradas em uma coluna com o mesmo tamanho.

Ao determinar o tamanho defixed, observe que o preenchimento está em bytes, não em bits.

A seguir está uma tabela de decisão para criar o esquema.

Tabela de decisão do esquema
Decisão Número de colunas de destino da coluna de origem <' name-of-column '>? Tipo de coluna de destino: [c]cleartext, [f] fingerprint ou [s]sealed? Nome do cabeçalho da coluna de destino <default 'name-of-column'> Adicione um sufixo <suffix>ao cabeçalho para indicar como ele foi criptografado, [y] sim ou [n] não <default 'yes'> <' name-of-column _sealed'> tipo de preenchimento: [n] um, [f] fixo ou [m] max <default 'max'>
Deixe a coluna sem criptografia. 1 c Não aplicável Não aplicável Não aplicável
Criptografe a coluna como uma fingerprint coluna. 1 f Escolha padrão ou insira um novo nome de cabeçalho. Digite y para escolher o padrão (_fingerprint) ou insiran. Não aplicável
Criptografe a coluna como uma sealed coluna. 1 s Escolha padrão ou insira um novo nome de cabeçalho. Digite y para escolher o padrão (_sealed) ou insiran.

Escolha o tipo de preenchimento.

Para obter mais informações, consulte (Opcional) Crie um esquema (usuários avançados).

Criptografe a coluna como fingerprint e. sealed 2

Insira a primeira coluna de destino: f.

Insira a segunda coluna de destino: s.

Escolha os cabeçalhos de destino para cada coluna de destino. Digite y para escolher o padrão ou insira n.

Escolha o tipo de preenchimento (somente para sealed colunas).

Para obter mais informações, consulte (Opcional) Crie um esquema (usuários avançados).

A seguir estão dois exemplos de como criar esquemas de criptografia. O conteúdo exato da sua interação depende do arquivo de entrada e das respostas que você fornece.

Exemplo: gerar um esquema de criptografia para uma fingerprint coluna e uma cleartext coluna

Neste exemplo, paraads.csv, há apenas duas colunas: username ad_variant e. Para essas colunas, queremos o seguinte:

  • Para que a username coluna seja criptografada como uma fingerprint coluna

  • Para que a ad_variant coluna seja uma cleartext coluna

Para gerar um esquema de criptografia para uma fingerprint coluna e uma cleartext coluna
  1. (Opcional) Para garantir que o c3r-cli.jar arquivo e o arquivo a serem criptografados estejam presentes:

    1. Navegue até o diretório desejado e execute ls (se estiver usando a Mac ouUnix/Linux) ou dir se estiver usandoWindows).

    2. Visualize a lista de arquivos de dados tabulares (por exemplo, .csv) e escolha um arquivo para criptografar.

      Neste exemplo, ads.csv é o arquivo que queremos criptografar.

  2. CLIEm, execute o comando a seguir para criar um esquema interativamente.

    java -jar c3r-cli.jar schema ads.csv --interactive --output=ads.json

    nota
    • Você pode correrjava --jar PATH/TO/c3r-cli.jar. Ou, se você tiver adicionado PATH/TO/c3r-cli.jar à sua variável de CLASSPATH ambiente, você também pode executar o nome da classe. O cliente de criptografia C3R examinará o CLASSPATH para encontrá-lo (por exemplo,java com.amazon.psion.cli.Main).

    • O --interactive sinalizador seleciona o modo interativo para desenvolver o esquema. Isso orienta o usuário por um assistente para criar o esquema. Usuários com habilidades avançadas podem criar seu próprio esquema JSON sem usar o assistente. Para obter mais informações, consulte (Opcional) Crie um esquema (usuários avançados).

    • O --output sinalizador define um nome de saída. Se você não incluir o --output sinalizador, o cliente de criptografia C3R tentará escolher um nome de saída padrão (como <input>.out.csv ou para o esquema). <input>.json

  3. ParaNumber of target columns from source column ‘username’?, insira 1 e, em seguida, pressione Enter.

  4. ParaTarget column type: [c]leartext, [f]ingerprint, or [s]ealed?, insira f e, em seguida, pressione Enter.

  5. ParaTarget column headername <default 'username'>, pressione Enter.

    O nome padrão 'username' é usado.

  6. ParaAdd suffix '_fingerprint' to header to indicate how it was encrypted, [y]es or [n]o <default 'yes'>, insira y e, em seguida, pressione Enter.

    nota

    O modo interativo sugere sufixos para adicionar aos cabeçalhos das colunas criptografadas (_fingerprintpara fingerprint colunas e _sealed para sealed colunas). Os sufixos podem ser úteis quando você está executando tarefas como carregar dados Serviços da AWS ou criar AWS Clean Rooms colaborações. Esses sufixos podem ajudar a indicar o que pode ser feito com os dados criptografados em cada coluna. Por exemplo, as coisas não funcionarão se você criptografar uma coluna como uma sealed coluna (_sealed) e tentar JOIN digitá-la ou tentar o contrário.

  7. ParaNumber of target columns from source column ‘ad_variant’?, insira 1 e, em seguida, pressione Enter.

  8. ParaTarget column type: [c]leartext, [f]ingerprint, or [s]ealed?, insira c e, em seguida, pressione Enter.

  9. ParaTarget column headername <default 'username'>, pressione Enter.

    O nome padrão 'ad_variant' é usado.

    O esquema é gravado em um novo arquivo chamadoads.json.

    nota

    Você pode visualizar o esquema abrindo-o em qualquer editor de texto, como ativado Windows ou Notepad TextEdit ativadomacOS.

  10. Agora você está pronto para criptografar dados.

Exemplo: gerar um esquema de criptografia com sealedfingerprint, e colunas cleartext

Neste exemplo, parasales.csv, há três colunas: usernamepurchased, product e. Para essas colunas, queremos o seguinte:

  • Para que a product coluna seja uma sealed coluna

  • Para que a username coluna seja criptografada como uma fingerprint coluna

  • Para que a purchased coluna seja uma cleartext coluna

Para gerar um esquema de criptografia comsealed,fingerprint, e colunas cleartext
  1. (Opcional) Para garantir que o c3r-cli.jar arquivo e o arquivo a serem criptografados estejam presentes:

    1. Navegue até o diretório desejado e execute ls (se estiver usando a Mac ouUnix/Linux) ou dir se estiver usandoWindows).

    2. Veja a lista de arquivos de dados tabulares (.csv) e escolha um arquivo para criptografar.

      Neste exemplo, sales.csv é o arquivo que queremos criptografar.

  2. CLIEm, execute o comando a seguir para criar um esquema interativamente.

    java -jar c3r-cli.jar schema sales.csv --interactive --output=sales.json

    nota
    • O --interactive sinalizador seleciona o modo interativo para desenvolver o esquema. Isso orienta o usuário por um fluxo de trabalho guiado para criar o esquema.

    • Se você for um usuário avançado, poderá criar seu próprio esquema JSON sem usar o fluxo de trabalho guiado. Para obter mais informações, consulte (Opcional) Crie um esquema (usuários avançados).

    • Para arquivos.csv sem cabeçalhos de coluna, consulte a --noHeaders sinalização do comando schema disponível no. CLI

    • O --output sinalizador define um nome de saída. Se você não incluir o --output sinalizador, o cliente de criptografia C3R tentará escolher um nome de saída padrão (como <input>.out ou para o esquema). <input>.json

  3. ParaNumber of target columns from source column ‘username’?, insira 1 e, em seguida, pressione Enter.

  4. ParaTarget column type: [c]leartext, [f]ingerprint, or [s]ealed?, insira f e, em seguida, pressione Enter.

  5. ParaTarget column headername <default 'username'>, pressione Enter.

    O nome padrão 'username' é usado.

  6. ParaAdd suffix '_fingerprint' to header to indicate how it was encrypted, [y]es or [n]o <default 'yes'>, insira y e, em seguida, pressione Enter.

  7. ParaNumber of target columns from source column ‘purchased’?, insira 1 e, em seguida, pressione Enter.

  8. ParaTarget column type: [c]leartext, [f]ingerprint, or [s]ealed?, insira c e, em seguida, pressione Enter.

  9. ParaTarget column headername <default 'purchased'>, pressione Enter.

    O nome padrão 'purchased' é usado.

  10. ParaNumber of target columns from source column ‘product’?, insira 1 e, em seguida, pressione Enter.

  11. ParaTarget column type: [c]leartext, [f]ingerprint, or [s]ealed?, insira s e, em seguida, pressione Enter.

  12. ParaTarget column headername <default 'product'>, pressione Enter.

    O nome padrão 'product' é usado.

  13. Para‘product_sealed’ padding type: [n]one, [f]ixed, or [m]ax <default ’max’?>, pressione Enter para escolher o padrão.

  14. Para, Byte-length beyond max length to pad cleartext to in ‘product_sealed’ <default ‘0’>? pressione Enter para escolher o padrão.

    O esquema é gravado em um novo arquivo chamadosales.json.

  15. Agora você está pronto para criptografar dados.