Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Appendice A: Come Servizi AWS usare presigned URLs
Questa appendice fornisce informazioni Servizi AWS e funzionalità che utilizzano presigned. URLs Queste informazioni hanno due scopi:
-
Fornire agli ingegneri della sicurezza che implementano i controlli informazioni sui possibili impatti di tali controlli.
-
Per sensibilizzare l'opinione pubblica sulle situazioni in cui questo rischio potrebbe essere rilevante per le interazioni di registrazione degli URL.
Importante
Questa appendice non fornisce un elenco completo Servizi AWS o il loro utilizzo di presigned. URLs Inoltre, non copre soluzioni personalizzate o di terze parti.
Console Amazon S3
Principale: utente della console
Scadenza predefinita: 5 minuti
Dichiarazione di non responsabilità
Questa sezione documenta il comportamento attuale della console Amazon S3. AWS i comportamenti della console sono soggetti a modifiche senza preavviso.
La console Amazon S3 supporta il download e il caricamento di oggetti. I download utilizzano un URL predefinito con una scadenza di 300 secondi (5 minuti). L'URL viene generato da una richiesta ahttps://<bucket-region>.console.aws.amazon.com/s3/batchOpsServlet-proxy.
Tale richiesta viene avviata quando l'utente fa clic su un pulsante di download, quindi l'URL non viene generato in anticipo o inviato al client fino a quando non viene effettuata la richiesta esplicita di download.
I caricamenti sono simili, tranne per il fatto che la console invia due richieste: OPTIONS come controllo CORS prima del volo e. PUT Entrambe le richieste utilizzano la stessa firma.
Le credenziali utilizzate per la firma sono credenziali temporanee associate all'utente attualmente connesso. I dettagli sul metodo per ottenere tali credenziali temporanee non rientrano nell'ambito di questa guida.
Amazon S3 Object Lambda
Principale: chiamante del punto di accesso
Scadenza predefinita: 61 secondi
Nota
A partire dal 7 novembre 2025, S3 Object Lambda è disponibile solo per i clienti esistenti che attualmente utilizzano il servizio e per alcuni AWS Partner Network partner (APN). Per funzionalità simili a S3 Object Lambda, scopri di più qui — Modifica della disponibilità di Amazon S3 Object Lambda.
Amazon S3 Object LambdainputS3Url () che può utilizzare per scaricare l'oggetto originale dal punto di accesso di supporto.
Questi prefirmati URLs sono firmati per il punto di accesso Amazon S3 di supporto, fornito quando si configura S3 Object Lambda. (Non è lo stesso del punto di accesso Object Lambda). Invece di utilizzare un ruolo associato alla funzione Lambda, l'URL viene firmato utilizzando l'identità del chiamante originale e le autorizzazioni dell'utente verranno applicate quando viene utilizzato l'URL. Se nell'URL sono presenti intestazioni firmate, la funzione Lambda deve includere queste intestazioni nella chiamata ad Amazon S3.
L'URL predefinito restituito ha una scadenza di 61 secondi (un secondo in più rispetto alla durata massima per una funzione S3 Object Lambda). L'URL generato può essere utilizzato solo con il punto di accesso di supporto. Il chiamante del punto di accesso S3 Object Lambda deve avere accesso a questo punto di accesso. Puoi limitare tale accesso al contesto di S3 Object Lambda utilizzando la condizione. "aws:CalledVia":
["s3-object-lambda.amazonaws.com"] Quando tale condizione è associata a un punto di accesso o a un bucket di supporto, un utente non può accedere direttamente al punto di accesso o al bucket di supporto.
Il valore di questo approccio è che non è necessario concedere alla funzione Lambda l'accesso al bucket o all'access point S3. Il ruolo associato alla funzione Lambda richiederà le autorizzazioni per WriteGetObjectResponse, ma non le richiede per. GetObject
Quando S3 Object Lambda genera URLs presigned, non aggiunge restrizioni di rete, quindi è possibile utilizzare un URL al di fuori della funzione Lambda. Tuttavia, tutte le restrizioni imposte al chiamante di S3 Object Lambda restano valide. Ad esempio, se la tua funzione Lambda viene eseguita in un VPC e limiti il chiamante all'utilizzo di un endpoint VPC, chiunque sia in possesso dell'URL predefinito dovrebbe avere la possibilità di inviarlo tramite quell'endpoint VPC. Questa VpcSourceIprestrizione si applica anche a and. SourceIp
Nota
Per utilizzare una funzione S3 Object Lambda in un VPC, il VPC deve disporre di un percorso verso gli endpoint S3 pubblici da chiamare. WriteGetObjectResponse Ciò non indica che i requisiti per l'utilizzo di un endpoint VPC non si applichino alle richieste di recupero dei dati dal bucket.
AWS Lambda Interregione CopyObject
Principale: internoAWS
Scadenza predefinita: 3600 secondi
Quando usi l'UploadPartCopyAPI CopyObjector per copiare Regioni AWS, Amazon S3 utilizza URLs presigned internamente. Questi APIs possono essere richiamati direttamente da SDKs o dai comandi e. AWS CLI aws s3api copy-object aws s3api upload-part Questi APIs non vengono utilizzati per Amazon S3 Replication, ma vengono utilizzati dai aws s3 sync comandi AWS CLI aws s3
cp and quando l'origine e la destinazione sono bucket S3. Sono inoltre supportati da TransferManager implementazioni in vari campi. AWS SDKs
AWS Lambda GetFunction
Principale: interno AWS
Scadenza predefinita: 10 minuti
AWS Lambda archivia la versione utente in un bucket S3 di proprietà del team Lambda, prima di generare le risorse distribuite nei contenitori Lambda. Quando vuoi accedere al codice della tua funzione, chiami l'API. GetFunction Questa API risponde conCode.Location, che contiene un URL predefinito valido per 10 minuti (questa scadenza è il comportamento corrente e non un contratto pubblicato). Se non desideri il codice, puoi utilizzare una combinazione di GetFunctionConfigurationGetFunctionConcurrency, e ListTagsper recuperare gli altri dati restituiti da. GetFunction
L'URL restituito non è firmato con le credenziali dell'utente attualmente connesso, ma per conto dell'utente da Lambda. Per questo motivo, le chiavi di condizione (ad esempioaws:SourceIP) applicate all'utente attualmente connesso o le credenziali di sessione temporanea dell'utente non si applicano all'URL generato. Ciò è vero indipendentemente dal fatto che le chiavi di condizione vengano applicate GetFunctionsolo a o a tutti gli utilizzi delle API AWS per l'utente o la sessione.
La console Lambda utilizza GetFunctionanche l'URL predefinito che restituisce. La console utilizza le credenziali temporanee associate all'utente attualmente connesso per effettuare la chiamata. GetFunction I dettagli sull'ottenimento di tali credenziali temporanee non rientrano nell'ambito di questo documento.
Amazon ECR
Principale: interno AWS
Scadenza predefinita: 1 ora
Amazon Elastic Container Registry (Amazon ECR) fornisce GetDownloadUrlForLayerl'API, che restituisce un URL predefinito valido per un'ora e supporta il download di un singolo livello da un'immagine Amazon ECR. Tuttavia, questa operazione viene utilizzata dal proxy Amazon ECR e generalmente non viene utilizzata dagli utenti per estrarre e inviare immagini.
Amazon Redshift Spectrum
Principal: Ruolo passato a CREATE EXTERNAL SCHEMA tramite IAM_ROLE
Scadenza predefinita: 1 ora
Amazon Redshift Spectrum utilizza URLs presigned internamente e vieta restrizioni sulla combinazione del bucket e del ruolo Amazon Redshift che limiterebbero il presigned. URLs Puoi utilizzare un s3:signatureAge valore di 16 minuti, ma valori molto bassi non sono affidabili. Il valore minimo che è possibile utilizzare dipende dalla tempistica e dalla dimensione della query. Sebbene un valore inferiore a 16 minuti funzioni per molti scenari, richiede dei test. Il ruolo può e deve essere limitato all'utilizzo solo da parte di Redshift Spectrum, che non rivela ciò che genera, attenuando URLs così la tipica giustificazione per valori di scadenza inferiori.
Amazon SageMaker AI Studio
Amazon SageMaker AI Studio supporta due azioni API: CreatePresignedDomainUrle CreatePresignedNotebookInstanceUrl. Tuttavia, queste APIs non sono correlate alla funzionalità URL prefirmata Signature Version 4. Questi APIs creano un URL che utilizza un authToken parametro, ma non supportano nessuno dei parametri di query standard di Signature Version 4.
authTokenè un meccanismo diverso ma presenta delle somiglianze con URLs presigned. Viene inviato come parametro della stringa di query e supporta un tempo di scadenza di 5 minuti.
SageMaker L'intelligenza artificiale supporta le restrizioni di rete. Se imponi una restrizione all'sagemaker:CreatePresignedDomainUrlazione, tale azione si applica sia alla chiamata CreatePresignedDomainUrlche all'uso dell'URL generato. Se un URL viene generato da una rete valida e quindi inviato da una rete non valida, la chiamata API per generare l'URL ha esito positivo, ma la richiesta che invia l'URL ha esito negativo. Lo stesso vale per CreatePresignedNotebookInstanceUrle per l'sagemaker:CreatePresignedNotebookInstanceUrlazione.
Per ulteriori informazioni, consulta la documentazione sull'SageMaker intelligenza artificiale.