Criptografia
O S3 Files oferece recursos abrangentes de criptografia para proteger dados em repouso e em trânsito.
Criptografia em repouso
O bucket do S3 é criptografado usando os mecanismos de criptografia do Amazon S3. Para ter informações sobre a criptografia de dados no S3, consulte Proteger dados com criptografia.
O S3 Files criptografa dados em repouso no sistema de arquivos do S3 usando criptografia do lado do servidor. A criptografia do lado do servidor é a criptografia de dados em seu destino pela aplicação ou serviço que os recebe. Em sistemas de arquivos do S3, os dados e os metadados são criptografados por padrão antes de serem gravados no armazenamento e são automaticamente descriptografados quando lidos. Esses processos são tratados de forma transparente pelo S3 Files para que você não precise modificar suas aplicações. Todos os dados em repouso no sistema de arquivos são criptografados com chaves do AWS Key Management Service (KMS) por meio de um dos seguintes métodos:
(Padrão) Criptografia do lado do servidor com chaves do KMS de propriedade da AWS (SSE-KMS)
Criptografia do lado do servidor com chaves do KMS gerenciadas pelo cliente (SSE-KMS-CMK)
Não há custos adicionais para o uso de chaves do AWS KMS. Para ter mais informações, consulte Chaves do AWS KMS no Guia do desenvolvedor do AWS Key Management Service e Preços do AWS KMS
Criptografia do lado do servidor com chaves do KMS de propriedade da AWS (SSE-KMS)
Essa é a chave padrão para criptografar dados em repouso no sistema de arquivos do S3. As chaves de propriedade da AWS são uma coleção de chaves do KMS que um serviço da AWS detém e gerencia. O S3 Files detém e gerencia a criptografia de dados e metadados em repouso no sistema de arquivos do S3 quando uma chave de propriedade da AWS é usada. Para ver mais detalhes sobre chaves de propriedade da AWS, acesse Chaves do AWS KMS.
Criptografia do lado do servidor com chaves do KMS gerenciadas pelo cliente (SSE-KMS-CMK)
Ao criar um sistema de arquivos, você pode optar por configurar uma chave do AWS Key Management Service (AWS KMS) gerenciada por você. Ao usar a criptografia SSE-KMS com um sistema de arquivos do S3, as chaves do AWS KMS devem estar na mesma região que o sistema de arquivos.
Políticas de chave do S3 Files para o AWS KMS
As políticas de chave são a principal forma de controlar o acesso às chaves gerenciadas pelo cliente. Para ter mais informações sobre políticas de chave, consulte Políticas de chave no AWS KMS no Guia do desenvolvedor do AWS Key Management Service. A seguinte lista descreve todas as permissões relacionadas ao AWS KMS que são aceitas pelo S3 Files para criptografar sistemas de arquivos em repouso:
- kms:Encrypt
(Opcional) Criptografa texto simples em texto cifrado. Essa permissão está incluída na política de chaves padrão.
- kms:Decrypt
(Obrigatória) Descriptografa texto cifrado. O texto cifrado é o texto não criptografado que já foi criptografado. Essa permissão está incluída na política de chaves padrão.
- kms:ReEncrypt
(Opcional) Criptografa dados do lado do servidor com uma nova chave gerenciada pelo cliente sem expor o texto simples dos dados do lado do cliente. Primeiro os dados são descriptografados e, depois, recriptografados. Essa permissão está incluída na política de chaves padrão.
- kms:GenerateDataKeyWithoutPlaintext
(Obrigatória) Exibe uma chave de criptografia de dados criptografada em uma chave gerenciada pelo cliente. Essa permissão está incluída na política de chave padrão, em kms:GenerateDataKey*.
- kms:CreateGrant
(Obrigatória) Adiciona uma concessão a uma chave para especificar quem pode usar a chave e em que condições. Concessões são mecanismos de permissão alternativos para políticas de chaves. Para ter mais informações sobre concessões, consulte Concessões no AWS KMS no Guia do desenvolvedor do AWS Key Management Service. Essa permissão está incluída na política de chaves padrão.
- kms:DescribeKey
(Obrigatória) Fornece informações detalhadas sobre a chave gerenciada pelo cliente especificada. Essa permissão está incluída na política de chaves padrão.
- kms:ListAliases
(Opcional) Lista todos os aliases de chave da conta. Quando você usa o console para criar um sistema de arquivos criptografado, essa permissão preenche a lista Selecionar chave mestra do KMS. Recomendamos usar essa permissão para proporcionar a melhor experiência do usuário. Essa permissão está incluída na política de chaves padrão.
Estados de chave e seus efeitos
O estado da chave do KMS afeta diretamente o acesso ao seu sistema de arquivos criptografado:
- Habilitado
Operação normal: acesso completo de leitura e gravação ao sistema de arquivos.
- Desabilitado
O sistema de arquivos fica inacessível depois de algum tempo. Pode ser reabilitado.
- Exclusão pendente
O sistema de arquivos fica inacessível. A exclusão pode ser cancelada durante o período de espera. Observe que depois de cancelar a exclusão da chave, a chave precisa ser movida para o estado habilitado.
- Excluído
Sistema de arquivos permanentemente inacessível. Essa ação não pode ser desfeita.
Atenção
Se você desabilitar ou excluir a chave do KMS usada para o sistema de arquivos ou revogar o acesso do S3 Files à chave, o sistema de arquivos ficará inacessível. Isso poderá ocasionar perda de dados se você não tiver backups. Sempre verifique se você tem procedimentos de backup adequados antes de fazer alterações nas chaves de criptografia.
Criptografia em trânsito
O S3 Files exige a criptografia de dados em trânsito por meio do Transport Layer Security (TLS). Quando o sistema de arquivos é montado por meio do auxiliar de montagem, todos os dados que trafegam entre o cliente e o sistema de arquivos são criptografados por meio do TLS. O auxiliar de montagem inicializa o processo efs-proxy para estabelecer uma conexão TLS segura com o sistema de arquivos. O auxiliar de montagem também cria um processo chamado amazon-efs-mount-watchdog, que monitora a integridade das montagens e é iniciado automaticamente na primeira vez em que um sistema de arquivos do S3 é montado. Ele garante que o processo efs-proxy de cada montagem esteja em execução e o interrompe quando o sistema de arquivos é desmontado. Se, por algum motivo, um processo for encerrado inesperadamente, o processo watchdog o reiniciará.
Veja abaixo como a criptografia TLS em trânsito funciona:
Uma conexão TLS segura é estabelecida entre o cliente e o sistema de arquivos.
Todo o tráfego NFS é direcionado por meio dessa conexão criptografada.
Os dados são criptografados antes da transmissão e descriptografados após o recebimento.
A criptografia de dados em trânsito alteração a configuração de clientes NFS. Ao inspecionar os sistemas de arquivos montados ativamente, você verá um sistema montado para 127.0.0.1 ou localhost, como no exemplo a seguir.
$ mount | column -t 127.0.0.1:/ on /home/ec2-user/s3files type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=20127,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)
O sistema de arquivos é montado por meio do auxiliar de montagem, que sempre criptografa os dados em trânsito por meio do TLS. Portanto, durante a montagem, o cliente NFS é reconfigurado para montagem em uma porta local.