Práticas recomendadas de segurança para buckets de diretório - Amazon Simple Storage Service

Práticas recomendadas de segurança para buckets de diretório

Há uma série de recursos de segurança a serem considerados ao trabalhar com buckets de diretório. As melhores práticas a seguir são diretrizes gerais e não representam uma solução completa de segurança. Como essas práticas recomendadas podem não ser adequadas ou suficientes para o seu ambiente, trate-as como recomendações úteis em vez de requisitos.

Configurações padrão das funcionalidades Bloqueio de Acesso Público e Propriedade de Objetos

Os buckets de diretório oferecem suporte às funcionalidades Bloqueio de Acesso Público do S3 e Propriedade de Objetos do S3. Esses recursos do S3 são usados para auditoria e gerenciamento de acesso aos buckets e objetos.

Por padrão, todas as configurações da funcionalidade Bloqueio de Acesso Público são habilitadas para buckets de diretório. Além disso, a funcionalidade Propriedade de Objetos está definida como Imposto pelo proprietário do bucket, o que significa que as listas de controle de acesso (ACLs) estão desabilitadas. Essas configurações não podem ser modificadas. Para obter mais informações sobre esses recursos, consulte Bloquear o acesso público ao armazenamento do Amazon S3 e Controlar a propriedade de objetos e desabilitar ACLs para seu bucket.

nota

Você não pode conceder acesso a objetos armazenados em buckets de diretório. Você pode conceder acesso somente aos seus buckets de diretório. O modelo de autorização para a classe S3 Express One Zone é diferente do modelo de autorização para o Amazon S3. Para ter mais informações, consulte Autorizar operações de API de endpoint zonal com CreateSession.

Autenticação e autorização

Os mecanismos de autenticação e autorização para buckets de diretório diferem, conforme você faz solicitações a operações de API de endpoint zonal ou operações de API de endpoint regional. As operações de API zonais são operações em nível de objeto (plano de dados). As operações de API regionais são operações em nível de bucket (ambiente de gerenciamento).

Você autentica e autoriza solicitações para as operações de API de endpoint zonal por meio de um novo mecanismo baseado em sessão que é otimizado para fornecer a menor latência. Com a autenticação baseada em sessão, os SDKs da AWS usam a operação de API CreateSession para solicitar credenciais temporárias que fornecem acesso de baixa latência ao bucket de diretório. Essas credenciais temporárias têm como escopo um bucket de diretório específico e expiram depois de 5 minutos. Você pode usar essas credenciais temporárias para assinar chamadas de API zonais (nível de objeto). Para ter mais informações, consulte Autorizar operações de API de endpoint zonal com CreateSession.

Assinar solicitações com credenciais para gerenciamento de buckets de diretório

Use credenciais da classe para assinar solicitações de API de endpoint zonal (nível do objeto) com o AWS Signature Version 4, usando s3express como nome de serviço. Ao assinar as solicitações, use a chave secreta retornada por CreateSession e também forneça o token de sessão com x-amzn-s3session-token header. Para obter mais informações, consulte CreateSession.

Os AWS SDKs compatíveis gerenciam as credenciais e a assinatura em seu nome. Recomendamos usar os AWS SDKs para atualizar as credenciais e assinar solicitações para você.

Assinar solicitações com credenciais do IAM

Todas as chamadas de API regionais (nível de bucket) devem ser autenticadas e assinadas por credenciais do AWS Identity and Access Management (IAM) em vez de credenciais temporárias de sessão. As credenciais do IAM consistem no ID da chave de acesso e na chave de acesso secreta para as identidades do IAM. Todas as solicitações CopyObject e HeadBucket também devem ser autenticadas e assinadas usando credenciais do IAM.

Para alcançar a menor latência para as chamadas de operação zonal (nível do objeto), recomendamos usar as credenciais obtidas da chamada de CreateSession para assinar as solicitações, exceto para as solicitações de CopyObject e HeadBucket.

Usar o AWS CloudTrail

O AWS CloudTrail fornece um registro das ações executadas por um usuário, perfil ou AWS service (Serviço da AWS) no Amazon S3. É possível usar as informações coletadas pelo CloudTrail para determinar o seguinte:

  • A solicitação feita ao Amazon S3

  • O endereço IP do qual a solicitação foi feita.

  • Quem fez a solicitação.

  • Quando a solicitação foi feita

  • Detalhes adicionais sobre a solicitação

Quando você configura a Conta da AWS, os eventos de gerenciamento do CloudTrail são habilitados por padrão. As operações de API de endpoint regional a seguir (operações de API em nível de bucket ou ambiente de gerenciamento) são registradas em log no CloudTrail.

nota

ListMultipartUploads é uma operação de API de endpoint zonal. No entanto, ela é registrada no CloudTrail como um evento de gerenciamento. Para obter mais informações, consulte ListMultipartUploads na Referência da API do Amazon Simple Storage Service.

Por padrão, as trilhas do CloudTrail não registram eventos de dados, mas é possível configurar as trilhas para registrar eventos de dados para buckets de diretório especificados, ou para registrar eventos de dados para todos os buckets de diretório na sua conta AWS. As operações de API de endpoint zonal a seguir (operações de API em nível de objeto ou plano de dados) são registradas no CloudTrail.

Consulte mais informações sobre como usar o AWS CloudTrail com buckets de diretório em Logging with AWS CloudTrail for directory buckets.

Implementar o monitoramento usando as ferramentas de monitoramento da AWS

O monitoramento é uma parte importante para manter a confiabilidade, segurança, disponibilidade e performance do Amazon S3 e suas soluções da AWS. A AWS fornece várias ferramentas e serviços para ajudar a monitorar o Amazon S3 e outros Serviços da AWS. Por exemplo, é possível monitorar métricas do Amazon CloudWatch para o Amazon S3, particularmente as métricas de armazenamento BucketSizeBytes e NumberOfObjects.

Os objetos armazenados em buckets de diretório não serão refletidos nas métricas de armazenamento BucketSizeBytes e NumberOfObjects do Amazon S3. No entanto, as métricas de armazenamento BucketSizeBytes e NumberOfObjects são compatíveis com buckets de diretório. Para ver as métricas de sua escolha, você pode diferenciar entre as classes de armazenamento do Amazon S3 especificando uma dimensão StorageType. Para ter mais informações, consulte Monitoramento de métricas com o Amazon CloudWatch.

Para obter mais informações, consulte Monitoramento de métricas com o Amazon CloudWatch e Registrar em log e monitorar no Amazon S3.