Configurazione e utilizzo dei connettori SFTP - AWS Transfer Family

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

Configurazione e utilizzo dei connettori SFTP

Lo scopo di un connettore è stabilire una relazione tra AWS lo storage e il server SFTP di un partner. Puoi inviare file da Amazon S3 a una destinazione esterna di proprietà del partner. Puoi anche utilizzare un connettore SFTP per recuperare file dal server SFTP di un partner.

Questo tutorial illustra come configurare un connettore SFTP con tipi di uscita gestiti dal servizio e VPC_LATTICE, e quindi trasferire file tra lo storage Amazon S3 e un server SFTP.

Un connettore SFTP recupera le credenziali SFTP da cui autenticarsi in un server SFTP remoto e stabilire una connessione. Gestione dei segreti AWS Il connettore invia o recupera file dal server remoto e li archivia in Amazon S3. Puoi scegliere tra l'uscita gestita dal servizio (utilizzando l'infrastruttura AWS gestita) o l'uscita VPC (routing attraverso il tuo VPC utilizzando l'accesso alle risorse Cross-VPC). Un ruolo IAM viene utilizzato per consentire l'accesso al bucket Amazon S3 e alle credenziali archiviate in Secrets Manager. E puoi accedere ad Amazon CloudWatch.

Un diagramma di architettura che illustra come il connettore SFTP interagisce con Secrets Manager, Amazon S3, CloudWatch log, ruoli IAM e il server SFTP remoto.

Il seguente post sul blog fornisce un'architettura di riferimento per creare un flusso di lavoro MFT utilizzando connettori SFTP, inclusa la crittografia dei file tramite PGP prima di inviarli a un server SFTP remoto utilizzando connettori SFTP: Progettazione di trasferimenti di file gestiti sicuri e conformi con connettori SFTP e crittografia PGP. AWS Transfer Family

Tipi di uscita del connettore

I connettori SFTP supportano due tipi di uscita che determinano il modo in cui il connettore indirizza il traffico verso i server SFTP remoti:

  • SERVICE_MANAGED (impostazione predefinita): utilizza l'infrastruttura gestita AWS Transfer Family con indirizzi IP statici per le connessioni in uscita.

  • VPC: indirizza il traffico attraverso il tuo VPC utilizzando Cross-VPC Resource Access, abilitando la connettività degli endpoint privati e l'uso dei tuoi gateway NAT.

Questo tutorial copre entrambi i tipi di uscita. Scegli il tipo di uscita VPC quando devi:

  • Connect a server SFTP privati nel tuo VPC (indirizzi IP privati)

  • Connettiti ai server SFTP locali tramite Direct Connect o VPN

  • Indirizza il traffico degli endpoint pubblici attraverso il tuo VPC per i controlli di sicurezza

  • Usa i tuoi indirizzi IP elastici per le connessioni in uscita

Fase 1: Creare le risorse di supporto necessarie

Puoi utilizzare i connettori SFTP per copiare file tra Amazon S3 e qualsiasi server SFTP remoto. Per questo tutorial, utilizziamo un AWS Transfer Family server come server SFTP remoto. Dobbiamo creare e configurare le seguenti risorse:

Per i connettori di tipo VPC in uscita, sono inoltre necessari:

Crea bucket Amazon S3

Come creare un bucket Amazon S3.
  1. Accedi alla AWS Transfer Family console all'indirizzo. https://console.aws.amazon.com/s3/

  2. Scegli una regione e inserisci un nome.

    Per questo tutorial, il nostro bucket è inserito US East (N. Virginia) us-east-1 e il nome èsftp-server-storage-east.

  3. Accetta le impostazioni predefinite e scegli Crea bucket.

Per informazioni complete sulla creazione di bucket Amazon S3, vedi Come posso creare un bucket S3? nella Guida per l'utente di Amazon Simple Storage Service.

Crea un ruolo IAM con le autorizzazioni necessarie

