Proteção de dados em AWS AppFabric - AWS AppFabric

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 em AWS AppFabric

O modelo de responsabilidade AWS compartilhada modelo se aplica à proteção de dados em AWS AppFabric. 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. Você também é responsável pelas tarefas de configuração e gerenciamento de segurança dos Serviços da AWS que usa. Para obter mais informações sobre privacidade de dados, consulte Privacidade de dados FAQ. Para obter informações sobre proteção de dados na Europa, consulte o Modelo de Responsabilidade AWS Compartilhada e GDPR a postagem no blog AWS de segurança.

Para fins de proteção de dados, recomendamos que você proteja Conta da AWS as credenciais e configure usuários individuais com AWS IAM Identity Center ou AWS Identity and Access Management (IAM). Dessa maneira, cada usuário receberá apenas as permissões necessárias para cumprir suas obrigações de trabalho. Recomendamos também que você proteja seus dados das seguintes formas:

  • Use a autenticação multifator (MFA) com cada conta.

  • UseSSL/TLSpara se comunicar com AWS os recursos. Exigimos TLS 1,2 e recomendamos TLS 1,3.

  • Configure API e registre as atividades do usuário com AWS CloudTrail.

  • Use soluções de AWS criptografia, juntamente com todos os controles de segurança padrão Serviços da AWS.

  • Use serviços gerenciados de segurança avançada, como o Amazon Macie, que ajuda a localizar e proteger dados sigilosos armazenados no Amazon S3.

  • Se você precisar de FIPS 140-3 módulos criptográficos validados ao acessar AWS por meio de uma interface de linha de comando ou umaAPI, use um endpoint. FIPS Para obter mais informações sobre os FIPS endpoints disponíveis, consulte Federal Information Processing Standard (FIPS) 140-3.

É altamente recomendável que nunca sejam colocadas informações de identificação confidenciais, como endereços de e-mail dos seus clientes, em marcações ou campos de formato livre, como um campo Nome. Isso inclui quando você trabalha com AppFabric ou Serviços da AWS usa o console,API, AWS CLI, ou AWS SDKs. Quaisquer dados inseridos em tags ou campos de texto de formato livre usados para nomes podem ser usados para logs de faturamento ou de diagnóstico. Se você fornecer um URL para um servidor externo, é altamente recomendável que você não inclua informações de credenciais no URL para validar sua solicitação para esse servidor.

nota

Para obter mais informações sobre a proteção de dados no que se refere AppFabric à segurança, consulteProcessamento de dados.

Criptografia em repouso

AWS AppFabric oferece suporte à criptografia em repouso, um recurso de criptografia do lado do servidor que criptografa de AppFabric forma transparente todos os dados relacionados aos pacotes de aplicativos quando eles são mantidos no disco e os descriptografa quando você acessa os dados. Por padrão, AppFabric criptografa seus dados usando um Chave pertencente à AWS from AWS Key Management Service (AWS KMS). Você também pode optar por criptografar seus dados usando sua própria chave gerenciada pelo cliente em. AWS KMS

Quando você exclui um pacote de aplicativos, todos os seus metadados são excluídos permanentemente.

Criptografia em trânsito

Ao configurar um pacote de aplicativos, você pode escolher uma chave gerenciada pelo cliente Chave pertencente à AWS ou uma chave gerenciada pelo cliente. Ao coletar e normalizar os dados para a ingestão de um log de auditoria, AppFabric armazena dados temporariamente em um bucket intermediário do Amazon Simple Storage Service (Amazon S3) e os criptografa usando essa chave. Esse bucket intermediário é excluído após 30 dias em cumprimento a uma política de ciclo de vida de buckets.

AppFabric protege todos os dados em trânsito usando TLS 1.2 e assina API solicitações Serviços da AWS com o AWS Signature V4.

Gerenciamento de chaves

AppFabric suporta a criptografia de dados com uma chave gerenciada pelo cliente Chave pertencente à AWS ou com uma chave gerenciada pelo cliente. Recomendamos que você use uma chave gerenciada pelo cliente, pois ela dá controle total sobre seus dados criptografados. Quando você escolhe uma chave gerenciada pelo cliente, AppFabric anexa uma política de recursos à chave gerenciada pelo cliente que lhe concede acesso à chave gerenciada pelo cliente.

Chave gerenciada pelo cliente

Para criar uma chave gerenciada pelo cliente, siga as etapas para Criar KMS chaves de criptografia simétricas no Guia do AWS KMS desenvolvedor.

Política de chave

As políticas de chave 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 sobre como criar uma política de chave, consulte Criar uma política de chave no Guia do desenvolvedor do AWS KMS .

