CreateUser - AWS Transfer Family

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

CreateUser

Membuat pengguna dan mengaitkannya dengan server berkemampuan protokol transfer file yang ada. Anda hanya dapat membuat dan mengaitkan pengguna dengan server yang memiliki IdentityProviderType atur ke SERVICE_MANAGED. Menggunakan parameter untukCreateUser, Anda dapat menentukan nama pengguna, mengatur direktori home, menyimpan kunci publik pengguna, dan menetapkan peran pengguna AWS Identity and Access Management (IAM). Anda juga dapat menambahkan kebijakan sesi secara opsional, dan menetapkan metadata dengan tag yang dapat digunakan untuk mengelompokkan dan mencari pengguna.

Sintaksis Permintaan

{ "HomeDirectory": "string", "HomeDirectoryMappings": [ { "Entry": "string", "Target": "string", "Type": "string" } ], "HomeDirectoryType": "string", "Policy": "string", "PosixProfile": { "Gid": number, "SecondaryGids": [ number ], "Uid": number }, "Role": "string", "ServerId": "string", "SshPublicKeyBody": "string", "Tags": [ { "Key": "string", "Value": "string" } ], "UserName": "string" }

Parameter Permintaan

Untuk informasi tentang parameter yang umum untuk semua tindakan, lihat Parameter Umum.

Permintaan menerima data berikut dalam format JSON.

HomeDirectory

Direktori arahan (folder) untuk pengguna ketika mereka masuk ke server menggunakan klien.

Contoh HomeDirectory adalah /bucket_name/home/mydirectory.

catatan

Parameter HomeDirectory hanya digunakan jika HomeDirectoryType diatur ke PATH.

Jenis: String

Batasan Panjang: Panjang minimum 0. Panjang maksimum 1024.

Pola: (|/.*)

Wajib: Tidak

HomeDirectoryMappings

Pemetaan direktori logis yang menentukan jalur dan kunci Amazon S3 atau Amazon EFS apa yang harus terlihat oleh pengguna Anda dan bagaimana Anda ingin membuatnya terlihat. Anda harus menentukan Entry dan Target memasangkan, di mana Entry menunjukkan bagaimana jalur dibuat terlihat dan Target merupakan jalur Amazon S3 atau Amazon EFS yang sebenarnya. Jika Anda hanya menentukan target, itu ditampilkan apa adanya. Anda juga harus memastikan bahwa peran AWS Identity and Access Management (IAM) Anda menyediakan akses ke jalur masukTarget. Nilai ini dapat diatur hanya ketika HomeDirectoryType diatur ke LOGICAL.

Berikut ini adalah contoh Entry dan Target pair.

[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]

Dalam kebanyakan kasus, Anda dapat menggunakan nilai ini alih-alih kebijakan sesi untuk mengunci pengguna Anda ke direktori home yang ditunjuk (chroot“”). Untuk melakukan ini, Anda dapat mengatur Entry ke / dan mengatur Target ke nilai yang harus dilihat pengguna untuk direktori home mereka ketika mereka masuk.

Berikut ini adalah contoh Entry dan Target pair untukchroot.

[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]

Tipe: Array objek HomeDirectoryMapEntry

Anggota Array: Jumlah minimum 1 item. Jumlah maksimum 50000 item.

Wajib: Tidak

HomeDirectoryType

Jenis direktori pendaratan (folder) yang Anda inginkan direktori home pengguna Anda ketika mereka masuk ke server. Jika Anda mengaturnyaPATH, pengguna akan melihat bucket Amazon S3 absolut atau jalur Amazon EFS seperti pada klien protokol transfer file mereka. Jika Anda menyetelnyaLOGICAL, Anda harus menyediakan pemetaan HomeDirectoryMappings untuk bagaimana Anda ingin membuat jalur Amazon S3 atau Amazon EFS terlihat oleh pengguna Anda.

catatan

Jika HomeDirectoryType yaLOGICAL, Anda harus memberikan pemetaan, menggunakan parameter. HomeDirectoryMappings Jika, di sisi lain, HomeDirectoryType adalahPATH, Anda memberikan jalur absolut menggunakan HomeDirectory parameter. Anda tidak dapat memiliki keduanya HomeDirectory dan HomeDirectoryMappings di template Anda.

Jenis: String

Nilai yang Valid: PATH | LOGICAL

Wajib: Tidak

Policy

Kebijakan sesi untuk pengguna Anda sehingga Anda dapat menggunakan peran yang sama AWS Identity and Access Management (IAM) di beberapa pengguna. Kebijakan ini mencakup akses pengguna ke sebagian bucket Amazon S3 mereka. Variabel yang dapat Anda gunakan dalam kebijakan ini meliputi ${Transfer:UserName}, ${Transfer:HomeDirectory}, dan ${Transfer:HomeBucket}.

catatan

Kebijakan ini hanya berlaku jika domainnya ServerId adalah Amazon S3. Amazon EFS tidak menggunakan kebijakan sesi.

Untuk kebijakan sesi, AWS Transfer Family menyimpan kebijakan sebagai gumpalan JSON, bukan Nama Sumber Daya Amazon (ARN) kebijakan. Anda menyimpan kebijakan sebagai blob JSON dan meneruskan dalam argumen Policy.

Untuk contoh kebijakan sesi, lihat Contoh kebijakan sesi.

Untuk informasi selengkapnya, lihat AssumeRoledi Referensi API Layanan Token AWS Keamanan.

Jenis: String

Batasan Panjang: Panjang minimum sebesar 0. Panjang maksimum 2048.

Wajib: Tidak

PosixProfile

