Presigned URL
Advanced Ecosystem 🟡 MidDefinition
URL temporaire signée cryptographiquement qui donne un accès limité dans le temps à un objet S3. Permet l'upload/download direct sans exposer les credentials.
Analogie
Un ticket de vestiaire avec date d'expiration : il donne accès à un seul casier pendant un temps limité.
Exemple de code
import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
const url = await getSignedUrl(s3, new PutObjectCommand({
Bucket: 'uploads',
Key: `docs/${fileId}`,
ContentType: 'application/pdf',
}), { expiresIn: 300 }); // 5 min
Cas d'usage
Permettre l'upload direct du navigateur vers S3 sans passer par votre serveur backend.
Anti-pattern
Générer des presigned URLs avec une durée trop longue (jours) ou sans restriction de content-type.