URLs assinadas, cookies assinados e restrição geográfica
Restrinja o acesso a conteúdo premium usando URLs e cookies assinados e bloqueie usuários de países específicos com uma restrição geográfica.
URLs assinadas, cookies assinados e restrição geográfica é uma aula grátis de Cloud & IT Cert Prep no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cloud & IT Cert Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.
Restrição de acesso ao conteúdo do CloudFront
Por padrão, o CloudFront disponibiliza conteúdo para qualquer visualizador que conheça a URL. Para conteúdo premium ou privado — cursos em vídeo, downloads de software pago e recursos exclusivos para membros — você precisa restringir o acesso para que somente usuários autorizados possam recuperá-lo.
O CloudFront fornece dois mecanismos para acesso autorizado: URLs assinadas (uma URL concede acesso a um objeto específico) e cookies assinados (um conjunto de cookies concede acesso a vários objetos que correspondem a um padrão de caminho). Ambos usam assinaturas criptográficas geradas com um par de chaves RSA.
URLs assinadas do CloudFront
Uma URL assinada é uma URL do CloudFront que inclui uma assinatura criptográfica com um prazo de validade e, opcionalmente, uma restrição de endereço IP. A URL só é válida até o vencimento e somente a partir do IP permitido, se especificado. Após o vencimento, o CloudFront retorna 403 Forbidden.
As URLs assinadas são mais indicadas para: conceder a um único usuário acesso a um arquivo específico, como um relatório PDF gerado; disponibilizar links de download com validade limitada; ou quando o cliente não pode definir cookies, como em aplicativos móveis ou transmissões RTMP.
# Generate a signed URL using AWS CLI (requires a CloudFront key pair)
aws cloudfront sign \
--url https://d1234abcdef.cloudfront.net/premium/video.mp4 \
--key-pair-id APKA1234567890 \
--private-key file://private-key.pem \
--date-less-than 2026-06-21T00:00:00ZCookies assinados do CloudFront
Os cookies assinados funcionam de forma semelhante às URLs assinadas, mas concedem acesso a vários arquivos sem alterar cada URL. Após uma autenticação bem-sucedida, seu servidor gera três cookies (CloudFront-Policy, CloudFront-Signature, CloudFront-Key-Pair-Id) e os define na resposta enviada ao navegador. As solicitações subsequentes desse navegador ao CloudFront incluem os cookies, concedendo acesso a todo o conteúdo correspondente.
Os cookies assinados são mais indicados para: conceder a usuários autenticados acesso a uma seção premium inteira, como todos os vídeos em /members/*; ou quando não é possível controlar o formato da URL de cada recurso individual.
Grupos de chaves confiáveis
Para gerar assinaturas do CloudFront, é necessário um par de chaves do CloudFront. A abordagem moderna usa grupos de chaves confiáveis: crie um par de chaves RSA, carregue a chave pública no CloudFront, adicione-a a um grupo de chaves e associe o grupo de chaves ao comportamento de cache que exige acesso assinado.
A chave privada é armazenada com segurança, por exemplo, no Secrets Manager, no servidor que assina o conteúdo. Quando um usuário se autentica, o servidor usa a chave privada para assinar uma URL ou uma política de cookies. O CloudFront valida as assinaturas usando a chave pública correspondente no grupo de chaves confiável.
# Upload a public key to CloudFront
aws cloudfront create-public-key \
--public-key-config '{
"Name": "MySigningKey",
"EncodedKey": "-----BEGIN PUBLIC KEY-----\n...<key>...\n-----END PUBLIC KEY-----",
"CallerReference": "2026-06-20-key"
}'Políticas de URL assinada predefinidas e personalizadas
As URLs assinadas podem usar um de dois tipos de política:
- Política predefinida: forma mais simples — especifica apenas uma URL de recurso e um prazo de validade. A assinatura é compacta e fácil de gerar.
- Política personalizada: mais flexível — especifica a URL do recurso com curingas opcionais (
https://d123.cloudfront.net/videos/*), um horário inicial opcional (não antes de) e, opcionalmente, uma restrição de endereço IP. O JSON da política é codificado em Base64 na URL.
Use políticas predefinidas para links simples de um único arquivo; use políticas personalizadas quando precisar fazer correspondência de recursos com curingas ou de restrições baseadas em IP.
Restrição geográfica do CloudFront
A restrição geográfica, também chamada de restrição por localização geográfica, impede ou permite que o CloudFront disponibilize conteúdo com base no país do visitante. O CloudFront determina o país do visitante a partir do endereço IP, usando um banco de dados de geolocalização de terceiros.
Você configura a restrição geográfica por distribuição como uma lista de permissões, na qual somente os países listados podem acessar o conteúdo, ou como uma lista de bloqueios, na qual os países listados são bloqueados. Usuários em países restritos recebem uma resposta HTTP 403. A restrição geográfica é uma ferramenta abrangente: aplica-se à distribuição inteira, não a caminhos individuais.
# Enable geo-restriction: block two countries
aws cloudfront update-distribution \
--id EDFDVBD6EXAMPLE \
--distribution-config '{
...existing config...
"Restrictions": {
"GeoRestriction": {
"RestrictionType": "blacklist",
"Quantity": 2,
"Items": ["CN", "RU"]
}
}
}' \
--if-match ETVPDKIKX0DERRestrição geográfica do CloudFront versus geolocalização do Route 53
A restrição geográfica do CloudFront e o roteamento por geolocalização do Route 53 usam a geografia, mas têm finalidades diferentes:
- Restrição geográfica do CloudFront: bloqueia ou permite a disponibilização na borda do conteúdo na camada da CDN — retorna 403 para países bloqueados; aplica-se por distribuição
- Geolocalização do Route 53: roteia consultas DNS para endpoints diferentes, como servidores ou páginas diferentes, com base na geografia — não bloqueia o acesso, mas direciona para conteúdo ou infraestrutura diferentes
Use a restrição geográfica do CloudFront para controle de acesso, bloqueando países inteiros. Use a geolocalização do Route 53 para direcionar usuários a conteúdo ou infraestrutura adequados à região.
Combinação de URLs assinadas com S3 e OAC
Uma arquitetura completa de disponibilização de conteúdo privado:
- O bucket do S3 é privado, sem acesso público
- O CloudFront usa OAC, para que somente a distribuição possa ler do S3
- O comportamento de cache do conteúdo privado exige URLs ou cookies assinados, com um grupo de chaves confiável associado
- Seu servidor de aplicação autentica os usuários e emite URLs ou cookies assinados
- Os usuários acessam o conteúdo somente por meio de URLs assinadas do CloudFront com validade limitada
Mesmo que um usuário adivinhe ou compartilhe a URL do S3, o acesso será bloqueado. Mesmo que compartilhe a URL do CloudFront, ela expirará após o período configurado. Essa abordagem em camadas oferece defesa em profundidade para conteúdo digital.
Criptografia em nível de campo
A criptografia em nível de campo é um recurso avançado do CloudFront que permite criptografar campos de dados confidenciais em solicitações HTTP POST na borda, antes de encaminhá-las à origem. Mesmo que o servidor de origem seja comprometido, os campos criptografados, como números de cartão de crédito e SSNs, continuam ilegíveis sem a chave privada correspondente.
O CloudFront criptografa os campos especificados usando uma chave pública na borda. Somente o serviço de backend pretendido, com a chave privada correspondente, pode descriptografar os dados. A criptografia em nível de campo adiciona uma camada de proteção a um pipeline que já é protegido por TLS.
Padrão de controle de acesso baseado em token
Para aplicações dinâmicas que precisam de um controle de acesso detalhado, além do bloqueio por país, um padrão comum é o acesso baseado em token usando Lambda@Edge:
- O usuário se autentica com o Cognito ou com seu serviço de autenticação e recebe um JWT
- O usuário inclui o JWT como parâmetro de consulta ou cookie nas solicitações ao CloudFront
- A função Viewer-Request do Lambda@Edge valida a assinatura e as declarações do JWT
- Se for válido, o Lambda@Edge encaminha a solicitação à origem; se for inválido, retorna 401
Isso oferece um controle de acesso detalhado por usuário e por recurso inteiramente na borda do CloudFront, sem alcançar a origem para solicitações não autorizadas.
Resumo de casos de uso do mundo real
Padrões de cenários de prova sobre URLs e cookies assinados e restrição geográfica:
- 'Link de download com validade limitada para um arquivo comprado' → URL assinada com prazo de validade
- 'Usuários premium autenticados acessam todos os vídeos em /premium/*' → Cookies assinados com política de curinga
- 'Bloquear o acesso de usuários em países específicos devido a licenciamento' → Lista de bloqueios da restrição geográfica do CloudFront
- 'Disponibilizar conteúdo diferente para países diferentes' → Geolocalização do Route 53 + várias distribuições ou origens
- 'Proteger campos de cartão de crédito até mesmo contra administradores da origem' → Criptografia em nível de campo
Verificação rápida
Teste sua compreensão dos conceitos de AWS Solutions Architect (SAA-C03) desta lição.
Recapitulação da lição
Nesta lição, você aprendeu que: as URLs assinadas restringem o acesso a arquivos individuais com um prazo de validade e uma restrição de IP opcional; os cookies assinados concedem acesso a vários arquivos correspondentes a um padrão de caminho em uma única sessão autenticada; e a restrição geográfica bloqueia ou permite países inteiros no nível da distribuição do CloudFront. A seguir, exploraremos o CloudFront com WAF e Lambda@Edge.
Perguntas Frequentes
A aula “URLs assinadas, cookies assinados e restrição geográfica” é grátis?
Sim — o texto completo de “URLs assinadas, cookies assinados e restrição geográfica” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cloud & IT Cert Prep, atualize para CoddyKit PRO. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.
O que vou aprender em “URLs assinadas, cookies assinados e restrição geográfica”?
Restrinja o acesso a conteúdo premium usando URLs e cookies assinados e bloqueie usuários de países específicos com uma restrição geográfica. Você pratica Cloud & IT Cert Prep com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cloud & IT Cert Prep?
Nenhuma experiência prévia é necessária. Cloud & IT Cert Prep no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “URLs assinadas, cookies assinados e restrição geográfica”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cloud & IT Cert Prep?
Sim. Cada aula de Cloud & IT Cert Prep inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Distribuições e origens do CloudFront
- Comportamentos de cache e configurações de TTL
- URLs assinadas, cookies assinados e restrição geográfica
- CloudFront com WAF e Lambda@Edge