View a markdown version of this page

AWS Transfer Family Referensi API - AWS Transfer Family

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

AWS Transfer Family Referensi API

Panduan Referensi API lengkap untuk Transfer Family tersedia di Referensi AWS Transfer Family API.

AWS Transfer Family adalah layanan transfer aman yang dapat Anda gunakan untuk mentransfer file masuk dan keluar dari penyimpanan Amazon Simple Storage Service (Amazon S3) melalui protokol berikut:

  • Protokol Transfer File Secure Shell (SSH) (SFTP)

  • Protokol Transfer File Aman (FTPS)

  • Protokol Transfer File (FTP)

  • Pernyataan Penerapan 2 (AS2)

Server, pengguna, dan peran semuanya diidentifikasi oleh Amazon Resource Name (ARN) mereka. Anda dapat menetapkan tag, yang merupakan pasangan nilai kunci, ke entitas dengan ARN. Tag adalah metadata yang dapat digunakan untuk mengelompokkan atau mencari entitas ini. Salah satu contoh di mana tag berguna adalah untuk tujuan akuntansi.

Konvensi berikut diamati dalam format AWS Transfer Family ID:

  • ServerIdnilai mengambil bentuks-01234567890abcdef.

  • SshPublicKeyIdnilai mengambil bentukkey-01234567890abcdef.

Format Amazon Resource Name (ARN) mengambil bentuk berikut:

  • Untuk server, ARN mengambil formulirarn:aws:transfer:region:account-id:server/server-id.

    Contoh dari ARN server adalah: arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef.

  • Untuk pengguna, ARN mengambil formulirarn:aws:transfer:region:account-id:user/server-id/username.

    Contohnya adalah arn:aws:transfer:us-east-1:123456789012:user/s-01234567890abcdef/user1.

Entri DNS (endpoint) yang digunakan adalah sebagai berikut:

  • Titik akhir API mengambil formulirtransfer.region.amazonaws.com.

  • Titik akhir server mengambil formulirserver-id.server.transfer.region.amazonaws.com.

Referensi antarmuka API ini AWS Transfer Family berisi dokumentasi untuk antarmuka pemrograman yang dapat Anda gunakan untuk mengelola AWS Transfer Family. Struktur referensi adalah sebagai berikut:

  • Untuk daftar tindakan API menurut abjad, lihat. Actions

  • Untuk daftar alfabet tipe data, lihat. Types

  • Untuk daftar parameter kueri umum, lihat Parameter Umum.

  • Untuk deskripsi kode kesalahan, lihat Kesalahan Umum.

Tip

Daripada benar-benar menjalankan perintah, Anda dapat menggunakan --generate-cli-skeleton parameter dengan panggilan API apa pun untuk menghasilkan dan menampilkan templat parameter. Anda kemudian dapat menggunakan template yang dihasilkan untuk menyesuaikan dan digunakan sebagai input pada perintah selanjutnya. Untuk detailnya, lihat Menghasilkan dan menggunakan file kerangka parameter.

Membuat permintaan API

Selain menggunakan konsol, Anda dapat menggunakan AWS Transfer Family API untuk mengonfigurasi dan mengelola server secara terprogram. Bagian ini menjelaskan AWS Transfer Family operasi, penandatanganan permintaan untuk otentikasi, dan penanganan kesalahan. Untuk informasi tentang wilayah dan titik akhir yang tersedia untuk Transfer Family, lihat AWS Transfer Family titik akhir dan kuota di Referensi Umum AWS

catatan

Anda juga dapat menggunakan AWS SDK saat mengembangkan aplikasi dengan Transfer Family;. AWS SDK untuk Java, .NET, dan PHP membungkus Transfer Family API yang mendasarinya, menyederhanakan tugas pemrograman Anda. Untuk informasi tentang mengunduh perpustakaan SDK, lihat Perpustakaan kode sampel.

Transfer Family membutuhkan header permintaan

