Uso de URL firmadas - Amazon CloudFront

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de URL firmadas

Una URL firmada incluye información adicional, por ejemplo, una fecha y hora de vencimiento, lo que permite un mayor control sobre el acceso a su contenido. Esta información adicional aparece en una instrucción de política basada en una política predefinida o personalizada. Las diferencias entre las políticas personalizadas y las predefinidas se explican en las próximas dos secciones.

nota

Puede crear algunas URL firmadas con políticas predefinidas y crear otras con políticas personalizadas para la misma distribución.

Elegir entre políticas predefinidas y personalizadas para URL firmadas

Al crear una URL firmada, se escribe una instrucción de política en formato JSON que especifica las restricciones en la URL firmada, por ejemplo, el tiempo de validez de la URL. Puede utilizar una política predefinida o personalizada. A continuación, se presenta una comparación entre las políticas predefinidas y las personalizadas:

Descripción Política predefinida Política personalizada

Puede reutilizar la instrucción de la política con varios archivos. Para reutilizar la instrucción de política, debe utilizar caracteres comodín en el objeto Resource. Para obtener más información, consulte Valores que se especifican en la instrucción de política de una URL firmada que utiliza una política personalizada).

No

Puede especificar la fecha y la hora a la que los usuarios pueden empezar a obtener acceso a su contenido.

No

Sí (opcional)

Puede especificar la fecha y la hora a la que los usuarios dejan de obtener acceso a su contenido.

Puede especificar la dirección IP o a un rango de direcciones IP de los usuarios que pueden obtener acceso a su contenido.

No

Sí (opcional)

La URL firmada incluye una versión de la política con codificación de tipo base64, lo que resulta en una URL más larga.

No

Para obtener información acerca de cómo crear URL firmadas mediante una política predefinida, consulte Creación de una URL firmada mediante una política predefinida.

Para obtener información acerca de cómo crear URL firmadas mediante una política personalizada, consulte Creación de una URL firmada mediante una política personalizada.

Cómo funcionan las URL firmadas

A continuación, se ofrece información general sobre cómo configurar CloudFront Amazon S3 para las URL firmadas y cómo CloudFront responde cuando un usuario utiliza una URL firmada para solicitar un archivo.

  1. En su CloudFront distribución, especifique uno o más grupos de claves de confianza, que contienen las claves públicas que CloudFront puede utilizar para verificar la firma de la URL. Se utilizan las claves privadas correspondientes para firmar las URL.

    Para obtener más información, consulte Especificación de los signatarios que pueden crear URL firmadas y cookies firmadas.

  2. Desarrolle la aplicación para determinar si un usuario debe tener acceso al contenido y crear URL firmadas para los archivos o partes de la aplicación a las que desea restringir el acceso. Para obtener más información, consulte los siguientes temas:

  3. Un usuario solicita un archivo que va a requerir URL firmadas.

  4. La aplicación verifica si el usuario tiene derecho para obtener acceso al archivo: si ha iniciado sesión, si ha pagado por obtener acceso al contenido o si ha cumplido algún otro requisito para obtener acceso.

  5. Su aplicación crea una URL firmada y la devuelve el usuario.

  6. Las URL firmadas permiten al usuario descargar o transmitir el contenido.

    Este paso es automático; el usuario normalmente no tiene que hacer nada más para obtener acceso al contenido. Por ejemplo, si un usuario accede a su contenido desde un navegador web, la aplicación devuelve la URL firmada al navegador. El navegador utiliza inmediatamente la URL firmada para acceder al archivo de la memoria caché CloudFront perimetral sin la intervención del usuario.

  7. CloudFront utiliza la clave pública para validar la firma y confirmar que la URL no ha sido manipulada. Si la firma no es válida, se rechaza la solicitud.

    Si la firma es válida, CloudFront consulta la declaración de política de la URL (o crea una si utilizas una política preestablecida) para confirmar que la solicitud sigue siendo válida. Por ejemplo, si especificaste una fecha y hora de inicio y finalización para la URL, CloudFront confirma que el usuario está intentando acceder a tu contenido durante el período de tiempo al que deseas permitir el acceso.

    Si la solicitud cumple los requisitos de la declaración de política, CloudFront realiza las operaciones estándar: determina si el archivo ya está en la memoria caché perimetral, reenvía la solicitud al origen si es necesario y devuelve el archivo al usuario.

nota

Si una URL sin firmar contiene parámetros de cadena de consulta, asegúrese de incluirlos en la parte de la dirección URL que firma. Si agrega una cadena de consulta a una URL firmada después de firmarla, la URL devuelve un estado HTTP 403.

Elegir el tiempo de validez de las URL firmadas

Puede distribuir contenido privado mediante una URL firmada cuyo periodo de validez sea corto, incluso de unos pocos minutos. Las URL firmadas que son válidas durante un período tan breve sirven para distribuir contenido on-the-fly a un usuario con un propósito específico, como distribuir películas alquiladas o descargas de música a los clientes que lo soliciten. Si el periodo de validez de las URL firmadas es corto, es recomendable generarlas automáticamente con una aplicación que puede desarrollar. Cuando el usuario comienza a descargar un archivo o comienza a reproducir un archivo multimedia, CloudFront compara la fecha de caducidad de la URL con la hora actual para determinar si la URL sigue siendo válida.

También puede distribuir contenido privado mediante una URL firmada con un periodo de validez más largo, de incluso años. Las URL válidas durante periodos largos resultan útiles para distribuir contenido privado a usuarios conocidos, como, por ejemplo, la distribución de un plan de negocio a inversores o la distribución de materiales de formación a los empleados. Puede desarrollar una aplicación para generar estas URL firmadas a largo plazo para usted.

¿Cuándo se CloudFront comprueba la fecha y la hora de caducidad de una URL firmada?

CloudFront comprueba la fecha y la hora de caducidad de una URL firmada en el momento de la solicitud HTTP. Si un cliente comienza a descargar un archivo grande inmediatamente antes de la fecha de vencimiento, la descarga se realizará por completo incluso si se sobrepasa la hora de vencimiento durante la descarga. Si la conexión TCP se interrumpe y el cliente intenta reiniciar la descarga después de la fecha de vencimiento, la descarga fallará.

Si un cliente utiliza rangos GET para obtener un archivo en partes más pequeñas, cualquier solicitud GET que se produzca después de la fecha de vencimiento no se procesará. Para obtener más información acerca de Range GET, consulte Cómo CloudFront procesa las solicitudes parciales de un objeto (range GET).

Código de ejemplo y herramientas de terceros

Para ver un código de ejemplo que crea la parte de las URL firmadas y a la que se le haya aplicado una función hash, consulte los siguientes temas: