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á.
Configurando um fluxo de trabalho gerenciado para descriptografar um arquivo
Este tutorial ilustra como configurar um fluxo de trabalho gerenciado que contenha uma etapa de descriptografia. O tutorial também mostra como fazer upload de um arquivo criptografado para um bucket do Amazon S3 e, em seguida, ver o arquivo descriptografado nesse mesmo bucket.
nota
O blog AWS de armazenamento tem uma postagem que descreve como simplesmente descriptografar arquivos sem escrever nenhum código usando fluxos de trabalho do Transfer Family Managed, criptografar e descriptografar
Tópicos
Etapa 1: Configure uma função de execução
Crie uma função de execução AWS Identity and Access Management (IAM) que a Transfer Family possa usar para iniciar um fluxo de trabalho. O processo de criação de uma função de execução está descrito em Políticas do IAM para fluxos de trabalho.
nota
Como parte da criação de uma função de execução, certifique-se de estabelecer uma relação de confiança entre a função de execução e o Transfer Family, conforme descrito em Estabelecer um relacionamento de confiança.
A política de função de execução a seguir contém todas as permissões necessárias para iniciar o fluxo de trabalho que você cria neste tutorial. Para usar esse exemplo de política, substitua os por suas próprias informações. user input placeholdersamzn-s3-demo-bucketSubstitua pelo nome do bucket do Amazon S3 em que você carrega seus arquivos criptografados.
nota
Nem todo fluxo de trabalho exige todas as permissões listadas neste exemplo. Você pode restringir as permissões com base nos tipos de etapas em seu fluxo de trabalho específico. As permissões necessárias para cada tipo de etapa predefinido estão descritas em Usar etapas predefinidas. As permissões necessárias para cada uma etapa personalizada estão descritas em Permissões do IAM para a etapa de personalizar.
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "WorkflowsS3Permissions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectTagging", "s3:GetObjectVersion", "s3:PutObject", "s3:PutObjectTagging", "s3:ListBucket", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:DeleteObjectVersion", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "DecryptSecret", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:aws/transfer/*" } ] }
Etapa 2: Crie um fluxo de trabalho gerenciado
Agora você precisa criar um fluxo de trabalho que contenha uma etapa de descriptografia.
Para criar um fluxo de trabalho que contenha uma etapa de descriptografia
-
Abra o AWS Transfer Family console em https://console.aws.amazon.com/transfer/
. -
No painel de navegação à esquerda, escolha Fluxos de trabalho e, em seguida, Criar fluxo de trabalho.
-
Insira os detalhes a seguir:
-
Insira uma descrição, por exemplo
Decrypt workflow example. -
Na seção Etapas nominais, escolha Adicionar etapa.
-
-
Em Escolher tipo de etapa, escolha Descriptografar arquivo e, em seguida, escolha Próximo.
-
Na caixa de diálogo Configurar parâmetros, especifique o seguinte:
-
Insira um nome descritivo da etapa, por exemplo,
decrypt-step. Não são permitidos espaços nos nomes das etapas. -
Em Destino para arquivos descriptografados, escolha Amazon S3.
-
Em Nome do bucket de destino, escolha o mesmo bucket do Amazon S3 que você especificou como
amzn-s3-demo-bucketna política do IAM criado na Etapa 1. -
Em Prefixo de chave de destino, insira o nome do prefixo (pasta) em que você deseja armazenar seus os arquivos descriptografados no bucket de destino, por exemplo,
decrypted-files/.nota
Certifique-se de adicionar uma barra final (
/) ao seu prefixo. -
Para este tutorial, deixe Substituir existente desmarcado. Quando esta configuração estiver desmarcada, se você tentar descriptografar um arquivo com o mesmo nome de um arquivo existente, o processamento do fluxo de trabalho será interrompido, e o novo arquivo não será processado.
Escolha Próximo para ir para a tela de revisão.
-
-
Revise os detalhes da etapa. Se tudo estiver correto, escolha Criar etapa.
-
Como seu fluxo de trabalho precisa apenas de uma única etapa de descriptografia, não há etapas adicionais a serem configuradas. Escolha Criar fluxo de trabalho para criar o novo fluxo de trabalho.
Anote a ID do fluxo de trabalho do seu novo fluxo de trabalho. Você precisará dessa ID na próxima etapa. Este tutorial usa como exemplo da ID do fluxo de trabalho. w-1234abcd5678efghi
Etapa 3: Adicione o fluxo de trabalho a um servidor e crie um usuário
Agora que você tem um fluxo de trabalho com uma etapa de descriptografia, você deve associá-lo a um servidor do Transfer Family. Este tutorial mostra como anexar o fluxo de trabalho a um servidor do Transfer Family existente. Você também pode criar um novo servidor para usar com seu fluxo de trabalho.
Depois de anexar o fluxo de trabalho a um servidor, você deve criar um usuário que possa usar o SFTP no servidor e acionar a execução do fluxo de trabalho.
Para configurar um servidor do Transfer Family para executar um fluxo de trabalho
-
Abra o AWS Transfer Family console em https://console.aws.amazon.com/transfer/
. -
No painel de navegação esquerdo, selecione Servidores e em seguida escolha um servidor da lista. Verifique se esse servidor é compatível com o protocolo SFTP.
-
Na página de detalhes do servidor, role para baixo até a seção Detalhes adicionais e escolha Editar.
-
Na página Editar detalhes adicionais, na seção Fluxos de trabalho gerenciados, escolha seu fluxo de trabalho e escolha uma função de execução correspondente.
-
Em Fluxo de trabalho para carregamentos de arquivos completos, escolha o fluxo de trabalho que você criou em Etapa 2: Crie um fluxo de trabalho gerenciado, por exemplo,
w-1234abcd5678efghi. -
Para a função de execução de fluxos de trabalho gerenciados, escolha perfil do IAM que você criou em Etapa 1: Configure uma função de execução.
-
-
Navegue até a parte inferior da página e escolha Salvar para salvar suas alterações.
Anote a ID do servidor que você está usando. O nome do AWS Secrets Manager segredo que você usa para armazenar suas chaves PGP é baseado em parte na ID do servidor.
Para adicionar um usuário que possa acionar o fluxo de trabalho
-
Abra o AWS Transfer Family console em https://console.aws.amazon.com/transfer/
. -
No painel de navegação esquerdo, selecione Servidores e selecione o servidor que você está usando para o fluxo de trabalho de descriptografia.
-
Na página de detalhes do servidor, role para baixo até a seção Usuários e escolha Adicionar usuário.
-
Para seu novo usuário, insira os seguintes detalhes:
-
Em Nome do usuário, insira
decrypt-user. -
Em Função, escolha uma função do usuário que possa acessar seu servidor.
-
Para o Diretório inicial, escolha o bucket do Amazon S3 que você usou anteriormente, por exemplo,
amzn-s3-demo-bucket. -
Para chaves públicas SSH, cole uma chave pública que corresponda a uma chave privada que você tem. Para obter detalhes, consulte Gere chaves SSH para usuários gerenciados por serviços.
-
-
Escolha Adicionar para salvar seu novo usuário.
Anote o nome do usuário do Transfer Family para esse servidor. O segredo é parcialmente baseado no nome do usuário. Para simplificar, este tutorial usa um segredo padrão que pode ser usado por qualquer usuário do servidor.
Etapa 4: Crie um par de chaves PGP
Use um dos clientes PGP compatíveis para gerar um par de chaves PGP. Este processo está descrito em detalhes em Gerar chaves PGP.
Para gerar um par de chaves PGP
-
Neste tutorial, é possível usar o cliente
gpg(GnuPG) versão 2.0.22 para gerar um par de chaves PGP que usa RSA como algoritmo de criptografia. Para esse cliente, execute o seguinte comando e forneça um endereço de e-mail e uma senha. É possível usar qualquer nome ou endereço de e-mail que desejar. Lembre-se dos valores que usar, pois você precisará inseri-los posteriormente no tutorial.gpg --gen-keynota
Se você estiver usando o
GnuPGversão 2.3.0 ou mais recente, deverá executargpg --full-gen-key. Quando solicitado sobre o tipo de chave a ser criada, escolha RSA ou ECC. No entanto, se você escolher ECC, certifique-se de escolher NIST ou BrainPool para a curva elíptica. Não escolha Curve 25519. -
Exporte a chave privada executando o seguinte comando. Substitua
pelo endereço de e-mail que você usou quando gerou a chave.user@example.comgpg --output workflow-tutorial-key.pgp --armor --export-secret-keyuser@example.comEste comando exporta a chave privada para o arquivo
workflow-tutorial-key.pgp. É possível nomear o arquivo de saída como quiser. Você também pode excluir o arquivo de chave privada depois de adicioná-lo ao AWS Secrets Manager.
Etapa 5: Armazene a chave privada PGP no AWS Secrets Manager
Você precisa armazenar a chave privada no Secrets Manager de uma forma muito específica para que o fluxo de trabalho possa encontrar a chave privada quando o fluxo de trabalho executar uma etapa de descriptografia em um arquivo carregado.
nota
Quando você armazena segredos no Secrets Manager, você Conta da AWS incorre em cobranças. Para obter mais informações sobre preços consulte AWS Secrets Manager Pricing
Para armazenar uma chave privada PGP no Secrets Manager
-
Faça login no Console de gerenciamento da AWS e abra o AWS Secrets Manager console em https://console.aws.amazon.com/secretsmanager/
. -
No painel de navegação à esquerda, selecione Segredos.
-
Na página Segredos, escolha Armazenar um novo segredo.
-
Na página Escolher tipo de segredo, em Tipo de segredo, escolha Outro tipo de segredo.
-
Na seção Pares de chave/valor, escolha a guia Chave/valor.
-
Chave — Insira
PGPPrivateKey. -
valor – cole o texto da sua chave privada no campo de valor.
-
-
Escolha Adicionar linha e, na seção Pares de chave/valor, escolha a guia Chave/valor.
-
Chave — Insira
PGPPassphrase. -
valor – Insira a senha que você usou ao gerar seu par de chaves PGP em Etapa 4: Crie um par de chaves PGP.
-
-
Escolha Próximo.
-
Na página Configurar segredo, insira um nome e uma descrição para seu segredo. Você pode criar um segredo para um usuário específico ou um que possa ser usado por todos os usuários. Se o ID do seu servidor for
, você nomeia o segredo da seguinte forma.s-11112222333344445-
Para criar um segredo padrão para todos os usuários, nomeie o segredo
aws/transfer/.s-11112222333344445/@pgp-default -
Para criar um segredo somente para o usuário que você criou anteriormente, nomeie o segredo
aws/transfer/.s-11112222333344445/decrypt-user
-
-
Escolha Próximo e aceite os padrões na página Configurar alternância. Em seguida, escolha Próximo.
-
Na página Revisão, escolha Armazenar para criar e armazenar o segredo.
Para obter mais informações sobre como adicionar sua chave privada PGP ao Secrets Manager, consulte Usar AWS Secrets Manager para armazenar sua chave PGP.
Etapa 6: Criptografe um arquivo
Use o programa gpg para criptografar um arquivo para usar em seu fluxo de trabalho. Execute o seguinte comando para criptografar um arquivo:
gpg -e -rmarymajor@example.com--openpgp testfile.txt
Antes de executar este comando, observe o seguinte:
-
Para o argumento
-r, substituapelo endereço de e-mail que você usou ao criar o par de chaves PGP.marymajor@example.com -
O sinalizador
--openpgpé opcional. Esse sinalizador faz com que o arquivo criptografado esteja em conformidade com o padrão OpenPGP 0 RFC488. -
Este comando cria um arquivo chamado
testfile.txt.gpgno mesmo local quetestfile.txt.
Importante
Ao criptografar arquivos para uso com AWS Transfer Family fluxos de trabalho, sempre certifique-se de especificar um destinatário não anônimo usando o parâmetro. -r A criptografia anônima (sem especificar um destinatário) pode causar falhas de decodificação no fluxo de trabalho porque o sistema não conseguirá identificar qual chave usar para decodificação. As informações de depuração desse problema estão disponíveis em. Solucionar problemas de criptografia de destinatários anônimos
Etapa 7: Execute o fluxo de trabalho e visualize os resultados
Para executar o fluxo de trabalho, você se conecta ao servidor do Transfer Family com o usuário criado na Etapa 3. Em seguida, é possível pesquisar no bucket do Amazon S3 que você especificou na Etapa 2.5, configurar os parâmetros de destino para ver o arquivo descriptografado.
Para executar o fluxo de trabalho de descriptografia
-
Abra um terminal de comando.
-
Execute o seguinte comando, substituindo
pelo seu endpoint real eyour-endpointpela chave privada SSH do seu usuário:transfer-keysftp -itransfer-keydecrypt-user@your-endpointPor exemplo, se a chave privada estiver armazenada em
~/.ssh/decrypt-usere seu endpoint fors-11112222333344445.server.transfer.us-east-2.amazonaws.com, o comando será o seguinte:sftp -i ~/.ssh/decrypt-user decrypt-user@s-11112222333344445.server.transfer.us-east-2.amazonaws.com -
Execute o comando
pwd. Se tiver êxito, o comando retornará o seguinte:Remote working directory: /amzn-s3-demo-bucket/decrypt-userSeu diretório reflete o nome do seu bucket do Amazon S3.
-
Execute o seguinte comando para fazer upload do arquivo e acionar o fluxo de trabalho para ser executado:
put testfile.txt.gpg -
Como destino dos arquivos descriptografados, você especificou a pasta
decrypted-files/ao criar o fluxo de trabalho. Agora, é possível navegar até essa pasta e listar o conteúdo.cd ../decrypted-files/ lsSe for bem-sucedido, o comando
lslistará o arquivotestfile.txt. É possível fazer download desse arquivo e verificar se ele é igual ao arquivo original que você criptografou anteriormente.