Bagian ini menjelaskan header yang diperlukan yang harus Anda kirim dengan setiap permintaan POST. AWS Transfer Family Anda menyertakan header HTTP untuk mengidentifikasi informasi kunci tentang permintaan termasuk operasi yang ingin Anda panggil, tanggal permintaan, dan informasi yang menunjukkan otorisasi Anda sebagai pengirim permintaan. Header tidak peka huruf besar/kecil dan urutan header tidak penting.

Contoh berikut menunjukkan header yang digunakan dalam ListServersoperasi.

POST / HTTP/1.1 Host: transfer.us-east-1.amazonaws.com x-amz-target: TransferService.ListServers x-amz-date: 20220507T012034Z Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20220507/us-east-1/transfer/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-target, Signature=13550350a8681c84c861aac2e5b440161c2b33a3e4f302ac680ca5b686de48de Content-Type: application/x-amz-json-1.1 Content-Length: 17 {"MaxResults":10}

Berikut ini adalah header yang harus disertakan dengan permintaan POST Anda ke Transfer Family. Header yang ditunjukkan di bawah ini yang dimulai dengan “x-amz” khusus untuk. AWS Semua header lain yang terdaftar adalah header umum yang digunakan dalam transaksi HTTP.

Transfer Family meminta masukan dan penandatanganan

Semua input permintaan harus dikirim sebagai bagian dari muatan JSON di badan permintaan. Untuk Tindakan di mana semua bidang permintaan bersifat opsionalListServers, misalnya, Anda masih perlu menyediakan objek JSON kosong di badan permintaan, seperti{}. Struktur payload Transfer Family request/response didokumentasikan dalam referensi API yang ada, misalnya DescribeServer.

Transfer Family mendukung otentikasi menggunakan AWS Signature Versi 4. Untuk detailnya, lihat Menandatangani permintaan AWS API.

Tanggapan kesalahan

Ketika ada kesalahan, informasi header respons berisi:

  • Content-Type: application/x-amz-json-1.1

  • Kode status yang sesuai 4xx atau 5xx HTTP

Tubuh respons kesalahan berisi informasi tentang kesalahan yang terjadi. Contoh respon kesalahan berikut menunjukkan sintaks output elemen respon umum untuk semua respon kesalahan.

{ "__type": "String", "Message": "String", <!-- Message is lowercase in some instances --> "Resource": "String", "ResourceType": "String", "RetryAfterSeconds": "String" }

Tabel berikut menjelaskan bidang respons kesalahan JSON yang ditunjukkan dalam sintaks sebelumnya.

__jenis

Salah satu pengecualian dari panggilan Transfer Family API.

Tipe: String

Pesan atau pesan

Salah satu pesan kode kesalahan operasi.

catatan

Beberapa pengecualian digunakanmessage, dan yang lainnya menggunakanMessage. Anda dapat memeriksa kode untuk antarmuka Anda untuk menentukan kasus yang tepat. Atau, Anda dapat menguji setiap opsi untuk melihat mana yang berfungsi.

Tipe: String

Sumber Daya

Sumber daya yang kesalahannya dipanggil. Misalnya, jika Anda mencoba membuat pengguna yang sudah ada, itu Resource adalah nama pengguna untuk pengguna yang ada.

Tipe: String

ResourceType

Jenis sumber daya yang kesalahannya dipanggil. Misalnya, jika Anda mencoba membuat pengguna yang sudah ada, ResourceType isUser.

Tipe: String

RetryAfterSeconds

Jumlah detik untuk menunggu sebelum mencoba kembali perintah.

Tipe: String

Contoh respons kesalahan

Badan JSON berikut dikembalikan jika Anda memanggil DescribeServer API dan menentukan server yang tidak ada.

{ "__type": "ResourceNotFoundException", "Message": "Unknown server", "Resource": "s-11112222333344444", "ResourceType": "Server" }

Badan JSON berikut dikembalikan jika menjalankan API menyebabkan pelambatan terjadi.

{ "__type":"ThrottlingException", "RetryAfterSeconds":"1" }

Badan JSON berikut dikembalikan jika Anda menggunakan CreateServer API dan Anda tidak memiliki izin yang cukup untuk membuat server Transfer Family.

