Criptografia de dados em repouso para acesso AWS verificado - AWS Acesso verificado

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

Criptografia de dados em repouso para acesso AWS verificado

AWS O Verified Access criptografa dados em repouso por padrão, usando chaves KMS AWS próprias. Quando a criptografia de dados em repouso ocorre por padrão, ela ajuda a reduzir a sobrecarga operacional e a complexidade envolvidas na proteção de dados confidenciais. Ao mesmo tempo, ele permite que você crie aplicativos seguros que atendam aos rigorosos requisitos regulatórios e de conformidade de criptografia. As seções a seguir fornecem os detalhes de como o Acesso Verificado usa chaves KMS para criptografia de dados em repouso.

Acesso Verificado e chaves KMS

AWS chaves de propriedade

O Acesso Verificado usa chaves KMS para criptografar automaticamente as informações de identificação pessoal (PII). Isso acontece por padrão, e você não pode visualizar, gerenciar, usar ou auditar o uso das chaves de propriedade da AWS. No entanto, você não precisa fazer nenhum trabalho nem alterar nenhum programa para proteger as chaves que criptografam seus dados. Para obter mais informações, consulte AWS owned keys no Guia do Desenvolvedor do AWS Key Management Service .

Embora você não possa desabilitar essa camada de criptografia ou selecionar um tipo de criptografia alternativo, você pode adicionar uma segunda camada de criptografia sobre as chaves de criptografia de AWS propriedade existentes escolhendo uma chave gerenciada pelo cliente ao criar seus recursos de Acesso Verificado.

Chaves gerenciadas pelo cliente

O Acesso Verificado suporta o uso de chaves simétricas gerenciadas pelo cliente que você cria e gerencia para adicionar uma segunda camada de criptografia sobre a criptografia padrão existente. Como você tem controle total dessa camada de criptografia, você pode realizar tarefas como:

  • Estabelecer e manter as políticas de chave

  • Estabelecer e manter subsídios e IAM policies

  • Habilitar e desabilitar políticas de chaves

  • Alternar os materiais de criptografia de chave

  • Adicionar etiquetas

  • Criar réplicas de chaves

  • Chaves de agendamento para exclusão

Para obter mais informações, consulte Customer managed keys no Guia do desenvolvedor do AWS Key Management Service .

nota

O Acesso Verificado ativa automaticamente a criptografia em repouso usando chaves AWS próprias para proteger dados de identificação pessoal sem nenhum custo.

No entanto, AWS KMS cobranças serão aplicadas quando você usar uma chave gerenciada pelo cliente. Para obter mais informações sobre a definição de preço, consulte Definição de preço do AWS Key Management Service.

Informações de identificação pessoal

A tabela a seguir resume as informações de identificação pessoal (PII) que o Acesso Verificado usa e como elas são criptografadas.

Tipo de dados AWS criptografia de chave própria Criptografia de chave gerenciada pelo cliente (opcional)
Trust provider (user-type)

Os provedores de confiança do tipo usuário contêm opções de OIDC AuthorizationEndpoint, como,, UserInfoEndpoint ClientId, e assim por diante ClientSecret, que são consideradas PII.

Habilitada Habilitado
Trust provider (device-type)

Os provedores de confiança do tipo de dispositivo contêm um TenantId, que é considerado PII.

Habilitada Habilitado
Group policy

Fornecido durante a criação ou modificação do grupo de Acesso Verificado. Contém regras para autorizar solicitações de acesso. Pode conter PII, como nome de usuário e endereço de e-mail, etc.

Habilitada Habilitado
Endpoint policy

Fornecido durante a criação ou modificação do endpoint de Acesso Verificado. Contém regras para autorizar solicitações de acesso. Pode conter PII, como nome de usuário e endereço de e-mail, etc.

Habilitada Habilitado

Como o AWS Verified Access usa concessões em AWS KMS

O Acesso Verificado exige uma concessão para usar sua chave gerenciada pelo cliente.

Quando você cria recursos de Acesso Verificado criptografados com uma chave gerenciada pelo cliente, o Acesso Verificado cria uma concessão em seu nome enviando uma CreateGrantsolicitação para AWS KMS. As concessões AWS KMS são usadas para dar ao Acesso Verificado o acesso a uma chave gerenciada pelo cliente em sua conta.

