Estoy tratando de configurar Cloudflare para almacenar en caché imágenes de S3. Quiero ser lo más restrictivo (menos permisivo) posible al hacer esto. Supongo que necesito aceptar solicitudes de Cloudflare para leer mis imágenes S3. Quiero que se rechacen todas las demás solicitudes.
Seguí esta guía: https://support.cloudflare.com/hc/en-us/articles/360037983412-Configuring-an-Amazon-Web-Services-static-site-to-use-Cloudflare
No habilité el alojamiento de sitios web estáticos en mi depósito porque no es necesario para mi caso.
En los permisos de mi depósito, desactivé "Bloquear todo el acceso público" y desactivé temporalmente "Bloquear el acceso público a depósitos y objetos otorgados a través de nuevas políticas de punto de acceso o depósito público". Necesitaba hacer esto para agregar una política de depósito.
Desde el enlace de arriba, luego agregué una política de depósito que se parece a esto:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::www.example.com/*", "Condition": { "IpAddress": { "aws:SourceIp": [ <CLOUDFLARE_IP_0>, <CLOUDFLARE_IP_1>, <CLOUDFLARE_IP_2>, ... ] } } } ] }En este punto, apareció un mensaje en la consola de AWS que decía:
"Este depósito tiene acceso público Ha proporcionado acceso público a este depósito. Recomendamos enfáticamente que nunca otorgue ningún tipo de acceso público a su depósito S3".
Luego volví a activar "Bloquear el acceso público a depósitos y objetos otorgados a través de nuevas políticas de puntos de acceso o depósitos públicos" y desactivé "Bloquear el acceso público y entre cuentas a depósitos y objetos a través de cualquier depósito público o políticas de puntos de acceso".
En este punto, el comportamiento de la solicitud de imagen de S3 parece estar funcionando según lo previsto, pero no estoy seguro de haber configurado todo para que sea mínimamente permisivo, especialmente dado el mensaje de advertencia en la consola de AWS.
Dada mi descripción, ¿configuré correctamente las cosas en este depósito para aceptar solicitudes de lectura solo de Cloudflare y denegar todas las demás solicitudes? Quiero asegurarme de que se rechazarán las solicitudes de cualquier origen que no sea Cloudflare.
¡Suena bien! Si funciona desde CloudFlare, pero no desde otro lugar, entonces cumple con sus requisitos.
Esas advertencias de Block Public Access son intencionalmente aterradoras para hacer que las personas lo piensen dos veces antes de abrir sus cubos al mundo.
Su política está muy bien limitada solo a GetObject y solo a un rango limitado de direcciones IP.