Konfigurasikan SFTP konektor - AWS Transfer Family

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasikan SFTP konektor

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
  1. Buka AWS Transfer Family konsol di https://console.aws.amazon.com/transfer/.

  2. Di panel navigasi kiri, pilih Konektor, lalu pilih Buat konektor.

  3. Pilih SFTPjenis konektor untuk membuat SFTP konektor, lalu pilih Berikutnya.

    Konsol Transfer Family, menampilkan halaman Buat konektor, tempat Anda memilih jenis konektor. SFTPdipilih.
  4. 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.

      catatan

      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.

        catatan

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

      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/*" ] }] }
  5. 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.

  6. (Opsional) Di bagian Tag, untuk Kunci dan Nilai, masukkan satu atau beberapa tag sebagai pasangan nilai kunci.

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

    Layar pembuatan konektor yang muncul ketika SFTP konektor telah berhasil dibuat. Ini berisi tombol untuk menguji koneksi dan daftar alamat IP statis yang dikelola layanan dari konektor ini.

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.

      catatan

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

    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=" ] }
catatan

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

catatan

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
  1. Masuk ke AWS Management Console dan buka AWS Secrets Manager konsol di https://console.aws.amazon.com/secretsmanager/.

  2. Pada panel navigasi kiri, pilih Rahasia.

  3. Pada halaman Rahasia, pilih Simpan rahasia baru.

  4. Pada halaman Pilih jenis rahasia, untuk tipe Rahasia, pilih Jenis rahasia lainnya.

  5. Di bagian pasangan kunci/Nilai, pilih tab kunci/Nilai.

    • Kunci — MasukkanUsername.

    • nilai — Masukkan nama pengguna yang berwenang untuk terhubung ke server mitra.

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

    • Kunci — MasukkanPassword.

    • nilai — Masukkan kata sandi untuk pengguna.

  7. Jika Anda ingin memberikan kunci pribadi, lihatMenghasilkan dan memformat kunci pribadi SFTP konektor, yang menjelaskan cara memasukkan data kunci pribadi.

    catatan

    Data kunci pribadi yang Anda masukkan harus sesuai dengan kunci publik yang disimpan untuk pengguna ini di SFTP server jarak jauh.

  8. Pilih Berikutnya.

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

  10. Pilih Berikutnya, dan kemudian terima default pada halaman Konfigurasi rotasi. Lalu pilih Berikutnya.

  11. Pada halaman Review, pilih Store untuk membuat dan menyimpan rahasia.

Menghasilkan dan memformat kunci pribadi SFTP konektor

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 ""
catatan

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.

catatan

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
  1. Di konsol Secrets Manager, saat menyimpan jenis rahasia lainnya, pilih tab Plaintext. Teks harus kosong, dengan hanya tanda kurung pembuka dan penutup, {}.

  2. 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"}
    Rahasia dalam teks biasa, menunjukkan teks sampel.

    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.

    Rahasia yang menunjukkan detail di tab kunci/Nilai.
  3. 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.

Untuk menguji SFTP konektor
  1. Buka AWS Transfer Family konsol di https://console.aws.amazon.com/transfer/.

  2. Di panel navigasi kiri, pilih Konektor, dan pilih konektor.

  3. Dari menu Tindakan, pilih Uji koneksi.

    Konsol Transfer Family, menampilkan SFTP konektor yang dipilih, dan tindakan Koneksi uji uji sambungan disorot.

Sistem mengembalikan pesan, menunjukkan apakah tes lulus atau gagal. Jika tes gagal, sistem memberikan pesan kesalahan berdasarkan alasan pengujian gagal.

Panel koneksi uji SFTP konektor, menunjukkan tes yang berhasil.
Panel koneksi uji SFTP konektor, menunjukkan pengujian yang gagal: pesan kesalahan menunjukkan bahwa peran akses untuk konektor tidak benar.
catatan

Untuk menggunakan API untuk menguji konektor Anda, lihat TestConnectionAPIdokumentasi.