Proteção de dados no Amazon VPC Lattice - Amazon VPC Lattice

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á.

Proteção de dados no Amazon VPC Lattice

O modelo de responsabilidade AWS compartilhada se aplica à proteção de dados no Amazon VPC Lattice. Conforme descrito neste modelo, AWS é responsável por proteger a infraestrutura global que executa todos os Nuvem AWS. Você é responsável por manter o controle sobre seu conteúdo hospedado nessa infraestrutura. Esse conteúdo inclui as tarefas de configuração e gerenciamento de segurança dos Serviços da AWS que você usa. Para obter mais informações sobre a privacidade de dados, consulte as Perguntas Frequentes sobre Privacidade de Dados.. Para obter mais informações sobre a proteção de dados na Europa, consulte a postagem do blog AWS Shared Responsibility Model and GDPR no Blog de segurança da AWS .

Criptografia em trânsito

O VPC Lattice é um serviço totalmente gerenciado que consiste em um ambiente de gerenciamento e um plano de dados. Cada ambiente serve a um propósito distinto no serviço. O ambiente de gerenciamento fornece as APIs administrativas usadas para criar, ler/descrever, atualizar, excluir e listar (CRUDL) recursos (p. ex., CreateService e UpdateService). As comunicações com o ambiente de gerenciamento do VPC Lattice são protegidas em trânsito por TLS. O plano de dados é a API Invoke do VPC Lattice, que fornece a interconexão entre os serviços. O TLS também criptografa as comunicações com o plano de dados do VPC Lattice. O conjunto de cifras e a versão do protocolo usam os padrões fornecidos pelo VPC Lattice e não são configuráveis. Para ter mais informações, consulte Receptores HTTPS para serviços VPC Lattice.

Criptografia em repouso

Por padrão, a criptografia de dados em repouso reduz a sobrecarga operacional e a complexidade envolvidas na proteção de dados confidenciais. Ao mesmo tempo, isso permite que você crie aplicações seguras que atendam aos rigorosos requisitos regulatórios e de conformidade de criptografia.

Criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3)

Quando você usa criptografia do lado do servidor com chaves gerenciadas do Amazon S3 (SSE-S3), cada objeto é criptografado com uma chave exclusiva. Como uma proteção adicional, ela criptografa a própria chave utilizando uma chave-raiz que alterna regularmente. A criptografia no lado do servidor do Amazon S3 usa uma das criptografias de bloco mais fortes disponíveis, o GCM padrão de criptografia avançada de 256 bits (AES-256), para criptografar seus dados. Sobre objetos criptografados antes do AES-GCM, o AES-CBC ainda é compatível com a descriptografia desses objetos. Para obter mais informações, consulte Como usar criptografia no lado do servidor com chaves de criptografia gerenciadas pelo Amazon S3 (SSE-S3).

Se você habilitar a criptografia do lado do servidor com chaves de criptografia gerenciadas pelo Amazon S3 (SSE-S3) para seu bucket do S3 para registros de acesso do VPC Lattice, AWS criptografará automaticamente cada arquivo de log de acesso antes de ser armazenado em seu bucket do S3. Para obter mais informações, consulte Registros enviados para o Amazon S3 no Guia CloudWatch do usuário da Amazon.

Criptografia do lado do servidor com AWS KMS chaves armazenadas em AWS KMS (SSE-KMS)

A criptografia do lado do servidor com AWS KMS chaves (SSE-KMS) é semelhante à SSE-S3, mas com alguns benefícios e cobranças adicionais pelo uso desse serviço. Há permissões separadas para o uso de uma AWS KMS chave que fornece proteção adicional contra o acesso não autorizado de seus objetos no Amazon S3. O SSE-KMS também fornece uma trilha de auditoria que mostra quando a chave do AWS KMS foi usada e por quem. Para obter mais informações, consulte Utilização da criptografia no lado do servidor com o AWS Key Management Service (SSE-KMS).

Criptografia e decodificação da chave privada do seu certificado

Seu certificado ACM e sua chave privada são criptografados com uma chave KMS AWS gerenciada que tem o alias aws/acm. Você pode ver o ID da chave com esse alias no AWS KMS console, em chaves AWS gerenciadas.

O VPC Lattice não acessa diretamente seus recursos do ACM. Ele usa o Gerenciador AWS de Conexões TLS para proteger e acessar as chaves privadas do seu certificado. Quando você usa seu certificado do ACM para criar um serviço VPC Lattice, o VPC Lattice associa seu certificado ao AWS TLS Connection Manager. Isso é feito criando uma concessão em AWS KMS relação à sua chave AWS gerenciada com o prefixo aws/acm. Uma concessão é um instrumento de política que permite que o TLS Connection Manager usem chaves do KMS em operações de criptografia. A concessão permite que a entidade principal autorizada (TLS Connection Manager) chame as operações de concessão especificadas na chave do KMS para decifrar a chave privada do seu certificado. Em seguida, o TLS Connection Manager usará o certificado e a chave privada descriptografada (texto simples) para estabelecer uma conexão segura (sessão SSL/TLS) com clientes de serviços do VPC Lattice. Quando o certificado for desassociado de um serviço VPC Lattice, a concessão será removida.

Se você quiser remover o acesso à chave KMS, recomendamos que você substitua ou exclua o certificado do serviço usando o AWS Management Console ou pelo update-service comando usando o. AWS CLI

Contexto de criptografia para o VPC Lattice

Um contexto de criptografia é um conjunto opcional de pares de valores-chave que contêm informações contextuais adicionais sobre para que sua chave privada pode ser usada. AWS KMS vincula o contexto de criptografia aos dados criptografados e os usa como dados autenticados adicionais para oferecer suporte à criptografia autenticada.

