← AWS Solutions Architect Professional: decisões complexas
22 / 25 · 90 MIN

S3: acesso, encriptação e retenção

Desenha acesso privado e prova que dados encriptados, replicados e retidos continuam utilizáveis pelo consumidor certo.

Separar ownership de autorização efetiva

Bucket owner enforced desativa ACLs e atribui ao proprietário do bucket o controlo dos objetos. Um upload com ACL incompatível pode falhar com AccessControlListNotSupported; dar s3:* não corrige um pedido incompatível com esse modo. Migra os acessos necessários para políticas e adapta o cliente para não enviar ACL ou usar a opção suportada. O escritor de outra conta não conserva acesso de leitura apenas por ter enviado o ficheiro. Valida cada identidade e operação, incluindo versões. Block Public Access acrescenta proteção, mas não concede acesso a aplicações autorizadas. S3 combina as configurações aplicáveis pela opção mais restritiva. Uma alteração apenas no bucket não anula um bloqueio efetivo da conta ou organização, e uma política que se tornou pública pode afetar acessos entre contas com RestrictPublicBuckets.

Desenhar o percurso e a autorização KMS

Um Deny condicionado a aws:SourceVpce pode impedir pedidos que não vêm pelo endpoint indicado, incluindo percursos de consola. Antes de aplicar, valida administração, recuperação e integrações necessárias; não confundas caminho privado com acesso concedido. Para SSE-KMS, PutObject precisa de GenerateDataKey, leitura precisa de Decrypt e multipart upload precisa de ambos, além das permissões S3 e condições aplicáveis. A chave deve estar na região do bucket. Se outra conta precisa de usar a chave, uma customer managed key permite configurar essa autorização; uma chave AWS managed não oferece a mesma administração de política. Usa ARN completo para evitar resolver um nome de alias na conta do chamador. Demonstra escrita e leitura com os principais reais e compara o erro concreto com a operação recusada.

Alterar encriptação sem inventar migração retroativa

A encriptação de base dos novos objetos não demonstra conformidade com um requisito interno de uma chave específica. Alterar a configuração por omissão também não reescreve objetos antigos. Faz inventário do modo e chave usados pelas versões relevantes e planeia a transformação necessária com validação e custo. S3 Bucket Keys reduzem chamadas KMS, mas usam o ARN do bucket como encryption context. Uma política limitada ao ARN de cada objeto precisa de revisão antes da mudança, preservando os limites de acesso pretendidos noutras camadas. Objetos existentes não adotam automaticamente Bucket Keys. Também deixam de existir eventos KMS na proporção de um por acesso ao objeto; planeia a evidência de acesso no serviço de dados. A otimização só deve ser aceite após testar consumidores e auditoria, sem assumir uma percentagem garantida de poupança.

Validar o objeto replicado, não apenas a configuração

Replicação de objetos SSE-KMS exige configuração explícita e permissões adequadas na origem e no destino. No caso simples sem Bucket Keys, a role precisa de Decrypt na chave de origem e Encrypt na chave de destino; os mecanismos com Bucket Keys acrescentam requisitos próprios. A chave de destino deve ser válida e regionalmente compatível. PutBucketReplication pode aceitar a configuração com HTTP 200 mesmo quando a chave indicada não permite uma replicação bem sucedida. Testa um objeto representativo e verifica estado, versão, encriptação e leitura pela role de recuperação. Chaves multi-Region não dispensam este fluxo em S3. No projeto fictício, copiar metadados e ver uma regra Enabled são evidências intermédias; a aceitação exige que o consumidor de recuperação leia o conjunto necessário dentro dos objetivos acordados.

Ler retenção por versão e manter dependências de leitura

Object Lock protege versões e exige Versioning. Nesta aula, os exercícios de prazo usam retenção fixa; a documentação atual também descreve retenção variável associada a eventos, que não se deve confundir com legal hold. Compliance não permite encurtar a retenção da versão protegida, nem ao root. Governance permite bypass com permissão específica e indicação explícita no pedido. Legal hold é independente e permanece até remoção autorizada; remover um hold não anula retenção ainda ativa. Um novo upload pode criar outra versão, e um delete marker pode ocultar a versão corrente sem eliminar os dados protegidos. Verifica versionId, prazo, modo e holds. Object Lock não preserva uma chave KMS eliminada: os dados podem permanecer imutáveis e tornar-se ilegíveis. A política de retenção precisa de manter também as dependências de recuperação.

Limitar partilha temporária e provar o acesso pretendido

Um presigned URL transporta autorização limitada pela operação e pelas permissões do signatário; quem o possui pode usá-lo nas condições válidas. Não é automaticamente de utilização única. Com credenciais temporárias, a sessão pode expirar antes do prazo pedido para o URL. Uma condição signatureAge pode impor um limite ainda mais curto. No modelo original, o URL pede duas horas, a sessão tem trinta minutos restantes e a política admite dez minutos de idade da assinatura. Sem outras restrições ou revogações, a nova utilização fica limitada pelos dez minutos; o exercício não gera um URL real. S3 verifica expiração no início do pedido, pelo que um download iniciado antes do fim pode continuar, mas um novo pedido após expiração falha. Evita registar URLs utilizáveis em tickets e mede a partilha com testes positivos e negativos apropriados.

requested_seconds = 2 * 60 * 60
credential_seconds_remaining = 30 * 60
policy_signature_age_seconds = 10 * 60
new_request_window_seconds = min(requested_seconds, credential_seconds_remaining, policy_signature_age_seconds)  # 600
# Original simplified time model: no earlier revocation or additional deny.
# Not a signed URL, AWS request, or complete authorization simulator.
NA PRÁTICA

Uma equipa fictícia ativa Bucket Keys e deixa de conseguir ler alguns ficheiros porque a política KMS exige o ARN do objeto no contexto. A mudança é revista com segurança, preservando limites entre aplicações e ensaiando objetos antigos e novos.

Armadilhas comuns

Abrir políticas para corrigir ACL incompatível; confundir encriptação por omissão com migração; aceitar replicação pelo HTTP 200; tratar retenção como garantia de leitura; presumir URL de utilização única.

Tópicos relacionados: KMS: autorização e ciclo de vida

Leva esta ideia contigo

A proteção só está demonstrada quando o consumidor certo lê a versão certa e os acessos indevidos continuam bloqueados.

Criar conta

Referência: S3 Object Ownership · SAP-C02

AWS é uma marca comercial da Amazon.com, Inc. ou das suas afiliadas. A dr.pt é uma plataforma de preparação independente e não está afiliada, associada, patrocinada, autorizada nem aprovada por AWS. Os conteúdos e as perguntas são originais, não são perguntas oficiais de exame, e concluir os nossos testes não atribui nem garante qualquer certificação. Os nomes são usados apenas para identificar o tema. Todas as outras marcas pertencem aos respetivos titulares.