Menentukan identitas POSIX lengkap, termasuk ID pengguna (Uid), ID grup (Gid), dan ID grup sekunder apa pun (SecondaryGids), yang mengontrol akses pengguna ke sistem file Amazon EFS Anda. Izin POSIX yang ditetapkan pada file dan direktori di Amazon EFS menentukan tingkat akses yang didapat pengguna Anda saat mentransfer file masuk dan keluar dari sistem file Amazon EFS Anda.

Tipe: Objek PosixProfile

Wajib: Tidak

Role

Nama Sumber Daya Amazon (ARN) dari peran AWS Identity and Access Management (IAM) yang mengontrol akses pengguna ke bucket Amazon S3 atau sistem file Amazon EFS. Kebijakan yang dilampirkan pada peran ini menentukan tingkat akses yang ingin Anda berikan kepada pengguna saat mentransfer file masuk dan keluar dari bucket Amazon S3 atau sistem file Amazon EFS. IAM role juga harus berisi hubungan kepercayaan yang mengizinkan server untuk mengakses sumber daya Anda saat melayani permintaan transfer pengguna.

Jenis: String

Batasan Panjang: Panjang minimum 20. Panjang maksimum 2048.

Pola: arn:.*role/\S+

Wajib: Ya

ServerId

Pengidentifikasi unik yang ditetapkan sistem untuk instans server. Ini adalah server tertentu tempat Anda menambahkan pengguna.

Jenis: String

Kendala Panjang: Panjang tetap 19.

Pola: s-([0-9a-f]{17})

Wajib: Ya

SshPublicKeyBody

Bagian publik dari kunci Secure Shell (SSH) yang digunakan untuk mengautentikasi pengguna ke server.

Tiga elemen format kunci publik SSH standar adalah<key type>,, dan opsional <body base64><comment>, dengan spasi di antara setiap elemen.

AWS Transfer Family menerima kunci RSA, ECDSA, dan ED25519.

  • Untuk kunci RSA, tipe kuncinya adalahssh-rsa.

  • Untuk tombol ED25519, jenis kuncinya adalah. ssh-ed25519

  • Untuk kunci ECDSA, jenis kuncinya adalahecdsa-sha2-nistp256,ecdsa-sha2-nistp384, atauecdsa-sha2-nistp521, tergantung pada ukuran kunci yang Anda hasilkan.

Jenis: String

Batasan Panjang: Panjang minimum sebesar 0. Panjang maksimum 2048.

Wajib: Tidak

Tags

Pasangan nilai-kunci yang dapat digunakan untuk grup dan mencari pengguna. Tanda adalah metadata yang dilampirkan ke pengguna untuk tujuan apa pun.

Tipe: Array objek Tag

Anggota Array: Jumlah minimum 1 item. Jumlah maksimum 50 item.

Wajib: Tidak

UserName

String unik yang mengidentifikasi pengguna dan dikaitkan dengan file. ServerId Nama pengguna ini harus sepanjang minimal 3 dan maksimal 100 karakter. Berikut adalah karakter yang valid: a-z, A-Z, 0-9, garis bawah '_', tanda hubung '-', titik '.', dan tanda at '@'. Nama pengguna tidak dapat dimulai dengan tanda hubung, titik, atau tanda at.

Jenis: String

Batasan Panjang: Panjang minimum 3. Panjang maksimum 100.

Pola: [\w][\w@.-]{2,99}

Diperlukan: Ya

Sintaksis Respons

{ "ServerId": "string", "UserName": "string" }

Elemen Respons

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.

Layanan mengembalikan data berikut dalam format JSON.

ServerId

Pengidentifikasi server tempat pengguna dilampirkan.

Jenis: String

Kendala Panjang: Panjang tetap 19.

Pola: s-([0-9a-f]{17})

UserName

String unik yang mengidentifikasi pengguna Transfer Family.

Jenis: String

Batasan Panjang: Panjang minimum 3. Panjang maksimum 100.

Pola: [\w][\w@.-]{2,99}

Kesalahan

Untuk informasi tentang kesalahan yang umum untuk semua tindakan, lihat Kesalahan Umum.

InternalServiceError

Pengecualian ini dilemparkan ketika kesalahan terjadi dalam AWS Transfer Family layanan.

Kode Status HTTP: 500

InvalidRequestException

Pengecualian ini dilontarkan ketika klien mengirimkan permintaan yang salah format.

Kode Status HTTP: 400

ResourceExistsException

Sumber daya yang diminta tidak ada, atau ada di wilayah selain yang ditentukan untuk perintah.

Kode Status HTTP: 400

ResourceNotFoundException

Pengecualian ini dilemparkan ketika sumber daya tidak ditemukan oleh layanan AWS Transfer Family.

Kode Status HTTP: 400

ServiceUnavailableException

Permintaan gagal karena layanan AWS Transfer Family tidak tersedia.

Kode Status HTTP: 500

Contoh

Contoh

Untuk membuat pengguna, pertama-tama Anda dapat menyimpan parameter ke dalam file JSON, misalnyacreateUserParameters, lalu jalankan perintah API create-user.

{ "HomeDirectory": "/DOC-EXAMPLE-BUCKET", "HomeDirectoryType": "PATH", "Role": "arn:aws:iam::111122223333:role/bob-role", "ServerId": "s-1111aaaa2222bbbb3", "SshPublicKeyBody": "ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA... bobusa@mycomputer.us-east-1.amazon.com", "UserName": "bobusa-API" }

Permintaan Sampel

aws transfer create-user --cli-input-json file://createUserParameters

Contoh Respons

{ "ServerId": ""s-1111aaaa2222bbbb3", "UserName": "bobusa-API" }

Lihat Juga

Untuk informasi selengkapnya tentang penggunaan API ini di salah satu AWS SDK khusus bahasa, lihat berikut ini: