Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Topik ini menjelaskan cara membuat SFTP konektor, algoritme keamanan yang terkait dengannya, cara menyimpan rahasia untuk menyimpan kredensil, detail tentang memformat kunci pribadi, dan instruksi untuk menguji konektor Anda.
Buat SFTP konektor
Prosedur ini menjelaskan cara membuat SFTP konektor dengan menggunakan AWS Transfer Family konsol atau AWS CLI.
- Console
-
Untuk membuat SFTP konektor
-
Buka AWS Transfer Family konsol di https://console.aws.amazon.com/transfer/.
-
Di panel navigasi kiri, pilih Konektor, lalu pilih Buat konektor.
-
Pilih SFTPjenis konektor untuk membuat SFTP konektor, lalu pilih Berikutnya.
-
Di bagian Konfigurasi konektor, berikan informasi berikut:
-
Untuk URL, masukkan URL untuk SFTP server jarak jauh. Ini URL harus diformat sebagaisftp://partner-SFTP-server-url
, misalnyasftp://AnyCompany.com
.
Secara opsional, Anda dapat memberikan nomor port di. URL Formatnya adalah sftp://partner-SFTP-server-url
:port-number
. Nomor port default (bila tidak ada port yang ditentukan) adalah port 22.
-
Untuk peran Access, pilih Amazon Resource Name (ARN) dari peran AWS Identity and Access Management (IAM) yang akan digunakan.
-
Pastikan bahwa peran ini menyediakan akses baca dan tulis ke direktori induk dari lokasi file yang digunakan dalam StartFileTransfer
permintaan.
-
Pastikan bahwa peran ini memberikan izin secretsmanager:GetSecretValue
untuk mengakses rahasia.
Dalam kebijakan, Anda harus menentukan ARN rahasianya. ARNBerisi nama rahasia, tetapi menambahkan nama dengan enam, acak, karakter alfanumerik. An ARN for a secret memiliki format berikut.
arn:aws:secretsmanager:region
:account-id
:secret:aws/transfer/SecretName-6RandomCharacters
-
Pastikan peran ini berisi hubungan kepercayaan yang memungkinkan konektor mengakses sumber daya Anda saat melayani permintaan transfer pengguna Anda. Untuk detail tentang membangun hubungan kepercayaan, lihatUntuk membangun hubungan kepercayaan.
Contoh berikut memberikan izin yang diperlukan untuk mengakses DOC-EXAMPLE-BUCKET
di Amazon S3, dan rahasia yang ditentukan disimpan di 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
"
}
]
}
Untuk peran akses, contoh memberikan akses ke satu rahasia. Namun, Anda dapat menggunakan karakter wildcard, yang dapat menyimpan pekerjaan jika Anda ingin menggunakan kembali IAM peran yang sama untuk beberapa pengguna dan rahasia. Misalnya, pernyataan sumber daya berikut memberikan izin untuk semua rahasia yang memiliki nama yang dimulai dengan. aws/transfer
"Resource": "arn:aws:secretsmanager:region
:account-id
:secret:aws/transfer/*"
Anda juga dapat menyimpan rahasia yang berisi SFTP kredensi Anda di tempat lain. Akun AWS Untuk detail tentang mengaktifkan akses rahasia lintas akun, lihat Izin untuk AWS Secrets Manager rahasia bagi pengguna di akun lain.
-
(Opsional) Untuk peran Logging, pilih IAM peran konektor yang akan digunakan untuk mendorong peristiwa ke CloudWatch log Anda. Contoh kebijakan berikut mencantumkan izin yang diperlukan untuk mencatat peristiwa untuk SFTP konektor.
{
"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/*"
]
}]
}
-
Di bagian SFTPKonfigurasi, berikan informasi berikut:
-
Untuk kredensi Connector, dari daftar dropdown, pilih nama rahasia AWS Secrets Manager yang berisi kunci pribadi atau kata SFTP sandi pengguna. Anda harus membuat rahasia dan menyimpannya dengan cara tertentu. Untuk detailnya, lihat Simpan rahasia untuk digunakan dengan SFTP konektor.
-
Kunci host tepercaya - Tempel di bagian publik dari kunci host yang digunakan untuk mengidentifikasi server eksternal. Anda dapat menambahkan lebih dari satu kunci, dengan memilih Tambahkan kunci host tepercaya untuk menambahkan kunci tambahan. Anda dapat menggunakan ssh-keyscan
perintah terhadap SFTP server untuk mengambil kunci yang diperlukan. Untuk detail tentang format dan jenis kunci host tepercaya yang didukung Transfer Family, lihat SFTPConnectorConfig.
-
(Opsional) Di bagian Tag, untuk Kunci dan Nilai, masukkan satu atau beberapa tag sebagai pasangan nilai kunci.
-
Setelah Anda mengkonfirmasi semua pengaturan Anda, pilih Buat konektor untuk membuat SFTP konektor. Jika konektor berhasil dibuat, layar muncul dengan daftar alamat IP statis yang ditetapkan dan tombol koneksi Uji. Gunakan tombol untuk menguji konfigurasi konektor baru Anda.
Halaman Konektor muncul, dengan ID SFTP konektor baru Anda ditambahkan ke daftar. Untuk melihat detail konektor Anda, lihatLihat detail SFTP konektor.
- CLI
-
Anda menggunakan create-connectorperintah untuk membuat konektor. Untuk menggunakan perintah ini untuk membuat SFTP konektor, Anda harus memberikan informasi berikut.
-
URLUntuk SFTP server jarak jauh. Ini URL harus diformat sebagaisftp://partner-SFTP-server-url
, misalnyasftp://AnyCompany.com
.
-
Peran akses. Pilih Amazon Resource Name (ARN) dari peran AWS Identity and Access Management (IAM) yang akan digunakan.
-
Pastikan bahwa peran ini menyediakan akses baca dan tulis ke direktori induk dari lokasi file yang digunakan dalam StartFileTransfer
permintaan.
-
Pastikan bahwa peran ini memberikan izin secretsmanager:GetSecretValue
untuk mengakses rahasia.
Dalam kebijakan, Anda harus menentukan ARN rahasianya. ARNBerisi nama rahasia, tetapi menambahkan nama dengan enam, acak, karakter alfanumerik. An ARN for a secret memiliki format berikut.
arn:aws:secretsmanager:region
:account-id
:secret:aws/transfer/SecretName-6RandomCharacters
-
Pastikan peran ini berisi hubungan kepercayaan yang memungkinkan konektor mengakses sumber daya Anda saat melayani permintaan transfer pengguna Anda. Untuk detail tentang membangun hubungan kepercayaan, lihatUntuk membangun hubungan kepercayaan.
Contoh berikut memberikan izin yang diperlukan untuk mengakses DOC-EXAMPLE-BUCKET
di Amazon S3, dan rahasia yang ditentukan disimpan di 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
"
}
]
}
Untuk peran akses, contoh memberikan akses ke satu rahasia. Namun, Anda dapat menggunakan karakter wildcard, yang dapat menyimpan pekerjaan jika Anda ingin menggunakan kembali IAM peran yang sama untuk beberapa pengguna dan rahasia. Misalnya, pernyataan sumber daya berikut memberikan izin untuk semua rahasia yang memiliki nama yang dimulai dengan. aws/transfer
"Resource": "arn:aws:secretsmanager:region
:account-id
:secret:aws/transfer/*"
Anda juga dapat menyimpan rahasia yang berisi SFTP kredensi Anda di tempat lain. Akun AWS Untuk detail tentang mengaktifkan akses rahasia lintas akun, lihat Izin untuk AWS Secrets Manager rahasia bagi pengguna di akun lain.
-
(Opsional) Pilih IAM peran konektor yang akan digunakan untuk mendorong peristiwa ke CloudWatch log Anda. Contoh kebijakan berikut mencantumkan izin yang diperlukan untuk mencatat peristiwa untuk SFTP konektor.
{
"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/*"
]
}]
}
-
Berikan informasi SFTP konfigurasi berikut.
-
Rahasia AWS Secrets Manager yang berisi kunci pribadi atau kata sandi SFTP pengguna. ARN
-
Bagian publik dari kunci host yang digunakan untuk mengidentifikasi server eksternal. Anda dapat memberikan beberapa kunci host tepercaya jika Anda mau.
Cara termudah untuk memberikan SFTP informasi adalah dengan menyimpannya ke file. Misalnya, salin contoh teks berikut ke file bernamatestSFTPConfig.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
Bisa berupa keseluruhan ARN atau nama rahasia (example-username-key
dalam daftar sebelumnya).
Kemudian jalankan perintah berikut untuk membuat konektor.
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
SFTPalgoritma konektor
Saat Anda membuat SFTP konektor, algoritme keamanan berikut terpasang ke konektor.
Tipe |
Algoritme |
SSHcipher |
aes256-gcm@openssh.com
aes128-gcm@openssh.com
aes256-ctr
aes192-ctr |
SSHmetode pertukaran kunci (KEX) |
kurva25519-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 |
SSHkunci host |
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
rsa-sha2-512
rsa-sha2-256 |
Simpan rahasia untuk digunakan dengan SFTP konektor
Anda dapat menggunakan Secrets Manager untuk menyimpan kredensi pengguna untuk konektor AndaSFTP. Ketika Anda membuat rahasia Anda, Anda harus memberikan nama pengguna. Selain itu, Anda dapat memberikan kata sandi, kunci pribadi, atau keduanya. Untuk detailnya, lihat Kuota untuk konektor SFTP.
Ketika Anda menyimpan rahasia di Secrets Manager, Anda Akun AWS dikenakan biaya. Untuk informasi tentang harga, lihat AWS Secrets Manager Harga.
Untuk menyimpan kredensi pengguna di Secrets Manager untuk konektor SFTP
-
Masuk ke AWS Management Console dan buka AWS Secrets Manager konsol di https://console.aws.amazon.com/secretsmanager/.
-
Pada panel navigasi kiri, pilih Rahasia.
-
Pada halaman Rahasia, pilih Simpan rahasia baru.
-
Pada halaman Pilih jenis rahasia, untuk tipe Rahasia, pilih Jenis rahasia lainnya.
-
Di bagian pasangan kunci/Nilai, pilih tab kunci/Nilai.
-
Jika Anda ingin memberikan kata sandi, pilih Tambahkan baris, dan di bagian pasangan kunci/nilai, pilih tab kunci/Nilai.
Pilih Tambah baris, dan di bagian pasangan kunci/Nilai, pilih tab kunci/Nilai.
-
Jika Anda ingin memberikan kunci pribadi, lihatMenghasilkan dan memformat kunci pribadi SFTP konektor, yang menjelaskan cara memasukkan data kunci pribadi.
Data kunci pribadi yang Anda masukkan harus sesuai dengan kunci publik yang disimpan untuk pengguna ini di SFTP server jarak jauh.
-
Pilih Berikutnya.
-
Pada halaman Konfigurasi rahasia, masukkan nama dan deskripsi untuk rahasia Anda. Kami menyarankan Anda menggunakan awalan aws/transfer/
untuk nama tersebut. Misalnya, Anda bisa menyebutkan rahasia Andaaws/transfer/connector-1
.
-
Pilih Berikutnya, dan kemudian terima default pada halaman Konfigurasi rotasi. Lalu pilih Berikutnya.
-
Pada halaman Review, pilih Store untuk membuat dan menyimpan rahasia.
Detail lengkap untuk menghasilkan public/private key pair dijelaskan dalam. Membuat SSH kunci di macOS, Linux, atau Unix
Sebagai contoh, untuk menghasilkan kunci pribadi untuk digunakan dengan SFTP konektor, perintah contoh berikut menghasilkan jenis kunci yang benar (ganti key_name
dengan nama file aktual untuk key pair Anda):
ssh-keygen -t rsa -b 4096 -m PEM -f key_name
-N ""
Saat Anda membuat key pair untuk digunakan dengan SFTP konektor, jangan gunakan frasa sandi. Frasa sandi kosong diperlukan agar SFTP konfigurasi berfungsi dengan benar.
Perintah ini menciptakan sebuah RSA key pair, dengan ukuran kunci 4096 bit. Kunci dihasilkan dalam PEM format lama, yang diperlukan oleh Transfer Family untuk digunakan dengan rahasia SFTP konektor. Kunci disimpan di key_name
(kunci pribadi) dan key_name
.pub
(kunci publik) di direktori saat ini: yaitu, direktori tempat Anda menjalankan ssh-keygen
perintah.
Transfer Family tidak mendukung SSH format Open (-----BEGIN OPENSSH PRIVATE
KEY-----
) untuk kunci yang digunakan untuk SFTP konektor Anda. Kuncinya harus dalam PEM format lama (-----BEGIN RSA PRIVATE
KEY-----
atau-----BEGIN EC PRIVATE KEY-----
). Anda dapat menggunakan ssh-keygen alat ini untuk mengonversi kunci Anda, dengan menyediakan -m PEM
opsi saat Anda menjalankan perintah.
Setelah Anda membuat kunci, Anda harus memastikan bahwa kunci pribadi diformat dengan karakter baris baru yang disematkan (”\n“) dalam format. JSON
Gunakan perintah untuk mengonversi kunci pribadi Anda yang ada ke format yang benar— JSON format dengan karakter baris baru yang disematkan. Di sini kami memberikan contoh untuk jq
dan Powershell. Anda dapat menggunakan alat atau perintah apa pun yang ingin Anda ubah kunci pribadi menjadi JSON format dengan karakter baris baru yang disematkan.
- jq command
Contoh ini menggunakan jq
perintah, yang tersedia untuk diunduh dari Download jq.
jq -sR . path-to-private-key-file
Misalnya, jika file kunci pribadi Anda berada di~/.ssh/my_private_key
, perintahnya adalah sebagai berikut.
jq -sR . ~/.ssh/my_private_key
Ini menghasilkan kunci dalam format yang benar (dengan karakter baris baru yang disematkan) ke output standar.
- PowerShell
-
Jika Anda menggunakan Windows, Anda dapat menggunakan PowerShell untuk mengonversi kunci ke format yang benar. Perintah Powershell berikut mengonversi kunci pribadi ke format yang benar.
Get-Content -Raw path-to-private-key-file
| ConvertTo-Json
Untuk menambahkan data kunci pribadi ke rahasia untuk digunakan dengan SFTP konektor
-
Di konsol Secrets Manager, saat menyimpan jenis rahasia lainnya, pilih tab Plaintext. Teks harus kosong, dengan hanya tanda kurung pembuka dan penutup, {}.
-
Tempel nama pengguna, data kunci pribadi, dan/atau kata sandi Anda menggunakan format berikut. Untuk data kunci pribadi Anda, tempel output dari perintah yang Anda jalankan di langkah 1.
{"Username":"SFTP-USER
","Password":"SFTP-USER-PASSWORD
","PrivateKey":"PASTE-PRIVATE-KEY-DATA-HERE
"}
Jika Anda menempelkan data kunci pribadi dengan benar, Anda akan melihat yang berikut saat memilih tab kunci/Nilai. Perhatikan bahwa data kunci pribadi ditampilkan line-by-line, bukan sebagai string teks kontinu.
-
Lanjutkan prosedur Simpan rahasia untuk digunakan dengan SFTP konektor di langkah 8, dan ikuti prosedur itu sampai akhir.
Uji SFTP konektor
Setelah Anda membuat SFTP konektor, kami sarankan Anda mengujinya sebelum mencoba mentransfer file apa pun menggunakan konektor baru Anda.
Sistem mengembalikan pesan, menunjukkan apakah tes lulus atau gagal. Jika tes gagal, sistem memberikan pesan kesalahan berdasarkan alasan pengujian gagal.
Untuk menggunakan API untuk menguji konektor Anda, lihat TestConnectionAPIdokumentasi.