Para usar uma chave gerenciada pelo cliente com AppFabric, o usuário AWS Identity and Access Management (IAM) ou a função que está criando seus AppFabric recursos deve ter permissão para usar sua chave gerenciada pelo cliente. Recomendamos que você crie uma chave que use somente com AppFabric e adicione seus AppFabric usuários como usuários da chave. Essa abordagem limita o escopo do acesso aos seus dados. As permissões de que seus usuários precisam são as seguintes:

  • kms:DescribeKey

  • kms:CreateGrant

  • kms:GenerateDataKey

  • kms:Decrypt

O AWS KMS console orienta você na criação de uma chave com a política de chaves apropriada. Para obter mais informações sobre políticas de chave, consulte Políticas de chave no AWS KMS no Guia do desenvolvedor do AWS KMS .

Abaixo, um exemplo de uma política de chave que permite:

  • O controle Usuário raiz da conta da AWS total da chave.

  • Usuários autorizados a usar AppFabric para usar sua chave gerenciada pelo cliente com AppFabric.

  • Uma política de chave para a configuração de um pacote de aplicativos em us-east-1.

{ "Id": "key-consolepolicy-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Allow access for key administrators", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": ["kms:*"], "Resource": "arn:aws:kms:us-east-1: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": "*" }, { "Sid": "Allow access to principals authorized to use AWS AppFabric", "Effect": "Allow", "Principal": {"AWS": "IAM-role/user-creating-appfabric-resources"}, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant", "kms:ListAliases" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "appfabric.us-east-1.amazonaws.com", "kms:CallerAccount": "111122223333" } } } ] }

Como AppFabric usa subsídios em AWS KMS

AppFabric exige uma concessão para usar sua chave gerenciada pelo cliente. Para obter mais informações, consulte Concessões no AWS KMS no Guia do desenvolvedor AWS KMS .

Quando você cria um pacote de aplicativos, AppFabric cria uma concessão em seu nome enviando uma CreateGrant solicitação para AWS KMS. As concessões AWS KMS são usadas para dar AppFabric acesso a uma AWS KMS chave na conta do cliente. AppFabric exige que a concessão use sua chave gerenciada pelo cliente para as seguintes operações internas:

  • Envie GenerateDataKey solicitações AWS KMS para gerar chaves de dados criptografadas pela chave gerenciada pelo cliente.

  • Envie Decrypt solicitações AWS KMS para descriptografar as chaves de dados criptografadas para que elas possam ser usadas para criptografar seus dados e descriptografar tokens de acesso ao aplicativo em trânsito.

  • Envie Encrypt solicitações para AWS KMS criptografar tokens de acesso ao aplicativo em trânsito.

Veja a seguir um exemplo de concessão.

{ "KeyId": "arn:aws:kms:us-east-1:111122223333:key/ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "GrantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "Name": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "CreationDate": "2022-10-11T20:35:39+00:00", "GranteePrincipal": "appfabric.us-east-1.amazonaws.com", "RetiringPrincipal": "appfabric.us-east-1.amazonaws.com", "IssuingAccount": "arn:aws:iam::111122223333:root", "Operations": [ "Decrypt", "Encrypt", "GenerateDataKey" ], "Constraints": { "EncryptionContextSubset": { "appBundleArn": "arn:aws:fabric:us-east-1:111122223333:appbundle/ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE" } } },

Quando você exclui um pacote de aplicativos, AppFabric retira as concessões emitidas em sua chave gerenciada pelo cliente.

Monitorando suas chaves de criptografia para AppFabric

Ao usar chaves gerenciadas pelo AWS KMS cliente com AppFabric, você pode usar AWS CloudTrail registros para rastrear solicitações AppFabric enviadas para AWS KMS o.

Veja a seguir um exemplo de um CloudTrail evento registrado quando AppFabric usado CreateGrant para sua chave gerenciada pelo cliente.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser", "arn": "arn:aws:sts::111122223333:assumed-role/AssumedRole/SampleUser", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/AssumedRole", "accountId": "111122223333", "userName": "SampleUser" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-04-28T14:01:33Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-04-28T14:05:48Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-east-1", "sourceIPAddress": "appfabric.amazonaws.com", "userAgent": "appfabric.amazonaws.com", "requestParameters": { "granteePrincipal": "appfabric.us-east-1.amazonaws.com", "constraints": { "encryptionContextSubset": { "appBundleArn": "arn:aws:appfabric:us-east-1:111122223333:appbundle/ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE" } }, "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLEID", "retiringPrincipal": "appfabric.us-east-1.amazonaws.com", "operations": [ "Encrypt", "Decrypt", "GenerateDataKey" ] }, "responseElements": { "grantId": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "keyId": "arn:aws:kms:us-east-1:111122223333:key/KEY_ID" }, "additionalEventData": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "AWS Internal", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/key_ID" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_256_GCM_SHA384", "clientProvidedHostHeader": "kms.us-east-1.amazonaws.com" } }