Proteção de dados no Amazon Kinesis Data Firehose - Amazon Kinesis Data Firehose

Proteção de dados no Amazon Kinesis Data Firehose

O Kinesis Data Firehose criptografa todos os dados em trânsito usando o protocolo TLS. Além disso, quando os dados são armazenados em armazenamento provisório durante o processamento, o Kinesis Data Firehose os criptografa usando o AWS Key Management Service e verifica sua integridade usando a soma de verificação.

Se você tiver dados confidenciais, poderá habilitar a criptografia de dados no lado do servidor ao usar o Amazon Kinesis Data Firehose. Como fazer isso depende da fonte dos seus dados.

nota

Se você precisar de módulos criptográficos validados pelo FIPS 140-2 ao acessar a AWS por meio de uma interface de linha de comando ou uma API, use um endpoint do FIPS. Para ter mais informações sobre endpoints do FIPS, consulte Federal Information Processing Standard (FIPS) 140-2.

Criptografia no lado do servidor tendo o Kinesis Data Streams como fonte de dados

Quando você configura um fluxo de dados do Kinesis como fonte de dados de um fluxo de entrega do Kinesis Data Firehose, esse serviço não armazena mais os dados em repouso. Em vez disso, os dados são armazenados no fluxo de dados.

Quando você envia dados dos produtores de dados para o fluxo de dados, o Kinesis Data Streams criptografa os dados usando uma chave do AWS Key Management Service (AWS KMS) antes de armazená-los em repouso. Quando o fluxo de entrega do Kinesis Data Firehose lê os dados do fluxo de dados, o Kinesis Data Streams primeiro descriptografa os dados e depois os envia ao Kinesis Data Firehose. O Kinesis Data Firehose armazena os dados na memória com base nas sugestões de armazenamento em buffer que você especifica. Em seguida, entrega-o aos destinos sem armazenar os dados não criptografados em repouso.

Para obter informações sobre como habilitar a criptografia no lado do servidor para o Kinesis Data Streams, consulte Using Server-Side Encryption no Amazon Kinesis Data Streams Developer Guide.

Criptografia do lado do servidor com Direct PUT ou outras fontes de dados

Se você enviar dados para o fluxo de entrega usando PutRecord ou PutRecordBatch, ou se enviar os dados usando a AWS IoT, o Amazon CloudWatch Logs ou o CloudWatch Events, poderá ativar a criptografia no lado do servidor usando a operação StartDeliveryStreamEncryption.

Para interromper a criptografia do lado do servidor, use a operação StopDeliveryStreamEncryption.

Também é possível habilitar a SSE ao criar o fluxo de entrega. Para fazer isso, especifique DeliveryStreamEncryptionConfigurationInput ao chamar CreateDeliveryStream.

Quando a CMK é do tipo CUSTOMER_MANAGED_CMK, se o serviço Amazon Kinesis Data Firehose não conseguir descriptografar os registros devido a uma KMSNotFoundException, KMSInvalidStateException, KMSDisabledException ou KMSAccessDeniedException, o serviço aguardará até 24 horas (o período de retenção) para você resolver o problema. Se o problema persistir depois do período de retenção, o serviço ignorará os registros que passaram pelo período de retenção e não puderam ser descriptografados, e descartará os dados. O Amazon Kinesis Data Firehose fornece estas quatro métricas do CloudWatch que você pode usar para rastrear as quatro exceções do AWS KMS:

  • KMSKeyAccessDenied

  • KMSKeyDisabled

  • KMSKeyInvalidState

  • KMSKeyNotFound

Para obter mais informações sobre essas quatro métricas, consulte Monitorar o Kinesis Data Firehose usando métricas do CloudWatch.

Importante

Para criptografar o fluxo de entrega, use CMKs simétricas. O Kinesis Data Firehose não oferece suporte a CMKs assimétricas. Para obter informações sobre CMKs simétricas e assimétricas, consulte Sobre CMKs simétricas e assimétricas no guia do desenvolvedor do AWS Key Management Service.