Criptografia de dados - AWS HealthImaging

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

Com AWS HealthImaging, você pode adicionar uma camada de segurança aos seus dados em repouso na nuvem, fornecendo recursos de criptografia escaláveis e eficientes. Isso inclui:

  • Recursos de criptografia de dados em repouso disponíveis na maioria AWS serviços

  • Opções flexíveis de gerenciamento de chaves, incluindo AWS Key Management Service, com o qual você pode escolher se deseja ter AWS gerencie as chaves de criptografia ou mantenha controle total sobre suas próprias chaves.

  • AWS de propriedade AWS KMS chaves de criptografia

  • Filas de mensagens criptografadas para a transmissão de dados confidenciais usando criptografia do lado do servidor () para a Amazon SSE SQS

Além disso, AWS permite APIs que você integre criptografia e proteção de dados com qualquer um dos serviços que você desenvolve ou implementa em um AWS meio ambiente.

Criar uma chave gerenciada pelo cliente

Você pode criar uma chave simétrica gerenciada pelo cliente usando o AWS Management Console ou o AWS KMS APIs. Para obter mais informações, consulte Criação de KMS chaves de criptografia simétricas no AWS Key Management Service Guia do desenvolvedor.

As políticas de chaves 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 chaves. Para obter mais informações, consulte Gerenciando o acesso às chaves gerenciadas pelo cliente no AWS Key Management Service Guia do desenvolvedor.

Para usar sua chave gerenciada pelo cliente com seus HealthImaging recursos, CreateGrant as operações kms: devem ser permitidas na política de chaves. Isso adiciona uma concessão a uma chave gerenciada pelo cliente que controla o acesso a uma KMS chave especificada, o que dá ao usuário acesso às operações de concessão HealthImaging necessárias. Para obter mais informações, consulte Subsídios em AWS KMS no AWS Key Management Service Guia do desenvolvedor.

Para usar sua KMS chave gerenciada pelo cliente com seus HealthImaging recursos, as seguintes API operações devem ser permitidas na política de chaves:

  • kms:DescribeKey fornece os principais detalhes gerenciados pelo cliente necessários para validar a chave. Isso é necessário para todas as operações.

  • kms:GenerateDataKey fornece acesso para criptografar recursos em repouso para todas as operações de gravação.

  • kms:Decrypt fornece acesso às operações de leitura ou pesquisa de recursos criptografados.

  • kms:ReEncrypt* fornece acesso para recriptografar recursos.

Veja a seguir um exemplo de declaração de política que permite ao usuário criar e interagir com um armazenamento de HealthImaging dados criptografado por essa chave:

