Compartir un objeto con una URL temporal
Cómo compartir un objeto sin comunicar información personal
Cómo compartir un objeto sin comunicar información personal
Última actualización: 27/02/2019
OpenStack Swift permite almacenar una gran cantidad de archivos. Para gestionarlos a través de la API es necesario estar autenticado con un token. El token, que proviene del sistema de autenticación y utiliza su ID de cliente y contraseña, permite confirmar que dispone de los permisos necesarios (lectura, escritura…) en Swift.
Si quiere enviar un archivo a otra persona, pero no desea facilitarle sus claves de autenticación personales, las URL temporales (tempURL) pueden serle útiles.
Esta guía explica cómo compartir un objeto con una URL temporal.
Una dirección temporal o URL temporal (tempURL) es una funcionalidad que permite controlar los archivos compartidos. Para ello se basa en los siguientes elementos:
https://storage.sbg1.cloud.ovh.net
;v1/AUTH_tenant/default/file
;En primer lugar, es necesario generar una clave. Puede utilizar la misma para todos los archivos del proyecto, lo que significa que solo tendrá que generar una clave para todas las URL temporales.
Le recomendamos que elija una clave segura, de al menos 20 caracteres. No obstante, en cualquier momento puede generar una nueva clave.
Para generar la clave puede utilizar diversas soluciones, como los comandos sha512sum
o sha256sum
. Utilice el método más adecuado según su caso, en función del nivel de cifrado deseado. Por ejemplo, de más o menos eficaz:
Una vez que tenga la clave, puede configurarla en su proyecto con el cliente Swift utilizando el siguiente comando (no olvide sustituir la cadena «12345» por su clave):
swift post -m "Temp-URL-Key: 12345"
También puede utilizar curl:
curl -i -X POST \ -H "X-Account-Meta-Temp-URL-Key: 12345" \ -H "X-Auth-Token: abcdef12345" \ https://storage.sbg1.cloud.ovh.net/v1/AUTH_ProjectID
El nombre de la cabecera completa es X-Account-Meta-Temp-Url-Key
, pero el cliente Swift utiliza Temp-Url-Key
, ya que añade automáticamente la cadena X-Account-Meta
.
Una vez que haya configurado la clave en la cuenta, utilice el siguiente comando para comprobar que la cabecera se haya aplicado correctamente:
swift stat
También puede utilizar curl:
curl -i -X HEAD \ -H "X-Auth-Token: abcdef12345" \ https://storage.sbg1.cloud.ovh.net/v1/AUTH_ProjectID
Las operaciones que se describen a continuación pueden realizarse sin conexión. Utilice el comando que se indica a continuación para generar la URL temporal. No olvide sustituir los siguientes valores con la información correspondiente:
swift tempurl GET 60 /v1/AUTH_tenant/default/file 12345
Este comando devolverá la tempURL, donde podrá ver la ruta del archivo, la firma y la fecha de expiración.
v1/AUTH_tenant/default/file?temp_url_sig=8016dsdf3122d526afds60911cde59fds3&temp_url_expires=1401548543
Para que esta URL funcione correctamente, solo tiene que añadir al principio la dirección del punto de acceso:
https://storage.sbg1.cloud.ovh.net/v1/AUTH_tenant/default/file?temp_url_sig=8016dsdf3122d526afds60911cde59fds3&temp_url_expires=1401548543
En este ejemplo, la URL temporal permite que cualquiera se descargue el archivo file, que se encuentra en el contenedor default, durante 60 segundos y sin autenticación. Al cabo de 60 segundos, la URL dejará de funcionar.
Los usuarios más avanzados que quieran generar direcciones temporales sin el script swift-temp-url pueden consultar directamente la documentación oficial de OpenStack.
Interactúe con nuestra comunidad de usuarios en https://community.ovh.com/en/.
Si lo desea, también puede enviarnos sus sugerencias para ayudarnos a mejorar nuestra documentación.
Imágenes, contenido, estructura...: ayúdenos a mejorar nuestra documentación con sus sugerencias.
No podemos tratar sus solicitudes de asistencia a través de este formulario. Para ello, haga clic en "Crear un tíquet" .
¡Gracias! Tendremos en cuenta su opinión.
¡Acceda al espacio de la OVHcloud Community! Resuelva sus dudas, busque información, publique contenido e interactúe con otros miembros de la comunidad.
Discuss with the OVHcloud community