Per il ruolo di accesso, crea una policy con le seguenti autorizzazioni.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-west-2:111122223333:secret:aws/transfer/SecretName-6RandomCharacters" } ] }

Sostituisci gli elementi come segue:

  • Perchéamzn-s3-demo-bucket, il tutorial utilizzasftp-server-storage-east.

  • Perchéregion, il tutorial utilizzaus-east-1.

  • Perchéaccount-id, usa il tuo Account AWS ID.

  • Perché SecretName-6RandomCharacters siamo using sftp-connector1 per il nome (avrai sei caratteri a caso per il tuo segreto).

È inoltre necessario assicurarsi che questo ruolo contenga una relazione di fiducia che consenta al connettore di accedere alle risorse dell'utente durante la gestione delle richieste di trasferimento degli utenti. Per i dettagli su come stabilire una relazione di fiducia, vedere. Per stabilire una relazione di trust

Nota

Per vedere i dettagli del ruolo che stiamo utilizzando per il tutorial, vediUtente e ruolo di accesso combinati.

Crea e archivia un segreto in Gestione dei segreti AWS

Dobbiamo memorizzare un segreto in Secrets Manager per memorizzare le credenziali utente per il connettore SFTP. È possibile utilizzare una password, una chiave privata SSH o entrambe. Per il tutorial, stiamo usando una chiave privata.

Nota

Quando memorizzi segreti in Secrets Manager, ti vengono Account AWS addebitati dei costi. Per informazioni sui prezzi, consulta Gestione dei segreti AWS Pricing.

Prima di iniziare la procedura di archiviazione del segreto, recuperate e formatta la chiave privata. La chiave privata deve corrispondere alla chiave pubblica configurata per l'utente sul server SFTP remoto. Per il nostro tutorial, la chiave privata deve corrispondere alla chiave pubblica archiviata per il nostro utente di prova sul server SFTP Transfer Family che stiamo utilizzando come server remoto.

Per fare ciò, esegui il seguente comando:

jq -sR . path-to-private-key-file

Ad esempio, se il file della chiave privata si trova in~/.ssh/sftp-testuser-privatekey, il comando è il seguente.

jq -sR . ~/.ssh/sftp-testuser-privatekey

Ciò restituisce la chiave nel formato corretto (con caratteri di nuova riga incorporati) sullo standard output. Copia questo testo da qualche parte, poiché devi incollarlo nella procedura seguente (nel passaggio 6).

Per memorizzare le credenziali utente in Secrets Manager per un connettore SFTP
  1. Accedi a Console di gestione AWS e apri la Gestione dei segreti AWS console all'indirizzo. https://console.aws.amazon.com/secretsmanager/

  2. Nel pannello di navigazione a sinistra, seleziona Segreti.

  3. Nella pagina Segreti, scegli Memorizza un nuovo segreto.

  4. Nella pagina Scegli il tipo di segreto, per Tipo segreto, scegli Altro tipo di segreto.

  5. Nella sezione Coppie chiave/valore, scegli la scheda Chiave/valore.

    • Chiave: Invio. Username

    • valore — Inserisci il nome del nostro utente,sftp-testuser.

  6. Per inserire la chiave, ti consigliamo di utilizzare la scheda Plaintext.

    1. Scegli Aggiungi riga, quindi inserisci. PrivateKey

    2. Scegli la scheda Testo normale. Il campo ora contiene il seguente testo:

      {"Username":"sftp-testuser","PrivateKey":""}
    3. Incolla il testo della tua chiave privata (salvato in precedenza) tra le virgolette doppie vuote («»).

      La schermata dovrebbe apparire come segue (i dati chiave sono visualizzati in grigio).

      Il segreto in testo semplice, che mostra il nome utente e la chiave privata.
  7. Scegli Next (Successivo).

  8. Nella pagina Configura segreto, inserisci un nome per il tuo segreto. Per questo tutorial, diamo un nome al segretoaws/transfer/sftp-connector1.

  9. Scegli Avanti, quindi accetta le impostazioni predefinite nella pagina Configura rotazione. Quindi scegli Successivo.

  10. Nella pagina Revisione, scegli Store per creare e archiviare il segreto.

