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

Configura i SFTP connettori

Questo argomento descrive come creare SFTP connettori, gli algoritmi di sicurezza ad essi associati, come memorizzare un segreto per conservare le credenziali, dettagli sulla formattazione della chiave privata e istruzioni per testare i connettori.

Creare un connettore SFTP

Questa procedura spiega come creare SFTP connettori utilizzando la AWS Transfer Family console o AWS CLI.

Console
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 URL per un SFTP server remoto. Questo URL deve essere formattato comesftp://partner-SFTP-server-url, ad esempiosftp://AnyCompany.com.

      Nota

      Facoltativamente, puoi fornire un numero di porta nel tuo. URL Il formato è sftp://partner-SFTP-server-url:port-number. Il numero di porta predefinito (quando non viene specificata alcuna porta) è la porta 22.

    • Per il ruolo Access, scegli Amazon Resource Name (ARN) del ruolo AWS Identity and Access Management (IAM) da utilizzare.

      • Assicurati che questo ruolo fornisca l'accesso in lettura e scrittura alla directory principale della posizione del file utilizzata nella StartFileTransfer richiesta.

      • Assicurati che questo ruolo fornisca l'autorizzazione secretsmanager:GetSecretValue per accedere al segreto.

        Nota

        Nella politica, è necessario specificare ARN il segreto. ARNContiene il nome segreto, ma aggiunge al nome sei caratteri alfanumerici casuali. Il formato An ARN for a secret è il seguente.

        arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters
      • Assicurati che questo ruolo contenga una relazione di fiducia che consenta al connettore di accedere alle tue risorse per soddisfare le richieste di trasferimento degli utenti. Per i dettagli su come stabilire una relazione di fiducia, consulta. Per stabilire una relazione di trust

      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" } ] }
      Nota

      Per il ruolo di accesso, l'esempio concede l'accesso a un singolo segreto. Tuttavia, puoi usare un carattere jolly, che può far risparmiare lavoro se desideri riutilizzare lo stesso IAM ruolo per più utenti e segreti. Ad esempio, la seguente istruzione relativa alla risorsa concede le autorizzazioni per tutti i segreti il cui nome inizia con. aws/transfer

      "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*"

      È inoltre possibile archiviare i segreti contenenti SFTP le proprie credenziali in un altro. Account AWS Per i dettagli sull'abilitazione dell'accesso segreto tra più account, consulta Autorizzazioni ai AWS Secrets Manager segreti per gli utenti di un altro account.

    • (Facoltativo) Per il ruolo di registrazione, scegli il IAM ruolo del connettore da utilizzare per inviare eventi ai tuoi registri. CloudWatch La seguente policy di esempio elenca le autorizzazioni necessarie per registrare gli eventi per i connettori. SFTP

      { "Version": "2012-10-17", "Statement": [{ "Sid": "SFTPConnectorPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/transfer/*" ] }] }
  5. Nella sezione SFTPConfigurazione, fornisci le seguenti informazioni:

    • Per le credenziali del connettore, dall'elenco a discesa, scegli il nome di un segreto AWS Secrets Manager che contiene la chiave privata o la password SFTP dell'utente. È necessario creare un segreto e archiviarlo in un modo specifico. Per informazioni dettagliate, consultare Memorizza un segreto da utilizzare con un connettore SFTP.

    • Chiavi host affidabili: incolla la parte pubblica della chiave host utilizzata per identificare il server esterno. Puoi aggiungere più di una chiave, scegliendo Aggiungi chiave host affidabile per aggiungere una chiave aggiuntiva. È possibile utilizzare il ssh-keyscan comando sul SFTP server per recuperare la chiave necessaria. Per informazioni dettagliate sul formato e sul tipo di chiavi host affidabili supportate da Transfer Family, vedere SFTPConnectorConfig.

  6. (Facoltativo) Nella sezione Tag, per Chiave e Valore, inserite uno o più tag come coppie chiave-valore.

  7. Dopo aver confermato tutte le impostazioni, scegli Crea connettore per creare il SFTP connettore. Se il connettore viene creato correttamente, viene visualizzata una schermata con un elenco degli indirizzi IP statici assegnati e un pulsante Test di connessione. Utilizzate il pulsante per testare la configurazione del nuovo connettore.

    La schermata di creazione del connettore che appare quando un SFTP connettore è stato creato con successo. Contiene un pulsante per testare la connessione e un elenco degli indirizzi IP statici gestiti dal servizio di questo connettore.

Viene visualizzata la pagina Connettori, con l'ID del nuovo SFTP connettore aggiunto all'elenco. Per visualizzare i dettagli dei connettori, consultaVisualizza i dettagli del SFTP connettore.

CLI

