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.
Anhang A: Wie AWS-Services verwende ich Presigned URLs
Dieser Anhang enthält Informationen AWS-Services und Funktionen zur Verwendung von URLs Presigned. Diese Informationen dienen zwei Zwecken:
-
Um Sicherheitsingenieuren, die Kontrollen implementieren, Informationen über die möglichen Auswirkungen dieser Kontrollen zur Verfügung zu stellen.
-
Um das Bewusstsein für Situationen zu schärfen, in denen dieses Risiko für Interaktionen mit der URL-Protokollierung relevant sein könnte.
Wichtig
Dieser Anhang enthält keine vollständige Liste von AWS-Services oder deren Verwendung von Presigned URLs. Er behandelt auch keine kundenspezifischen Lösungen oder Lösungen von Drittanbietern.
Amazon-S3-Konsole
Principal: Konsolenbenutzer
Standardablauf: 5 Minuten
Haftungsausschluss
In diesem Abschnitt wird das aktuelle Verhalten der Amazon S3 S3-Konsole dokumentiert. AWS Das Verhalten der Konsole kann ohne vorherige Ankündigung geändert werden.
Die Amazon S3 S3-Konsole unterstützt das Herunterladen und Hochladen von Objekten. Downloads verwenden eine vorsignierte URL mit einer Ablaufzeit von 300 Sekunden (5 Minuten). Die URL wird durch eine Anfrage an https://<bucket-region>.console.aws.amazon.com/s3/batchOpsServlet-proxy generiert.
Diese Anfrage wird initiiert, wenn der Benutzer auf eine Download-Schaltfläche klickt. Die URL wird also nicht im Voraus generiert oder an den Client gesendet, bis die ausdrückliche Download-Anfrage erfolgt.
Uploads sind ähnlich, außer dass die Konsole zwei Anfragen sendet: OPTIONS als CORS-Prüfung vor dem Flug und. PUT Beide Anfragen verwenden dieselbe Signatur.
Die zum Signieren verwendeten Anmeldeinformationen sind temporäre Anmeldeinformationen, die dem aktuell angemeldeten Benutzer zugeordnet sind. Einzelheiten zur Methode zum Abrufen dieser temporären Anmeldeinformationen sind nicht Gegenstand dieses Handbuchs.
Amazon S3 Object Lambda
Principal: Anrufer am Access Point
Standardablauf: 61 Sekunden
Anmerkung
Seit dem 7. November 2025 ist S3 Object Lambda nur für Bestandskunden verfügbar, die den Service derzeit nutzen, sowie für ausgewählte AWS Partner Network (APN-) Partner. Weitere Informationen zu Funktionen, die S3 Object Lambda ähneln, finden Sie hier — Änderung der Verfügbarkeit von Amazon S3 Object Lambda.
Amazon S3 Object LambdainputS3Url), mit der sie das Originalobjekt vom unterstützenden Access Point herunterladen kann.
Diese vorsignierten URLs sind für den unterstützenden Amazon S3 S3-Zugriffspunkt signiert, der bei der Konfiguration von S3 Object Lambda bereitgestellt wird. (Dies ist nicht dasselbe wie der Object Lambda Access Point.) Anstatt eine Rolle zu verwenden, die an die Lambda-Funktion gebunden ist, wird die URL mit der Identität des ursprünglichen Aufrufers signiert, und die Berechtigungen dieses Benutzers gelten, wenn die URL verwendet wird. Wenn die URL signierte Header enthält, muss die Lambda-Funktion diese Header in den Aufruf von Amazon S3 einbeziehen.
Die zurückgegebene vorsignierte URL hat eine Ablaufzeit von 61 Sekunden (eine Sekunde länger als die maximale Dauer für eine S3 Object Lambda-Funktion). Die generierte URL kann nur mit dem unterstützenden Access Point verwendet werden. Der Anrufer des S3 Object Lambda Access Points muss Zugriff auf diesen Access Point haben. Sie können diesen Zugriff auf den Kontext von S3 Object Lambda einschränken, indem Sie die Bedingung "aws:CalledVia":
["s3-object-lambda.amazonaws.com"] verwenden. Wenn diese Bedingung an einen unterstützenden Access Point oder Bucket angehängt ist, kann ein Benutzer nicht direkt auf den unterstützenden Access Point oder Bucket zugreifen.
Der Vorteil dieses Ansatzes besteht darin, dass Sie der Lambda-Funktion keinen Zugriff auf Ihren S3-Bucket oder Access Point gewähren müssen. Die Rolle, die der Lambda-Funktion zugeordnet ist, benötigt Berechtigungen für WriteGetObjectResponse, aber sie benötigt keine Berechtigungen für GetObject.
Wenn S3 Object Lambda vorsigniert generiert URLs, werden keine Netzwerkeinschränkungen hinzugefügt, sodass eine URL außerhalb der Lambda-Funktion verwendet werden kann. Alle Einschränkungen, die dem Aufrufer von S3 Object Lambda auferlegt wurden, gelten jedoch weiterhin. Wenn Ihre Lambda-Funktion beispielsweise in einer VPC ausgeführt wird und Sie den Anrufer auf die Verwendung eines VPC-Endpunkts beschränken, müsste jeder, der im Besitz der vorsignierten URL ist, die Möglichkeit haben, sie über diesen VPC-Endpunkt zu senden. Diese Einschränkung gilt auch für und. SourceIpVpcSourceIp
Anmerkung
Um eine S3 Object Lambda-Funktion in einer VPC zu verwenden, muss die VPC über eine Route zu öffentlichen S3-Endpunkten verfügen, die aufgerufen werden können. WriteGetObjectResponse Dies bedeutet nicht, dass die Anforderungen zur Verwendung eines VPC-Endpunkts nicht für die Anfragen zum Abrufen von Daten aus dem Bucket gelten würden.
AWS Lambda Regionsübergreifend CopyObject
Schulleiter: internAWS
Standardablauf: 3600 Sekunden
Wenn Sie die UploadPartCopyAPI CopyObjectoder zum Kopieren verwenden AWS-Regionen, verwendet Amazon S3 URLs intern vorsignierte Daten. Diese APIs können direkt von SDKs oder über die AWS CLI Befehle aws s3api copy-object und aws s3api upload-part aufgerufen werden. Diese werden APIs nicht für die Amazon S3 S3-Replikation verwendet, aber sie werden von den aws s3 sync Befehlen AWS CLI aws s3
cp und verwendet, wenn Quelle und Ziel S3-Buckets sind. Sie werden auch durch TransferManager Implementierungen in verschiedenen Bereichen unterstützt. AWS SDKs
AWS Lambda GetFunction
Prinzipal: intern AWS
Standardablauf: 10 Minuten
AWS Lambda speichert die Benutzerversion in einem S3-Bucket, der dem Lambda-Team gehört, bevor die in Lambda-Containern bereitgestellten Assets generiert werden. Wenn Sie auf den Code für Ihre Funktion zugreifen möchten, rufen Sie die GetFunctionAPI auf. Diese API antwortet mitCode.Location, was eine vorsignierte URL enthält, die 10 Minuten gültig ist (diese Ablaufzeit entspricht dem aktuellen Verhalten und nicht einem veröffentlichten Vertrag). Wenn Sie den Code nicht benötigen, können Sie eine Kombination aus GetFunctionConfiguration, und verwenden GetFunctionConcurrency, ListTagsum die anderen Daten abzurufen, die von zurückgegeben werdenGetFunction.
Die zurückgegebene URL ist nicht mit den Anmeldeinformationen des aktuell angemeldeten Benutzers signiert, sondern im Namen des Benutzers von Lambda. Aus diesem Grund gelten Bedingungsschlüssel (wieaws:SourceIP), die auf den aktuell angemeldeten Benutzer oder die temporären Sitzungsanmeldeinformationen des Benutzers angewendet werden, nicht für die generierte URL. Dies gilt unabhängig davon, ob Bedingungsschlüssel GetFunctionnur auf oder auf die gesamte AWS-API-Nutzung für den Benutzer oder die Sitzung angewendet werden.
Die Lambda-Konsole verwendet GetFunctionauch die vorsignierte URL, die sie zurückgibt. Die Konsole verwendet die temporären Anmeldeinformationen, die dem aktuell angemeldeten Benutzer zugeordnet sind, um anzurufen. GetFunction Einzelheiten zum Abrufen dieser temporären Anmeldeinformationen sind in diesem Dokument nicht enthalten.
Amazon ECR
Schulleiter: AWS intern
Standardablauf: 1 Stunde
Amazon Elastic Container Registry (Amazon ECR) stellt die GetDownloadUrlForLayerAPI bereit, die eine vorsignierte URL zurückgibt, die für eine Stunde gültig ist und das Herunterladen einer einzelnen Ebene aus einem Amazon ECR-Image unterstützt. Dieser Vorgang wird jedoch vom Amazon ECR-Proxy verwendet und wird im Allgemeinen nicht von Benutzern zum Abrufen und Übertragen von Bildern verwendet.
Amazon Redshift Spectrum
Principal: Die Rolle wurde an CREATE EXTERNAL SCHEMA übergeben durch IAM_ROLE
Standardablauf: 1 Stunde
Amazon Redshift Spectrum verwendet URLs intern vorsignierte und verbietet Einschränkungen bei der Kombination von Bucket und Amazon Redshift Redshift-Rolle, die vorsigniert wären. URLs Sie können einen s3:signatureAge Wert von 16 Minuten verwenden, aber sehr niedrige Werte sind unzuverlässig. Der Mindestwert, den Sie verwenden können, hängt vom Zeitpunkt und der Größe Ihrer Abfrage ab. Ein Wert unter 16 Minuten funktioniert zwar in vielen Szenarien, erfordert jedoch Tests. Die Rolle kann und sollte URLs darauf beschränkt werden, nur von Redshift Spectrum verwendet zu werden, wobei Redshift Spectrum die generierten Daten nicht offenlegt, wodurch die typische Rechtfertigung für niedrigere Ablaufwerte entschärft wird.
Amazon SageMaker KI-Studio
Amazon SageMaker AI Studio unterstützt zwei API-Aktionen: CreatePresignedDomainUrlund CreatePresignedNotebookInstanceUrl. Diese haben jedoch nichts APIs mit der Funktion für vorsignierte URLs in Signature Version 4 zu tun. Diese APIs erstellen eine URL, die einen authToken Parameter verwendet, unterstützen jedoch keinen der standardmäßigen Abfrageparameter von Signature Version 4.
authTokenist ein anderer Mechanismus, weist aber Ähnlichkeiten mit Presigned URLs auf. Er wird als Abfragezeichenfolgenparameter gesendet und unterstützt eine Ablaufzeit von 5 Minuten.
SageMaker KI unterstützt Netzwerkeinschränkungen. Wenn Sie der sagemaker:CreatePresignedDomainUrl Aktion eine Einschränkung auferlegen, gilt diese Aktion sowohl für den Aufruf CreatePresignedDomainUrlals auch für die Verwendung der generierten URL. Wenn eine URL aus einem gültigen Netzwerk generiert und dann von einem ungültigen Netzwerk gesendet wird, ist der API-Aufruf zum Generieren der URL erfolgreich, aber die Anforderung, mit der die URL gesendet wird, schlägt fehl. Das Gleiche gilt für CreatePresignedNotebookInstanceUrlund die sagemaker:CreatePresignedNotebookInstanceUrl Aktion.
Weitere Informationen finden Sie in der SageMaker KI-Dokumentation.