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 dell'app AWS Transfer Family Web con accesso selettivo a più bucket
Questo tutorial ti guida nella configurazione di un'app web Transfer Family con autorizzazioni specifiche per i bucket Amazon S3 per un singolo utente. Imparerai come configurare una soluzione che consenta agli utenti di scaricare da un bucket e caricarli su un altro, mantenendo la sicurezza. Questo è un tutorial avanzato che si basa sui concetti trattati nel tutorial di base. Se non conosci le app AWS Transfer Family Web, valuta la possibilità di iniziare conTutorial: configurazione di un'app web Transfer Family di base.
Prerequisiti
Prima di iniziare questo tutorial, devi:
-
IAM Identity Center è configurato nella stessa regione della tua app AWS Transfer Family web. Tieni presente 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 i caricamenti.
Nota
Questo tutorial condivide molti prerequisiti con il tutorial di base per l'app web. Per ulteriori informazioni sulla configurazione di IAM Identity Center e sulla creazione di utenti, consultaTutorial: configurazione di un'app web Transfer Family di base.
Fase 1: Creare un'app web Transfer Family
Per creare un'app web Transfer Family
-
Accedi a AWS Management Console e apri la AWS Transfer Family console all'indirizzo 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 l' AWS IAM Identity Center istanza che hai configurato come prerequisito.
-
Nel riquadro Tipo di autorizzazione, seleziona Crea e utilizza un nuovo ruolo di servizio. Il servizio crea per te il ruolo di portatore di identità. Un ruolo di portatore di identità include l'identità di un utente autenticato nelle sue sessioni.
-
Nel riquadro Unità dell'app Web, accetta il valore predefinito di 1 o, se necessario, imposta un valore più alto.
-
Aggiungi un tag per aiutarti a organizzare le tue app Web. Per il tutorial, inserisci il nome per la chiave e l'app web Tutorial per il valore.
Suggerimento
È possibile modificare il nome dell'app Web direttamente dalla pagina dell'elenco delle app Web dopo averla creata.
-
Scegli Avanti per aprire la pagina dell'app Web Design. In questa schermata, fornisci le seguenti informazioni.
Facoltativamente, puoi fornire un titolo per la tua app web. Puoi anche caricare file di immagini per il tuo logo e la tua favicon.
-
Per il titolo della pagina, personalizza il titolo della scheda del browser che gli utenti visualizzano quando si connettono all'app web. Se non inserisci nulla per il titolo della pagina, per impostazione predefinita è Transfer Web App.
-
Per il logo, carica un file di immagine. La dimensione massima del file per l'immagine del logo è di 50 KB.
-
Per la favicon, carica un file di immagine. La dimensione massima del file per la tua favicon è di 20 KB.
-
-
Scegli Avanti, quindi scegli Crea app web.
Passaggio 2: configura i ruoli IAM per l'accesso a S3
Devi 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 tuo bucket di download.
Politica IAM per il bucket di caricamento
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 tuo bucket di caricamento.
Fase 3: configurare S3 Access Grants
-
Apri la console S3 all'indirizzo. https://console.aws.amazon.com/s3/
-
Nel riquadro di navigazione, scegli Access Grants.
-
Fai clic su Crea istanza S3 Access Grants.
-
Seleziona l'opzione Aggiungi istanza IAM Identity Center e inserisci l'ARN dell'istanza del centro di identità.
-
Fai clic su Avanti, quindi su Annulla per completare la creazione dell'istanza S3 Access Grants senza procedere con ulteriori passaggi.
Questo passaggio crea l'istanza S3 Access Grants. Ora registrerai le sedi e creerai concessioni di accesso.
Fase 4: Registrare le posizioni dei bucket S3
Registra entrambi i bucket S3 come sedi con S3 Access Grants:
-
Nella console S3 Access Grants, vai su Posizioni e fai clic su Registra posizione.
-
Nell'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 da scaricare 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 concessioni di accesso
Crea due sovvenzioni, una per ogni sede registrata:
-
Nella console S3 Access Grants, vai a Grants e fai clic su Crea sovvenzione.
-
In Posizione, fai clic su Sfoglia posizione e seleziona la posizione del bucket di download (amzn-s3-demo-bucket1).
-
In Subprefix (opzionale), inserisci
*
per consentire l'accesso all'intero bucket oppure specifica un percorso, ad esempio per limitare l'accesso a un prefisso specifico.folder1/folder2/*
Using
*
imposterà l'ambito della concessione sus3://bucket-name/*
, che consente l'accesso all'intero bucket. Per consentire l'accesso solo a un prefisso specifico, inserisci un percorso simile afolder1/folder2/*
, che imposterà l'ambito della concessione su.s3://bucket-name/folder1/folder2/*
-
In Autorizzazioni e accesso, seleziona Leggi per il bucket di download.
-
Nel tipo di assegnatario, scegli Directory identity da IAM Identity Center.
-
Per il tipo principale IAM, seleziona Utente e inserisci l'ID utente del tuo utente 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 Lettura-scrittura per le autorizzazioni.
Fase 6: Configurazione della 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 la scheda Autorizzazioni.
-
Scorri verso il basso fino alla sezione Cross-origin resource sharing (CORS) e fai clic su Modifica.
-
Aggiungi la seguente configurazione CORS, sostituendola
WebAppEndpoint
con l'URL dell'endpoint effettivo WebApp :Puoi trovare l'URL dell'endpoint della tua app Web nella console sotto AWS Transfer Family . WebApps Sarà 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 tuo bucket di caricamento (amzn-s3-demo-bucket2).
Fase 7: Verifica la configurazione
-
Apri l'URL della tua app AWS Transfer Family web. Puoi trovare questo URL nella AWS Transfer Family console WebApps nel campo Access endpoint.
-
Accedi utilizzando le credenziali utente di IAM Identity Center che hai configurato con le concessioni di accesso.
-
Dopo l'accesso, dovresti vedere entrambe le posizioni S3 nella home page.
-
Vai al bucket di download (amzn-s3-demo-bucket1) e verifica di poter scaricare i file ma non caricarli.
-
Vai al bucket di caricamento (amzn-s3-demo-bucket2) e verifica di poter caricare i file.
Conclusioni
La configurazione è stata completata con successo con l'accesso selettivo al bucket S3 per un singolo utente. AWS Transfer Family WebApp Questa configurazione consente all'utente di scaricare da un bucket e caricarlo su un altro, mantenendo al contempo la sicurezza tramite i ruoli IAM e gli S3 Access Grants.
Questo approccio può essere esteso a più utenti creando sovvenzioni aggiuntive in S3 Access Grants per ogni utente, che consentono un controllo granulare sulle autorizzazioni di accesso ai bucket. Per informazioni sulla configurazione di base dell'app Web, consulta. Tutorial: configurazione di un'app web Transfer Family di base