

# SEC08-BP04 Aplicar controle de acesso
<a name="sec_protect_data_rest_access_control"></a>

 Para ajudar a proteger os dados em repouso, implemente o controle de acesso utilizando mecanismos como isolamento e versionamento. Aplique o privilégio mínimo e os controles de acesso condicional. Evite conceder acesso público aos seus dados. 

 **Resultado desejado:** você verifica se somente usuários autorizados podem acessar os dados com base na necessidade real de acesso. Você protege os dados com backups regulares e versionamento a fim de impedir a modificação ou exclusão de dados de maneira intencional ou acidental. Você isola os dados críticos dos outros dados a fim de proteger a confidencialidade e a integridade desses dados. 

**Práticas comuns que devem ser evitadas:**
+  Armazenar dados com requisitos de confidencialidade ou classificações diferentes juntos. 
+  Utilizar permissões excessivamente tolerantes em chaves de descriptografia. 
+  Classificar dados de modo inadequado. 
+  Não reter backups detalhados de dados importantes. 
+  Conceder acesso persistente a dados de produção. 
+  Não auditar o acesso aos dados nem rever as permissões regularmente.

**Nível de risco exposto se esta prática recomendada não for estabelecida:** Alto 

## Orientação para implementação
<a name="implementation-guidance"></a>

 Proteger dados em repouso é importante para manter a integridade, a confidencialidade e a conformidade dos dados com os requisitos normativos. Você pode implementar vários controles para ajudar a conseguir isso, incluindo controle de acesso, isolamento, acesso condicional e versionamento. 

 Você pode aplicar o controle de acesso com o princípio do privilégio mínimo, que fornece somente as permissões necessárias aos usuários e serviços para realizar suas tarefas. Isso inclui acesso às chaves de criptografia. Revise suas [políticas do AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) para verificar se o nível de acesso concedido é apropriado e se as condições relevantes se aplicam. 

 Você pode separar dados com base em diferentes níveis de classificação usando Contas da AWS distintas para cada nível e gerenciar essas contas usando o [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html). Esse isolamento pode ajudar a impedir o acesso não autorizado e minimizar o risco de exposição de dados. 

 Revise regularmente o nível de acesso concedido em políticas de bucket do S3. Evite buckets que possam ser lidos ou gravados publicamente, a menos que seja absolutamente necessário. Considere usar o [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) para detectar buckets disponíveis publicamente e o Amazon CloudFront para fornecer conteúdo do Amazon S3. Garanta que os buckets que não devem permitir acesso público sejam configurados adequadamente para evitá-lo. 

 Implemente mecanismos de versionamento e bloqueio de objetos para dados críticos armazenados no Amazon S3. [O versionamento do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html) preserva as versões anteriores dos objetos para recuperar dados de exclusões ou substituições acidentais. A funcionalidade [Bloqueio de Objetos do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html) fornece controle de acesso obrigatório para objetos, o que impede que eles sejam excluídos ou substituídos, mesmo pelo usuário-raiz, até que o bloqueio expire. Além disso, a [Trava de Segurança do Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html) oferece um recurso semelhante para arquivos armazenados no Amazon Glacier. 

### Etapas de implementação
<a name="implementation-steps"></a>

1.  **Imponha o controle de acesso com o princípio de privilégio mínimo**: 
   +  Analise as permissões de acesso concedidas aos usuários e serviços e verifique se eles têm somente as permissões necessárias para realizar suas tarefas. 
   +  Revise o acesso às chaves de criptografia verificando as [políticas do AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html). 

1.  **Separe dados com base em diferentes níveis de classificação**: 
   +  Use Contas da AWS distintas para cada nível de classificação de dados. 
   +  Gerencie essas contas usando o [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html). 

