Konfigurasikan konektor SFTP - AWS Transfer Family

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

Konfigurasikan konektor SFTP

Topik ini menjelaskan cara membuat konektor SFTP, algoritme keamanan yang terkait dengannya, cara menyimpan rahasia untuk menyimpan kredensil, detail tentang memformat kunci pribadi, dan instruksi untuk menguji konektor Anda.

Buat konektor SFTP

Prosedur ini menjelaskan cara membuat konektor SFTP dengan menggunakan AWS Transfer Family konsol atau. AWS CLI

Console
Untuk membuat konektor SFTP
  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 SFTP untuk jenis konektor untuk membuat konektor SFTP, lalu pilih Berikutnya.

    Konsol Transfer Family, menampilkan halaman Buat konektor, tempat Anda memilih jenis konektor. SFTP dipilih.
  4. Di bagian Konfigurasi konektor, berikan informasi berikut:

    • Untuk URL, masukkan URL untuk server SFTP jarak jauh. URL ini harus diformat sebagaisftp://partner-SFTP-server-url, misalnyasftp://AnyCompany.com.

      catatan

      Secara opsional, Anda dapat memberikan nomor port di URL Anda. 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 untuk rahasianya. ARN berisi nama rahasia, tetapi menambahkan nama dengan enam, acak, karakter alfanumerik. ARN untuk rahasia 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 tertentu yang 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 peran IAM 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 kredensi SFTP 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 peran IAM untuk konektor yang akan digunakan untuk mendorong peristiwa ke CloudWatch log Anda. Contoh kebijakan berikut mencantumkan izin yang diperlukan untuk mencatat peristiwa untuk konektor 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. Di bagian Konfigurasi SFTP, berikan informasi berikut:

    • Untuk kredensi Connector, dari daftar dropdown, pilih nama rahasia AWS Secrets Manager yang berisi kunci pribadi atau kata sandi pengguna SFTP. Anda harus membuat rahasia dan menyimpannya dengan cara tertentu. Lihat perinciannya di Simpan rahasia untuk digunakan dengan konektor SFTP.

    • Untuk 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 server SFTP untuk mengambil kunci yang diperlukan. Untuk detail tentang format dan jenis kunci host tepercaya yang didukung Transfer Family, lihat SFTPConnectorConfig.

  6. Di bagian Opsi algoritma kriptografi, pilih kebijakan keamanan dari daftar dropdown di bidang Kebijakan Keamanan. Kebijakan keamanan memungkinkan Anda untuk memilih algoritma kriptografi yang didukung konektor Anda. Untuk detail tentang kebijakan dan algoritme keamanan yang tersedia, lihatKebijakan keamanan untuk konektor AWS Transfer Family SFTP.

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

  8. Setelah Anda mengkonfirmasi semua pengaturan Anda, pilih Buat konektor untuk membuat konektor SFTP. 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 konektor SFTP 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 konektor SFTP baru Anda ditambahkan ke daftar. Untuk melihat detail konektor Anda, lihatLihat detail konektor SFTP.

CLI

Anda menggunakan create-connectorperintah untuk membuat konektor. Untuk menggunakan perintah ini untuk membuat konektor SFTP, Anda harus memberikan informasi berikut.

  • URL untuk server SFTP jarak jauh. URL ini harus diformat sebagaisftp://partner-SFTP-server-url, misalnyasftp://AnyCompany.com.

  • Peran akses. Pilih Nama Sumber Daya Amazon (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 untuk rahasianya. ARN berisi nama rahasia, tetapi menambahkan nama dengan enam, acak, karakter alfanumerik. ARN untuk rahasia 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 tertentu yang 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 peran IAM 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 kredensi SFTP 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 peran IAM untuk konektor yang akan digunakan untuk mendorong peristiwa ke CloudWatch log Anda. Contoh kebijakan berikut mencantumkan izin yang diperlukan untuk mencatat peristiwa untuk konektor 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/*" ] }] }
  • Berikan informasi konfigurasi SFTP berikut.

    • ARN rahasia AWS Secrets Manager yang berisi kunci pribadi atau kata sandi pengguna SFTP.

    • 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 informasi SFTP 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=" ] }
  • Tentukan kebijakan keamanan untuk konektor Anda, masukkan nama kebijakan keamanan.

catatan

SecretIdDapat berupa seluruh ARN atau nama rahasia (example-username-keydalam 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 --security-policy-name security-policy-name

Simpan rahasia untuk digunakan dengan konektor SFTP

Anda dapat menggunakan Secrets Manager untuk menyimpan kredensi pengguna untuk konektor SFTP Anda. Ketika Anda membuat rahasia Anda, Anda harus memberikan nama pengguna. Selain itu, Anda dapat memberikan kata sandi, kunci pribadi, atau keduanya. Lihat perinciannya di 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, lihatHasilkan dan format kunci pribadi konektor SFTP, 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 server SFTP jarak jauh.

  8. Pilih Selanjutnya.

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

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

Hasilkan dan format kunci pribadi konektor SFTP

Detail lengkap untuk menghasilkan public/private key pair dijelaskan dalam. Membuat kunci SSH di macOS, Linux, atau Unix

Sebagai contoh, untuk menghasilkan kunci pribadi untuk digunakan dengan konektor SFTP, 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 konektor SFTP, jangan gunakan frasa sandi. Frasa sandi kosong diperlukan agar konfigurasi SFTP berfungsi dengan benar.

Perintah ini menciptakan key pair RSA, dengan ukuran kunci 4096 bit. Kunci dihasilkan dalam format PEM lama, yang diperlukan oleh Transfer Family untuk digunakan dengan rahasia konektor SFTP. 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 format OpenSSH -----BEGIN OPENSSH PRIVATE KEY----- () untuk kunci yang digunakan untuk konektor SFTP Anda. Kuncinya harus dalam format PEM 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—format JSON 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 format JSON 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 konektor SFTP
  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 konektor SFTP di langkah 8, dan ikuti prosedur itu sampai akhir.

Uji konektor SFTP

Setelah Anda membuat konektor SFTP, kami sarankan Anda mengujinya sebelum mencoba mentransfer file apa pun menggunakan konektor baru Anda.

Untuk menguji konektor SFTP
  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 konektor SFTP yang dipilih, dan tindakan koneksi Uji koneksi Uji disorot.

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

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

Untuk menggunakan API untuk menguji konektor Anda, lihat dokumentasi TestConnectionAPI.