Creare un Resource Gateway (solo tipo di uscita VPC)

Per i connettori di tipo VPC in uscita, devi creare un Resource Gateway nel tuo VPC. Il Resource Gateway funge da punto di ingresso per l'accesso alle risorse tra VPC.

Per creare un Resource Gateway
  1. Esegui il comando seguente per creare un Resource Gateway (sostituisci l'ID VPC e la sottorete IDs con i tuoi valori):

    aws vpc-lattice create-resource-gateway \ --name my-sftp-resource-gateway \ --vpc-identifier vpc-12345678 \ --subnet-ids subnet-12345678 subnet-87654321
    Nota

    I Resource Gateway richiedono sottoreti in almeno 2 zone di disponibilità.

  2. Prendi nota dell'ID Resource Gateway riportato nella risposta per utilizzarlo nel passaggio successivo.

Creare una configurazione delle risorse (solo tipo di uscita VPC)

Create una configurazione delle risorse che punti al vostro server SFTP. Può trattarsi di un indirizzo IP privato per i server nel tuo VPC o di un nome DNS pubblico per server esterni. Per ulteriori informazioni sulle configurazioni delle risorse, consulta Configurazioni delle risorse nella Amazon VPC Lattice User Guide.

Per creare una configurazione delle risorse
  1. Per un server SFTP privato, esegui:

    aws vpc-lattice create-resource-configuration \ --name my-sftp-resource-config \ --port-ranges 22 \ --type SINGLE \ --resource-gateway-identifier rgw-12345678 \ --resource-configuration-definition ipResource={ipAddress="10.0.1.100"}
  2. Per un server SFTP pubblico (solo nome DNS), esegui:

    aws vpc-lattice create-resource-configuration \ --name my-public-sftp-resource-config \ --port-ranges 22 \ --type SINGLE \ --resource-gateway-identifier rgw-12345678 \ --resource-configuration-definition dnsResource={domainName="sftp.example.com"}
    Nota

    Gli endpoint pubblici devono utilizzare nomi DNS, non indirizzi IP.

  3. Annotare l'ARN di configurazione delle risorse dalla risposta da utilizzare durante la creazione del connettore.

Fase 2: Creare e testare un connettore SFTP

In questa sezione, creiamo un connettore SFTP che utilizza tutte le risorse che abbiamo creato in precedenza. Per ulteriori dettagli, consultare Creazione di connettori SFTP.

Per creare un connettore SFTP
  1. Apri la AWS Transfer Family console all'indirizzo https://console.aws.amazon.com/transfer/.

  2. Nel riquadro di navigazione a sinistra, scegli Connettori SFTP, quindi scegli Crea connettore SFTP.

  3. Per il tipo di uscita, scegli una delle seguenti opzioni:

    • Servizio gestito (impostazione predefinita): utilizza l'infrastruttura gestita AWS Transfer Family con indirizzi IP statici per le connessioni in uscita.

    • VPC Lattice: indirizza il traffico attraverso il tuo VPC utilizzando l'accesso alle risorse Cross-VPC. Scegli questa opzione per la connettività privata degli endpoint o per utilizzare i tuoi gateway NAT.

    Importante

    Non è possibile modificare il tipo di uscita dopo aver creato il connettore. Scegliete con attenzione in base ai vostri requisiti di connettività.

  4. Nella sezione Configurazione del connettore, fornisci le seguenti informazioni:

    • Per l'URL, immettete l'URL del server SFTP remoto. Per il tutorial, inseriamo l'URL del server Transfer Family che stiamo utilizzando come server SFTP remoto.

      sftp://s-1111aaaa2222bbbb3.server.transfer.us-east-1.amazonaws.com

      1111aaaa2222bbbb3Sostituiscilo con il tuo ID server Transfer Family.

    • Per il ruolo Access, inserisci il ruolo che abbiamo creato in precedenza,sftp-connector-role.

    • Per l'ARN di configurazione delle risorse (solo il tipo di uscita VPC Lattice), inserisci l'ARN della configurazione della risorsa che hai creato in precedenza:

      arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/rcfg-12345678
    • Per il ruolo Logging, scegliete un ruolo che includa una politica di fiducia nell'elemento Principal. transfer.amazonaws.com

      Suggerimento: oltre ad aggiungere Transfer Family come entità attendibile, puoi aggiungere la policy AWSTransferLoggingAccess AWS gestita al ruolo. Questa politica è descritta in dettaglio in AWSTransferLoggingAccess.

    La console del connettore SFTP Transfer Family, che mostra le impostazioni di configurazione del connettore.
  5. Nella sezione Configurazione SFTP, fornite le seguenti informazioni:

    • Per le credenziali del connettore, scegliete il nome della risorsa Secrets Manager che contiene le credenziali SFTP. Per il tutorial, scegliete. aws/transfer/sftp-connector1

    • Per le chiavi host affidabili, incolla la parte pubblica della chiave host. Puoi recuperare questa chiave ssh-keyscan eseguendola sul tuo server SFTP. Per i dettagli su come formattare e archiviare la chiave host affidabile, consulta la documentazione SftpConnectorConfigsui tipi di dati.

    • Per il numero massimo di connessioni simultanee, seleziona un valore intero compreso tra 1 e 5: il valore predefinito è 5.

    La console del connettore SFTP Transfer Family, che mostra le impostazioni di configurazione SFTP.
  6. Dopo aver confermato tutte le impostazioni, scegli Crea connettore per creare il connettore SFTP.

Puoi anche creare connettori usando. AWS Command Line Interface

  • Per creare un connettore SFTP con uscita gestita dal servizio, esegui il seguente comando:

    aws transfer create-connector \ --url "sftp://s-1111aaaa2222bbbb3.server.transfer.us-east-1.amazonaws.com" \ --access-role "arn:aws::iam::account-id:role/sftp-connector-role" \ --sftp-config UserSecretId="aws/transfer/sftp-connector1",TrustedHostKeys="ssh-rsa AAAAB3NzaC..."
  • Per creare un connettore SFTP con uscita basata su VPC, esegui il seguente comando:

    aws transfer create-connector \ --url "sftp://my.sftp.server.com:22" \ --access-role "arn:aws::iam::account-id:role/sftp-connector-role" \ --sftp-config UserSecretId="aws/transfer/sftp-connector1",TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn="arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/rcfg-12345678",PortNumber=22}