{ "__type": "AccessDeniedException", "Message": "You do not have sufficient access to perform this action." }

Badan JSON berikut dikembalikan jika Anda menggunakan CreateUser API dan menentukan pengguna yang sudah ada.

{ "__type": "ResourceExistsException", "Message": "User already exists", "Resource": "Alejandro-Rosalez", "ResourceType": "User" }

Pustaka yang tersedia

AWS menyediakan pustaka, kode sampel, tutorial, dan sumber daya lainnya untuk pengembang perangkat lunak yang lebih suka membangun aplikasi menggunakan API khusus bahasa alih-alih alat baris perintah dan API Kueri. Pustaka ini menyediakan fungsi dasar (tidak termasuk dalam API), seperti otentikasi permintaan, percobaan ulang permintaan, dan penanganan kesalahan sehingga lebih mudah untuk memulai. Lihat Alat untuk dibangun AWS

Untuk pustaka dan kode sampel dalam semua bahasa, lihat Contoh kode & pustaka.

Penyedia Identitas

AWS Transfer Family mendukung beberapa jenis penyedia identitas untuk mengautentikasi dan mengelola pengguna. Setiap server hanya dapat menggunakan satu metode otentikasi, yang harus dipilih ketika server dibuat.

Layanan Dikelola

Dengan metode SERVICE_MANAGED otentikasi, kredensyal pengguna disimpan dan dikelola di dalamnya. AWS Transfer Family Pengguna diautentikasi menggunakan kunci publik SSH yang terkait dengan nama pengguna mereka di server.

Setiap pengguna dapat memiliki satu atau lebih kunci publik SSH yang disimpan dalam layanan. Ketika klien meminta operasi file, ia menyediakan nama pengguna dan kunci pribadi SSH, yang diautentikasi terhadap kunci publik yang disimpan.

Directory Service

Metode AWS_DIRECTORY_SERVICE otentikasi memungkinkan Anda untuk mengintegrasikan dengan AWS Directory Service untuk Microsoft Active Directory (AWS Directory Service for Microsoft Active Directory).

Opsi ini memungkinkan Anda untuk mengelola otentikasi pengguna dan akses melalui grup Active Directory yang ada. Pengguna dapat mengautentikasi menggunakan kredensil Direktori Aktif mereka.

Ada batas default 100 grup Active Directory per server, yang dapat ditingkatkan hingga maksimum 150 grup melalui peningkatan batas layanan.

Lambda

Metode AWS_LAMBDA otentikasi memungkinkan Anda untuk terhubung ke penyedia identitas kustom menggunakan AWS Lambda.

Opsi ini memberikan fleksibilitas untuk berintegrasi dengan sistem manajemen identitas Anda yang ada. Fungsi Lambda bertanggung jawab untuk mengautentikasi pengguna dan mengembalikan kebijakan akses yang sesuai.

Kustom (API Gateway)

Metode API_GATEWAY otentikasi (ditampilkan sebagai Kustom di konsol) memungkinkan Anda menggunakan metode otentikasi khusus yang menyediakan otentikasi pengguna dan kontrol akses.

Metode ini bergantung pada Amazon API Gateway untuk menggunakan panggilan API Anda dari penyedia identitas Anda untuk memvalidasi permintaan pengguna. Anda dapat menggunakan metode kustom ini untuk mengautentikasi pengguna terhadap layanan direktori, name/password pasangan database, atau mekanisme lainnya.

Untuk semua metode otentikasi, pengguna diberi kebijakan yang menentukan akses mereka ke bucket Amazon S3 atau sistem file Amazon Elastic File System. Server mewarisi hubungan kepercayaan dari pengguna melalui peran IAM dengan AssumeRole tindakan, memungkinkannya untuk melakukan operasi file atas nama pengguna.

Konvensi Penamaan

AWS Transfer Family menggunakan format standar untuk pengidentifikasi sumber daya dan Amazon Resource Names (ARN). Memahami konvensi ini penting saat bekerja dengan AWS Transfer Family API.

Format ID

