چگونه و چه زمان از presigned-url استفاده کنیم؟
هنگامی که احتیاج دارید به کسی دسترسی موقت به یک آبجکت بدهید اما نمیخواهید credential را در اختیارش بگذارید، میتوانید ریکوست را با زمان محدودی presign کنید.
Presign کردن برای انواع ریکوست های مختلف از جمله گرفتن آبجکت، آپلود آبجکت و … ممکن است. در ادامه چند مورد از این ریکوست ها و نحوه ی ساین کردن آنها با ابزارهای مختلف مثال زده میشود.
همچنین جستجوی نوع ریکوستی که میخواهید بزنید (مثلا CopyPartUpload) به همراه کلیدواژه ی presigned-url و sdk/client مورد استفاده در گوگل معمولا شما را به جواب میرساند.
توجه: پارامترهای Expiration به ثانیه هستن.
اگر استوریج یا باکتی که میخواهید ریکوست بهش رو ساین کنید پشت CDN قرار دارد ، باید کامند ساین رو با endpoint آپ استریم دامین تون که تو پنل CDN ست کردید و استوریج ستون هست (مثلا s3.thr1.sotoon.ir) ساین کنید و بعدش دامنه رو توی presigned-url خروجی تغییر بدید به دامنه ی خودتون (مثلا example.com)
مثلا اگر خروجی ساین به این شکل بود:
https://my-bucket.s3.thr1.sotoon.ir/my-object?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=06eeb…&X-Amz-Date=20240515T191255Z&X-Amz-Expires=3600&X-Amz-Signature=fda69…&X-Amz-SignedHeaders=host
لازم است آن را به شکل زیر تغییر دهید:
https://my-bucket.example.com/my-object?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=06eeb…&X-Amz-Date=20240515T191255Z&X-Amz-Expires=3600&X-Amz-Signature=fda69…&X-Amz-SignedHeaders=host