2016-04-25 4 views
1

Ich benutze AWS SDK, in Java, um signierte Objekt-URLs aus einem bestimmten Bucket zu generieren. Diese Objekte sind Bilder, für die ich eine signierte URL mit folgendem Code generieren möchte.Ist eine signierte Amazon S3-URL sicher zu teilen?

URL url = amazonS3Client.generatePresignedUrl(generatePresignedUrlRequest); 

Es folgt ein Beispiel der erzeugten URL

enter image description here

in den URLs gibt es AWS3AccessKeyId und Signatur, die sichtbar sind Anwender und Entwickler zu beenden. Gibt es eine Chance für jemanden, PUT, DELTE, usw. Operationen auf Objekten unter Verwendung der Informationen in der URL zu generieren. Ist es sicher, diese URLs Benutzern bereitzustellen, die ich nicht kenne?

Hintergrund

Ich mag Bilder und anderes Objekt Urls mit Menschen teilen, die sie in ihren Websites verwenden. Zum Beispiel eine URL zum Anzeigen eines Bilds auf einer Website oder eine URL, von der aus der Benutzer eine Datei herunterladen kann.

Antwort

2

Nein, sie können diese URLs nicht dazu verwenden, etwas anderes als das zu tun, was Sie zulassen. Wenn Sie also eine vorzeichenbehaftete URL generieren, um ein bestimmtes S3-Objekt zu erhalten, können Sie diese nur verwenden, um dieses S3-Objekt zu erhalten. Sie können die URL nicht zurückentwickeln, um anderen Objekten oder Buckets Zugriff zu gewähren.

Verwandte Themen