Restricción del acceso a archivos - Amazon CloudFront

Restricción del acceso a archivos

Puede controlar el acceso de los usuarios al contenido privado de dos maneras:

Restricción del acceso a archivos en las cachés de CloudFront

Puede configurar CloudFront para que solicite que los usuarios accedan a los archivos mediante URL firmadas o cookies firmadas. Después, deberá desarrollar la aplicación para crear y distribuir URL firmadas para los usuarios autenticados o para enviar encabezados Set-Cookie que establecen cookies firmadas para usuarios autenticados. (También puede crear URL firmadas manualmente para ofrecer a unos pocos usuarios acceso largo plazo a un número reducido de archivos).

Si crea URL o cookies firmadas para controlar el acceso a sus archivos, puede especificar las siguientes restricciones:

  • La fecha y la hora de finalización, a partir de la cual la URL deja de ser válida.

  • La fecha y la hora a la que la URL pasa a ser válida (opcional).

  • La dirección IP o a un rango de direcciones IP de los equipos desde los que se puede obtener acceso a su contenido.

A una parte de una URL firmada o una cookie firmada se le aplica el algoritmo hash y se firma con la clave privada de un par de claves públicas-privadas. Cuando alguien utiliza una URL firmada o una cookie firmada para acceder a un archivo, CloudFront compara las partes firmadas y sin firmar de la URL o de la cookie. Si no coinciden, CloudFront no envía el archivo.

Debe utilizar RSA-SHA1 para firmar URL o cookies. CloudFront no acepta otros algoritmos.

Restricción del acceso a archivos en buckets de Amazon S3

Si lo desea, puede proteger el contenido de su bucket de Amazon S3 para que los usuarios puedan acceder a él a través de la distribución de CloudFront especificada, pero no puedan acceder directamente mediante las URL de Amazon S3. Esto evita que se eluda CloudFront y se use la URL de Amazon S3 para obtener el contenido cuyo acceso desea restringir. Este paso no es necesario para utilizar URL firmadas, pero recomendamos seguirlo.

Para solicitar que los usuarios accedan al contenido a través de URL de CloudFront, realice las siguientes tareas:

  • Conceder un permiso de control de acceso de origen de CloudFront para leer los archivos del bucket de S3.

  • Crear el control de acceso de origen y asociarlo con su distribución de CloudFront.

  • Quite a todos los demás el permiso para usar URL de Amazon S3 para leer los archivos.

Para obtener más información, consulte Restricción del acceso a un origen de Amazon Simple Storage Service.

Restricción del acceso a archivos en orígenes personalizados

Si utiliza un origen personalizado, tiene la opción de configurar encabezados personalizados para restringir el acceso. Para que CloudFront obtenga los archivos de un origen personalizado, debe ser posible el acceso de CloudFront a los archivos mediante una solicitud HTTP estándar (o HTTPS). Sin embargo, mediante el uso de encabezados personalizados, puede restringir aún más el acceso al contenido para que los usuarios puedan acceder al mismo solo a través de CloudFront, no directamente. Este paso no es necesario para utilizar URL firmadas, pero recomendamos seguirlo.

Para solicitar que los usuarios accedan al contenido a través de CloudFront, cambie la siguiente configuración de las distribuciones de CloudFront:

Encabezados personalizados de origen

Configure CloudFront para reenviar encabezados personalizados al origen. Consulte Configuración de CloudFront para agregar encabezados personalizados a solicitudes de origen.

Viewer Protocol Policy

Configure la distribución para solicitar a los lectores que utilicen HTTPS para acceder a CloudFront. Consulte Política de protocolo para lectores.

Origin Protocol Policy

Configure la distribución para solicitar a CloudFront que utilice el mismo protocolo que los lectores para reenviar solicitudes al origen. Consulte Protocolo (solo orígenes personalizados).

Después de haber realizado estos cambios, actualice la aplicación en el origen personalizado para aceptar solo solicitudes que incluyan los encabezados personalizados que ha configurado para que CloudFront los envíe.

La combinación de Viewer Protocol Policy (Política de protocolo del lector) y Origin Protocol Policy (Política de protocolo de origen) garantiza que los encabezados personalizados se cifren en tránsito. Sin embargo, le recomendamos realizar periódicamente las siguientes acciones para rotar los encabezados personalizados que CloudFront reenvía al origen:

  1. Actualice la distribución de CloudFront para comenzar a reenviar un nuevo encabezado al origen personalizado.

  2. Actualice la aplicación para aceptar el nuevo encabezado a modo de confirmación de que la solicitud proviene de CloudFront.

  3. Cuando las solicitudes ya no incluyan el encabezado que ha reemplazado, actualice la aplicación para que ya no acepte el encabezado anterior a modo de confirmación de que la solicitud proviene de CloudFront.