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à.
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
-
Apri la AWS Transfer Family console all'indirizzo https://console.aws.amazon.com/transfer/.
-
Nel riquadro di navigazione a sinistra, scegli Connettori, quindi scegli Crea connettore.
-
Scegli SFTPil tipo di connettore per creare un SFTP connettore, quindi scegli Avanti.
-
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
.
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.
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
"
}
]
}
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/*"
]
}]
}
-
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.
-
(Facoltativo) Nella sezione Tag, per Chiave e Valore, inserite uno o più tag come coppie chiave-valore.
-
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.
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.
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
"
}
]
}
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=
"
]
}
SecretId
Può 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.
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
-
Accedi a AWS Management Console e apri la AWS Secrets Manager console all'indirizzo https://console.aws.amazon.com/secretsmanager/.
-
Nel pannello di navigazione a sinistra, seleziona Segreti.
-
Nella pagina Segreti, scegli Memorizza un nuovo segreto.
-
Nella pagina Scegli il tipo di segreto, per Tipo segreto, scegli Altro tipo di segreto.
-
Nella sezione Coppie chiave/valore, scegli la scheda Chiave/valore.
-
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.
-
Se desideri fornire una chiave privata, vediGenera e formatta la chiave privata del SFTP connettore, che descrive come inserire i dati della chiave privata.
I dati della chiave privata immessi devono corrispondere alla chiave pubblica archiviata per questo utente nel SFTP server remoto.
-
Scegli Next (Successivo).
-
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
.
-
Scegli Avanti, quindi accetta le impostazioni predefinite nella pagina Configura rotazione. Quindi scegli Successivo.
-
Nella pagina Revisione, scegli Store per creare e archiviare il segreto.
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 ""
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.
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 PEM
opzione 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
-
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, {}.
-
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
"}
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.
-
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.
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.
Per utilizzare il API per testare il connettore, consulta il TestConnectionAPIdocumentazione.