{ "Sid": "Allow access to create data stores and perform CRUD and search in HealthImaging", "Effect": "Allow", "Principal": { "Service": [ "medical-imaging.amazonaws.com" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:kms-arn": "arn:aws:kms:us-east-1:123456789012:key/bec71d48-3462-4cdd-9514-77a7226e001f", "kms:EncryptionContext:aws:medical-imaging:datastoreId": "datastoreId" } } }

IAMPermissões necessárias para usar uma KMS chave gerenciada pelo cliente

Ao criar um armazenamento de dados com AWS KMS Com a criptografia habilitada usando uma KMS chave gerenciada pelo cliente, há permissões necessárias tanto para a política de chaves quanto para a IAM política do usuário ou função que está criando o armazenamento de HealthImaging dados.

Para obter mais informações sobre as principais políticas, consulte Habilitando IAM políticas no AWS Key Management Service Guia do desenvolvedor.

O IAM usuário, a IAM função ou AWS A conta que cria seus repositórios deve ter permissões para kms:CreateGrantkms:GenerateDataKey,kms:RetireGrant,kms:Decrypt, ekms:ReEncrypt*, além das permissões necessárias para AWS HealthImaging.

Como HealthImaging usa subsídios em AWS KMS

HealthImaging exige uma concessão para usar sua KMS chave gerenciada pelo cliente. Quando você cria um armazenamento de dados criptografado com uma KMS chave gerenciada pelo cliente, HealthImaging cria uma concessão em seu nome enviando uma CreateGrantsolicitação para AWS KMS. Subsídios em AWS KMS são usados para dar HealthImaging acesso a uma KMS chave em uma conta de cliente.

Os subsídios HealthImaging criados em seu nome não devem ser revogados ou retirados. Se você revogar ou retirar o subsídio que dá HealthImaging permissão para usar o AWS KMS chaves em sua conta, HealthImaging não consegue acessar esses dados, criptografar novos recursos de imagem enviados ao armazenamento de dados ou descriptografá-los quando são extraídos. Quando você revoga ou retira um subsídio HealthImaging, a alteração ocorre imediatamente. Para revogar direitos de acesso, você deve excluir o datastore em vez de revogar a concessão. Quando um armazenamento de dados é excluído, HealthImaging as concessões são retiradas em seu nome.

Monitoramento das suas chaves de criptografia para HealthImaging

Você pode usar CloudTrail para rastrear as solicitações HealthImaging enviadas para AWS KMS em seu nome ao usar uma KMS chave gerenciada pelo cliente. As entradas de registro no CloudTrail registro são exibidas medical-imaging.amazonaws.com no userAgent campo para distinguir claramente as solicitações feitas por HealthImaging.

Os exemplos a seguir são CloudTrail eventos para CreateGrantGenerateDataKey,Decrypt, e DescribeKey para monitorar AWS KMS operações chamadas por HealthImaging para acessar dados criptografados pela chave gerenciada pelo cliente.

A seguir, mostramos como usar CreateGrant HealthImaging para permitir o acesso a uma KMS chave fornecida pelo cliente, permitindo usar essa KMS chave HealthImaging para criptografar todos os dados do cliente em repouso.

Os usuários não precisam criar suas próprias concessões. HealthImaging cria uma concessão em seu nome enviando uma CreateGrant solicitação para AWS KMS. Subsídios em AWS KMS são usados para dar HealthImaging acesso a um AWS KMS chave em uma conta de cliente.

{ "Grants": [ { "Operations": [ "Decrypt", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "DescribeKey" ], "KeyId": "arn:aws:kms:us-west-2:824333766656:key/2fe3c119-792d-4b99-822f-b5841e1181d1", "Name": "0a74e6ad2aa84b74a22fcd3efac1eaa8", "RetiringPrincipal": "AWS Internal", "GranteePrincipal": "AWS Internal", "GrantId": "0da169eb18ffd3da8c0eebc9e74b3839573eb87e1e0dce893bb544a34e8fbaaf", "IssuingAccount": "AWS Internal", "CreationDate": 1685050229.0, "Constraints": { "EncryptionContextSubset": { "kms-arn": "arn:aws:kms:us-west-2:824333766656:key/2fe3c119-792d-4b99-822f-b5841e1181d1" } } }, { "Operations": [ "GenerateDataKey", "CreateGrant", "RetireGrant", "DescribeKey" ], "KeyId": "arn:aws:kms:us-west-2:824333766656:key/2fe3c119-792d-4b99-822f-b5841e1181d1", "Name": "2023-05-25T21:30:17", "RetiringPrincipal": "AWS Internal", "GranteePrincipal": "AWS Internal", "GrantId": "8229757abbb2019555ba64d200278cedac08e5a7147426536fcd1f4270040a31", "IssuingAccount": "AWS Internal", "CreationDate": 1685050217.0, } ] }

Os exemplos a seguir mostram como usar GenerateDataKey para garantir que o usuário tenha as permissões necessárias para criptografar dados antes de armazená-los.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-06-30T21:17:06Z", "mfaAuthenticated": "false" } }, "invokedBy": "medical-imaging.amazonaws.com" }, "eventTime": "2021-06-30T21:17:37Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-east-1", "sourceIPAddress": "medical-imaging.amazonaws.com", "userAgent": "medical-imaging.amazonaws.com", "requestParameters": { "keySpec": "AES_256", "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }

O exemplo a seguir mostra como HealthImaging chama a Decrypt operação para usar a chave de dados criptografada armazenada para acessar os dados criptografados.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-06-30T21:17:06Z", "mfaAuthenticated": "false" } }, "invokedBy": "medical-imaging.amazonaws.com" }, "eventTime": "2021-06-30T21:21:59Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "medical-imaging.amazonaws.com", "userAgent": "medical-imaging.amazonaws.com", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }

O exemplo a seguir mostra como HealthImaging usa a DescribeKey operação para verificar se o AWS KMS propriedade do cliente AWS KMS a chave está em um estado utilizável e ajuda o usuário a solucionar problemas se não estiver funcionando.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-07-01T18:36:14Z", "mfaAuthenticated": "false" } }, "invokedBy": "medical-imaging.amazonaws.com" }, "eventTime": "2021-07-01T18:36:36Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-east-1", "sourceIPAddress": "medical-imaging.amazonaws.com", "userAgent": "medical-imaging.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }

Saiba mais

Os recursos a seguir fornecem mais informações sobre criptografia de dados em repouso e estão localizados no AWS Key Management Service Guia do desenvolvedor.