Si utilizza il create-connectorcomando per creare un connettore. Per utilizzare questo comando per creare un SFTP connettore, è necessario fornire le seguenti informazioni.

  • Il URL per un SFTP server remoto. Questo URL deve essere formattato comesftp://partner-SFTP-server-url, ad esempiosftp://AnyCompany.com.

  • Il ruolo di accesso. Scegli l'Amazon Resource Name (ARN) del ruolo AWS Identity and Access Management (IAM) da utilizzare.

    • Assicurati che questo ruolo fornisca l'accesso in lettura e scrittura alla directory principale della posizione del file utilizzata nella StartFileTransfer richiesta.

    • Assicurati che questo ruolo fornisca l'autorizzazione secretsmanager:GetSecretValue per accedere al segreto.

      Nota

      Nella politica, è necessario specificare ARN il segreto. ARNContiene il nome segreto, ma aggiunge al nome sei caratteri alfanumerici casuali. Il formato An ARN for a secret è il seguente.

      arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters
    • Assicurati che questo ruolo contenga una relazione di fiducia che consenta al connettore di accedere alle tue risorse per soddisfare le richieste di trasferimento degli utenti. Per i dettagli su come stabilire una relazione di fiducia, consulta. Per stabilire una relazione di trust

    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" } ] }
    Nota

    Per il ruolo di accesso, l'esempio concede l'accesso a un singolo segreto. Tuttavia, puoi usare un carattere jolly, che può far risparmiare lavoro se desideri riutilizzare lo stesso IAM ruolo per più utenti e segreti. Ad esempio, la seguente istruzione relativa alla risorsa concede le autorizzazioni per tutti i segreti il cui nome inizia con. aws/transfer

    "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*"

    È inoltre possibile archiviare i segreti contenenti SFTP le proprie credenziali in un altro. Account AWS Per i dettagli sull'abilitazione dell'accesso segreto tra più account, consulta Autorizzazioni ai AWS Secrets Manager segreti per gli utenti di un altro account.

  • (Facoltativo) Scegli il IAM ruolo del connettore da utilizzare per inviare eventi ai tuoi CloudWatch registri. La seguente policy di esempio elenca le autorizzazioni necessarie per registrare gli eventi per SFTP i connettori.

    { "Version": "2012-10-17", "Statement": [{ "Sid": "SFTPConnectorPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/transfer/*" ] }] }
  • Fornire le seguenti informazioni SFTP di configurazione.

    • Il ARN di un segreto AWS Secrets Manager che contiene la chiave privata o la password dell'SFTPutente.

    • La parte pubblica della chiave host utilizzata per identificare il server esterno. Se lo desideri, puoi fornire più chiavi host affidabili.

    Il modo più semplice per fornire le SFTP informazioni è salvarle in un file. Ad esempio, copia il seguente testo di esempio in un file denominatotestSFTPConfig.json.

    // Listing for testSFTPConfig.json { "UserSecretId": "arn:aws::secretsmanager:us-east-2:123456789012:secret:aws/transfer/example-username-key", "TrustedHostKeys": [ "sftp.example.com ssh-rsa AAAAbbbb...EEEE=" ] }
Nota

SecretIdPuò essere l'intero ARN o il nome del segreto (example-username-key nell'elenco precedente).

Quindi esegui il comando seguente per creare il connettore.

aws transfer create-connector --url "sftp://partner-SFTP-server-url" \ --access-role your-IAM-role-for-bucket-access \ --logging-role arn:aws:iam::your-account-id:role/service-role/AWSTransferLoggingAccess \ --sftp-config file:///path/to/testSFTPConfig.json

SFTPalgoritmi dei connettori

Quando si crea un SFTP connettore, al connettore vengono collegati i seguenti algoritmi di sicurezza.

Tipo Algoritmo
SSHcifrario

aes256-gcm@openssh.com

aes128-gcm@openssh.com

aes256-ctr

aes192-ctr

SSHmetodo di scambio di chiavi () KEX

curva 25519-sha256

curve25519-sha256@libssh.org

diffie-hellman-group16 - sha512

diffie-hellman-group18-sha512

diffie-hellman-group-exchange-sha256

SSH MAC

hmac-sha2-512-etm@openssh.com

hmac-sha2-256-etm@openssh.com

hmac-sha2-512

hmac-sha2-256

SSHchiave host

ecdsa-sha2-nistp256

ecdsa-sha2-nistp384

ecdsa-sha2-nistp521

rsa-sha2-512

rsa-sha2-256

Memorizza un segreto da utilizzare con un connettore SFTP

È possibile utilizzare Secrets Manager per memorizzare le credenziali utente per i SFTP connettori. Quando crei il tuo segreto, devi fornire un nome utente. Inoltre, puoi fornire una password, una chiave privata o entrambe. Per informazioni dettagliate, consultare Quote per i connettori SFTP.