Dopo aver creato un connettore SFTP, ti consigliamo di testarlo prima di tentare di trasferire qualsiasi file utilizzando il nuovo connettore.

Nota

Per i connettori di tipo VPC in uscita, la risoluzione DNS può richiedere alcuni minuti dopo la creazione. Durante questo periodo, lo stato del connettore sarà PENDING e TestConnection restituirà «Connettore non disponibile». Attendi che lo stato diventi ACTIVE prima di tentare il trasferimento di file.

Test a connector using the console
Per testare un connettore SFTP
  1. Apri la AWS Transfer Family console all'indirizzo https://console.aws.amazon.com/transfer/.

  2. Nel riquadro di navigazione a sinistra, scegli Connettori SFTP e seleziona un connettore.

  3. Dal menu Azioni, scegli Verifica connessione.

    La console Transfer Family, che mostra un connettore SFTP selezionato, e l'azione Test connessione Test connessione evidenziata.

Il sistema restituisce un messaggio che indica se il test ha esito positivo o negativo. Se il test fallisce, il sistema fornisce un messaggio di errore in base al motivo per cui il test non è riuscito.

Il pannello di verifica della connessione del connettore SFTP, che mostra l'esito positivo del test.
Il pannello di connessione per il test del connettore SFTP, che mostra un test non riuscito: il messaggio di errore indica che il ruolo di accesso per il connettore non è corretto.
Test a connector using the CLI