O Acesso Verificado exige a concessão para usar sua chave gerenciada pelo cliente para as seguintes operações internas:

É possível revogar o acesso à concessão, ou remover o acesso do serviço à chave gerenciada pelo cliente a qualquer momento. Se você fizer isso, o Acesso Verificado não poderá acessar nenhum dos dados criptografados pela chave gerenciada pelo cliente, o que afetará as operações que dependam desses dados.

Usar chaves gerenciadas pelo cliente com Acesso Verificado

Você pode criar uma chave simétrica gerenciada pelo cliente usando o AWS Management Console, ou o. AWS KMS APIs Siga as etapas para criar uma chave de criptografia simétrica no Guia do AWS Key Management Service desenvolvedor.

Políticas de chaves

As principais políticas controlam o acesso à chave gerenciada pelo cliente. Cada chave gerenciada pelo cliente deve ter exatamente uma política de chaves, que contém declarações que determinam quem pode usar a chave e como pode usá-la. Ao criar a chave gerenciada pelo cliente, é possível especificar uma política de chave. Para obter mais informações, consulte Políticas principais no Guia do AWS Key Management Service desenvolvedor.

Para usar a chave gerenciada pelo cliente com seus recursos de Acesso Verificado, as seguintes operações de API do devem ser permitidas na política de chaves:

  • kms:CreateGrant: adiciona uma concessão a uma chave gerenciada pelo cliente. Concede acesso de controle a uma chave KMS especificada, que permite o acesso às operações de concessão exigidas pelo Acesso Verificado. Para obter mais informações, consulte Concessões, no Guia do AWS Key Management Service desenvolvedor.

    Isso permite que o Acesso Verificado faça o seguinte:

    • Ligue GenerateDataKeyWithoutPlainText para gerar uma chave de dados criptografada e armazená-la, porque a chave de dados não é usada imediatamente para criptografar.

    • Ligar para Decrypt para usar a chave de dados criptografada armazenada para acessar os dados criptografados.

    • Configure uma entidade principal aposentada para permitir que o serviço para RetireGrant.

  • kms:DescribeKey : fornece os principais detalhes gerenciados pelo cliente para permitir que o serviço valide a chave.

  • kms:GenerateDataKey: permite que o Acesso Verificado use a chave para criptografar dados.

  • kms:Decrypt: permita que o Acesso Verificado descriptografe as chaves de dados criptografadas.

Veja a seguir um exemplo de política de chaves que você pode usar para Acesso Verificado.

