Utilizzo di URL prefirmati per S3 su Outposts - Amazon Simple Storage Service

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à.

Utilizzo di URL prefirmati per S3 su Outposts

Per concedere un accesso limitato nel tempo agli oggetti memorizzati in locale su un Outpost senza aggiornare la policy del bucket, puoi utilizzare un URL prefirmato. Con gli URL prefirmati, il proprietario del bucket può condividere oggetti con persone nel suo cloud privato virtuale (VPC) o concedere loro la possibilità di caricare o eliminare oggetti.

Quando crei un URL prefirmato utilizzando gli SDK AWS o l'AWS Command Line Interface (AWS CLI), associ l'URL a un'azione specifica. Puoi concedere un accesso limitato nel tempo all'URL prefirmato anche scegliendo una scadenza personalizzata che può essere di appena 1 secondo e fino a 7 giorni. Quando condividi l'URL prefirmato, l'utente del VPC può eseguire l'azione incorporata nell'URL come se fosse l'utente di firma originale. Una volta raggiunta la scadenza, l'URL non funzionerà più.

Limitazione delle funzionalità degli URL prefirmati

Le funzionalità dell'URL prefirmato sono limitate dalle autorizzazioni dell'utente che lo ha creato. In sostanza, gli URL prefirmati sono token di connessione che consentono l'accesso agli utenti che li possiedono. Pertanto, consigliamo di proteggerli in modo appropriato.

AWS Signature Version 4 (SigV4)

Per applicare un comportamento specifico quando le richieste dell'URL prefirmato vengono autenticate tramite AWS Signature Version 4 (SigV4), puoi utilizzare le chiavi di condizione nelle policy del bucket e nelle policy dei punti di accesso. Ad esempio, puoi creare una policy del bucket che utilizzi la condizione s3-outposts:signatureAge per negare qualsiasi richiesta di URL prefirmato da Amazon S3 su Outposts sugli oggetti nel bucket example-outpost-bucket se la firma ha più di 10 minuti. Per utilizzare questo comando, sostituisci user input placeholders con le tue informazioni.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Deny a presigned URL request if the signature is more than 10 minutes old", "Effect": "Deny", "Principal": {"AWS":"444455556666"}, "Action": "s3-outposts:*", "Resource": "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/example-outpost-bucket/object/*", "Condition": { "NumericGreaterThan": {"s3-outposts:signatureAge": 600000}, "StringEquals": {"s3-outposts:authType": "REST-QUERY-STRING"} } } ] }

Per un elenco di chiavi di condizione e policy di esempio aggiuntive che è possibile utilizzare per applicare un comportamento specifico quando le richieste dell'URL prefirmato vengono autenticate tramite Signature Version 4, consulta Chiavi di policy specifiche per l'autenticazione con AWS Signature Version 4 (SigV4).

Limitazioni per percorso di rete

Se desideri limitare l'utilizzo di URL prefirmati e tutti gli accessi S3 su Outposts a determinati percorsi di rete, puoi definire policy che richiedono un percorso di rete specifico. Per impostare la restrizione sul principale IAM che effettua la chiamata, puoi utilizzare le policy AWS Identity and Access Management (IAM) basate sull'identità (ad esempio policy di utenti, gruppi o ruoli). Per impostare la restrizione sulla risorsa S3 su Outposts, puoi utilizzare le policy sulle risorse (ad esempio, policy di bucket e punti di accesso).

Una restrizione del percorso di rete sul principale IAM richiede all'utente di tali credenziali di effettuare le richieste dalla rete specificata. Una restrizione sul bucket o sul punto di accesso richiede che tutte le richieste a quella risorsa provengano dalla rete specificata. Queste restrizioni si applicano anche al di fuori dello scenario di URL prefirmato.

La condizione globale IAM utilizzata dipende dal tipo di endpoint. Se utilizzi l'endpoint pubblico per S3 su Outposts, utilizza aws:SourceIp. Se utilizzi un endpoint VPC per S3 su Outposts, utilizza aws:SourceVpc o aws:SourceVpce.

La seguente istruzione di policy IAM richiede che il principale del servizio acceda ad AWS solo dall'intervallo di rete specificato. Con questa istruzione della policy, tutti gli accessi devono avere origine da tale intervallo. Ciò include il caso di un utente che utilizza un URL prefirmato per S3 su Outposts. Per utilizzare questo comando, sostituisci user input placeholders con le tue informazioni.

{ "Sid": "NetworkRestrictionForIAMPrincipal", "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "NotIpAddressIfExists": {"aws:SourceIp": "IP-address-range"}, "BoolIfExists": {"aws:ViaAWSService": "false"} } }

Per un esempio di policy del bucket che utilizza la chiave di condizione globale aws:SourceIP AWS per limitare l'accesso a un bucket S3 su Outposts a un intervallo di rete specifico, consulta Configurazione di IAM con S3 su Outposts.

Chi può creare un URL prefirmato

Qualsiasi utente che disponga di credenziali di sicurezza valide può creare un URL prefirmato. Tuttavia, perché un utente nel VPC possa accedere a un oggetto, è necessario che l'URL prefirmato venga creato da un utente che dispone dell'autorizzazione a eseguire l'operazione su cui si basa l'URL prefirmato.

Per creare un URL prefirmato puoi utilizzare le seguenti credenziali:

  • Profilo dell'istanza IAM: valido fino a 6 ore.

  • AWS Security Token Service: valido fino a 36 ore quando viene firmato con credenziali permanenti, ad esempio quelle dell'utente root dell'Account AWS o di un utente IAM.

  • Utente IAM: valido fino a 7 giorni quando utilizzi AWS Signature Version 4.

    Per creare un URL prefirmato valido fino a 7 giorni, devi prima delegare le credenziali dell'utente IAM (la chiave di accesso e la chiave segreta) all'SDK in uso. Quindi, genera un URL prefirmato utilizzando AWS Signature Version 4.

Nota
  • Se hai creato un URL prefirmato utilizzando un token temporaneo, l'URL scade insieme al token, anche se per l'URL è indicata una data di scadenza successiva.

  • Poiché gli URL prefirmati consentono l'accesso ai tuoi bucket S3 su Outposts a chiunque disponga dell'URL, ti consigliamo di proteggere tali URL in modo appropriato. Per ulteriori informazioni sulla protezione di URL prefirmati, consulta la sezione Limitazione delle funzionalità degli URL prefirmati.

Quando S3 su Outposts verifica la data e l'ora di scadenza in un URL prefirmato?

Al momento della richiesta HTTP, S3 su Outposts controlla la data e l'ora di scadenza di un URL firmato. Ad esempio, se un client inizia a scaricare un file di grandi dimensioni immediatamente prima dell'ora di scadenza, il download viene completato anche se l'ora di scadenza viene superata. Se la connessione TCP viene interrotta e il client prova a riavviare il download dopo la scadenza, il download non riesce.

Per ulteriori informazioni sull'utilizzo di un URL prefirmato per condividere o caricare oggetti, consulta gli argomenti riportati di seguito.