Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Laden Sie Objekte mit vorsignierten Objekten herunter und laden Sie sie hoch URLs
Sie können presigned verwendenURLs, um zeitlich begrenzten Zugriff auf Objekte in Amazon S3 zu gewähren, ohne Ihre Bucket-Richtlinie zu aktualisieren. Ein Presigned URL kann in einem Browser eingegeben oder von einem Programm zum Herunterladen eines Objekts verwendet werden. Die vom Vorsignierten verwendeten Anmeldeinformationen URL sind die des AWS Benutzers, der das generiert hat. URL
Sie können Presigned auch verwendenURLs, um es jemandem zu ermöglichen, ein bestimmtes Objekt in Ihren Amazon S3 S3-Bucket hochzuladen. Dies ermöglicht einen Upload, ohne dass eine andere Partei über AWS Sicherheitsanmeldedaten oder -berechtigungen verfügen muss. Wenn ein Objekt mit demselben Schlüssel bereits im Bucket vorhanden ist, wie im vorsignierten Bucket angegebenURL, ersetzt Amazon S3 das vorhandene Objekt durch das hochgeladene Objekt.
Sie können das vorsignierte URL Objekt bis zum Ablaufdatum und der Uhrzeit mehrfach verwenden.
Wenn Sie ein vorsigniertes Dokument erstellenURL, müssen Sie Ihre Sicherheitsanmeldedaten angeben und anschließend Folgendes angeben:
-
Ein Amazon-S3-Bucket
-
Ein Objektschlüssel (Herunterladen: dieses Objekt wird sich in Ihrem Amazon-S3-Bucket befinden; Hochladen: der Name der hochzuladenden Datei)
-
Eine HTTP Methode (
GET
zum Herunterladen von Objekten oderPUT
zum Hochladen) -
Ein Ablaufzeitintervall
Derzeit unterstützt Amazon S3 URLs Presigned die Verwendung der folgenden Algorithmen zur Prüfung der Datenintegrität nicht (CRC32, CRC32C, SHA-1, SHA-256), wenn Sie Objekte hochladen. Um die Integrität Ihres Objekts nach dem Hochladen zu überprüfen, können Sie eine MD5 Zusammenfassung des Objekts, wenn Sie es mit einem vorsignierten Objekt hochladen. URL Weitere Informationen über die Objektintegrität finden Sie unter Überprüfung der Objektintegrität.
Themen
Wer kann ein vorsigniertes erstellen URL
Jeder mit gültigen Sicherheitsanmeldedaten kann eine URL vorsignierte erstellen. Damit jedoch jemand erfolgreich auf ein Objekt zugreifen kann, URL muss das vorsignierte Objekt von einer Person erstellt worden sein, die berechtigt ist, den Vorgang auszuführen, auf dem das Vorsignierte URL basiert.
Die folgenden Typen von Anmeldeinformationen können Sie verwenden, um ein vorsigniertes Objekt zu erstellen: URL
-
IAMInstanzprofil — Gültig bis zu 6 Stunden.
-
AWS Security Token Service: Bei einer Unterzeichnung mit langfristigen Sicherheitsanmeldedaten bis zu 36 Stunden oder für die Dauer der temporären Anmeldeinformationen gültig, je nachdem, was zuerst endet.
-
IAMuser — Gültig bis zu 7 Tage, wenn Sie AWS Signature Version 4 verwenden.
Um ein vorsigniertes Dokument zu erstellenURL, das bis zu 7 Tage gültig ist, delegieren Sie zunächst die IAM Benutzeranmeldedaten (den Zugriffsschlüssel und den geheimen Schlüssel) an die Methode, mit der Sie das Vorsignierte erstellen. URL
Anmerkung
Wenn Sie eine vorsignierte Datei URL mit temporären Anmeldeinformationen erstellt haben, URL läuft diese ab, wenn die Anmeldeinformationen ablaufen. Im Allgemeinen URL läuft ein vorsigniertes ab, wenn die Anmeldeinformationen, mit denen Sie es erstellt haben, gesperrt, gelöscht oder deaktiviert werden. Dies gilt auch dann, wenn das mit einer URL späteren Ablaufzeit erstellt wurde. Informationen zur Gültigkeitsdauer temporärer Sicherheitsanmeldedaten finden Sie unter AWS STS APIOperationen vergleichen im IAMBenutzerhandbuch.
Ablaufzeit für vorsignierte URLs
Ein vorsigniertes URL Dokument bleibt für den Zeitraum gültig, der bei der URL Generierung angegeben wurde. Wenn Sie ein URL mit der Amazon S3 S3-Konsole vorsigniertes erstellen, kann die Ablaufzeit zwischen 1 Minute und 12 Stunden festgelegt werden. Wenn Sie das AWS CLI oder verwenden AWS SDKs, kann die Ablaufzeit auf bis zu 7 Tage festgelegt werden.
Wenn Sie ein vorsigniertes URL mithilfe eines temporären Tokens erstellt haben, URL läuft das ab, wenn das Token abläuft. Im Allgemeinen URL läuft ein vorsigniertes ab, wenn die Anmeldeinformationen, mit denen Sie es erstellt haben, gesperrt, gelöscht oder deaktiviert werden. Dies gilt auch dann, wenn das mit einer URL späteren Ablaufzeit erstellt wurde. Weitere Informationen darüber, wie sich die von Ihnen verwendeten Anmeldeinformationen auf die Ablaufzeit auswirken, finden Sie unter Wer kann ein vorsigniertes erstellen URL.
Amazon S3 überprüft das Ablaufdatum und die Uhrzeit eines Signierten zum URL Zeitpunkt der HTTP Anfrage. Beginnt ein Client beispielsweise mit dem Herunterladen einer großen Datei unmittelbar vor der Ablaufzeit, wird der Download auch dann fortgesetzt, wenn die Ablaufzeit während des Downloads verstreicht. Wenn die Verbindung jedoch unterbrochen wird und der Client versucht, den Download nach Ablauf der Zeit erneut zu starten, schlägt der Download fehl.
Einschränkung vordefinierter Funktionen URL
Die Funktionen einer vorsignierten Datei URL werden durch die Berechtigungen des Benutzers begrenzt, der sie erstellt hat. Im Wesentlichen URLs handelt es sich bei vorsignierten Token um Inhaber-Token, die denjenigen Zugriff gewähren, die sie besitzen. Daher empfehlen wir Ihnen, sie angemessen zu schützen. Im Folgenden finden Sie einige Methoden, mit denen Sie die Verwendung Ihrer vorsignierten Daten einschränken können. URLs
AWS Signatur Version 4 (SigV4)
Um ein bestimmtes Verhalten bei der Authentifizierung vorsignierter URL Anfragen mithilfe von AWS Signature Version 4 (Sigv4) durchzusetzen, können Sie Bedingungsschlüssel in Bucket-Richtlinien und Access-Point-Richtlinien verwenden. Die folgende Bucket-Richtlinie verwendet die s3:signatureAge
Bedingung beispielsweise, um jede vorsignierte Amazon S3 URL S3-Anfrage für Objekte in der amzn-s3-demo-bucket
Bucket, wenn die Signatur älter als 10 Minuten ist. Um dieses Beispiel zu verwenden, ersetzen Sie
mit Ihren eigenen Informationen.Platzhalter für Benutzereingaben
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Deny a presigned URL request if the signature is more than 10 min old", "Effect": "Deny", "Principal": {"AWS":"*"}, "Action": "s3:*", "Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/*", "Condition": { "NumericGreaterThan": { "s3:signatureAge":600000
} } } ] }
Weitere Informationen zu Richtlinienschlüsseln im Zusammenhang mit AWS Signature Version 4 finden Sie unter AWS Signature Version 4-Authentifizierung in der Amazon Simple Storage API Service-Referenz.
Beschränkung der Netzwege
Wenn Sie die Nutzung des vorsignierten URLs und des gesamten Amazon S3 S3-Zugriffs auf bestimmte Netzwerkpfade einschränken möchten, können Sie Richtlinien AWS Identity and Access Management (IAM) schreiben. Sie können diese Richtlinien für den IAM Principal, der den Anruf tätigt, für den Amazon S3 S3-Bucket oder für beide festlegen.
Eine Netzwerkpfadbeschränkung für den IAM Prinzipal erfordert, dass der Benutzer mit diesen Anmeldeinformationen Anfragen vom angegebenen Netzwerk aus stellt. Eine Einschränkung des Buckets oder des Zugriffspunkts erfordert, dass alle Anfragen an diese Ressource aus dem angegebenen Netz stammen. Diese Einschränkungen gelten auch außerhalb des URL vordefinierten Szenarios.
Welchen IAM globalen Bedingungsschlüssel Sie verwenden, hängt vom Typ des Endpunkts ab. Wenn Sie den öffentlichen Endpunkt für Amazon S3 verwenden, verwenden Sie aws:SourceIp
. Wenn Sie einen Virtual Private Cloud (VPC) -Endpunkt für Amazon S3 verwenden, verwenden Sie aws:SourceVpc
oderaws:SourceVpce
.
Die folgende IAM Richtlinienerklärung verlangt, dass der Principal AWS nur aus dem angegebenen Netzwerkbereich zugreift. Mit dieser Richtlinie müssen alle Zugriffe von diesem Bereich ausgehen. Dies gilt auch für den Fall, dass jemand ein URL für Amazon S3 vorsigniertes Gerät verwendet. Um dieses Beispiel zu verwenden, ersetzen Sie
mit Ihren eigenen Informationen.Platzhalter für Benutzereingaben
{ "Sid": "NetworkRestrictionForIAMPrincipal", "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "NotIpAddressIfExists": {"aws:SourceIp": "
IP-address-range
"}, "BoolIfExists": {"aws:ViaAWSService": "false"} } }