Konvensi berikut diamati dalam format AWS Transfer Family ID:

ID Server

ServerIdnilai mengambil bentuks-01234567890abcdef.

ID Kunci Publik SSH

SshPublicKeyIdnilai mengambil bentukkey-01234567890abcdef.

ID konektor

ConnectorIdnilai mengambil bentukc-01234567890abcdef.

ID Alur Kerja

WorkflowIdnilai mengambil bentukw-01234567890abcdef.

ID Profil

ProfileIdnilai mengambil bentukp-01234567890abcdef.

WebApp ID

WebAppIdnilai mengambil bentukwebapp-01234567890abcdef.

Format ARN

Format Amazon Resource Name (ARN) mengambil bentuk berikut:

Server ARN

Untuk server, ARN mengambil formulirarn:aws:transfer:region:account-id:server/server-id.

Contoh:arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef.

ARN Pengguna

Untuk pengguna, ARN mengambil formulirarn:aws:transfer:region:account-id:user/server-id/username.

Contoh:arn:aws:transfer:us-east-1:123456789012:user/s-01234567890abcdef/user1.

Konektor ARN

Untuk konektor, ARN mengambil formulirarn:aws:transfer:region:account-id:connector/connector-id.

Contoh:arn:aws:transfer:us-east-1:123456789012:connector/c-01234567890abcdef.

ARN Alur Kerja

Untuk alur kerja, ARN mengambil formulir. arn:aws:transfer:region:account-id:workflow/workflow-id

Contoh:arn:aws:transfer:us-east-1:123456789012:workflow/w-01234567890abcdef.

WebApp ARN

Untuk aplikasi web, ARN mengambil formulirarn:aws:transfer:region:account-id:webapp/webapp-id.

Contoh:arn:aws:transfer:us-east-1:123456789012:webapp/webapp-01234567890abcdef.

Anda dapat menetapkan tag, yang merupakan pasangan nilai kunci, ke entitas dengan ARN. Tag adalah metadata yang dapat digunakan untuk mengelompokkan atau mencari entitas ini. Salah satu contoh di mana tag berguna adalah untuk tujuan akuntansi.

DNS dan Endpoint

AWS Transfer Family menggunakan konvensi penamaan DNS standar untuk titik akhir API dan titik akhir server. Memahami titik akhir ini sangat penting untuk mengonfigurasi klien dan melakukan panggilan API.

Titik Akhir API

Titik akhir API digunakan untuk membuat panggilan API untuk mengelola AWS Transfer Family sumber daya. Titik akhir ini mengambil bentuk berikut:

Titik Akhir API Standar

Titik akhir API standar mengambil formulirtransfer.region.amazonaws.com.

Contoh: transfer.us-east-1.amazonaws.com

Dual-Stack Titik Akhir API

AWS Transfer Family menawarkan titik akhir API dual-stack yang dapat diakses menggunakan permintaan IPv4 atau IPv6:

  • https://transfer.region-code.api.aws

  • https://transfer-fips.region-code.api.aws

Titik Akhir Server

Endpoint server digunakan oleh klien transfer file untuk terhubung ke AWS Transfer Family server. Titik akhir ini mengambil bentuk berikut:

Titik Akhir Server Standar

Titik akhir server standar mengambil formulirserver-id.server.transfer.region.amazonaws.com.

Contoh: s-01234567890abcdef.server.transfer.us-east-1.amazonaws.com

Nama Host Kustom

Anda juga dapat mengonfigurasi nama host khusus untuk AWS Transfer Family server Anda. Nama host khusus dapat digunakan untuk memberikan pengalaman yang lebih ramah pengguna atau bermerek bagi pengguna Anda.

Untuk menggunakan nama host khusus, Anda harus:

  1. Memiliki nama domain

  2. Berikan sertifikat yang valid

  3. Konfigurasikan catatan DNS untuk menunjuk ke server Anda AWS Transfer Family

Untuk daftar lengkap AWS Transfer Family titik akhir menurut AWS Wilayah, lihat AWS Transfer Family titik akhir dan kuota di. Referensi Umum AWS