Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Configurazione e utilizzo dei SFTP connettori

Modalità Focus
Configurazione e utilizzo dei SFTP connettori - 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à.

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

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

Questo tutorial illustra come configurare un SFTP connettore e quindi trasferire file tra lo storage Amazon S3 e SFTP un server.

Un SFTP connettore recupera SFTP le credenziali da AWS Secrets Manager cui autenticarsi su un SFTP server remoto e stabilire una connessione. Il connettore invia o recupera file dal server remoto e li archivia in Amazon S3. Un IAM ruolo 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 SFTP connettore interagisce con Secrets Manager, Amazon S3 CloudWatch , i logIAM, i ruoli e il server remoto. SFTP

Fase 1: Creare le risorse di supporto necessarie

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

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 IAM ruolo con le autorizzazioni necessarie

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

L'esempio seguente concede le autorizzazioni necessarie per accedere a DOC-EXAMPLE-BUCKET in Amazon S3 e il segreto specificato archiviato in Secrets Manager.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters" } ] }

Sostituisci gli articoli come segue:

  • In DOC-EXAMPLE-BUCKET, il tutorial utilizzas3-storage-east.

  • In region, il tutorial utilizzaus-east-1.

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

  • In SecretName-6RandomCharacters, siamo using sftp-connector1 per il nome (avrai i tuoi sei caratteri casuali 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 AWS Secrets Manager

Dobbiamo memorizzare un segreto in Secrets Manager per memorizzare le credenziali utente per il SFTP connettore. È possibile utilizzare una password, una chiave SSH privata 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 Prezzi di AWS Secrets Manager.

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 SFTP server remoto. Per il nostro tutorial, la chiave privata deve corrispondere alla chiave pubblica archiviata per il nostro utente di prova sul SFTP server 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 AWS Management Console e apri la AWS Secrets Manager 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.

Fase 2: Creare e testare un SFTP connettore

In questa sezione, creiamo un SFTP connettore che utilizza tutte le risorse create in precedenza. Per ulteriori dettagli, consulta Configura i SFTP connettori.

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

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

  3. Scegli SFTPil tipo di connettore per creare un SFTP connettore, quindi scegli Avanti.

    La console Transfer Family, che mostra la pagina Crea connettore, in cui è possibile scegliere il tipo di connettore. SFTPè selezionata.
  4. Nella sezione Configurazione del connettore, fornisci le seguenti informazioni:

    • Per URL, inserisci il nome URL del SFTP server remoto. Per il tutorial, entriamo nel URL server Transfer Family che stiamo utilizzando come SFTP server remoto.

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

      Replace (Sostituisci) 1111aaaa2222bbbb3 con il tuo ID server Transfer Family.

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

    • Per il ruolo Logging, scegliAWSTransferLoggingAccess.

      Nota

      AWSTransferLoggingAccessè una politica AWS gestita. Questa politica è descritta in dettaglio inAWS politica gestita: AWSTransferLoggingAccess.

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

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

    • Per le chiavi host affidabili, incolla la parte pubblica della chiave host. Puoi recuperare questa chiave eseguendo l'esecuzione ssh-keyscan sul tuo SFTP server. Per informazioni dettagliate su come formattare e archiviare la chiave host affidabile, consulta la SftpConnectorConfigdocumentazione sui tipi di dati.

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

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

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

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

  3. Dal menu Azioni, scegli Verifica connessione.

    La console Transfer Family, che mostra un SFTP connettore 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 SFTP connettore, che mostra l'esito positivo del test.
Il pannello di verifica della connessione del SFTP connettore, 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 (replace) connector-id con il tuo ID effettivo del connettore):

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" }
Per testare un SFTP connettore
  1. Apri la AWS Transfer Family console all'indirizzo https://console.aws.amazon.com/transfer/.

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

  3. Dal menu Azioni, scegli Verifica connessione.

    La console Transfer Family, che mostra un SFTP connettore 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 SFTP connettore, che mostra l'esito positivo del test.
Il pannello di verifica della connessione del SFTP connettore, che mostra un test non riuscito: il messaggio di errore indica che il ruolo di accesso per il connettore non è corretto.

Passaggio 3: invio e recupero di file tramite 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 di destinazione. Se il tuo SFTP server non utilizza lo storage Amazon S3, ovunque tu veda sftp-server-storage-east nei seguenti comandi, puoi sostituire il percorso con un percorso verso le posizioni dei file accessibili dal tuo SFTP server.

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

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

Nota

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

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

aws transfer start-file-transfer --connector-id c-connector-id --send-file-paths "/s3-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 SFTP del server 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": "/s3-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": "500655546075", "connector-arn": "arn:aws:transfer:us-east-1:500655546075: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 IAM autorizzazioni e i percorsi errati dei file.

Successivamente, recuperiamo un file dal SFTP server 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 "/s3-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": "500655546075", "connector-arn": "arn:aws:transfer:us-east-1:500655546075:connector/c-connector-id", "local-directory-path": "/s3-storage-east/incoming" }

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

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

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

  • Poiché utilizziamo un server Transfer Family, utilizziamo anche un utente gestito dal servizioSFTP. 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 dei SFTP connettori prevede un SFTP utente separato non associato a un server Transfer Family. Per informazioni, consulta Creare un SFTP server Transfer Family e un utente.

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

Creare un SFTP server Transfer Family e un utente

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

Segui la procedura descritta in Crea un server SFTP abilitato 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 IAM ruolo sia per il nostro SFTP utente che per accedere al SFTP connettore. 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 SFTP connettore procedura.

Utente e ruolo di accesso combinati

Per il tutorial, utilizziamo un singolo ruolo combinato. Utilizziamo questo ruolo sia per il nostro SFTP utente, 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:::s3-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:::s3-storage-east/*" ] }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-east-1:500655546075: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.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.