1.  **Revise as permissões de buckets e objetos do Amazon S3**: 
   +  Revise regularmente o nível de acesso concedido em políticas de bucket do S3. 
   +  Evite buckets que possam ser lidos ou gravados publicamente, a menos que seja absolutamente necessário. 
   +  Considere usar o [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) para detectar buckets disponíveis publicamente. 
   +  Use o Amazon CloudFront para fornecer conteúdo do Amazon S3. 
   +  Garanta que os buckets que não devem permitir acesso público sejam configurados adequadamente para evitá-lo. 
   +  Você pode aplicar o mesmo processo de revisão para bancos de dados e qualquer outra fonte de dados que use a autenticação do IAM, como SQS ou armazenamentos de dados de terceiros. 

1.  **Use o AWS IAM Access Analyzer**: 
   +  É possível usar o [AWS IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) para analisar buckets do Amazon S3 e gerar descobertas quando uma política do S3 concede acesso a uma entidade externa. 

1.  **Implemente mecanismos de versionamento e bloqueio de objetos**: 
   +  Use o [versionamento do Amazon S3 para preservar](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html) as versões anteriores dos objetos, o que permite a recuperação de exclusões ou substituições acidentais. 
   +  Use a funcionalidade [Bloqueio de Objetos do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html) para fornecer controle de acesso obrigatório para objetos, o que impede que eles sejam excluídos ou substituídos, mesmo pelo usuário-raiz, até que o bloqueio expire. 
   +  Use a [Trava de Segurança do Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html) para arquivos armazenados no Amazon Glacier. 

1.  **Use o Inventário Amazon S**: 
   +  Você pode usar o [Inventário Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) para auditar e gerar relatórios sobre o status de replicação e criptografia dos objetos do S3. 

1.  **Revise as permissões de compartilhamento do Amazon EBS e da AMI**: 
   +  Revise as permissões de compartilhamento para o [Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html) e para [compartilhamento de AMIs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharing-amis.html) a fim de verificar que as imagens e os volumes não são compartilhados com Contas da AWS externas à sua workload. 

1.  **Revise os compartilhamentos do AWS Resource Access Manager periodicamente**: 
   +  Você pode usar o [AWS Resource Access Manager](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html) para compartilhar recursos, como políticas do AWS Network Firewall, regras do Amazon Route 53 Resolver e sub-redes em suas Amazon VPCs. 
   +  Faça auditoria em recursos compartilhados regularmente e interrompa o compartilhamento dos que não precisam mais ser compartilhados. 

## Recursos
<a name="resources"></a>

 **Práticas recomendadas relacionadas:** 
+ [SEC03-BP01 Definir requisitos de acesso](sec_permissions_define.md) 
+  [SEC03-BP02 Conceder acesso de privilégio mínimo](sec_permissions_least_privileges.md) 

 **Documentos relacionados:** 
+  [AWS KMS Whitepaper Detalhes criptográficos do](https://docs.aws.amazon.com/kms/latest/cryptographic-details/intro.html) 
+  [Introdução ao gerenciamento de permissões de acesso aos recursos do Amazon S](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-managing-access-s3-resources.html) 
+  [Visão geral do gerenciamento de acesso a recursos do AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html) 
+  [Regras do AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) 
+  [Amazon S3 \+ Amazon CloudFront: uma combinação feita na nuvem](https://aws.amazon.com/blogs/networking-and-content-delivery/amazon-s3-amazon-cloudfront-a-match-made-in-the-cloud/) 
+  [Usar versionamento](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) 
+  [Bloquear objetos usando o bloqueio de objetos do Amazon S](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) 
+  [Compartilhar um snapshot do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html) 
+  [AMIs compartilhadas](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharing-amis.html) 
+  [Hospedar uma aplicação de página única no Amazon S3](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-a-react-based-single-page-application-to-amazon-s3-and-cloudfront.html) 
+  [AWS Chaves de condições globais da](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) 
+  [Como criar um perímetro de dados na AWS](https://docs.aws.amazon.com/whitepapers/latest/building-a-data-perimeter-on-aws/building-a-data-perimeter-on-aws.html) 

 **Vídeos relacionados:** 
+  [Como proteger seu armazenamento em bloco na AWS](https://youtu.be/Y1hE1Nkcxs8) 