Per testare un connettore utilizzando il AWS Command Line Interface, esegui il comando seguente al prompt dei comandi (sostituiscilo connector-id con l'ID del connettore effettivo):

aws transfer test-connection --connector-id c-connector-id

Se il test ha esito positivo, vengono restituite le seguenti righe:

{ "Status": "OK", "StatusMessage": "Connection succeeded" }

Se il test non ha esito positivo, viene visualizzato un messaggio di errore descrittivo, ad esempio:

{ "Status": "ERROR", "StatusMessage": "Unable to assume the configured access role" }

Quando descrivi un connettore di tipo di uscita VPC, la risposta include i nuovi campi:

{ "Connector": { "AccessRole": "arn:aws:iam::219573224423:role/sftp-connector-role", "Arn": "arn:aws:transfer:us-east-1:219573224423:connector/c-5dfa309ccabf40759", "ConnectorId": "c-5dfa309ccabf40759", "Status": "ACTIVE", "EgressConfig": { "ResourceConfigurationArn": "arn:aws:vpc-lattice:us-east-1:025066256552:resourceconfiguration/rcfg-079259b27a357a190" }, "EgressType": "VPC", "ServiceManagedEgressIpAddresses": null, "SftpConfig": { "TrustedHostKeys": [ "ssh-rsa AAAAB3NzaC..." ], "UserSecretId": "aws/transfer/sftp-connector1" }, "Url": "sftp://my.sftp.server.com:22" } }

Tieni presente che ServiceManagedEgressIpAddresses è nullo per i connettori di tipo VPC in uscita poiché il traffico viene indirizzato attraverso il tuo VPC anziché attraverso l'infrastruttura gestita. AWS

Passaggio 3: invio e recupero di file utilizzando il connettore SFTP

Per semplicità, supponiamo che tu abbia già dei file nel tuo bucket Amazon S3.

Nota

Il tutorial utilizza i bucket Amazon S3 per le posizioni di storage di origine e destinazione. Se il tuo server SFTP non utilizza lo storage Amazon S3, ovunque tu sftp-server-storage-east veda nei seguenti comandi, puoi sostituire il percorso con un percorso verso le posizioni dei file accessibili dal tuo server SFTP.

  • Inviamo un file denominato SEND-to-SERVER.txt dallo storage Amazon S3 al server SFTP.

  • Recuperiamo un file denominato RETRIEVE-to-S3.txt dal server SFTP nello storage Amazon S3.

Nota

Nei seguenti comandi, sostituiscilo connector-id con il tuo ID del connettore.

Innanzitutto, inviamo un file dal nostro bucket Amazon S3 al server SFTP remoto. Da un prompt dei comandi, esegui il seguente comando:

aws transfer start-file-transfer --connector-id c-connector-id --send-file-paths "/sftp-server-storage-east/SEND-to-SERVER.txt" / --remote-directory-path "/sftp-server-storage-east/incoming"

Il tuo sftp-server-storage-east bucket dovrebbe ora avere questo aspetto.

Il bucket del server SFTP con il file appena trasferito.

Se non vedi il file come previsto, controlla i CloudWatch log.

Per controllare i tuoi registri CloudWatch
  1. Apri la CloudWatch console Amazon all'indirizzo https://console.aws.amazon.com/cloudwatch/

  2. Seleziona Log groups dal menu di navigazione a sinistra.

  3. Inserisci l'ID del connettore nella barra di ricerca per trovare i log.

  4. Seleziona il flusso di log che viene restituito dalla ricerca.

  5. Espandi la voce di registro più recente.

In caso di successo, la voce di registro ha il seguente aspetto:

{ "operation": "SEND", "timestamp": "2023-12-18T15:26:57.346283Z", "connector-id": "connector-id", "transfer-id": "transfer-id", "file-transfer-id": "transfer-id/file-transfer-id", "url": "sftp://server-id.server.transfer.us-east-1.amazonaws.com", "file-path": "/sftp-server-storage-east/SEND-to-SERVER.txt", "status-code": "COMPLETED", "start-time": "2023-12-18T15:26:56.915864Z", "end-time": "2023-12-18T15:26:57.298122Z", "account-id": "account-id", "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id", "remote-directory-path": "/sftp-server-storage-east/incoming" }

Se il trasferimento del file non è riuscito, la voce di registro contiene un messaggio di errore che specifica il problema. Le cause più comuni degli errori sono i problemi con le autorizzazioni IAM e i percorsi di file errati.

Successivamente, recuperiamo un file dal server SFTP in un bucket Amazon S3. Da un prompt dei comandi, esegui il seguente comando:

aws transfer start-file-transfer --connector-id c-connector-id --retrieve-file-paths "/sftp-server-storage-east/RETRIEVE-to-S3.txt" --local-directory-path "/sftp-server-storage-east/incoming"

Se il trasferimento ha esito positivo, il bucket Amazon S3 contiene il file trasferito, come illustrato di seguito.

Il bucket Amazon S3 con il file appena trasferito.

In caso di successo, la voce di registro è simile alla seguente:

{ "operation": "RETRIEVE", "timestamp": "2023-12-18T15:36:40.017800Z", "connector-id": "c-connector-id", "transfer-id": "transfer-id", "file-transfer-id": "transfer-id/file-transfer-id", "url": "sftp://s-server-id.server.transfer.us-east-1.amazonaws.com", "file-path": "/sftp-server-storage-east/RETRIEVE-to-S3.txt", "status-code": "COMPLETED", "start-time": "2023-12-18T15:36:39.727626Z", "end-time": "2023-12-18T15:36:39.895726Z", "account-id": "account-id", "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/c-connector-id", "local-directory-path": "/sftp-server-storage-east/incoming" }

Risoluzione dei problemi relativi ai connettori di tipo VPC in uscita

Se riscontri problemi con i connettori di tipo VPC in uscita, controlla quanto segue:

  • Lo stato del connettore è IN SOSPESO: la risoluzione DNS per i connettori VPC può richiedere alcuni minuti. Attendi che lo stato diventi ATTIVO prima di tentare la connessione.

  • Timeout di connessione: verificate che i gruppi di sicurezza consentano il traffico sulla porta 22 tra le sottoreti Resource Gateway e il server SFTP di destinazione.

  • Errori di configurazione delle risorse: assicurati che la configurazione delle risorse punti all'indirizzo IP o al nome DNS corretti e che il Resource Gateway si trovi nello stesso VPC del server SFTP (per endpoint privati). Per ulteriori informazioni, consulta Configurazione delle risorse nella Guida per l’utente di Amazon VPC Lattice.

  • Problemi relativi agli endpoint pubblici: per gli endpoint pubblici, assicurati di utilizzare un nome DNS, non un indirizzo IP, nella configurazione delle risorse. Verifica che il tuo VPC disponga di un gateway NAT per l'accesso a Internet in uscita.

  • Disponibilità AZ: i Resource Gateway richiedono sottoreti in almeno 2 zone di disponibilità. Non tutti AZs supportano VPC Lattice: controlla quello supportato AZs nella tua regione.

Considerazioni sui costi per il tipo di uscita VPC:

  • VPC Lattice addebita 0,006 USD per GB per l'elaborazione dei dati in qualità di fornitore di risorse (fatturato direttamente da VPC Lattice)

  • AWS Transfer Family assorbe i costi di consumo delle risorse pari a 0,01 USD per GB (primo 1 PB)

  • Per gli endpoint pubblici tramite VPC, potrebbero essere applicati costi aggiuntivi per il gateway NAT e il trasferimento dei dati

  • Nessun costo aggiuntivo per Transfer Family oltre alla tariffa standard di elaborazione dati di 0,40 USD/GB

Procedure per creare un server Transfer Family da utilizzare come server SFTP remoto

Di seguito, descriviamo i passaggi per creare un server Transfer Family che funga da server SFTP remoto per questo tutorial. Tenere presente quanto segue:

  • Utilizziamo un server Transfer Family per rappresentare un server SFTP remoto. Gli utenti tipici del connettore SFTP dispongono di un proprio server SFTP remoto. Per informazioni, consulta Creare un server SFTP Transfer Family e un utente.

  • Poiché utilizziamo un server Transfer Family, utilizziamo anche un utente SFTP gestito dal servizio. E, per semplicità, abbiamo combinato le autorizzazioni di cui questo utente ha bisogno per accedere al server Transfer Family con le autorizzazioni necessarie per utilizzare il nostro connettore. Anche in questo caso, la maggior parte dei casi d'uso del connettore SFTP prevede un utente SFTP separato che non è associato a un server Transfer Family. Per informazioni, consulta Creare un server SFTP Transfer Family e un utente.

  • Per il tutorial, poiché utilizziamo lo storage Amazon S3 per il nostro server SFTP remoto, dobbiamo creare un secondo bucketsftp-server-storage-east, in modo da poter trasferire i file da un bucket all'altro.

Creare un server SFTP Transfer Family e un utente

La maggior parte degli utenti non avrà bisogno di creare un server SFTP Transfer Family e un utente, poiché hai già un server SFTP con utenti e puoi utilizzare questo server per trasferire file da e verso. Tuttavia, per questo tutorial, per semplicità, utilizziamo un server Transfer Family per funzionare come server SFTP remoto.

Segui la procedura descritta in Crea un server compatibile con SFTP Per creare un server e Passaggio 3: Aggiungere un utente gestito dal servizio aggiungere un utente. Questi sono i dettagli utente che utilizziamo per il tutorial:

  • Crea il tuo utente gestito dal servizio,. sftp-testuser

    • Imposta la home directory su /sftp-server-storage-east/sftp-testuser

    • Quando crei l'utente, memorizzi una chiave pubblica. Successivamente, quando crei il segreto in Secrets Manager, devi fornire la chiave privata corrispondente.

  • Ruolo:sftp-connector-role. Per il tutorial, utilizziamo lo stesso ruolo IAM sia per il nostro utente SFTP che per accedere al connettore SFTP. Quando crei connettori per la tua organizzazione, potresti avere ruoli utente e di accesso separati.

  • Chiave host del server: è necessario utilizzare la chiave host del server quando si crea il connettore. Puoi recuperare questa chiave eseguendo l'esecuzione ssh-keyscan sul tuo server. Ad esempio, se l'ID del server è s-1111aaaa2222bbbb3 e il relativo endpoint è inseritous-east-1, il comando seguente recupera la chiave dell'host del server:

    ssh-keyscan s-1111aaaa2222bbbb3.server.transfer.us-east-1.amazonaws.com

    Copia questo testo da qualche parte, poiché devi incollarlo nella Fase 2: Creare e testare un connettore SFTP procedura.

Utente e ruolo di accesso combinati

Per il tutorial, utilizziamo un singolo ruolo combinato. Utilizziamo questo ruolo sia per il nostro utente SFTP, sia per l'accesso al connettore. L'esempio seguente contiene i dettagli per questo ruolo, nel caso in cui si desideri eseguire le attività del tutorial.

L'esempio seguente concede le autorizzazioni necessarie per accedere ai nostri due bucket in Amazon S3 e al segreto denominato archiviato in aws/transfer/sftp-connector1 Secrets Manager. Nel tutorial, questo ruolo è denominato. sftp-connector-role

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::sftp-server-storage-east", "arn:aws:s3:::sftp-server-storage-east" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": [ "arn:aws:s3:::sftp-server-storage-east/*", "arn:aws:s3:::sftp-server-storage-east/*" ] }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:aws/transfer/sftp-connector1-6RandomCharacters" } ] }

Per i dettagli completi sulla creazione di ruoli per Transfer Family, segui la procedura descritta in Creazione di un ruolo utente Per creare un ruolo.