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à.
Tutorial: Configurazione AWS Transfer Family app web con accesso selettivo a più bucket
Questo tutorial ti guida nella configurazione di un'app web Transfer Family con autorizzazioni bucket Amazon S3 specifiche per un singolo utente. Scoprirai come configurare una soluzione che consenta agli utenti di scaricare da un bucket e caricarlo su un altro mantenendo la sicurezza. Questo è un tutorial avanzato che si basa sui concetti trattati nel tutorial di base. Se non conosci AWS Transfer Family app web, valuta la possibilità di iniziare con Tutorial: Configurazione di un'app web Transfer Family di base.
Prerequisiti
Prima di iniziare questo tutorial, hai bisogno di:
-
IAM Identity Center configurato nella stessa regione del tuo AWS Transfer Family app web. Nota che AWS consente una sola istanza di IAM Identity Center per AWS account per tutte le regioni.
-
Almeno un utente configurato in IAM Identity Center.
-
Due bucket S3: uno per i download e uno per gli upload.
Nota
Questo tutorial condivide molti prerequisiti con il tutorial di base sull'app Web. Per ulteriori informazioni sulla configurazione di IAM Identity Center e sulla creazione di utenti, consulta Tutorial: Configurazione di un'app web Transfer Family di base.
Passaggio 1: crea un'app web Transfer Family
Per creare un'app web Transfer Family
-
Accedi al Console di gestione AWS e apri il AWS Transfer Family console in https://console.aws.amazon.com/transfer/
. -
Nel riquadro di navigazione a sinistra, scegli App Web.
-
Scegli Crea app web.
Per l'accesso tramite autenticazione, tieni presente che il servizio trova automaticamente Centro identità AWS IAM istanza che hai impostato come prerequisito.
-
Nel Tipo di autorizzazione riquadro, seleziona Crea e usa un nuovo ruolo di servizio. Il servizio crea per te il ruolo di portatore dell'identità. Un ruolo di portatore di identità include l'identità di un utente autenticato nelle sue sessioni.
-
Nel Unità di app Web riquadro, accetta il valore predefinito di 1 o imposta un valore più alto se necessario.
-
Aggiungi un tag per aiutarti a organizzare le tue app web. Per il tutorial, inserisci Nome per la chiave e App web tutorial per il valore.
Suggerimento
È possibile modificare il nome dell'app Web direttamente da App Web pagina di elenco dopo averla creata.
-
Scegli Prossimo per aprire il Progetta un'app web pagina. In questa schermata, fornisci le seguenti informazioni.
Facoltativamente, puoi fornire un titolo per la tua app web. Puoi anche caricare file di immagine per il tuo logo e la tua favicon.
-
Per il titolo della pagina, personalizza il titolo della scheda del browser che gli utenti vedono quando si connettono all'app web. Se non inserisci nulla per il titolo della pagina, il valore predefinito è Transfer Web App.
-
Per il logo, carica un file di immagine. La dimensione massima di caricamento per l'immagine del logo è di 2 MB.
-
Per la favicon, carica un file di immagine. La dimensione massima di caricamento per la tua favicon è di 2 MB.
-
-
Scegli Prossimo, quindi scegli Crea app web.
Fase 2: Configurare i ruoli IAM per l'accesso a S3
È necessario creare due ruoli IAM: uno con accesso solo per il download al primo bucket e un altro con accesso solo per il caricamento al secondo bucket.
Politica di fiducia per entrambi i ruoli
Utilizza la seguente politica di fiducia per entrambi i ruoli IAM:
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AccessGrantsTrustPolicy", "Effect": "Allow", "Principal": { "Service": "access-grants.s3.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity", "sts:SetContext" ] } ] }
Politica IAM per il bucket di download
Crea un ruolo IAM con la seguente policy per l'accesso in sola lettura al tuo bucket di download:
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ObjectLevelReadPermissions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectVersionAcl", "s3:ListMultipartUploadParts", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*", "arn:aws:s3:::amzn-s3-demo-bucket1" ] } ] }
Importante
Sostituisci amzn-s3-demo-bucket1 con il nome effettivo del bucket di download.
Politica IAM per il bucket di upload
Crea un altro ruolo IAM con la seguente politica per l'accesso in scrittura al tuo bucket di caricamento:
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ObjectLevelWritePermissions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectVersionAcl", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:AbortMultipartUpload", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket2/*", "arn:aws:s3:::amzn-s3-demo-bucket2" ] } ] }
Importante
Sostituisci amzn-s3-demo-bucket2 con il nome effettivo del bucket di caricamento.
Passaggio 3: configura S3 Access Grants
-
Apri la console S3 all'indirizzo https://console.aws.amazon.com/s3/
. -
Nel pannello di navigazione, scegli Contributi di accesso.
-
Clicca Crea un'istanza S3 Access Grants.
-
Seleziona l'opzione Aggiungi un'istanza IAM Identity Center e inserisci l'ARN dell'istanza del centro di identità.
-
Fai clic su Avanti, quindi fai clic Annulla per completare la creazione dell'istanza S3 Access Grants senza procedere con passaggi aggiuntivi.
Questo passaggio crea l'istanza S3 Access Grants. Ora potrai registrare le sedi e creare le autorizzazioni di accesso.
Fase 4: Registrazione delle ubicazioni dei bucket S3
Registra entrambi i bucket S3 come sedi con S3 Access Grants:
-
Nella console S3 Access Grants, vai a Sedi e fai clic Sede della registrazione.
-
Sotto Ambito della posizione, scegli il bucket S3 specifico per i download (amzn-s3-demo-bucket1).
-
Quando ti viene richiesto di scegliere un ruolo IAM, seleziona il ruolo IAM per il download che hai creato in precedenza.
-
Completa il processo di registrazione.
-
Ripeti la procedura per registrare il bucket di caricamento (amzn-s3-demo-bucket2), selezionando il ruolo IAM di caricamento quando richiesto.
Fase 5: Creare le autorizzazioni di accesso
Crea due sovvenzioni, una per ogni sede registrata:
-
Nella console S3 Access Grants, vai a Sovvenzioni e clicca Crea sovvenzione.
-
Nel Posizione, fai clic Sfoglia la posizione e seleziona la posizione del bucket di download (amzn-s3-demo-bucket1).
-
Nel Sottoprefisso (opzionale), inserisci
*per consentire l'accesso all'intero bucket o specificare un percorso comefolder1/folder2/*per limitare l'accesso a un prefisso specifico.Usando
*fisserà l'ambito della sovvenzione as3://bucket-name/*, permettendo l'accesso all'intero bucket. Per consentire l'accesso solo a un prefisso specifico, inserisci un percorso comefolder1/folder2/*, che fisserà l'ambito della sovvenzione as3://bucket-name/folder1/folder2/*. -
Sotto Autorizzazioni e accesso, seleziona Leggi per il bucket di download.
-
Nel Tipo di beneficiario, scegli Identità della directory da IAM Identity Center.
-
Per Tipo principale IAM, seleziona Utente e inserisci l'ID utente del tuo IAM Identity Center.
-
Completa il processo di creazione della sovvenzione.
-
Ripeti la procedura per creare una concessione per il bucket di caricamento (amzn-s3-demo-bucket2), ma seleziona Read-write per le autorizzazioni.
Fase 6: Configurare la policy CORS per i bucket S3
Configura una policy CORS per entrambi i bucket S3 per consentire l'accesso tramite AWS Transfer Family WebApp:
-
Apri la console S3 e vai al tuo bucket di download (amzn-s3-demo-bucket1).
-
Seleziona Autorizzazioni scheda.
-
Scorri verso il basso fino a Cross-origin condivisione delle risorse (CORS) sezione e clicca Modifica.
-
Aggiungere la seguente configurazione CORS, sostituendo
WebAppEndpointcon il tuo attuale WebApp URL dell'endpoint:Puoi trovare l'URL dell'endpoint della tua app web nel AWS Transfer Family console in WebApps. Sembrerà simile a https://webapp-*************.transfer-webapp.us-west-2.on.aws.
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET", "PUT", "POST", "DELETE", "HEAD" ], "AllowedOrigins": [ "https://WebAppEndpoint" ], "ExposeHeaders": [ "last-modified", "content-length", "etag", "x-amz-version-id", "content-type", "x-amz-request-id", "x-amz-id-2", "date", "x-amz-cf-id", "x-amz-storage-class", "access-control-expose-headers" ], "MaxAgeSeconds": 3000 } ] -
Fai clic su Salva modifiche.
-
Ripeti la procedura per il bucket di caricamento (amzn-s3-demo-bucket2).
Fase 7: Verifica la configurazione
-
Apri il tuo AWS Transfer Family URL dell'app web. Puoi trovare questo URL nella AWS Transfer Family console sotto WebApps nel Endpoint di accesso campo.
-
Accedi utilizzando le credenziali utente di IAM Identity Center che hai configurato con le autorizzazioni di accesso.
-
Dopo aver effettuato l'accesso, dovresti vedere entrambe le sedi S3 nella home page.
-
Accedi al bucket di download (amzn-s3-demo-bucket1) e verifica di poter scaricare i file ma non caricarli.
-
Accedi al bucket di caricamento (amzn-s3-demo-bucket2) e verifica di poter caricare i file.
Conclusioni
La configurazione è stata completata correttamente AWS Transfer Family WebApp con accesso selettivo al bucket S3 per un singolo utente. Questa configurazione consente all'utente di scaricare da un bucket e caricarlo su un altro mantenendo la sicurezza tramite ruoli IAM e S3 Access Grants.
Questo approccio può essere esteso a più utenti creando garanzie aggiuntive in S3 Access Grants per ogni utente, consentendo un controllo granulare sulle autorizzazioni di accesso al bucket. Per informazioni sulla configurazione di base dell'app Web, consulta Tutorial: Configurazione di un'app web Transfer Family di base.