Quando suas chaves TLS são usadas com o VPC Lattice e o TLS Connection manager, o nome do seu serviço VPC Lattice é incluído no contexto de criptografia usado para criptografar sua chave em repouso. Você pode verificar para qual serviço VPC Lattice seu certificado e sua chave privada estão sendo usados, visualizando o contexto de criptografia em seus CloudTrail registros, conforme mostrado na próxima seção, ou examinando a guia Recursos associados no console do ACM.

Para descriptografar os dados, o mesmo contexto de criptografia é incluído na solicitação. O VPC Lattice usa o mesmo contexto de criptografia em todas as operações criptográficas do AWS KMS, onde a chave está aws:vpc-lattice:arn e o valor é o Amazon Resource Name (ARN) do serviço VPC Lattice.

O exemplo a seguir mostra o contexto de criptografia na saída de uma operação como CreateGrant:

"encryptionContextEquals": { "aws:acm:arn": "arn:aws:acm:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "aws:vpc-lattice:arn": "arn:aws:vpc-lattice:us-west-2:111122223333:service/svc-0b23c1234567890ab" }

Monitoramento das suas chaves de criptografia para o VPC Lattice

Quando você usa uma chave AWS gerenciada com seu serviço VPC Lattice, você pode usá-la AWS CloudTrailpara rastrear solicitações enviadas pela VPC Lattice. AWS KMS

CreateGrant

Quando você adiciona seu certificado do ACM a um serviço VPC Lattice, uma solicitação CreateGrant é enviada em seu nome para que o TLS Connection manager possa descriptografar a chave privada associada ao seu certificado do ACM.

Você pode ver a CreateGrant operação como um evento em CloudTrail >> Histórico CreateGrant de eventos>>.

Veja a seguir um exemplo de registro de CloudTrail evento no histórico de eventos da CreateGrant operação:

{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::111122223333:user/Alice", "accountId": "111122223333", "accessKeyId": "EXAMPLE_KEY_ID", "sessionContext": { "sessionIssuer": { "type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::111122223333:user/Alice", "accountId": "111122223333", "userName": "Alice" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-02-06T23:30:50Z", "mfaAuthenticated": "false" } }, "invokedBy": "acm.amazonaws.com" }, "eventTime": "2023-02-07T00:07:18Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "acm.amazonaws.com", "userAgent": "acm.amazonaws.com", "requestParameters": { "granteePrincipal": "tlsconnectionmanager.amazonaws.com", "keyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "operations": [ "Decrypt" ], "constraints": { "encryptionContextEquals": { "aws:acm:arn": "arn:aws:acm:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "aws:vpc-lattice:arn": "arn:aws:vpc-lattice:us-west-2:111122223333:service/svc-0b23c1234567890ab" } }, "retiringPrincipal": "acm.us-west-2.amazonaws.com" }, "responseElements": { "grantId": "f020fe75197b93991dc8491d6f19dd3cebb24ee62277a05914386724f3d48758", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "requestID": "ba178361-8ab6-4bdd-9aa2-0d1a44b2974a", "eventID": "8d449963-1120-4d0c-9479-f76de11ce609", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }

No exemplo de CreateGrant acima, você perceberá que a entidade principal beneficiária é o TLS Connection manager, e o contexto de criptografia tem o ARN do serviço VPC Lattice.

ListGrants

Você pode usar o ID da chave do KMS e o ID da conta para chamar a API ListGrants. Ela fornecerá uma lista de todas as concessões para a chave do KMS especificada. Para obter mais informações, consulte ListGrants.

Use o seguinte ListGrants comando no AWS CLI para ver os detalhes de todas as concessões:

aws kms list-grants —key-id your-kms-key-id

Sua saída deve ser semelhante a este exemplo:

{ "Grants": [ { "Operations": [ "Decrypt" ], "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Name": "IssuedThroughACM", "RetiringPrincipal": "acm.us-west-2.amazonaws.com", "GranteePrincipal": "tlsconnectionmanager.amazonaws.com", "GrantId": "f020fe75197b93991dc8491d6f19dd3cebb24ee62277a05914386724f3d48758", "IssuingAccount": "arn:aws:iam::111122223333:root", "CreationDate": "2023-02-06T23:30:50Z", "Constraints": { "encryptionContextEquals": { "aws:acm:arn": "arn:aws:acm:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "aws:vpc-lattice:arn": "arn:aws:vpc-lattice:us-west-2:111122223333:service/svc-0b23c1234567890ab" } } } ] }

No exemplo de ListGrants acima, você perceberá que a entidade principal beneficiária é o TLS Connection manager, e o contexto de criptografia tem o ARN do serviço VPC Lattice.

Decrypt

O VPC Lattice usa o TLS Connection manager para chamar a operação Decrypt para descriptografar sua chave privada a fim de atender conexões TLS em seu serviço VPC Lattice. Você pode ver a Decrypt operação como um evento em CloudTrail >> Histórico de eventos >> Decrypt.

Veja a seguir um exemplo de registro de CloudTrail evento no histórico de eventos da Decrypt operação:

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "tlsconnectionmanager.amazonaws.com" }, "eventTime": "2023-02-07T00:07:23Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "tlsconnectionmanager.amazonaws.com", "userAgent": "tlsconnectionmanager.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:acm:arn": "arn:aws:acm:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "aws:vpc-lattice:arn": "arn:aws:vpc-lattice:us-west-2:111122223333:service/svc-0b23c1234567890ab" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "12345126-30d5-4b28-98b9-9153da559963", "eventID": "abcde202-ba1a-467c-b4ba-f729d45ae521", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "abcde202-ba1a-467c-b4ba-f729d45ae521", "eventCategory": "Management" }