"Statement" : [ { "Sid" : "Allow access to principals authorized to use Verified Access", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : [ "kms:DescribeKey", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource" : "*", "Condition" : { "StringEquals" : { "kms:ViaService" : "verified-access.region.amazonaws.com", "kms:CallerAccount" : "111122223333" } }, { "Sid": "Allow access for key administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action" : [ "kms:*" ], "Resource": "arn:aws:kms:region:111122223333:key/key_ID" }, { "Sid" : "Allow read-only access to key metadata to the account", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : [ "kms:Describe*", "kms:Get*", "kms:List*", "kms:RevokeGrant" ], "Resource" : "*" } ]

Para obter mais informações, consulte Criação de uma política de chaves e solução de problemas de acesso por chave no Guia do AWS Key Management Service desenvolvedor.

Especificação de uma chave gerenciada pelo cliente para recursos de Acesso Verificado

Você pode especificar uma chave gerenciada pelo cliente para fornecer uma segunda camada de criptografia para os seguintes recursos:

Ao criar qualquer um desses recursos usando o AWS Management Console, você pode especificar uma chave gerenciada pelo cliente na seção Criptografia adicional -- opcional. Durante o processo, marque a caixa de seleção Personalizar configurações de criptografia (avançadas) e insira a ID da AWS KMS chave que você deseja usar. Isso também pode ser feito ao modificar um recurso existente ou usando o AWS CLI.

nota

Se a chave gerenciada pelo cliente usada para adicionar criptografia a qualquer um dos recursos acima for perdida, os valores de configuração dos recursos não estarão mais acessíveis. No entanto, os recursos podem ser modificados usando o AWS Management Console ou AWS CLI, para aplicar uma nova chave gerenciada pelo cliente e redefinir os valores de configuração.

AWS Contexto de criptografia de acesso verificado

Um contexto de criptografia é um conjunto opcional de pares de valores-chave que contêm informações contextuais adicionais sobre os dados. AWS KMS usa o contexto de criptografia como dados autenticados adicionais para oferecer suporte à criptografia autenticada. Quando você inclui um contexto de criptografia em uma solicitação para criptografar dados, AWS KMS vincula o contexto de criptografia aos dados criptografados. Para descriptografar os dados, você inclui o mesmo contexto de criptografia na solicitação.

AWS Contexto de criptografia de acesso verificado

O Verified Access usa o mesmo contexto de criptografia em todas as operações AWS KMS criptográficas, onde a chave está aws:verified-access:arn e o valor é o recurso Amazon Resource Name (ARN). Abaixo estão os contextos de criptografia dos recursos de Acesso Verificado.

Provedor confiável de Acesso Verificado

"encryptionContext": { "aws:verified-access:arn": "arn:aws:ec2:region:111122223333:VerifiedAccessTrustProviderId" }

Grupo de Acesso Verificado

"encryptionContext": { "aws:verified-access:arn": "arn:aws:ec2:region:111122223333:VerifiedAccessGroupId" }

Endpoint de Acesso Verificado

"encryptionContext": { "aws:verified-access:arn": "arn:aws:ec2:region:111122223333:VerifiedAccessEndpointId" }

Monitorando suas chaves de criptografia para acesso AWS verificado

Ao usar uma chave KMS gerenciada pelo cliente com seus recursos de Acesso AWS Verificado, você pode usar AWS CloudTrailpara rastrear solicitações enviadas para as quais o Acesso Verificado envia. AWS KMS

Os exemplos a seguir são AWS CloudTrail eventos paraCreateGrant,, RetireGrantDecrypt, e DescribeKeyGenerateDataKey, que monitoram as operações do KMS chamadas pelo Verified Access para acessar dados criptografados pela chave KMS gerenciada pelo cliente:

CreateGrant

Quando você usa uma chave gerenciada pelo cliente para criptografar seus recursos, o Acesso Verificado envia uma CreateGrant solicitação em seu nome para acessar a chave em sua AWS conta. A concessão que o Acesso Verificado cria é específica para o recurso associado à chave gerenciada pelo cliente.

O evento de exemplo a seguir registra a operação CreateGrant:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-09-11T16:27:12Z", "mfaAuthenticated": "false" } }, "invokedBy": "verified-access.amazonaws.com" }, "eventTime": "2023-09-11T16:41:42Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "ca-central-1", "sourceIPAddress": "verified-access.amazonaws.com", "userAgent": "verified-access.amazonaws.com", "requestParameters": { "operations": [ "Decrypt", "RetireGrant", "GenerateDataKey" ], "keyId": "arn:aws:kms:ca-central-1:111122223333:key/5ed79e7f-88c9-420c-ae1a-61ee87104dae", "constraints": { "encryptionContextSubset": { "aws:verified-access:arn": "arn:aws:ec2:ca-central-1:111122223333:verified-access-trust-provider/vatp-0e54f581e2e5c97a2" } }, "granteePrincipal": "verified-access.ca-central-1.amazonaws.com", "retiringPrincipal": "verified-access.ca-central-1.amazonaws.com" }, "responseElements": { "grantId": "e5a050fff9893ba1c43f83fddf61e5f9988f579beaadd6d4ad6d1df07df6048f", "keyId": "arn:aws:kms:ca-central-1:111122223333:key/5ed79e7f-88c9-420c-ae1a-61ee87104dae" }, "requestID": "0faa837e-5c69-4189-9736-3957278e6444", "eventID": "1b6dd8b8-cbee-4a83-9b9d-d95fa5f6fd08", "readOnly": false, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:ca-central-1:111122223333:key/5ed79e7f-88c9-420c-ae1a-61ee87104dae" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
RetireGrant

O Acesso Verificado usa a RetireGrant operação para remover uma concessão quando você exclui um recurso.

O evento de exemplo a seguir registra a operação RetireGrant:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-09-11T16:42:33Z", "mfaAuthenticated": "false" } }, "invokedBy": "verified-access.amazonaws.com" }, "eventTime": "2023-09-11T16:47:53Z", "eventSource": "kms.amazonaws.com", "eventName": "RetireGrant", "awsRegion": "ca-central-1", "sourceIPAddress": "verified-access.amazonaws.com", "userAgent": "verified-access.amazonaws.com", "requestParameters": null, "responseElements": { "keyId": "arn:aws:kms:ca-central-1:111122223333:key/5ed79e7f-88c9-420c-ae1a-61ee87104dae" }, "additionalEventData": { "grantId": "b35e66f9bacb266cec214fcaa353c9cf750785e28773e61ba6f434d8c5c7632f" }, "requestID": "7d4a31c2-d426-434b-8f86-336532a70462", "eventID": "17edc343-f25b-43d4-bbff-150d8fff4cf8", "readOnly": false, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:ca-central-1:111122223333:key/5ed79e7f-88c9-420c-ae1a-61ee87104dae" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Decrypt

O Acesso Verificado chama a Decrypt operação para usar a chave de dados criptografada armazenada para acessar os dados criptografados.

O evento de exemplo a seguir registra a operação Decrypt:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-09-11T17:19:33Z", "mfaAuthenticated": "false" } }, "invokedBy": "verified-access.amazonaws.com" }, "eventTime": "2023-09-11T17:47:05Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "ca-central-1", "sourceIPAddress": "verified-access.amazonaws.com", "userAgent": "verified-access.amazonaws.com", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:ca-central-1:111122223333:key/380d006e-706a-464b-99c5-68768297114e", "encryptionContext": { "aws:verified-access:arn": "arn:aws:ec2:ca-central-1:111122223333:verified-access-trust-provider/vatp-00f20a4e455e9340f", "aws-crypto-public-key": "AkK+vi1W/acBKv7OR8p2DeUrA8EgpTffSrjBqNucODuBYhyZ3hlMuYYJz9x7CwQWZw==" } }, "responseElements": null, "requestID": "2e920fd3-f2f6-41b2-a5e7-2c2cb6f853a9", "eventID": "3329e0a3-bcfb-44cf-9813-8106d6eee31d", "readOnly": true, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:ca-central-1:111122223333:key/380d006e-706a-464b-99c5-68768297114e" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
DescribeKey

O Acesso Verificado usa a DescribeKey operação para verificar se a chave gerenciada pelo cliente associada ao seu recurso existe na conta e na região.

O evento de exemplo a seguir registra a operação DescribeKey:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-09-11T17:19:33Z", "mfaAuthenticated": "false" } }, "invokedBy": "verified-access.amazonaws.com" }, "eventTime": "2023-09-11T17:46:48Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "ca-central-1", "sourceIPAddress": "verified-access.amazonaws.com", "userAgent": "verified-access.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:ca-central-1:111122223333:key/380d006e-706a-464b-99c5-68768297114e" }, "responseElements": null, "requestID": "5b127082-6691-48fa-bfb0-4d40e1503636", "eventID": "ffcfc2bb-f94b-4c00-b6fb-feac77daff2a", "readOnly": true, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:ca-central-1:111122223333:key/380d006e-706a-464b-99c5-68768297114e" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
GenerateDataKey

O evento de exemplo a seguir registra a operação GenerateDataKey:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-09-11T17:19:33Z", "mfaAuthenticated": "false" } }, "invokedBy": "verified-access.amazonaws.com" }, "eventTime": "2023-09-11T17:46:49Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "ca-central-1", "sourceIPAddress": "verified-access.amazonaws.com", "userAgent": "verified-access.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:verified-access:arn": "arn:aws:ec2:ca-central-1:111122223333:verified-access-trust-provider/vatp-00f20a4e455e9340f", "aws-crypto-public-key": "A/ATGxaYatPUlOtM+l/mfDndkzHUmX5Hav+29IlIm+JRBKFuXf24ulztmOIsqFQliw==" }, "numberOfBytes": 32, "keyId": "arn:aws:kms:ca-central-1:111122223333:key/380d006e-706a-464b-99c5-68768297114e" }, "responseElements": null, "requestID": "06535808-7cce-4ae1-ab40-e3afbf158a43", "eventID": "1ce79601-5a5e-412c-90b3-978925036526", "readOnly": true, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:ca-central-1:111122223333:key/380d006e-706a-464b-99c5-68768297114e" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }