Generación de URL preasignada para agente de objetos S3
Por defecto, todos los objetos S3 son privados y sólo el propietario del objeto tiene permiso para acceder a ellos. Sin embargo, el propietario del objeto puede compartirlo con otros creando una URL preasignada. Una URL preasignada utiliza credenciales de seguridad para conceder permisos limitados en el tiempo para descargar objetos. La URL puede introducirse en un navegador o ser utilizada por un programa para descargar el objeto. Las credenciales que utiliza el preasignado URL son las del usuario S3 que generó el URL.
Puede utilizar URL preasignadas para conceder acceso limitado en el tiempo a objetos en S3 sin actualizar su política de bucket.
- Grupo S3
- Una clave de objeto: para descargar este objeto estará en su bucket S3
- Un método HTTP : GET para descargar objetos
- Un intervalo de tiempo de expiración: es opcional y por defecto es de 3600 segundos
Ejemplos
- Para listar objetos del bucket '
testbucket':
Salida:aws s3 --no-verify-ssl --endpoint-url=<host_URL>:9000 ls s3://testbucket2024-08-29 21:13:08 99 file1 2024-08-29 21:13:55 99 file2 2024-08-29 21:14:07 99 file3 - Para generar la URL prefijada del objeto
file1:
Salida:aws s3 --no-verify-ssl --endpoint-url=<host_URL>:9000 presign s3://testbucket/file1<host_URL>:9000/testbucket/file1?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=XXXXus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240830T103740Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=5a2a69a49aa23e93ed15f40157083fa2ee3ad086083176257e2eb578789cb396 - Para descargar los datos del objeto
file1utilizando la URL prefijada:
Salida:curl -k "<host_URL>:9000/testbucket/file1?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=7A3TSE2BZY8TQPBY3ALO%2F20240830%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240830T103740Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=5a2a69a49aa23e93ed15f40157083fa2ee3ad086083176257e2eb578789cb396" -o fileOutput% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 249 100 249 0 0 2263 0 --:--:-- --:--:-- --:--:-- 2263 - Para verificar el contenido de los datos del objeto '
file1':
Salida:cat fileOutputHello World - Para crear una URL preasignada con una duración personalizada que enlace a un objeto en un bucket S3 :
- El siguiente comando
presigngenera una URL preasignada para el buckettestbuckety la clavefile1que es válida durante cinco horas:
Salida:aws s3 --no-verify-ssl --endpoint-url=<host_URL>:9000 presign s3://testbucket/file1 --expires-in 18000<host_URL>:9000/testbucket/file1?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=XXXX%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241130T161600Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=c547e60936e0e3d459b79ac6e58f2e0264d40e06c94adfd9afe81671adca5be4
- El siguiente comando
Para obtener más información sobre Amazon S3 y URL con firma previa, consulta «Descargas con URL con firma previa» y «Compartir objetos con URL con firma previa ».