Nota

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

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: immettere il nome dell'utente autorizzato a connettersi al server del partner.

  6. Se desideri fornire una password, scegli Aggiungi riga e nella sezione Coppie chiave/valore, scegli la scheda Chiave/valore.

    Scegli Aggiungi riga e, nella sezione Coppie chiave/valore, scegli la scheda Chiave/valore.

    • Chiave: Invio. Password

    • valore: immettere la password per l'utente.

  7. Se desideri fornire una chiave privata, vediGenera e formatta la chiave privata del SFTP connettore, che descrive come inserire i dati della chiave privata.

    Nota

    I dati della chiave privata immessi devono corrispondere alla chiave pubblica archiviata per questo utente nel SFTP server remoto.

  8. Scegli Next (Successivo).

  9. Nella pagina Configura segreto, inserisci un nome e una descrizione per il tuo segreto. Ti consigliamo di utilizzare il prefisso di aws/transfer/ per il nome. Ad esempio, puoi dare un nome al tuo segretoaws/transfer/connector-1.

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

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

Genera e formatta la chiave privata del SFTP connettore

I dettagli completi per la generazione di una coppia di chiavi pubblica/privata sono descritti in. Creazione di SSH chiavi su macOS, Linux o Unix

Ad esempio, per generare una chiave privata da utilizzare con i SFTP connettori, il seguente comando di esempio produce il tipo di chiave corretto (replace) key_name con il nome file effettivo per la tua key pair):

ssh-keygen -t rsa -b 4096 -m PEM -f key_name -N ""
Nota

Quando si crea una key pair da utilizzare con i SFTP connettori, non utilizzare una passphrase. È necessaria una passphrase vuota per il corretto funzionamento della configurazione. SFTP

Questo comando crea una coppia di RSA chiavi, con una dimensione della chiave di 4096 bit. La chiave viene generata nel PEM formato legacy, richiesto da Transfer Family per l'utilizzo con il segreto del SFTP connettore. Le chiavi vengono salvate in key_name (chiave privata) e key_name.pub (chiave pubblica) nella directory corrente, ovvero la directory in cui si esegue il ssh-keygen comando.

Nota

Transfer Family non supporta il SSH formato Open (-----BEGIN OPENSSH PRIVATE KEY-----) per le chiavi utilizzate per il SFTP connettore. La chiave deve essere in PEM formato precedente (-----BEGIN RSA PRIVATE KEY-----o-----BEGIN EC PRIVATE KEY-----). È possibile utilizzare lo ssh-keygen strumento per convertire la chiave, fornendo l'-m PEMopzione quando si esegue il comando.

Dopo aver generato la chiave, è necessario assicurarsi che la chiave privata sia formattata con caratteri di nuova riga incorporati (»\n«) nel formato. JSON

Utilizzate un comando per convertire la chiave privata esistente nel formato corretto, ovvero un JSON formato con caratteri di nuova riga incorporati. Qui forniamo esempi per jq e Powershell. Puoi utilizzare qualsiasi strumento o comando per convertire la chiave privata in un JSON formato con caratteri di nuova riga incorporati.

jq command

Questo esempio utilizza il jq comando, che può essere scaricato da Download jq.

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

Ad esempio, se il file della chiave privata si trova in~/.ssh/my_private_key, il comando è il seguente.

jq -sR . ~/.ssh/my_private_key

Ciò restituisce la chiave nel formato corretto (con caratteri di nuova riga incorporati) sullo standard output.

PowerShell

Se si utilizza Windows, è possibile utilizzare PowerShell per convertire la chiave nel formato corretto. Il seguente comando Powershell converte la chiave privata nel formato corretto.

Get-Content -Raw path-to-private-key-file | ConvertTo-Json
Per aggiungere dati di chiave privata al segreto da utilizzare con i connettori SFTP
  1. Nella console Secrets Manager, quando memorizzi Altro tipo di segreto, scegli la scheda Testo normale. Il testo deve essere vuoto, con solo una parentesi di apertura e chiusura, {}.

  2. Incolla il tuo nome utente, i dati della chiave privata e/o la password utilizzando il seguente formato. Per i dati della chiave privata, incolla l'output del comando eseguito nel passaggio 1.

    {"Username":"SFTP-USER","Password":"SFTP-USER-PASSWORD","PrivateKey":"PASTE-PRIVATE-KEY-DATA-HERE"}
    Il segreto in testo semplice, che mostra il testo di esempio.

    Se incollate correttamente i dati della chiave privata, dovreste vedere quanto segue selezionando la scheda Chiave/valore. Notate che i dati della chiave privata vengono visualizzati line-by-line, anziché come una stringa di testo continua.

    Il segreto che mostra i dettagli nella scheda Chiave/valore.
  3. Continuate la procedura descritta Memorizza un segreto da utilizzare con un connettore SFTP al punto 8 e seguitela fino alla fine.

Verificate un SFTP connettore

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

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

Per utilizzare il API per testare il connettore, consulta il TestConnectionAPIdocumentazione.