

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

# Mengelola pengguna untuk titik akhir server
<a name="create-user"></a>

Di bagian berikut, Anda dapat menemukan informasi tentang cara menambahkan pengguna yang menggunakan AWS Transfer Family, AWS Directory Service for Microsoft Active Directory atau penyedia identitas khusus.

Sebagai bagian dari properti setiap pengguna, Anda juga menyimpan kunci publik Secure Shell (SSH) pengguna tersebut. Melakukan hal itu diperlukan untuk otentikasi berbasis kunci. Kunci pribadi disimpan secara lokal di komputer pengguna Anda. Ketika pengguna Anda mengirim permintaan otentikasi ke server Anda dengan menggunakan klien, server Anda terlebih dahulu mengonfirmasi bahwa pengguna memiliki akses ke kunci pribadi SSH terkait. Server kemudian berhasil mengotentikasi pengguna.

**catatan**  
Untuk penerapan otomatis dan pengelolaan pengguna dengan beberapa kunci SSH, lihat. [Modul Transfer Family Terraform](terraform.md)

Selain itu, Anda menentukan direktori home pengguna, atau direktori landing, dan menetapkan peran AWS Identity and Access Management (IAM) kepada pengguna. Secara opsional, Anda dapat memberikan kebijakan sesi untuk membatasi akses pengguna hanya ke direktori home bucket Amazon S3 Anda.

**penting**  
AWS Transfer Family memblokir nama pengguna yang panjangnya 1 atau 2 karakter dari otentikasi ke server SFTP. Selain itu, kami juga memblokir nama `root` pengguna.  
Alasan di balik ini adalah karena volume besar upaya login berbahaya oleh pemindai kata sandi.

## Amazon EFS vs Amazon S3
<a name="efs-vs-s3-users"></a>

Karakteristik masing-masing opsi penyimpanan:
+ Untuk membatasi akses: Amazon S3 mendukung kebijakan sesi; Amazon EFS mendukung pengguna POSIX, grup, dan grup sekunder IDs
+  Kedua public/private kunci dukungan 
+  Keduanya mendukung direktori rumah 
+  Keduanya mendukung direktori logis 
**catatan**  
 Untuk Amazon S3, sebagian besar dukungan untuk direktori logis adalah melalui API/CLI. Anda dapat menggunakan kotak centang **Dibatasi** di konsol untuk mengunci pengguna ke direktori home mereka, tetapi Anda tidak dapat menentukan struktur direktori virtual. 

## Direktori logis
<a name="logical-dir-users"></a>

Jika Anda menentukan nilai direktori logis untuk pengguna Anda, parameter yang Anda gunakan tergantung pada jenis pengguna.
+ Untuk pengguna yang dikelola layanan, berikan nilai direktori logis di. `HomeDirectoryMappings`
+ Untuk pengguna penyedia identitas kustom, berikan nilai direktori logis di`HomeDirectoryDetails`.

AWS Transfer Family mendukung menentukan HomeDirectory nilai saat menggunakan LOGICAL HomeDirectoryType. Ini berlaku untuk pengguna yang Dikelola Layanan, akses Direktori Aktif, dan implementasi Penyedia Identitas Kustom HomeDirectoryDetails yang disediakan dalam respons.

**penting**  
Saat menentukan HomeDirectory dengan LOGICAL HomeDirectoryType, nilainya harus dipetakan ke salah satu pemetaan direktori logis Anda. Layanan memvalidasi ini selama pembuatan dan pembaruan pengguna untuk mencegah konfigurasi yang tidak akan berfungsi.

### Perilaku default
<a name="logical-dir-default"></a>

Secara default, jika dibiarkan tidak ditentukan, HomeDirectory diatur ke “/” untuk mode LOGICAL. Perilaku ini tidak berubah dan tetap kompatibel dengan definisi pengguna yang ada.
+ Pastikan untuk memetakan Anda HomeDirectory ke *Entri* dan bukan *Target*. Untuk detail selengkapnya, lihat [Aturan untuk menggunakan direktori logis](logical-dir-mappings.md#logical-dir-rules).
+ Untuk detail tentang bagaimana direktori virtual terstruktur lihat[Struktur direktori virtual](implement-log-dirs.md#virtual-dirs).

### Pertimbangan Penyedia Identitas Kustom
<a name="logical-dir-custom-idp"></a>

Saat menggunakan Penyedia Identitas Kustom, Anda sekarang dapat menentukan respons saat menggunakan LOGICAL HomeDirectoryType. HomeDirectory Panggilan TestIdentityProvider API akan menghasilkan hasil yang benar ketika IDP Kustom menentukan mode LOGICAL. HomeDirectory 

Contoh respon IDP kustom dengan HomeDirectory dan LOGICAL HomeDirectoryType:

```
{
  "Role": "arn:aws:iam::123456789012:role/transfer-user-role",
  "HomeDirectoryType": "LOGICAL",
  "HomeDirectory": "/marketing",
  "HomeDirectoryDetails": "[{\"Entry\":\"/\",\"Target\":\"/bucket/home\"},{\"Entry\":\"/marketing\",\"Target\":\"/marketing-bucket/campaigns\"}]"
}
```

## Kuota grup Direktori Aktif
<a name="ad-group-quotas"></a>

AWS Transfer Family memiliki batas default 100 grup Active Directory per server. Jika kasus penggunaan Anda memerlukan lebih dari 100 grup, pertimbangkan untuk menggunakan solusi penyedia identitas kustom seperti yang dijelaskan dalam [Simplify Active Directory autentikasi dengan penyedia identitas kustom untuk](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/). AWS Transfer Family

Batas ini berlaku untuk server yang menggunakan penyedia identitas berikut:
+ AWS Directory Service untuk Microsoft Active Directory
+ AWS Directory Service untuk Entra ID Domain Services

Jika Anda perlu meminta peningkatan batas layanan, lihat [Layanan AWS kuota](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) di. *Referensi Umum AWS* Jika kasus penggunaan Anda memerlukan lebih dari 100 grup, pertimbangkan untuk menggunakan solusi penyedia identitas kustom seperti yang dijelaskan dalam [Simplify Active Directory autentikasi dengan penyedia identitas kustom untuk](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/). AWS Transfer Family

Untuk informasi pemecahan masalah yang terkait dengan batas grup Active Directory, lihat. [Batas grup Active Directory terlampaui](auth-issues.md#managed-ad-group-limits)

**Topics**
+ [Amazon EFS vs Amazon S3](#efs-vs-s3-users)
+ [Direktori logis](#logical-dir-users)
+ [Kuota grup Direktori Aktif](#ad-group-quotas)
+ [Bekerja dengan pengguna yang dikelola layanan](service-managed-users.md)
+ [Bekerja dengan penyedia identitas khusus](custom-idp-intro.md)
+ [Menggunakan AWS Directory Service untuk Microsoft Active Directory](directory-services-users.md)
+ [Menggunakan AWS Directory Service untuk Entra ID Domain Services](azure-sftp.md)

# Bekerja dengan pengguna yang dikelola layanan
<a name="service-managed-users"></a>

**Anda dapat menambahkan pengguna yang dikelola layanan Amazon S3 atau Amazon EFS ke server Anda, tergantung pada pengaturan Domain server.** Untuk informasi selengkapnya, lihat [Mengkonfigurasi titik akhir server SFTP, FTPS, atau FTP](tf-server-endpoint.md).

Jika Anda menggunakan tipe identitas yang dikelola layanan, Anda menambahkan pengguna ke server yang diaktifkan protokol transfer file Anda. Ketika Anda melakukannya, setiap nama pengguna harus unik di server Anda.

Untuk menambahkan pengguna yang dikelola layanan secara terprogram, lihat [contoh](https://docs.aws.amazon.com/transfer/latest/APIReference/API_CreateUser.html#API_CreateUser_Examples) untuk API. [CreateUser](https://docs.aws.amazon.com/transfer/latest/APIReference/API_CreateUser.html)

**catatan**  
Untuk pengguna yang dikelola layanan ada batas 2.000 entri direktori logis. Untuk informasi tentang menggunakan direktori logis, lihat[Menggunakan direktori logis untuk menyederhanakan struktur direktori Transfer Family](logical-dir-mappings.md).

**Topics**
+ [Menambahkan pengguna yang dikelola layanan Amazon S3](#add-s3-user)
+ [Menambahkan pengguna yang dikelola layanan Amazon EFS](#add-efs-user)
+ [Mengelola pengguna yang dikelola layanan](#managing-service-managed-users)

## Menambahkan pengguna yang dikelola layanan Amazon S3
<a name="add-s3-user"></a>

**catatan**  
 Jika Anda ingin mengonfigurasi bucket Amazon S3 lintas akun, ikuti langkah-langkah yang disebutkan dalam artikel Pusat Pengetahuan ini: [Bagaimana cara mengonfigurasi AWS Transfer Family server saya untuk menggunakan bucket Amazon Simple Storage Service yang ada di akun lain? AWS](https://aws.amazon.com/premiumsupport/knowledge-center/sftp-cross-account-s3-bucket/) .

**Untuk menambahkan pengguna yang dikelola layanan Amazon S3 ke server Anda**

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/), lalu pilih **Server** dari panel navigasi.

1. Pada halaman **Server**, pilih kotak centang server yang ingin Anda tambahkan pengguna.

1. Pilih **Tambahkan pengguna**.

1. Di bagian **Konfigurasi pengguna**, untuk **Nama Pengguna**, masukkan nama pengguna. Nama pengguna ini harus minimal 3 dan maksimal 100 karakter. Anda dapat menggunakan karakter berikut dalam nama pengguna: a—z, A-Z, 0—9, garis bawah '\$1', tanda hubung '-', titik '.' dan di tanda '@'. Nama pengguna tidak dapat dimulai dengan tanda hubung '-', titik '.' atau di tanda '@'.

1. Untuk **Access**, pilih peran IAM yang sebelumnya Anda buat yang menyediakan akses ke bucket Amazon S3 Anda.

   Anda membuat peran IAM ini menggunakan prosedur di[Buat peran dan kebijakan IAM](requirements-roles.md). Peran IAM tersebut mencakup kebijakan IAM yang menyediakan akses ke bucket Amazon S3 Anda. Ini juga mencakup hubungan kepercayaan dengan AWS Transfer Family layanan, yang didefinisikan dalam kebijakan IAM lain. Jika Anda memerlukan kontrol akses berbutir halus untuk pengguna Anda, lihat [Tingkatkan kontrol akses data dengan dan posting blog Amazon AWS Transfer Family S3](https://aws.amazon.com/blogs/storage/enhance-data-access-control-with-aws-transfer-family-and-amazon-s3-access-points/).

1. (Opsional) Untuk **Kebijakan**, pilih salah satu dari berikut ini:
   + **Tidak ada**
   + **Kebijakan yang ada**
   + **Pilih kebijakan dari IAM**: memungkinkan Anda memilih kebijakan sesi yang ada. Pilih **Lihat** untuk melihat objek JSON yang berisi detail kebijakan.
   + **Kebijakan buat otomatis berdasarkan folder beranda**: menghasilkan kebijakan sesi untuk Anda. Pilih **Lihat** untuk melihat objek JSON yang berisi detail kebijakan.
**catatan**  
Jika Anda memilih **Kebijakan buat otomatis berdasarkan folder beranda**, jangan pilih **Dibatasi** untuk pengguna ini.

   Untuk mempelajari lebih lanjut tentang kebijakan sesi, lihat[Buat peran dan kebijakan IAM](requirements-roles.md),[Membuat kebijakan sesi untuk bucket Amazon S3](users-policies-session.md), atau[Pendekatan manajemen izin dinamis](dynamic-permission-management.md).

1. Untuk **direktori Home**, pilih bucket Amazon S3 untuk menyimpan data yang akan ditransfer. AWS Transfer Family Masukkan jalur ke `home` direktori tempat pengguna Anda mendarat saat mereka masuk menggunakan klien mereka.

   Jika parameter ini kosong, `root` direktori bucket Amazon S3 Anda akan digunakan. Dalam hal ini, pastikan bahwa peran IAM Anda menyediakan akses ke `root` direktori ini.
**catatan**  
Sebaiknya pilih jalur direktori yang berisi nama pengguna pengguna, yang memungkinkan Anda menggunakan kebijakan sesi secara efektif. Kebijakan sesi membatasi akses pengguna di bucket Amazon S3 ke direktori pengguna tersebut. `home`

1. (Opsional) Untuk **Dibatasi**, pilih kotak centang sehingga pengguna Anda tidak dapat mengakses apa pun di luar folder itu dan tidak dapat melihat keranjang Amazon S3 atau nama folder.
**catatan**  
Menugaskan pengguna direktori home dan membatasi pengguna ke direktori home itu harus cukup untuk mengunci akses pengguna ke folder yang ditunjuk. Jika Anda perlu menerapkan kontrol lebih lanjut, gunakan kebijakan sesi.   
Jika Anda memilih **Dibatasi** untuk pengguna ini, Anda tidak dapat memilih **Kebijakan buat otomatis berdasarkan folder beranda**, karena folder beranda bukan nilai yang ditentukan untuk pengguna Terbatas.

1. Untuk **kunci publik SSH**, masukkan bagian kunci SSH publik dari key pair SSH.

   Kunci Anda divalidasi oleh layanan sebelum Anda dapat menambahkan pengguna baru Anda.
**catatan**  
Untuk petunjuk tentang cara membuat key pair SSH, lihat[Hasilkan kunci SSH untuk pengguna yang dikelola layanan](sshkeygen.md).

1. (Opsional) Untuk **Kunci** dan **Nilai**, masukkan satu atau beberapa tag sebagai pasangan nilai kunci, dan pilih **Tambahkan** tag.

1. Pilih **Tambah** untuk menambahkan pengguna baru Anda ke server yang Anda pilih.

   Pengguna baru muncul di bagian **Pengguna** pada halaman **detail Server**.

**Langkah selanjutnya** — Untuk langkah selanjutnya, lanjutkan ke[Mentransfer file melalui titik akhir server menggunakan klien](transfer-file.md).

## Menambahkan pengguna yang dikelola layanan Amazon EFS
<a name="add-efs-user"></a>

Amazon EFS menggunakan model izin file Portable Operating System Interface (POSIX) untuk mewakili kepemilikan file.
+  Untuk detail selengkapnya tentang kepemilikan file Amazon EFS, lihat [Kepemilikan file Amazon EFS](configure-storage.md#efs-file-ownership). 
+ Untuk detail selengkapnya tentang menyiapkan direktori untuk pengguna EFS Anda, lihat[Menyiapkan pengguna Amazon EFS untuk Transfer Family](configure-storage.md#configure-efs-users-permissions). 

**Untuk menambahkan pengguna yang dikelola layanan Amazon EFS ke server Anda**

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/), lalu pilih **Server** dari panel navigasi.

1. Pada halaman **Server**, pilih server Amazon EFS yang ingin Anda tambahkan pengguna.

1. Pilih **Tambah pengguna** untuk menampilkan halaman **Tambah pengguna**.

1. Di bagian **Konfigurasi pengguna**, gunakan pengaturan berikut.

   1. Nama **pengguna**, harus minimal 3 dan maksimal 100 karakter. Anda dapat menggunakan karakter berikut dalam nama pengguna: a—z, A-Z, 0-9, garis bawah '\$1', tanda hubung '-', periode ' . ', dan pada tanda “@”. Nama pengguna tidak dapat dimulai dengan tanda hubung '-', titik ' . ', atau pada tanda “@”.

   1.  Untuk **User ID** dan **Group ID**, perhatikan hal berikut: 
      + Untuk pengguna pertama yang Anda buat, kami sarankan Anda memasukkan nilai **0** untuk **ID Grup dan ID** **Pengguna**. Ini memberikan hak administrator pengguna untuk Amazon EFS. 
      + Untuk pengguna tambahan, masukkan ID pengguna POSIX dan ID grup pengguna. Ini IDs digunakan untuk semua operasi Amazon Elastic File System yang dilakukan oleh pengguna. 
      + Untuk **ID Pengguna** dan **ID Grup**, jangan gunakan angka nol di depan. Misalnya, dapat **12345** diterima, **012345** tidak. 

   1. (Opsional) Untuk **Grup Sekunder IDs**, masukkan satu atau lebih grup POSIX tambahan IDs untuk setiap pengguna, dipisahkan dengan koma.

   1. Untuk **Access**, pilih peran IAM yang:
      + Memberikan pengguna akses hanya ke sumber daya Amazon EFS (sistem file) yang Anda ingin mereka akses.
      + Mendefinisikan operasi sistem file mana yang dapat dan tidak dapat dilakukan oleh pengguna.

      Kami menyarankan Anda menggunakan peran IAM untuk pemilihan sistem file Amazon EFS dengan akses mount dan read/write izin. Misalnya, kombinasi dari dua kebijakan AWS terkelola berikut, meskipun cukup permisif, memberikan izin yang diperlukan untuk pengguna Anda: 
      +  AmazonElasticFileSystemClientFullAccess 
      +  AWSTransferConsoleFullAccess 

      Untuk informasi selengkapnya, lihat [AWS Transfer Family dukungan posting blog untuk Amazon Elastic File System](https://aws.amazon.com/blogs/aws/new-aws-transfer-family-support-for-amazon-elastic-file-system/).

   1. Untuk **direktori Home**, lakukan hal berikut:
      + Pilih sistem file Amazon EFS yang ingin Anda gunakan untuk menyimpan data yang akan ditransfer AWS Transfer Family.
      + Putuskan apakah akan mengatur direktori home ke **Restricted**. Menyetel direktori home ke **Restricted** memiliki efek berikut:
        + Pengguna Amazon EFS tidak dapat mengakses file atau direktori apa pun di luar folder itu.
        + Pengguna Amazon EFS tidak dapat melihat nama sistem file Amazon EFS (**fs-xxxxxxx**).
**catatan**  
Saat Anda memilih opsi **Dibatasi**, symlink tidak dapat diselesaikan untuk pengguna Amazon EFS.
      + (Opsional) Masukkan jalur ke direktori home yang Anda inginkan agar pengguna masuk saat mereka masuk menggunakan klien mereka.

        Jika Anda tidak menentukan direktori home, direktori root sistem file Amazon EFS Anda akan digunakan. Dalam hal ini, pastikan bahwa peran IAM Anda menyediakan akses ke direktori root ini.

1. Untuk **kunci publik SSH**, masukkan bagian kunci SSH publik dari key pair SSH.

   Kunci Anda divalidasi oleh layanan sebelum Anda dapat menambahkan pengguna baru Anda.
**catatan**  
Untuk petunjuk tentang cara membuat key pair SSH, lihat[Hasilkan kunci SSH untuk pengguna yang dikelola layanan](sshkeygen.md).

1. (Opsional) Masukkan tag apa pun untuk pengguna. Untuk **Kunci** dan **Nilai**, masukkan satu atau beberapa tag sebagai pasangan nilai kunci, dan pilih **Tambah** tag.

1. Pilih **Tambah** untuk menambahkan pengguna baru Anda ke server yang Anda pilih.

   Pengguna baru muncul di bagian **Pengguna** pada halaman **detail Server**.

 Masalah yang mungkin Anda temui saat pertama kali SFTP ke server Transfer Family Anda: 
+  Jika Anda menjalankan `sftp` perintah dan prompt tidak muncul, Anda mungkin menemukan pesan berikut: 

   `Couldn't canonicalize: Permission denied` 

   `Need cwd` 

   Dalam hal ini, Anda harus meningkatkan izin kebijakan untuk peran pengguna Anda. Anda dapat menambahkan kebijakan AWS terkelola, seperti`AmazonElasticFileSystemClientFullAccess`. 
+ Jika Anda memasukkan `pwd` pada `sftp` prompt untuk melihat direktori home pengguna, Anda mungkin melihat pesan berikut, di mana *USER-HOME-DIRECTORY* direktori home untuk pengguna SFTP:

   `remote readdir("/USER-HOME-DIRECTORY"): No such file or directory` 

  Dalam hal ini, Anda harus dapat menavigasi ke direktori induk (`cd ..`), dan membuat direktori home pengguna (`mkdir username`).

**Langkah selanjutnya** — Untuk langkah selanjutnya, lanjutkan ke[Mentransfer file melalui titik akhir server menggunakan klien](transfer-file.md).

## Mengelola pengguna yang dikelola layanan
<a name="managing-service-managed-users"></a>

 Di bagian ini, Anda dapat menemukan informasi tentang cara melihat daftar pengguna, cara mengedit detail pengguna, dan cara menambahkan kunci publik SSH. 
+ [Melihat daftar pengguna](#list-users)
+ [Melihat atau mengedit detail pengguna](#view-user-details)
+ [Menghapus pengguna](#delete-user)
+ [Tambahkan kunci publik SSH](#add-user-ssh-key)
+ [Hapus kunci publik SSH](#delete-user-ssh-key)<a name="list-users"></a>

**Untuk menemukan daftar pengguna Anda**

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Pilih **Server** dari panel navigasi untuk menampilkan halaman **Server**.

1. Pilih pengenal di kolom **ID Server** untuk melihat halaman **Detail Server**.

1. Di bawah **Pengguna**, lihat daftar pengguna.<a name="view-user-details"></a>

**Untuk melihat atau mengedit detail pengguna**

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Pilih **Server** dari panel navigasi untuk menampilkan halaman **Server**.

1. Pilih pengenal di kolom **ID Server** untuk melihat halaman **Detail Server**.

1. Di bawah **Pengguna**, pilih nama pengguna untuk melihat halaman **Detail pengguna**.

   Anda dapat mengubah properti pengguna di halaman ini dengan memilih **Edit**.

1. Pada halaman **Detail pengguna**, pilih **Edit** di samping **Konfigurasi pengguna**.  
![\[Gambar yang menampilkan layar untuk mengedit konfigurasi pengguna\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/edit-user-details-page-user-config.png)

1. Pada halaman **Edit konfigurasi**, untuk **Access**, pilih peran IAM yang sebelumnya Anda buat yang menyediakan akses ke bucket Amazon S3 Anda.

   Anda membuat peran IAM ini menggunakan prosedur di[Buat peran dan kebijakan IAM](requirements-roles.md). Peran IAM tersebut mencakup kebijakan IAM yang menyediakan akses ke bucket Amazon S3 Anda. Ini juga mencakup hubungan kepercayaan dengan AWS Transfer Family layanan, yang didefinisikan dalam kebijakan IAM lain.

1. (Opsional) Untuk **Kebijakan**, pilih salah satu dari berikut ini:
   + **Tidak ada**
   + **Kebijakan yang ada**
   + **Pilih kebijakan dari IAM** untuk memilih kebijakan yang ada. Pilih **Lihat** untuk melihat objek JSON yang berisi detail kebijakan.

   Untuk mempelajari lebih lanjut tentang kebijakan sesi, lihat[Buat peran dan kebijakan IAM](requirements-roles.md). Untuk mempelajari lebih lanjut tentang membuat kebijakan sesi, lihat[Membuat kebijakan sesi untuk bucket Amazon S3](users-policies-session.md).

1. Untuk **direktori Home**, pilih bucket Amazon S3 untuk menyimpan data yang akan ditransfer. AWS Transfer Family Masukkan jalur ke `home` direktori tempat pengguna Anda mendarat saat mereka masuk menggunakan klien mereka.

   Jika Anda membiarkan parameter ini kosong, `root` direktori bucket Amazon S3 Anda akan digunakan. Dalam hal ini, pastikan bahwa peran IAM Anda menyediakan akses ke `root` direktori ini.
**catatan**  
Sebaiknya pilih jalur direktori yang berisi nama pengguna pengguna, yang memungkinkan Anda menggunakan kebijakan sesi secara efektif. Kebijakan sesi membatasi akses pengguna di bucket Amazon S3 ke direktori pengguna tersebut. `home`

1. (Opsional) Untuk **Dibatasi**, pilih kotak centang sehingga pengguna Anda tidak dapat mengakses apa pun di luar folder itu dan tidak dapat melihat keranjang Amazon S3 atau nama folder.
**catatan**  
Saat menugaskan pengguna direktori home dan membatasi pengguna ke direktori home itu, ini harus cukup untuk mengunci akses pengguna ke folder yang ditunjuk. Gunakan kebijakan sesi saat Anda perlu menerapkan kontrol lebih lanjut.

1. Pilih **Simpan** untuk menyimpan perubahan Anda.<a name="delete-user"></a>

**Untuk menghapus klaster**

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Pilih **Server** dari panel navigasi untuk menampilkan halaman **Server**.

1. Pilih pengenal di kolom **ID Server** untuk melihat halaman **Detail Server**.

1. Di bawah **Pengguna**, pilih nama pengguna untuk melihat halaman **Detail pengguna**. 

1. Pada halaman **Detail pengguna**, pilih **Hapus** di sebelah kanan nama pengguna.

1. Di kotak dialog konfirmasi yang muncul, masukkan kata**delete**, lalu pilih **Hapus** untuk mengonfirmasi bahwa Anda ingin menghapus pengguna.

 Pengguna dihapus dari daftar **pengguna**.<a name="add-user-ssh-key"></a>

**Untuk menambahkan kunci publik SSH untuk pengguna**

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Di panel navigasi, pilih **Server**.

1. Pilih pengenal di kolom **ID Server** untuk melihat halaman **Detail Server**.

1. Di bawah **Pengguna**, pilih nama pengguna untuk melihat halaman **Detail pengguna**.

1. Pilih **Tambahkan kunci publik SSH** untuk menambahkan kunci publik SSH baru ke pengguna.
**catatan**  
Kunci SSH hanya digunakan oleh server yang diaktifkan untuk Secure Shell (SSH) File Transfer Protocol (SFTP). Untuk informasi tentang cara membuat key pair SSH, lihat[Hasilkan kunci SSH untuk pengguna yang dikelola layanan](sshkeygen.md).

1. Untuk **kunci publik SSH**, masukkan bagian kunci publik SSH dari SSH key pair.

   Kunci Anda divalidasi oleh layanan sebelum Anda dapat menambahkan pengguna baru Anda. Format kunci SSH adalah`ssh-rsa string`. Untuk menghasilkan key pair SSH, lihat[Hasilkan kunci SSH untuk pengguna yang dikelola layanan](sshkeygen.md).

1. Pilih **Tambah kunci**.<a name="delete-user-ssh-key"></a>

**Untuk menghapus kunci publik SSH untuk pengguna**

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Di panel navigasi, pilih **Server**.

1. Pilih pengenal di kolom **ID Server** untuk melihat halaman **Detail Server**.

1. Di bawah **Pengguna**, pilih nama pengguna untuk melihat halaman **Detail pengguna**.

1. Untuk menghapus kunci publik, pilih kotak centang kunci SSH dan pilih **Hapus**.

# Bekerja dengan penyedia identitas khusus
<a name="custom-idp-intro"></a>

AWS Transfer Family menawarkan beberapa opsi bagi penyedia identitas khusus untuk mengautentikasi dan mengotorisasi pengguna untuk transfer file yang aman. Berikut adalah pendekatan utama:
+ [Solusi penyedia identitas khusus](custom-idp-toolkit.md)—Topik ini menjelaskan solusi penyedia identitas kustom Transfer Family, menggunakan toolkit yang dihosting. GitHub
**catatan**  
Untuk sebagian besar kasus penggunaan, ini adalah opsi yang disarankan. Secara khusus, jika Anda perlu mendukung lebih dari 100 grup Active Directory, solusi penyedia identitas kustom menawarkan alternatif yang dapat diskalakan tanpa batasan grup. Solusi ini dijelaskan dalam posting blog, [Sederhanakan otentikasi Active Directory dengan penyedia identitas khusus](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/) untuk. AWS Transfer Family
+ [Menggunakan Amazon API Gateway untuk mengintegrasikan penyedia identitas Anda](authentication-api-gateway.md)—Topik ini menjelaskan cara menggunakan AWS Lambda fungsi untuk mendukung metode Amazon API Gateway.

  Anda dapat menyediakan RESTful antarmuka dengan satu metode Amazon API Gateway. Transfer Family memanggil metode ini untuk terhubung ke penyedia identitas Anda, yang mengautentikasi dan memberi wewenang kepada pengguna Anda untuk mengakses Amazon S3 atau Amazon EFS. Gunakan opsi ini jika Anda memerlukan RESTful API untuk mengintegrasikan penyedia identitas Anda atau jika Anda ingin menggunakannya untuk memanfaatkan kemampuannya AWS WAF untuk permintaan pemblokiran geografis atau pembatasan kecepatan. Lihat perinciannya di [Menggunakan Amazon API Gateway untuk mengintegrasikan penyedia identitas Anda](authentication-api-gateway.md).
+ [Pendekatan manajemen izin dinamis](dynamic-permission-management.md)—Topik ini menjelaskan pendekatan untuk mengelola izin pengguna secara dinamis menggunakan kebijakan sesi.

  Untuk mengautentikasi pengguna, Anda dapat menggunakan penyedia identitas yang ada dengan AWS Transfer Family. Anda mengintegrasikan penyedia identitas Anda menggunakan AWS Lambda fungsi, yang mengautentikasi dan memberi wewenang kepada pengguna Anda untuk mengakses Amazon S3 atau Amazon Elastic File System (Amazon EFS). Lihat perinciannya di [Menggunakan AWS Lambda untuk mengintegrasikan penyedia identitas Anda](custom-lambda-idp.md). Anda juga dapat mengakses CloudWatch grafik untuk metrik seperti jumlah file dan byte yang ditransfer di AWS Transfer Family Management Console, memberi Anda satu panel kaca untuk memantau transfer file menggunakan dasbor terpusat.
+ Transfer Family menyediakan posting blog dan lokakarya yang memandu Anda membangun solusi transfer file. Solusi ini memanfaatkan AWS Transfer Family SFTP/FTPS endpoint terkelola dan Amazon Cognito dan DynamoDB untuk manajemen pengguna. 

  Posting blog tersedia di [Menggunakan Amazon Cognito sebagai penyedia identitas dengan AWS Transfer Family dan Amazon S3](https://aws.amazon.com/blogs/storage/using-amazon-cognito-as-an-identity-provider-with-aws-transfer-family-and-amazon-s3/). Anda dapat melihat detail untuk lokakarya [di sini](https://catalog.workshops.aws/transfer-family-sftp/en-US). 

**catatan**  
Untuk penyedia identitas khusus, nama pengguna harus minimal 3 dan maksimal 100 karakter. Anda dapat menggunakan karakter berikut dalam nama pengguna: a—z, A-Z, 0—9, garis bawah '\$1', tanda hubung '-', titik '.' dan di tanda '@'. Nama pengguna tidak dapat dimulai dengan tanda hubung '-', titik '.' atau di tanda '@'.

Saat menerapkan penyedia identitas khusus, pertimbangkan praktik terbaik berikut:
+ Terapkan solusi di wilayah yang sama dengan Akun AWS server Transfer Family Anda.
+ Menerapkan prinsip hak istimewa paling sedikit saat mengonfigurasi peran dan kebijakan IAM.
+ Gunakan fitur seperti daftar izin IP dan pencatatan standar untuk keamanan yang ditingkatkan.
+ Uji penyedia identitas kustom Anda secara menyeluruh di lingkungan non-produksi sebelum penerapan.

**Topics**
+ [Solusi penyedia identitas khusus](custom-idp-toolkit.md)
+ [Menggunakan AWS Lambda untuk mengintegrasikan penyedia identitas Anda](custom-lambda-idp.md)
+ [Menggunakan Amazon API Gateway untuk mengintegrasikan penyedia identitas Anda](authentication-api-gateway.md)
+ [Menggunakan beberapa metode otentikasi](custom-idp-mfa.md)
+ [IPv6 dukungan untuk penyedia identitas khusus](custom-idp-ipv6.md)

# Solusi penyedia identitas khusus
<a name="custom-idp-toolkit"></a>

Solusi penyedia identitas AWS Transfer Family kustom adalah solusi penyedia identitas kustom modular yang memecahkan banyak kasus penggunaan otentikasi dan otorisasi umum yang dimiliki perusahaan saat menerapkan layanan. Solusi ini memberikan fondasi yang dapat digunakan kembali untuk menerapkan penyedia identitas khusus dengan konfigurasi sesi per pengguna terperinci dan memisahkan logika otentikasi dan otorisasi, menawarkan fleksibilitas dan fondasi untuk berbagai kasus penggunaan. easy-to-maintain 

Dengan solusi penyedia identitas AWS Transfer Family khusus, Anda dapat mengatasi kasus penggunaan otentikasi dan otorisasi perusahaan umum. Solusi modular ini menawarkan:
+ Fondasi yang dapat digunakan kembali untuk menerapkan penyedia identitas khusus 
+ Konfigurasi sesi per pengguna granular 
+ Otentikasi terpisah dan logika otorisasi 

## Detail implementasi untuk toolkit identitas kustom
<a name="idp-toolkit-implementation-details"></a>

Solusinya menyediakan basis yang fleksibel dan dapat dipelihara untuk berbagai kasus penggunaan. Untuk memulai, tinjau toolkit di [https://github.com/aws-samples/toolkit-for-aws-transfer-family](https://github.com/aws-samples/toolkit-for-aws-transfer-family), lalu ikuti petunjuk penerapan di bagian [Memulai](https://github.com/aws-samples/toolkit-for-aws-transfer-family/tree/main/solutions/custom-idp#getting-started).

![\[Diagram arsitektur untuk toolkit penyedia identitas kustom yang tersedia di GitHub.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/custom-idp-solution-high-level-architecture.png)


**catatan**  
Jika sebelumnya Anda telah menggunakan templat dan contoh penyedia identitas kustom, pertimbangkan untuk mengadopsi solusi ini sebagai gantinya. Ke depan, modul khusus penyedia akan menstandarisasi solusi ini. Pemeliharaan berkelanjutan dan peningkatan fitur akan diterapkan pada solusi ini.

Solusi ini berisi pola standar untuk menerapkan penyedia kustom yang memperhitungkan detail termasuk pencatatan dan tempat menyimpan metadata sesi tambahan yang diperlukan AWS Transfer Family, seperti parameter. `HomeDirectoryDetails` Solusi ini memberikan fondasi yang dapat digunakan kembali untuk mengimplementasikan penyedia identitas kustom dengan konfigurasi sesi per pengguna granular, dan memisahkan logika otentikasi penyedia identitas dari logika yang dapat digunakan kembali yang membangun konfigurasi yang dikembalikan ke Transfer Family untuk menyelesaikan otentikasi dan menetapkan pengaturan untuk sesi tersebut. 

Kode dan sumber daya pendukung untuk solusi ini tersedia di [https://github.com/aws-samples/toolkit-for-aws-transfer-family](https://github.com/aws-samples/toolkit-for-aws-transfer-family).

Toolkit berisi fitur-fitur berikut:
+ [AWS Serverless Application Model](https://aws.amazon.com/serverless/sam)Template yang menyediakan sumber daya yang dibutuhkan. Secara opsional, terapkan dan konfigurasikan Amazon API Gateway untuk digabungkan AWS WAF, seperti yang dijelaskan dalam posting blog [Mengamankan AWS Transfer Family dengan Firewall Aplikasi AWS Web dan Amazon](https://aws.amazon.com/blogs/storage/securing-aws-transfer-family-with-aws-web-application-firewall-and-amazon-api-gateway/) API Gateway.
+ Skema [Amazon DynamoDB](https://aws.amazon.com/dynamodb) untuk menyimpan metadata konfigurasi tentang penyedia identitas, termasuk setelan sesi pengguna seperti,, dan. `HomeDirectoryDetails` `Role` `Policy`
+ Pendekatan modular yang memungkinkan Anda menambahkan penyedia identitas baru ke solusi di masa depan, sebagai modul.
+ Pengambilan atribut: Secara opsional mengambil peran IAM dan atribut Profil POSIX (UID dan GID) dari penyedia identitas yang didukung, termasuk AD, LDAP, dan Okta.
+ Support untuk beberapa penyedia identitas yang terhubung ke satu server Transfer Family dan beberapa server Transfer Family menggunakan penerapan solusi yang sama.
+ Pemeriksaan daftar izin IP bawaan seperti IP mengizinkan daftar yang secara opsional dapat dikonfigurasi berdasarkan penyedia per-pengguna atau per-identitas.
+ Pencatatan terperinci dengan tingkat log yang dapat dikonfigurasi dan dukungan penelusuran untuk membantu pemecahan masalah.

Sebelum Anda mulai menerapkan solusi penyedia identitas kustom, Anda harus memiliki AWS sumber daya berikut.
+ Amazon Virtual Private Cloud (VPC) dengan subnet pribadi, dengan konektivitas internet melalui gateway NAT atau titik akhir gateway DynamoDB.
+ Izin IAM yang sesuai untuk melakukan tugas-tugas berikut:
  + Menyebarkan `custom-idp.yaml` CloudFormation template,
  + Buat AWS CodePipeline proyek
  + Buat AWS CodeBuild proyek
  + Buat peran dan kebijakan IAM

**penting**  
Anda harus menerapkan solusi yang sama Akun AWS dan Wilayah AWS yang berisi server Transfer Family target Anda.

## Penyedia identitas yang didukung
<a name="custom-supported-idp"></a>

Daftar berikut berisi detail untuk penyedia identitas yang didukung untuk solusi penyedia identitas kustom.


| Penyedia | Alur kata sandi | Arus kunci publik | Multi-faktor | Pengambilan atribut | Detail | 
| --- | --- | --- | --- | --- | --- | 
| Direktori Aktif dan LDAP | Ya | Ya | Tidak | Ya | Verifikasi pengguna dapat dilakukan sebagai bagian dari alur otentikasi kunci publik. | 
| Argon2 (hash lokal) | Ya | Tidak | Tidak | Tidak | Hash Argon2 disimpan dalam catatan pengguna untuk kasus penggunaan otentikasi berbasis kata sandi 'lokal'. | 
| Amazon Cognito | Ya | Tidak | Ya\$1 | Tidak | Hanya otentikasi multi-faktor berbasis One-Time Password (TOTP) berbasis waktu. \$1 MFA berbasis SMS tidak didukung. | 
| Entra ID (sebelumnya Azure AD) | Ya | Tidak | Tidak | Tidak |  | 
| Okta | Ya | Ya | Ya\$1 | Ya | MFA berbasis TOTP saja. | 
| Kunci publik | Tidak | Ya | Tidak | Tidak | Kunci publik disimpan dalam catatan pengguna di DynamoDB. | 
| Secrets Manager | Ya | Ya | Tidak | Tidak |  | 

# Menggunakan AWS Lambda untuk mengintegrasikan penyedia identitas Anda
<a name="custom-lambda-idp"></a>

Topik ini menjelaskan cara membuat AWS Lambda fungsi yang terhubung ke penyedia identitas kustom Anda. Anda dapat menggunakan penyedia identitas kustom apa pun, seperti Okta, Secrets Manager OneLogin, atau penyimpanan data khusus yang menyertakan logika otorisasi dan otentikasi.

Untuk sebagian besar kasus penggunaan, cara yang disarankan untuk mengonfigurasi penyedia identitas khusus adalah dengan menggunakan[Solusi penyedia identitas khusus](custom-idp-toolkit.md).

**catatan**  
Sebelum membuat server Transfer Family yang menggunakan Lambda sebagai penyedia identitas, Anda harus membuat fungsinya. Untuk contoh fungsi Lambda, lihat. [Contoh fungsi Lambda](#lambda-auth-examples) Atau, Anda dapat menerapkan CloudFormation tumpukan yang menggunakan salah satu. [Template fungsi Lambda](#lambda-idp-templates) Selain itu, pastikan fungsi Lambda Anda menggunakan kebijakan berbasis sumber daya yang mempercayai Transfer Family. Untuk contoh kebijakan, lihat [Kebijakan berbasis sumber daya Lambda](#lambda-resource-policy).

1. Buka [konsol AWS Transfer Family](https://console.aws.amazon.com/transfer/).

1. Pilih **Buat server** untuk membuka halaman **Buat server**. Untuk **Pilih penyedia identitas**, pilih **Penyedia Identitas Kustom**, seperti yang ditunjukkan pada gambar berikut.  
![\[Bagian Pilih konsol penyedia identitas dengan Penyedia identitas kustom dipilih. Juga memiliki nilai default yang dipilih, yaitu bahwa pengguna dapat mengautentikasi menggunakan kata sandi atau kunci mereka.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/custom-lambda-console.png)
**catatan**  
Pilihan metode otentikasi hanya tersedia jika Anda mengaktifkan SFTP sebagai salah satu protokol untuk server Transfer Family Anda.

1. Pastikan nilai default, **Gunakan AWS Lambda untuk menghubungkan penyedia identitas Anda**, dipilih.

1. Untuk **AWS Lambda fungsi**, pilih nama fungsi Lambda Anda.

1. Isi kotak yang tersisa, lalu pilih **Buat server**. Untuk detail tentang langkah-langkah yang tersisa untuk membuat server, lihat[Mengkonfigurasi titik akhir server SFTP, FTPS, atau FTP](tf-server-endpoint.md).

## Kebijakan berbasis sumber daya Lambda
<a name="lambda-resource-policy"></a>

Anda harus memiliki kebijakan yang mereferensikan server Transfer Family dan Lambda ARNs. Misalnya, Anda dapat menggunakan kebijakan berikut dengan fungsi Lambda yang terhubung ke penyedia identitas Anda. Kebijakan ini lolos dari JSON sebagai string.

****  

```
"Policy":
"{\"Version\":\"2012-10-17\",
\"Id\":\"default\",
\"Statement\":[
  {\"Sid\":\"AllowTransferInvocation\",
  \"Effect\":\"Allow\",
  \"Principal\":{\"Service\":\"transfer.amazonaws.com\"},
  \"Action\":\"lambda:InvokeFunction\",
  \"Resource\":\"arn:aws:lambda:region:123456789012:function:my-lambda-auth-function\",
  \"Condition\":{\"ArnLike\":{\"AWS:SourceArn\":\"arn:aws:transfer:region:123456789012:server/server-id\"}}}
]}"
```

**catatan**  
Dalam contoh kebijakan di atas, ganti masing-masing *user input placeholder* dengan informasi Anda sendiri.

## Struktur pesan peristiwa
<a name="event-message-structure"></a>

Struktur pesan acara dari server SFTP yang dikirim ke fungsi Lambda otorisasi untuk IDP kustom adalah sebagai berikut.

```
{
    "username": "value",
    "password": "value",
    "protocol": "SFTP",
    "serverId": "s-abcd123456",
    "sourceIp": "192.168.0.100"
}
```

Di mana `username` dan `password` merupakan nilai untuk kredensyal masuk yang dikirim ke server.

Misalnya, Anda memasukkan perintah berikut untuk menghubungkan:

```
sftp bobusa@server_hostname
```

Anda kemudian diminta untuk memasukkan kata sandi Anda:

```
Enter password:
    mysecretpassword
```

Anda dapat memeriksa ini dari fungsi Lambda Anda dengan mencetak peristiwa yang diteruskan dari dalam fungsi Lambda. Seharusnya terlihat mirip dengan blok teks berikut.

```
{
    "username": "bobusa",
    "password": "mysecretpassword",
    "protocol": "SFTP",
    "serverId": "s-abcd123456",
    "sourceIp": "192.168.0.100"
}
```

Struktur acara serupa untuk FTP dan FTPS: satu-satunya perbedaan adalah nilai-nilai tersebut digunakan untuk `protocol` parameter, bukan SFTP.

## Fungsi Lambda untuk otentikasi
<a name="authentication-lambda-examples"></a>

Untuk menerapkan strategi otentikasi yang berbeda, edit fungsi Lambda. Untuk membantu Anda memenuhi kebutuhan aplikasi Anda, Anda dapat menerapkan CloudFormation tumpukan. Untuk informasi selengkapnya tentang Lambda, lihat [Panduan AWS Lambda Pengembang](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) atau Membangun fungsi [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-nodejs.html) dengan Node.js.

**Topics**
+ [Nilai Lambda yang valid](#lambda-valid-values)
+ [Contoh fungsi Lambda](#lambda-auth-examples)
+ [Menguji konfigurasi Anda](#authentication-test-configuration)
+ [Template fungsi Lambda](#lambda-idp-templates)

### Nilai Lambda yang valid
<a name="lambda-valid-values"></a>

Tabel berikut menjelaskan detail nilai yang diterima Transfer Family untuk fungsi Lambda yang digunakan untuk penyedia identitas kustom.


|  Nilai  |  Deskripsi  |  Diperlukan  | 
| --- | --- | --- | 
|  `Role`  |  Menentukan Nama Sumber Daya Amazon (ARN) dari peran 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 sistem file Amazon S3 atau Amazon EFS Anda. IAM role juga harus berisi hubungan kepercayaan yang mengizinkan server untuk mengakses sumber daya Anda saat melayani permintaan transfer pengguna. Untuk detail tentang membangun hubungan kepercayaan, lihat[Untuk membangun hubungan kepercayaan](requirements-roles.md#establish-trust-transfer).  |  Diperlukan  | 
|  `PosixProfile`  |  Identitas POSIX lengkap, termasuk ID pengguna (`Uid`), ID grup (`Gid`), dan grup sekunder IDs (`SecondaryGids`) apa pun, yang mengontrol akses pengguna ke sistem file Amazon EFS Anda. POSIX izin yang ditetapkan pada file dan direktori dalam sistem file Anda menentukan tingkat akses pengguna Anda mendapatkan ketika mentransfer file ke dalam dan keluar dari sistem file Amazon EFS Anda.  |  Diperlukan untuk penyimpanan dukungan Amazon EFS  | 
|  `PublicKeys`  |  Daftar nilai kunci publik SSH yang valid untuk pengguna ini. Daftar kosong menyiratkan bahwa ini bukan login yang valid. Tidak boleh dikembalikan selama otentikasi kata sandi.  |  Opsional  | 
|  `Policy`  |  Kebijakan sesi untuk pengguna Anda sehingga Anda dapat menggunakan peran IAM yang sama di beberapa pengguna. Kebijakan ini mencakup bawah akses pengguna ke bagian dari bucket Amazon S3 mereka. Untuk informasi selengkapnya tentang penggunaan kebijakan sesi dengan penyedia identitas kustom, lihat contoh kebijakan sesi dalam topik ini.  |  Opsional  | 
|  `HomeDirectoryType`  |  Jenis direktori pendaratan (folder) yang Anda inginkan direktori home pengguna Anda ketika mereka masuk ke server. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/custom-lambda-idp.html)  |  Opsional  | 
|  `HomeDirectoryDetails`  |  Pemetaan direktori logis yang menentukan jalur dan kunci Amazon S3 atau Amazon EFS mana 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.  |  Diperlukan jika `HomeDirectoryType` memiliki nilai `LOGICAL`  | 
|  `HomeDirectory`  |  Direktori pendaratan untuk pengguna ketika mereka masuk ke server menggunakan klien. Formatnya tergantung pada backend penyimpanan Anda: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/custom-lambda-idp.html)  Nama bucket atau ID sistem file Amazon EFS harus disertakan dalam path. Menghilangkan informasi ini akan mengakibatkan kesalahan “File tidak ditemukan” selama transfer file.   |  Opsional  | 

**catatan**  
`HomeDirectoryDetails`adalah representasi string dari peta JSON. Hal ini berbeda dengan`PosixProfile`, yang merupakan objek peta JSON yang sebenarnya, dan `PublicKeys` yang merupakan array JSON string. Lihat contoh kode untuk detail khusus bahasa.

**HomeDirectory Persyaratan Format**  
Saat menggunakan `HomeDirectory` parameter, pastikan Anda menyertakan format jalur lengkap:  
**Untuk penyimpanan Amazon S3:** Selalu sertakan nama bucket dalam format `/bucket-name/path`
**Untuk penyimpanan Amazon EFS:** Selalu sertakan ID sistem file dalam format `/fs-12345/path`
Penyebab umum kesalahan “File tidak ditemukan” adalah menghilangkan nama bucket atau ID sistem file EFS dari `HomeDirectory` jalur. Pengaturan `HomeDirectory` ke hanya `/` tanpa pengenal penyimpanan akan menyebabkan otentikasi berhasil tetapi operasi file gagal.

### Contoh fungsi Lambda
<a name="lambda-auth-examples"></a>

Bagian ini menyajikan beberapa contoh fungsi Lambda, baik di NodeJS maupun Python.

**catatan**  
Dalam contoh ini, detail direktori pengguna, peran, profil POSIX, kata sandi, dan home directory adalah contoh, dan harus diganti dengan nilai aktual Anda.

------
#### [ Logical home directory, NodeJS ]

[Fungsi contoh NodeJS berikut memberikan rincian untuk pengguna yang memiliki direktori home logis.](https://docs.aws.amazon.com/transfer/latest/userguide/logical-dir-mappings.html) 

```
// GetUserConfig Lambda

exports.handler = (event, context, callback) => {
  console.log("Username:", event.username, "ServerId: ", event.serverId);

  var response;
  // Check if the username presented for authentication is correct. This doesn't check the value of the server ID, only that it is provided.
  if (event.serverId !== "" && event.username == 'example-user') {
    var homeDirectoryDetails = [
      {
        Entry: "/",
        Target: "/fs-faa1a123"
      }
    ];
    response = {
      Role: 'arn:aws:iam::123456789012:role/transfer-access-role', // The user is authenticated if and only if the Role field is not blank
      PosixProfile: {"Gid": 65534, "Uid": 65534}, // Required for EFS access, but not needed for S3
      HomeDirectoryDetails: JSON.stringify(homeDirectoryDetails),
      HomeDirectoryType: "LOGICAL",
    };

    // Check if password is provided
    if (!event.password) {
      // If no password provided, return the user's SSH public key
      response['PublicKeys'] = [ "ssh-rsa abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789" ];
    // Check if password is correct
    } else if (event.password !== 'Password1234') {
      // Return HTTP status 200 but with no role in the response to indicate authentication failure
      response = {};
    }
  } else {
    // Return HTTP status 200 but with no role in the response to indicate authentication failure
    response = {};
  }
  callback(null, response);
};
```

------
#### [ Path-based home directory, NodeJS ]

Fungsi contoh NodeJS berikut memberikan rincian untuk pengguna yang memiliki direktori home berbasis jalur. 

```
// GetUserConfig Lambda

exports.handler = (event, context, callback) => {
  console.log("Username:", event.username, "ServerId: ", event.serverId);

  var response;
  // Check if the username presented for authentication is correct. This doesn't check the value of the server ID, only that it is provided.
  // There is also event.protocol (one of "FTP", "FTPS", "SFTP") and event.sourceIp (e.g., "127.0.0.1") to further restrict logins.
  if (event.serverId !== "" && event.username == 'example-user') {
    response = {
      Role: 'arn:aws:iam::123456789012:role/transfer-access-role', // The user is authenticated if and only if the Role field is not blank
      Policy: '', // Optional, JSON stringified blob to further restrict this user's permissions
      // HomeDirectory format depends on your storage backend:
      // For S3: '/bucket-name/user-home-directory' (e.g., '/my-transfer-bucket/users/john')
      // For EFS: '/fs-12345/user-home-directory' (e.g., '/fs-faa1a123/users/john')
      HomeDirectory: '/my-transfer-bucket/users/example-user' // S3 example - replace with your bucket name
      // HomeDirectory: '/fs-faa1a123/users/example-user' // EFS example - uncomment for EFS
    };
    
    // Check if password is provided
    if (!event.password) {
      // If no password provided, return the user's SSH public key
     response['PublicKeys'] = [ "ssh-rsa abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789" ];
    // Check if password is correct
    } else if (event.password !== 'Password1234') {
      // Return HTTP status 200 but with no role in the response to indicate authentication failure
      response = {};
    } 
  } else {
    // Return HTTP status 200 but with no role in the response to indicate authentication failure
    response = {};
  }
  callback(null, response);
};
```

------
#### [ Logical home directory, Python ]

Contoh fungsi Python berikut memberikan rincian untuk pengguna yang memiliki direktori [home logis](https://docs.aws.amazon.com/transfer/latest/userguide/logical-dir-mappings.html). 

```
# GetUserConfig Python Lambda with LOGICAL HomeDirectoryDetails
import json

def lambda_handler(event, context):
  print("Username: {}, ServerId: {}".format(event['username'], event['serverId']))

  response = {}

  # Check if the username presented for authentication is correct. This doesn't check the value of the server ID, only that it is provided.
  if event['serverId'] != '' and event['username'] == 'example-user':
    homeDirectoryDetails = [
      {
        'Entry': '/',
        'Target': '/fs-faa1a123'
      }
    ]
    response = {
      'Role': 'arn:aws:iam::123456789012:role/transfer-access-role', # The user will be authenticated if and only if the Role field is not blank
      'PosixProfile': {"Gid": 65534, "Uid": 65534}, # Required for EFS access, but not needed for S3
      'HomeDirectoryDetails': json.dumps(homeDirectoryDetails),
      'HomeDirectoryType': "LOGICAL"
    }

    # Check if password is provided
    if event.get('password', '') == '':
      # If no password provided, return the user's SSH public key
     response['PublicKeys'] = [ "ssh-rsa abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789" ]
    # Check if password is correct
    elif event['password'] != 'Password1234':
      # Return HTTP status 200 but with no role in the response to indicate authentication failure
      response = {}
  else:
    # Return HTTP status 200 but with no role in the response to indicate authentication failure
    response = {}

  return response
```

------
#### [ Path-based home directory, Python ]

Contoh fungsi Python berikut memberikan rincian untuk pengguna yang memiliki direktori home berbasis jalur. 

```
# GetUserConfig Python Lambda with PATH HomeDirectory

def lambda_handler(event, context):
  print("Username: {}, ServerId: {}".format(event['username'], event['serverId']))

  response = {}

  # Check if the username presented for authentication is correct. This doesn't check the value of the server ID, only that it is provided.
  # There is also event.protocol (one of "FTP", "FTPS", "SFTP") and event.sourceIp (e.g., "127.0.0.1") to further restrict logins.
  if event['serverId'] != '' and event['username'] == 'example-user':
    response = {
      'Role': 'arn:aws:iam::123456789012:role/transfer-access-role', # The user will be authenticated if and only if the Role field is not blank
      'Policy': '', #  Optional, JSON stringified blob to further restrict this user's permissions
      # HomeDirectory format depends on your storage backend:
      # For S3: '/bucket-name/user-home-directory' (e.g., '/my-transfer-bucket/users/john')
      # For EFS: '/fs-12345/user-home-directory' (e.g., '/fs-faa1a123/users/john')
      'HomeDirectory': '/my-transfer-bucket/users/example-user', # S3 example - replace with your bucket name
      # 'HomeDirectory': '/fs-faa1a123/users/example-user', # EFS example - uncomment for EFS
      'HomeDirectoryType': "PATH" # Not strictly required, defaults to PATH
    }
    
    # Check if password is provided
    if event.get('password', '') == '':
      # If no password provided, return the user's SSH public key
     response['PublicKeys'] = [ "ssh-rsa abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789" ]
    # Check if password is correct
    elif event['password'] != 'Password1234':
      # Return HTTP status 200 but with no role in the response to indicate authentication failure
      response = {}
  else:
    # Return HTTP status 200 but with no role in the response to indicate authentication failure
    response = {}

  return response
```

------

### Menguji konfigurasi Anda
<a name="authentication-test-configuration"></a>

Setelah Anda membuat penyedia identitas kustom Anda, Anda harus menguji konfigurasi Anda.

------
#### [ Console ]

**Untuk menguji konfigurasi Anda dengan menggunakan AWS Transfer Family konsol**

1. Buka [konsol AWS Transfer Family](https://console.aws.amazon.com/transfer/). 

1. Pada halaman **Server**, pilih server baru Anda, pilih **Tindakan**, lalu pilih **Uji**.

1. Masukkan teks untuk **Nama Pengguna** dan **Kata Sandi** yang Anda atur saat Anda menerapkan CloudFormation tumpukan. Jika Anda menyimpan opsi default, nama pengguna adalah `myuser` dan kata sandinya`MySuperSecretPassword`.

1. Pilih **protokol Server** dan masukkan alamat IP untuk **IP Sumber**, jika Anda mengaturnya saat Anda menerapkan CloudFormation tumpukan.

------
#### [ CLI ]

**Untuk menguji konfigurasi Anda dengan menggunakan AWS CLI**

1. Jalankan perintah [test-identity-provider](https://docs.aws.amazon.com/cli/latest/reference/transfer/test-identity-provider.html). Ganti masing-masing `user input placeholder` dengan informasi Anda sendiri, seperti yang dijelaskan dalam langkah-langkah selanjutnya.

   ```
   aws transfer test-identity-provider --server-id s-1234abcd5678efgh --user-name myuser --user-password MySuperSecretPassword --server-protocol FTP --source-ip 127.0.0.1
   ```

1. Masukkan ID server.

1. Masukkan nama pengguna dan kata sandi yang Anda tetapkan saat Anda menerapkan CloudFormation tumpukan. Jika Anda menyimpan opsi default, nama pengguna adalah `myuser` dan kata sandinya`MySuperSecretPassword`.

1. Masukkan protokol server dan alamat IP sumber, jika Anda mengaturnya saat Anda menerapkan CloudFormation tumpukan.

------

Jika otentikasi pengguna berhasil, pengujian mengembalikan respons `StatusCode: 200` HTTP, string kosong `Message: ""` (yang akan berisi alasan kegagalan jika tidak), dan bidang. `Response`

**catatan**  
 Dalam contoh respons di bawah ini, `Response` bidang adalah objek JSON yang telah “dirangkai” (diubah menjadi string JSON datar yang dapat digunakan di dalam program), dan berisi rincian peran dan izin pengguna.

```
{
    "Response":"{\"Policy\":\"{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Sid\\\":\\\"ReadAndListAllBuckets\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"s3:ListAllMybuckets\\\",\\\"s3:GetBucketLocation\\\",\\\"s3:ListBucket\\\",\\\"s3:GetObjectVersion\\\",\\\"s3:GetObjectVersion\\\"],\\\"Resource\\\":\\\"*\\\"}]}\",\"Role\":\"arn:aws:iam::000000000000:role/MyUserS3AccessRole\",\"HomeDirectory\":\"/\"}",
    "StatusCode": 200,
    "Message": ""
}
```

### Template fungsi Lambda
<a name="lambda-idp-templates"></a>

Anda dapat menerapkan CloudFormation tumpukan yang menggunakan fungsi Lambda untuk otentikasi. Kami menyediakan beberapa templat yang mengautentikasi dan mengotorisasi pengguna Anda menggunakan kredensyal masuk. Anda dapat memodifikasi template atau AWS Lambda kode ini untuk lebih menyesuaikan akses pengguna.

**catatan**  
Anda dapat membuat AWS Transfer Family server berkemampuan FIPS CloudFormation dengan menentukan kebijakan keamanan berkemampuan FIPS di template Anda. Kebijakan keamanan yang tersedia dijelaskan dalam [Kebijakan keamanan untuk AWS Transfer Family server](security-policies.md) 

**Untuk membuat CloudFormation tumpukan yang akan digunakan untuk otentikasi**

1. Buka CloudFormation konsol di [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Ikuti petunjuk untuk menerapkan CloudFormation tumpukan dari template yang ada di [Memilih template tumpukan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-console-create-stack-template.html) di *Panduan AWS CloudFormation Pengguna*.

1. Gunakan salah satu templat berikut untuk membuat fungsi Lambda yang akan digunakan untuk otentikasi di Transfer Family. 
   + [Templat tumpukan klasik (Amazon Cognito)](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-basic-lambda-cognito-s3.template.yml)

     Template dasar untuk membuat AWS Lambda untuk digunakan sebagai penyedia identitas kustom di AWS Transfer Family. Ini mengautentikasi terhadap Amazon Cognito untuk otentikasi berbasis kata sandi dan kunci publik dikembalikan dari bucket Amazon S3 jika otentikasi berbasis kunci publik digunakan. Setelah penerapan, Anda dapat memodifikasi kode fungsi Lambda untuk melakukan sesuatu yang berbeda.
   + [AWS Secrets Manager template tumpukan](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-secrets-manager-lambda.template.yml)

     Template dasar yang digunakan AWS Lambda dengan AWS Transfer Family server untuk mengintegrasikan Secrets Manager sebagai penyedia identitas. Ini mengotentikasi terhadap entri dalam AWS Secrets Manager format`aws/transfer/server-id/username`. Selain itu, secret harus menyimpan pasangan kunci-nilai untuk semua properti pengguna yang dikembalikan ke Transfer Family. Setelah penerapan, Anda dapat memodifikasi kode fungsi Lambda untuk melakukan sesuatu yang berbeda.
   + [Template tumpukan Okta](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-okta-lambda.template.yml): Template dasar yang digunakan AWS Lambda dengan AWS Transfer Family server untuk mengintegrasikan Okta sebagai penyedia identitas khusus.
   + [Template tumpukan Okta-MFA: Template](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-okta-mfa-lambda.template.yml) dasar yang digunakan AWS Lambda dengan AWS Transfer Family server untuk mengintegrasikan Okta, dengan Multi Factor Authentication, sebagai penyedia identitas khusus.
   + [Template Azure Active Directory](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-basic-lambda-azure-ad.template.yml): detail untuk tumpukan ini dijelaskan dalam posting blog [Mengautentikasi AWS Transfer Family dengan Azure Active](https://aws.amazon.com/blogs/storage/authenticating-to-aws-transfer-family-with-azure-active-directory-and-aws-lambda/) Directory dan. AWS Lambda

   Setelah tumpukan dikerahkan, Anda dapat melihat detailnya di tab **Output** di CloudFormation konsol.

   Menerapkan salah satu tumpukan ini adalah cara termudah untuk mengintegrasikan penyedia identitas kustom ke dalam alur kerja Transfer Family.

# Menggunakan Amazon API Gateway untuk mengintegrasikan penyedia identitas Anda
<a name="authentication-api-gateway"></a>

Topik ini menjelaskan cara menggunakan AWS Lambda fungsi untuk mendukung metode API Gateway. Gunakan opsi ini jika Anda memerlukan RESTful API untuk mengintegrasikan penyedia identitas Anda atau jika Anda ingin menggunakannya untuk memanfaatkan kemampuannya AWS WAF untuk permintaan pemblokiran geografis atau pembatasan kecepatan.

Untuk sebagian besar kasus penggunaan, cara yang disarankan untuk mengonfigurasi penyedia identitas khusus adalah dengan menggunakan[Solusi penyedia identitas khusus](custom-idp-toolkit.md).

**Batasan jika menggunakan API Gateway untuk mengintegrasikan penyedia identitas Anda**
+ Konfigurasi ini tidak mendukung domain kustom.
+ Konfigurasi ini tidak mendukung URL API Gateway pribadi.

Jika Anda membutuhkan salah satu dari ini, Anda dapat menggunakan Lambda sebagai penyedia identitas, tanpa API Gateway. Lihat perinciannya di [Menggunakan AWS Lambda untuk mengintegrasikan penyedia identitas Anda](custom-lambda-idp.md).

## Mengautentikasi menggunakan metode API Gateway
<a name="authentication-custom-ip"></a>

Anda dapat membuat metode API Gateway untuk digunakan sebagai penyedia identitas untuk Transfer Family. Pendekatan ini memberikan cara yang sangat aman bagi Anda untuk membuat dan menyediakan APIs. Dengan API Gateway, Anda dapat membuat titik akhir HTTPS sehingga semua operasi API yang masuk ditransmisikan dengan keamanan yang lebih besar. Untuk detail selengkapnya tentang layanan API Gateway, lihat [Panduan Pengembang API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html).

API Gateway menawarkan metode otorisasi bernama`AWS_IAM`, yang memberi Anda autentikasi yang sama berdasarkan AWS Identity and Access Management (IAM) yang AWS digunakan secara internal. Jika Anda mengaktifkan autentikasi`AWS_IAM`, hanya penelepon dengan izin eksplisit untuk memanggil API yang dapat mencapai metode API Gateway API tersebut.

Untuk menggunakan metode API Gateway Anda sebagai penyedia identitas khusus untuk Transfer Family, aktifkan IAM untuk metode API Gateway Anda. Sebagai bagian dari proses ini, Anda memberikan peran IAM dengan izin untuk Transfer Family untuk menggunakan gateway Anda.

**catatan**  
Untuk meningkatkan keamanan, Anda dapat mengkonfigurasi firewall aplikasi web. AWS WAF adalah firewall aplikasi web yang memungkinkan Anda memantau permintaan HTTP dan HTTPS yang diteruskan ke Amazon API Gateway. Lihat perinciannya di [Tambahkan firewall aplikasi web](web-application-firewall.md).

**Jangan aktifkan caching API Gateway**  
Jangan aktifkan caching untuk metode API Gateway Anda saat menggunakannya sebagai penyedia identitas khusus untuk Transfer Family. Caching tidak pantas dan tidak valid untuk permintaan otentikasi karena:  
Setiap permintaan otentikasi unik dan memerlukan respons langsung, bukan respons yang di-cache
Caching tidak memberikan manfaat karena Transfer Family tidak pernah mengirimkan permintaan duplikat atau berulang ke API Gateway
Mengaktifkan caching akan menyebabkan API Gateway merespons dengan data yang tidak cocok, sehingga respons yang tidak valid terhadap permintaan otentikasi

**Untuk menggunakan metode API Gateway Anda untuk autentikasi kustom dengan Transfer Family**

1. Buat CloudFormation tumpukan. Untuk melakukannya:
**catatan**  
Templat tumpukan telah diperbarui untuk menggunakan kata sandi yang BASE64 dienkode: untuk detailnya, lihat. [Perbaikan CloudFormation template](#base64-templates)

   1. Buka CloudFormation konsol di [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

   1. Ikuti petunjuk untuk menerapkan CloudFormation tumpukan dari template yang ada di [Memilih template tumpukan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-console-create-stack-template.html) di *Panduan AWS CloudFormation Pengguna*.

   1. Gunakan salah satu templat dasar berikut untuk membuat metode API Gateway yang AWS Lambda didukung untuk digunakan sebagai penyedia identitas kustom di Transfer Family.
      + [Template tumpukan dasar](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-basic-apig.template.yml)

        Secara default, metode API Gateway Anda digunakan sebagai penyedia identitas khusus untuk mengautentikasi satu pengguna dalam satu server menggunakan kunci atau kata sandi SSH (Secure Shell) dengan kode keras. Setelah penerapan, Anda dapat memodifikasi kode fungsi Lambda untuk melakukan sesuatu yang berbeda.
      + [AWS Secrets Manager template tumpukan](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-secrets-manager-apig.template.yml)

        Secara default, metode API Gateway Anda melakukan autentikasi terhadap entri di Secrets Manager format`aws/transfer/server-id/username`. Selain itu, secret harus menyimpan pasangan kunci-nilai untuk semua properti pengguna yang dikembalikan ke Transfer Family. Setelah penerapan, Anda dapat memodifikasi kode fungsi Lambda untuk melakukan sesuatu yang berbeda. Untuk informasi selengkapnya, lihat posting blog [Aktifkan otentikasi kata sandi untuk AWS Transfer Family digunakan AWS Secrets Manager](https://aws.amazon.com/blogs/storage/enable-password-authentication-for-aws-transfer-family-using-aws-secrets-manager-updated/).
      + [Templat tumpukan Okta](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-okta-apig.template.yml)

        Metode API Gateway Anda terintegrasi dengan Okta sebagai penyedia identitas khusus di Transfer Family. Untuk informasi lebih lanjut, lihat posting blog [Menggunakan Okta sebagai penyedia identitas dengan AWS Transfer Family](https://aws.amazon.com/blogs/storage/using-okta-as-an-identity-provider-with-aws-transfer-for-sftp/).

   Menerapkan salah satu tumpukan ini adalah cara termudah untuk mengintegrasikan penyedia identitas kustom ke dalam alur kerja Transfer Family. Setiap tumpukan menggunakan fungsi Lambda untuk mendukung metode API Anda berdasarkan API Gateway. Anda kemudian dapat menggunakan metode API sebagai penyedia identitas kustom di Transfer Family. Secara default, fungsi Lambda mengautentikasi satu pengguna yang dipanggil `myuser` dengan kata sandi. `MySuperSecretPassword` Setelah penerapan, Anda dapat mengedit kredensyal ini atau memperbarui kode fungsi Lambda untuk melakukan sesuatu yang berbeda.
**penting**  
Kami menyarankan Anda mengedit kredensi pengguna dan kata sandi default.

   Setelah tumpukan dikerahkan, Anda dapat melihat detailnya di tab **Output** di CloudFormation konsol. Detail ini termasuk Amazon Resource Name (ARN) stack, ARN dari peran IAM yang dibuat stack, dan URL untuk gateway baru Anda.
**catatan**  
Jika Anda menggunakan opsi penyedia identitas khusus untuk mengaktifkan autentikasi berbasis kata sandi bagi pengguna Anda, dan Anda mengaktifkan pencatatan permintaan dan respons yang disediakan oleh API Gateway, API Gateway mencatat kata sandi pengguna Anda ke Log Amazon Anda. CloudWatch Kami tidak menyarankan menggunakan log ini di lingkungan produksi Anda. Untuk informasi selengkapnya, lihat [Menyiapkan pencatatan CloudWatch API di API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html) di *Panduan Pengembang API Gateway*.

1. Periksa konfigurasi metode API Gateway untuk server Anda. Untuk melakukannya:

   1. Buka konsol API Gateway di [https://console.aws.amazon.com/apigateway/](https://console.aws.amazon.com/apigateway/). 

   1. Pilih **API template dasar Transfer Custom Identity Provider** yang dihasilkan CloudFormation template. Anda mungkin perlu memilih wilayah Anda untuk melihat gateway Anda.

   1. Di panel **Resources**, pilih **GET**. Tangkapan layar berikut menunjukkan konfigurasi metode yang benar.  
![\[Detail konfigurasi API, menampilkan parameter konfigurasi metode untuk Jalur Permintaan dan String Kueri URL.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/apig-config-method-fields.png)

   Pada titik ini, gateway API Anda siap digunakan.

1. Untuk **Tindakan**, pilih **Deploy API**. **Untuk **tahap Deployment**, pilih **prod**, lalu pilih Deploy.**

   Setelah metode API Gateway berhasil diterapkan, lihat kinerjanya di **Tahapan>** **Detail tahap**, seperti yang ditunjukkan pada gambar berikut.
**catatan**  
Salin alamat **URL Invoke** yang muncul di bagian atas layar. Anda mungkin membutuhkannya untuk langkah selanjutnya.  
![\[Detail tahap dengan URL Invoke disorot.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/apig-config-method-invoke.png)

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Transfer Family seharusnya dibuat untuk Anda, saat Anda membuat tumpukan. Jika tidak, konfigurasikan server Anda menggunakan langkah-langkah ini.

   1. Pilih **Buat server** untuk membuka halaman **Buat server**. Untuk **Pilih penyedia identitas**, pilih **Kustom**, lalu pilih **Gunakan Amazon API Gateway untuk terhubung ke penyedia identitas Anda**, seperti yang ditunjukkan pada gambar berikut.  
![\[Layar penyedia identitas dengan Penyedia Identitas Kustom dipilih, dan dengan API Gateway dipilih untuk terhubung ke penyedia identitas Anda.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/create-server-choose-idp-custom.png)

   1. Di kotak teks **Berikan URL Amazon API Gateway**, tempelkan **alamat URL Panggilan** titik akhir API Gateway yang Anda buat di langkah 3 prosedur ini.

   1. Untuk **Peran**, pilih peran IAM yang dibuat oleh CloudFormation template. Peran ini memungkinkan Transfer Family untuk menjalankan metode gateway API Anda.

      Peran pemanggilan berisi nama CloudFormation tumpukan yang Anda pilih untuk tumpukan yang Anda buat di langkah 1. Ini memiliki format berikut:`CloudFormation-stack-name-TransferIdentityProviderRole-ABC123DEF456GHI`.

   1. Isi kotak yang tersisa, lalu pilih **Buat server**. Untuk detail tentang langkah-langkah yang tersisa untuk membuat server, lihat[Mengkonfigurasi titik akhir server SFTP, FTPS, atau FTP](tf-server-endpoint.md).

## Menerapkan metode API Gateway
<a name="authentication-api-method"></a>

Untuk membuat penyedia identitas khusus untuk Transfer Family, metode API Gateway Anda harus mengimplementasikan satu metode yang memiliki jalur sumber daya`/servers/serverId/users/username/config`. `username`Nilai `serverId` dan berasal dari jalur RESTful sumber daya. Juga, tambahkan `sourceIp` dan `protocol` sebagai **Parameter String Kueri URL** dalam **Permintaan Metode**, seperti yang ditunjukkan pada gambar berikut.

![\[Layar Sumber Daya API Gateway yang menampilkan detail GET metode.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/apig-config-method-request.png)


**catatan**  
Nama pengguna harus minimal 3 dan maksimal 100 karakter. Anda dapat menggunakan karakter berikut dalam nama pengguna: a—z, A-Z, 0—9, garis bawah '\$1', tanda hubung '-', titik '.' dan di tanda '@'. Nama pengguna tidak dapat dimulai dengan tanda hubung '-', titik '.' atau di tanda '@'.

Jika Transfer Family mencoba otentikasi kata sandi untuk pengguna Anda, layanan akan menyediakan bidang `Password:` header. Jika tidak ada `Password:` header, Transfer Family mencoba otentikasi kunci publik untuk mengautentikasi pengguna Anda.

Saat Anda menggunakan penyedia identitas untuk mengautentikasi dan mengotorisasi pengguna akhir, selain memvalidasi kredensialnya, Anda dapat mengizinkan atau menolak permintaan akses berdasarkan alamat IP klien yang digunakan oleh pengguna akhir Anda. Anda dapat menggunakan fitur ini untuk memastikan bahwa data yang disimpan di bucket S3 atau sistem file Amazon EFS Anda dapat diakses melalui protokol yang didukung hanya dari alamat IP yang telah Anda tentukan sebagai tepercaya. Untuk mengaktifkan fitur ini, Anda harus menyertakan `sourceIp` dalam string Query.

Jika Anda memiliki beberapa protokol yang diaktifkan untuk server Anda dan ingin memberikan akses menggunakan nama pengguna yang sama melalui beberapa protokol, Anda dapat melakukannya selama kredensyal khusus untuk setiap protokol telah diatur di penyedia identitas Anda. Untuk mengaktifkan fitur ini, Anda harus menyertakan `protocol` nilai di jalur RESTful sumber daya.

Metode API Gateway Anda harus selalu menampilkan kode status HTTP`200`. Kode status HTTP lainnya berarti ada kesalahan saat mengakses API.

**Contoh respons Amazon S3**  
Contoh badan respons adalah dokumen JSON dari formulir berikut untuk Amazon S3.

```
{
 "Role": "IAM role with configured S3 permissions",
 "PublicKeys": [
     "ssh-rsa public-key1",
     "ssh-rsa public-key2"
  ],
 "Policy": "STS Assume role session policy",
 "HomeDirectory": "/amzn-s3-demo-bucket/path/to/home/directory"
}
```

**catatan**  
 Kebijakan ini lolos dari JSON sebagai string. Contoh:   

****  

```
"Policy":
"{
  \"Version\": \"2012-10-17\",
  \"Statement\":
     [
     {\"Condition\":
        {\"StringLike\":
            {\"s3:prefix\":
               [\"user/*\", \"user/\"]}},
     \"Resource\": \"arn:aws:s3:::amzn-s3-demo-bucket\",
     \"Action\": \"s3:ListBucket\",
     \"Effect\": \"Allow\",
     \"Sid\": \"ListHomeDir\"},
     {\"Resource\": \"arn:aws:s3:::*\",
        \"Action\": [\"s3:PutObject\",
        \"s3:GetObject\",
        \"s3:DeleteObjectVersion\",
        \"s3:DeleteObject\",
        \"s3:GetObjectVersion\",
        \"s3:GetObjectACL\",
        \"s3:PutObjectACL\"],
     \"Effect\": \"Allow\",
     \"Sid\": \"HomeDirObjectAccess\"}]
}"
```

Contoh respon berikut menunjukkan bahwa pengguna memiliki tipe direktori home logis.

```
{
   "Role": "arn:aws:iam::123456789012:role/transfer-access-role-s3",
   "HomeDirectoryType":"LOGICAL",
   "HomeDirectoryDetails":"[{\"Entry\":\"/\",\"Target\":\"/amzn-s3-demo-bucket1\"}]",
   "PublicKeys":[""]
}
```

**Contoh respons Amazon EFS**  
Contoh badan respons adalah dokumen JSON dari formulir berikut untuk Amazon EFS.

```
{
 "Role": "IAM role with configured EFS permissions",
 "PublicKeys": [
     "ssh-rsa public-key1",
     "ssh-rsa public-key2"
  ],
 "PosixProfile": {
   "Uid": "POSIX user ID",
   "Gid": "POSIX group ID",
   "SecondaryGids": [Optional list of secondary Group IDs],
 },
 "HomeDirectory": "/fs-id/path/to/home/directory"
}
```

`Role`Bidang menunjukkan bahwa otentikasi berhasil terjadi. Saat melakukan otentikasi kata sandi (saat Anda menyediakan `Password:` header), Anda tidak perlu memberikan kunci publik SSH. Jika pengguna tidak dapat diautentikasi, misalnya, jika kata sandi salah, metode Anda harus mengembalikan respons tanpa `Role` disetel. Contoh respon tersebut adalah objek JSON kosong.

 Contoh respon berikut menunjukkan pengguna yang memiliki tipe direktori home logis. 

```
{
    "Role": "arn:aws:iam::123456789012:role/transfer-access-role-efs",
    "HomeDirectoryType": "LOGICAL",
    "HomeDirectoryDetails":"[{\"Entry\":\"/\",\"Target\":\"/faa1a123\"}]",
    "PublicKeys":[""],
    "PosixProfile":{"Uid":65534,"Gid":65534}
}
```

Anda dapat menyertakan kebijakan pengguna dalam fungsi Lambda dalam format JSON. Untuk informasi selengkapnya tentang mengonfigurasi kebijakan pengguna di Transfer Family, lihat[Mengelola kontrol akses](users-policies.md).

## Fungsi Lambda default
<a name="authentication-lambda-examples-default"></a>

Untuk menerapkan strategi otentikasi yang berbeda, edit fungsi Lambda yang digunakan gateway Anda. Untuk membantu Anda memenuhi kebutuhan aplikasi Anda, Anda dapat menggunakan contoh fungsi Lambda berikut di Node.js. Untuk informasi selengkapnya tentang Lambda, lihat [Panduan AWS Lambda Pengembang](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) atau Membangun fungsi [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-nodejs.html) dengan Node.js.

Contoh fungsi Lambda berikut mengambil nama pengguna, kata sandi (jika Anda melakukan otentikasi kata sandi), ID server, protokol, dan alamat IP klien. Anda dapat menggunakan kombinasi input ini untuk mencari penyedia identitas Anda dan menentukan apakah login harus diterima.

**catatan**  
Jika Anda memiliki beberapa protokol yang diaktifkan untuk server Anda dan ingin memberikan akses menggunakan nama pengguna yang sama melalui beberapa protokol, Anda dapat melakukannya selama kredensyal khusus untuk protokol telah diatur di penyedia identitas Anda.  
Untuk File Transfer Protocol (FTP), kami sarankan untuk mempertahankan kredensyal terpisah dari Secure Shell (SSH) File Transfer Protocol (SFTP) dan File Transfer Protocol melalui SSL (FTPS). Sebaiknya pertahankan kredensyal terpisah untuk FTP karena, tidak seperti SFTP dan FTPS, FTP mentransmisikan kredensyal dalam teks yang jelas. Dengan mengisolasi kredensyal FTP dari SFTP atau FTPS, jika kredensyal FTP dibagikan atau diekspos, beban kerja Anda menggunakan SFTP atau FTPS tetap aman.

Fungsi contoh ini mengembalikan peran dan rincian direktori home logis, bersama dengan kunci publik (jika melakukan otentikasi kunci publik).

Saat Anda membuat pengguna yang dikelola layanan, Anda mengatur direktori home mereka, baik logis maupun fisik. Demikian pula, kita membutuhkan hasil fungsi Lambda untuk menyampaikan struktur direktori fisik atau logis pengguna yang diinginkan. Parameter yang Anda tetapkan bergantung pada nilai untuk [https://docs.aws.amazon.com//transfer/latest/APIReference/API_CreateUser.html#TransferFamily-CreateUser-request-HomeDirectoryType](https://docs.aws.amazon.com//transfer/latest/APIReference/API_CreateUser.html#TransferFamily-CreateUser-request-HomeDirectoryType)bidang tersebut.
+ `HomeDirectoryType`disetel ke `PATH` — `HomeDirectory` bidang tersebut kemudian harus berupa awalan bucket Amazon S3 absolut atau jalur absolut Amazon EFS yang dapat dilihat oleh pengguna Anda.
+ `HomeDirectoryType`set ke `LOGICAL` - *Jangan* mengatur `HomeDirectory` bidang. Sebagai gantinya, kami menetapkan `HomeDirectoryDetails` bidang yang menyediakan Entry/Target pemetaan yang diinginkan, mirip dengan nilai yang dijelaskan dalam [https://docs.aws.amazon.com//transfer/latest/APIReference/API_CreateUser.html#TransferFamily-CreateUser-request-HomeDirectoryMappings](https://docs.aws.amazon.com//transfer/latest/APIReference/API_CreateUser.html#TransferFamily-CreateUser-request-HomeDirectoryMappings)parameter untuk pengguna yang dikelola layanan.

Contoh fungsi tercantum dalam[Contoh fungsi Lambda](custom-lambda-idp.md#lambda-auth-examples).

## Fungsi Lambda untuk digunakan dengan AWS Secrets Manager
<a name="authentication-lambda-examples-secrets-mgr"></a>

Untuk digunakan AWS Secrets Manager sebagai penyedia identitas Anda, Anda dapat bekerja dengan fungsi Lambda di template sampel CloudFormation . Fungsi Lambda menanyakan layanan Secrets Manager dengan kredensyal Anda dan, jika berhasil, mengembalikan rahasia yang ditunjuk. Untuk informasi selengkapnya tentang Secrets Manager, lihat [Panduan Pengguna AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html).

Untuk mengunduh contoh CloudFormation template yang menggunakan fungsi Lambda ini, buka bucket [Amazon S3](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-secrets-manager-apig.template.yml) yang disediakan oleh. AWS Transfer Family

## Perbaikan CloudFormation template
<a name="base64-templates"></a>

Perbaikan antarmuka API Gateway telah dilakukan pada CloudFormation template yang diterbitkan. Template sekarang menggunakan BASE64 -encoded password dengan API Gateway. Penerapan Anda yang ada terus berfungsi tanpa peningkatan ini, tetapi jangan izinkan kata sandi dengan karakter di luar set karakter AS-ASCII dasar.

Perubahan dalam template yang mengaktifkan kemampuan ini adalah sebagai berikut:
+ `GetUserConfigRequest AWS::ApiGateway::Method`Sumber daya harus memiliki `RequestTemplates` kode ini (baris miring adalah baris yang diperbarui)

  ```
  RequestTemplates:
     application/json: |
     {
        "username": "$util.urlDecode($input.params('username'))",
        "password": "$util.escapeJavaScript($util.base64Decode($input.params('PasswordBase64'))).replaceAll("\\'","'")",
        "protocol": "$input.params('protocol')",
        "serverId": "$input.params('serverId')",
        "sourceIp": "$input.params('sourceIp')"
  }
  ```
+ `GetUserConfig`Sumber daya harus diubah untuk menggunakan `PasswordBase64` header (baris miring adalah baris yang diperbarui): `RequestParameters`

  ```
  RequestParameters:
     method.request.header.PasswordBase64: false
     method.request.querystring.protocol: false
     method.request.querystring.sourceIp: false
  ```

**Untuk memeriksa apakah template untuk tumpukan Anda adalah yang terbaru**

1. Buka CloudFormation konsol di [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Dari daftar tumpukan, pilih tumpukan Anda.

1. Dari panel detail, pilih tab **Template**.

1. Cari yang berikut ini:
   + Cari`RequestTemplates`, dan pastikan Anda memiliki baris ini:

     ```
     "password": "$util.escapeJavaScript($util.base64Decode($input.params('PasswordBase64'))).replaceAll("\\'","'")",
     ```
   + Cari`RequestParameters`, dan pastikan Anda memiliki baris ini:

     ```
     method.request.header.PasswordBase64: false
     ```

Jika Anda tidak melihat baris yang diperbarui, edit tumpukan Anda. Untuk detail tentang cara memperbarui CloudFormation tumpukan Anda, lihat [Memodifikasi template tumpukan](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-get-template.html) di *AWS CloudFormation; Panduan Pengguna*.

# Menggunakan beberapa metode otentikasi
<a name="custom-idp-mfa"></a>

Server Transfer Family mengontrol logika AND saat Anda menggunakan beberapa metode otentikasi. Transfer Family memperlakukan ini sebagai dua permintaan terpisah ke penyedia identitas kustom Anda: namun, efeknya digabungkan.

Kedua permintaan harus berhasil dikembalikan dengan respons yang benar untuk memungkinkan otentikasi selesai. Transfer Family mengharuskan dua tanggapan lengkap, artinya berisi semua elemen yang diperlukan (peran, direktori beranda, kebijakan, dan profil POSIX jika Anda menggunakan Amazon EFS untuk penyimpanan). Transfer Family juga mensyaratkan bahwa respons kata sandi tidak boleh menyertakan kunci publik.

Permintaan kunci publik harus memiliki respons terpisah dari penyedia identitas. Perilaku itu tidak berubah saat menggunakan **Kata Sandi ATAU Kunci atau** **Kata Sandi DAN Kunci**.

Protokol SSH/SFTP menantang klien perangkat lunak terlebih dahulu dengan otentikasi kunci publik, kemudian meminta otentikasi kata sandi. Operasi ini mengamanatkan keduanya berhasil sebelum pengguna diizinkan untuk menyelesaikan otentikasi.

Untuk opsi penyedia identitas kustom, Anda dapat menentukan salah satu opsi berikut untuk cara mengautentikasi.
+ **Kata Sandi ATAU Kunci** — pengguna dapat mengautentikasi dengan kata sandi atau kunci mereka. Ini adalah nilai default.
+ **Hanya kata sandi** — pengguna harus memberikan kata sandi mereka untuk terhubung.
+ **Hanya kunci** — pengguna harus menyediakan kunci pribadi mereka untuk terhubung.
+ **Kata Sandi dan Kunci** — pengguna harus memberikan kunci pribadi dan kata sandi mereka untuk terhubung. Server memeriksa kunci terlebih dahulu, dan kemudian jika kuncinya valid, sistem meminta kata sandi. Jika kunci pribadi yang disediakan tidak cocok dengan kunci publik yang disimpan, otentikasi gagal.

# IPv6 dukungan untuk penyedia identitas khusus
<a name="custom-idp-ipv6"></a>

AWS Transfer Family penyedia identitas khusus sepenuhnya mendukung IPv6 koneksi. Saat menerapkan penyedia identitas khusus, fungsi Lambda Anda dapat menerima dan memproses permintaan otentikasi dari keduanya IPv4 dan IPv6 klien tanpa konfigurasi tambahan apa pun. Fungsi Lambda menerima alamat IP klien di `sourceIp` bidang permintaan, yang dapat berupa IPv4 alamat (misalnya,`203.0.113.42`) atau IPv6 alamat (misalnya,`2001:db8:85a3:8d3:1319:8a2e:370:7348`). Implementasi penyedia identitas kustom Anda harus menangani kedua format alamat dengan tepat.

**penting**  
Jika penyedia identitas kustom Anda melakukan validasi atau pencatatan berbasis IP, pastikan implementasi Anda menangani format IPv6 alamat dengan benar. IPv6 alamat lebih panjang dari IPv4 alamat dan menggunakan format notasi yang berbeda.

**catatan**  
Saat menangani IPv6 alamat di penyedia identitas kustom Anda, pastikan Anda menggunakan fungsi penguraian IPv6 alamat yang tepat daripada perbandingan string sederhana. IPv6alamat dapat direpresentasikan dalam berbagai format kanonik (misalnya `fd00:b600::ec2` atau`fd00:b600:0:0:0:0:0:ec2`). Gunakan pustaka IPv6 alamat atau fungsi yang sesuai dalam bahasa implementasi Anda untuk memvalidasi dan membandingkan IPv6 alamat dengan benar.

**Example Menangani keduanya IPv4 dan IPv6 alamat di penyedia identitas khusus**  

```
def lambda_handler(event, context):
    # Extract the source IP address from the request
    source_ip = event.get('sourceIp', '')
    
    # Log the client IP address (works for both IPv4 and IPv6)
    print(f"Authentication request from: {source_ip}")
    
    # Example of IP-based validation that works with both IPv4 and IPv6
    if is_ip_allowed(source_ip):
        # Continue with authentication
        # ...
    else:
        # Reject the authentication request
        return {
            "Role": "",
            "HomeDirectory": "",
            "Status": "DENIED"
        }
```

Untuk informasi selengkapnya tentang penerapan penyedia identitas kustom, lihat[Menggunakan AWS Lambda untuk mengintegrasikan penyedia identitas Anda](custom-lambda-idp.md).

# Menggunakan AWS Directory Service untuk Microsoft Active Directory
<a name="directory-services-users"></a>

Anda dapat menggunakan AWS Transfer Family untuk mengautentikasi pengguna akhir transfer file Anda menggunakan AWS Directory Service for Microsoft Active Directory. Ini memungkinkan migrasi mulus dari alur kerja transfer file yang mengandalkan otentikasi Active Directory tanpa mengubah kredensyal pengguna akhir atau memerlukan otorisasi khusus. 

Dengan AWS Managed Microsoft AD, Anda dapat dengan aman memberikan akses kepada Directory Service pengguna dan grup melalui SFTP, FTPS, dan FTP untuk data yang disimpan di Amazon Simple Storage Service (Amazon S3) atau Amazon Elastic File System (Amazon EFS). Jika Anda menggunakan Active Directory untuk menyimpan kredensi pengguna Anda, Anda sekarang memiliki cara yang lebih mudah untuk mengaktifkan transfer file untuk pengguna ini. 

Anda dapat memberikan akses ke grup Active Directory AWS Managed Microsoft AD di lingkungan lokal atau di AWS Cloud menggunakan konektor Active Directory. Anda dapat memberi pengguna yang sudah dikonfigurasi di lingkungan Microsoft Windows Anda, baik di AWS Cloud atau di jaringan lokal mereka, akses ke AWS Transfer Family server yang menggunakan AWS Managed Microsoft AD identitas. Blog AWS penyimpanan berisi posting yang merinci solusi untuk menggunakan Active Directory dengan Transfer Family: [Sederhanakan otentikasi Active Directory dengan penyedia identitas kustom untuk](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/). AWS Transfer Family

**catatan**  
AWS Transfer Family tidak mendukung Simple AD.
Transfer Family tidak mendukung konfigurasi Direktori Aktif lintas wilayah: kami hanya mendukung integrasi Direktori Aktif yang berada di wilayah yang sama dengan server Transfer Family.
Transfer Family tidak mendukung penggunaan salah satu AWS Managed Microsoft AD atau AD Connector untuk mengaktifkan otentikasi multi-faktor (MFA) untuk infrastruktur MFA berbasis Radius yang ada.
AWS Transfer Family tidak mendukung wilayah yang direplikasi dari Direktori Aktif Terkelola.

Untuk menggunakannya AWS Managed Microsoft AD, Anda harus melakukan langkah-langkah berikut:

1. Buat satu atau lebih AWS Managed Microsoft AD direktori menggunakan Directory Service konsol.

1. Gunakan konsol Transfer Family untuk membuat server yang digunakan AWS Managed Microsoft AD sebagai penyedia identitasnya. 

1. Siapkan AWS Direktori menggunakan Konektor Direktori Aktif.

1. Tambahkan akses dari satu atau beberapa Directory Service grup Anda. 

1. Meskipun tidak diperlukan, kami menyarankan Anda menguji dan memverifikasi akses pengguna.

**Topics**
+ [Sebelum Anda mulai menggunakan AWS Directory Service for Microsoft Active Directory](#managed-ad-prereq)
+ [Bekerja dengan ranah Active Directory](#managed-ad-realms)
+ [Memilih AWS Managed Microsoft AD sebagai penyedia identitas Anda](#managed-ad-identity-provider)
+ [Menghubungkan ke Microsoft Active Directory di lokasi](#on-prem-ad)
+ [Memberikan akses ke grup](#directory-services-grant-access)
+ [Menguji pengguna](#directory-services-test-user)
+ [Menghapus akses server untuk grup](#directory-services-misc)
+ [Menghubungkan ke server menggunakan SSH (Secure Shell)](#directory-services-ssh-procedure)
+ [Menghubungkan AWS Transfer Family ke Active Directory yang dikelola sendiri menggunakan hutan dan trust](#directory-services-ad-trust)

## Sebelum Anda mulai menggunakan AWS Directory Service for Microsoft Active Directory
<a name="managed-ad-prereq"></a>

**catatan**  
AWS Transfer Family memiliki batas default 100 grup Active Directory per server. Jika kasus penggunaan Anda memerlukan lebih dari 100 grup, pertimbangkan untuk menggunakan solusi penyedia identitas kustom seperti yang dijelaskan dalam [Simplify Active Directory autentikasi dengan penyedia identitas kustom untuk](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/). AWS Transfer Family

### Menyediakan pengenal unik untuk grup iklan Anda
<a name="add-identifier-adgroups"></a>

Sebelum dapat menggunakan AWS Managed Microsoft AD, Anda harus memberikan pengenal unik untuk setiap grup di direktori Microsoft AD Anda. Anda dapat menggunakan pengenal keamanan (SID) untuk setiap grup untuk melakukan ini. Pengguna grup yang Anda asosiasikan memiliki akses ke sumber daya Amazon S3 atau Amazon EFS Anda melalui protokol yang diaktifkan menggunakan Transfer Family. AWS 

Gunakan PowerShell perintah Windows berikut untuk mengambil SID untuk grup, ganti *YourGroupName* dengan nama grup. 

```
Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid
```

**catatan**  
Jika Anda menggunakan AWS Directory Service sebagai penyedia identitas Anda, dan jika `userPrincipalName` dan `SamAccountName` memiliki nilai yang berbeda, AWS Transfer Family terima nilainya. `SamAccountName` Transfer Family tidak menerima nilai yang ditentukan dalam`userPrincipalName`.

### Tambahkan Directory Service izin ke peran Anda
<a name="add-active-directory-permissions"></a>

Anda juga memerlukan izin Directory Service API untuk digunakan AWS Directory Service sebagai penyedia identitas Anda. Izin berikut diperlukan atau disarankan:
+ `ds:DescribeDirectories`Diperlukan Transfer Family untuk mencari direktori
+ `ds:AuthorizeApplication`diperlukan untuk menambahkan otorisasi untuk Transfer Family
+ `ds:UnauthorizeApplication`disarankan untuk menghapus sumber daya apa pun yang dibuat untuk sementara, jika terjadi kesalahan selama proses pembuatan server

Tambahkan izin ini ke peran yang Anda gunakan untuk membuat server Transfer Family Anda. Untuk detail selengkapnya tentang izin ini, lihat Izin [Directory Service API: Referensi tindakan, sumber daya, dan kondisi](https://docs.aws.amazon.com//directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html).

## Bekerja dengan ranah Active Directory
<a name="managed-ad-realms"></a>

 Saat Anda mempertimbangkan cara agar pengguna Active Directory mengakses AWS Transfer Family server, ingatlah ranah pengguna, dan ranah grup mereka. Idealnya, ranah pengguna dan ranah grup mereka harus cocok. Artinya, baik pengguna maupun grup berada di ranah default, atau keduanya berada di ranah tepercaya. Jika tidak demikian, pengguna tidak dapat diautentikasi oleh Transfer Family.

Anda dapat menguji pengguna untuk memastikan konfigurasi sudah benar. Lihat perinciannya di [Menguji pengguna](#directory-services-test-user). Jika ada masalah dengan user/group ranah, Anda menerima kesalahan, Tidak ada akses terkait yang ditemukan untuk grup pengguna.

## Memilih AWS Managed Microsoft AD sebagai penyedia identitas Anda
<a name="managed-ad-identity-provider"></a>

Bagian ini menjelaskan cara menggunakan AWS Directory Service for Microsoft Active Directory dengan server.

**Untuk digunakan AWS Managed Microsoft AD dengan Transfer Family**

1. Masuk ke Konsol Manajemen AWS dan buka Directory Service konsol di [https://console.aws.amazon.com/directoryservicev2/](https://console.aws.amazon.com/directoryservicev2/).

   Gunakan Directory Service konsol untuk mengonfigurasi satu atau beberapa direktori terkelola. Untuk informasi lebih lanjut, lihat [AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) dalam *Panduan Admin Directory Service *.  
![\[Konsol Directory Service menampilkan daftar direktori dan detailnya.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/directory-services-AD-list.png)

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/), dan pilih **Buat server**.

1. Pada halaman **Pilih protokol**, pilih satu atau beberapa protokol dari daftar.
**catatan**  
Jika Anda memilih **FTPS**, Anda harus memberikan AWS Certificate Manager sertifikat. 

1. Untuk **Pilih penyedia identitas**, pilih **AWS Directory Service**.  
![\[Tangkapan layar konsol yang menampilkan bagian Pilih penyedia identitas dengan Directory Service dipilih.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/create-server-choose-idp-directory-services.png)

1. Daftar **Direktori** berisi semua direktori terkelola yang telah Anda konfigurasi. Pilih direktori dari daftar, dan pilih **Berikutnya**.
**catatan**  
 Direktori Cross-Account dan Shared tidak didukung untuk. AWS Managed Microsoft AD
Untuk menyiapkan server dengan Directory Service sebagai penyedia identitas Anda, Anda perlu menambahkan beberapa Directory Service izin. Lihat perinciannya di [Sebelum Anda mulai menggunakan AWS Directory Service for Microsoft Active Directory](#managed-ad-prereq).

1. Untuk menyelesaikan pembuatan server, gunakan salah satu prosedur berikut:
   + [Buat server berkemampuan SFTP](create-server-sftp.md)
   + [Buat server berkemampuan FTPS](create-server-ftps.md)
   + [Buat server berkemampuan FTP](create-server-ftp.md)

   Dalam prosedur tersebut, lanjutkan dengan langkah berikut memilih penyedia identitas.

**penting**  
 Anda tidak dapat menghapus direktori Microsoft AD Directory Service jika Anda menggunakannya di server Transfer Family. Anda harus menghapus server terlebih dahulu, dan kemudian Anda dapat menghapus direktori. 

## Menghubungkan ke Microsoft Active Directory di lokasi
<a name="on-prem-ad"></a>

Bagian ini menjelaskan cara menyiapkan AWS Direktori menggunakan AD Connector

**Untuk mengatur AWS Direktori menggunakan AD Connector**

1. Buka konsol [Directory Service](https://console.aws.amazon.com/directoryservicev2/) dan pilih **Directories.**

1. Pilih **Siapkan direktori**.

1. Untuk jenis direktori, pilih **AD Connector**.

1. Pilih ukuran direktori, pilih **Berikutnya**, lalu pilih VPC dan Subnet Anda.

1. Pilih **Berikutnya**, lalu isi kolom sebagai berikut:
   + **Nama DNS direktori: masukkan nama** domain yang Anda gunakan untuk Microsoft Active Directory Anda.
   + **Alamat IP DNS: masukkan alamat IP** Microsoft Active Directory Anda.
   + **Nama pengguna dan **kata sandi** akun server**: masukkan detail untuk akun layanan yang akan digunakan.

1. Lengkapi layar untuk membuat layanan direktori.

Langkah selanjutnya adalah membuat server Transfer Family dengan protokol SFTP, dan tipe penyedia identitas **AWS Directory** Service. Dari daftar drop-down **Direktori**, pilih direktori yang Anda tambahkan di prosedur sebelumnya.

## Memberikan akses ke grup
<a name="directory-services-grant-access"></a>

 Setelah Anda membuat server, Anda harus memilih grup mana di direktori yang harus memiliki akses untuk mengunggah dan mengunduh file melalui protokol yang diaktifkan menggunakan. AWS Transfer Family Anda melakukan ini dengan membuat *akses*.

**catatan**  
AWS Transfer Family memiliki batas default 100 grup Active Directory per server. Jika kasus penggunaan Anda memerlukan lebih dari 100 grup, pertimbangkan untuk menggunakan solusi penyedia identitas kustom seperti yang dijelaskan dalam [Simplify Active Directory autentikasi dengan penyedia identitas kustom untuk](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/). AWS Transfer Family

**catatan**  
Pengguna harus menjadi bagian *langsung* dari grup tempat Anda memberikan akses. Misalnya, asumsikan bahwa Bob adalah pengguna dan milik GroupA, dan GroupA sendiri termasuk dalam GroupB.  
Jika Anda memberikan akses ke GroUpa, Bob diberikan akses.
 Jika Anda memberikan akses ke GroupB (dan bukan ke GroupA), Bob tidak memiliki akses.

**Untuk memberikan akses ke grup**

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Arahkan ke halaman detail server Anda.

1.  Di bagian **Accesses**, pilih **Tambah akses**. 

1.  Masukkan SID untuk AWS Managed Microsoft AD direktori yang ingin Anda akses ke server ini.
**catatan**  
Untuk informasi tentang cara menemukan SID untuk grup Anda, lihat[Sebelum Anda mulai menggunakan AWS Directory Service for Microsoft Active Directory](#managed-ad-prereq).

1. Untuk **Access**, pilih peran AWS Identity and Access Management (IAM) untuk grup.

1.  Di bagian **Kebijakan**, pilih kebijakan. Pengaturan default adalah **None**. 

1. Untuk **direktori Home**, pilih bucket Amazon S3 yang sesuai dengan direktori home grup.
**catatan**  
Anda dapat membatasi bagian bucket yang dilihat pengguna dengan membuat kebijakan sesi. Misalnya, untuk membatasi pengguna ke folder mereka sendiri di bawah `/filetest` direktori, masukkan teks berikut di dalam kotak.  

   ```
   /filetest/${transfer:UserName}
   ```
 Untuk mempelajari lebih lanjut tentang membuat kebijakan sesi, lihat[Membuat kebijakan sesi untuk bucket Amazon S3](users-policies-session.md). 

1.  Pilih **Tambah** untuk membuat asosiasi. 

1. Pilih server Anda.

1. Pilih **Tambahkan akses**.

   1.  Masukkan SID untuk grup. 
**catatan**  
Untuk informasi tentang cara menemukan SID, lihat[Sebelum Anda mulai menggunakan AWS Directory Service for Microsoft Active Directory](#managed-ad-prereq).

1. Pilih **Tambahkan akses**.

 Di bagian **Accesses**, akses untuk server terdaftar. 

![\[Konsol yang menampilkan bagian Accesses dengan akses server yang terdaftar.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/accesses-list.png)


## Menguji pengguna
<a name="directory-services-test-user"></a>

Anda dapat menguji apakah pengguna memiliki akses ke AWS Managed Microsoft AD direktori untuk server Anda.

**catatan**  
Seorang pengguna harus berada dalam satu grup (ID eksternal) yang tercantum di bagian **Access** pada halaman **konfigurasi Endpoint**. Jika pengguna tidak berada dalam grup, atau berada di lebih dari satu grup, pengguna tersebut tidak diberikan akses.

**Untuk menguji apakah pengguna tertentu memiliki akses**

1. Pada halaman detail server, pilih **Tindakan**, lalu pilih **Uji**.

1. Untuk **pengujian penyedia Identitas**, masukkan kredensi masuk untuk pengguna yang berada di salah satu grup yang memiliki akses. 

1.  Pilih **Uji**. 

Anda melihat tes penyedia identitas yang berhasil, menunjukkan bahwa pengguna yang dipilih telah diberikan akses ke server.

![\[Tangkapan layar konsol dari respons pengujian penyedia identitas yang berhasil.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/identity-provider-test-success.png)


Jika pengguna termasuk dalam lebih dari satu grup yang memiliki akses, Anda menerima tanggapan berikut.

```
"Response":"",
"StatusCode":200,
"Message":"More than one associated access found for user's groups."
```

## Menghapus akses server untuk grup
<a name="directory-services-misc"></a>

**Untuk menghapus akses server untuk grup**

1. Pada halaman detail server, pilih **Tindakan**, lalu pilih **Hapus Akses**.

1. Di kotak dialog, konfirmasikan bahwa Anda ingin menghapus akses untuk grup ini.

 Ketika Anda kembali ke halaman detail server, Anda melihat bahwa akses untuk grup ini tidak lagi terdaftar. 

## Menghubungkan ke server menggunakan SSH (Secure Shell)
<a name="directory-services-ssh-procedure"></a>

Setelah Anda mengkonfigurasi server dan pengguna Anda, Anda dapat terhubung ke server menggunakan SSH dan menggunakan nama pengguna yang sepenuhnya memenuhi syarat untuk pengguna yang memiliki akses. 

```
sftp user@active-directory-domain@vpc-endpoint
```

Sebagai contoh: `transferuserexample@mycompany.com@vpce-0123456abcdef-789xyz.vpc-svc-987654zyxabc.us-east-1.vpce.amazonaws.com`.

Format ini menargetkan pencarian federasi, membatasi pencarian Direktori Aktif yang berpotensi besar. 

**catatan**  
Anda dapat menentukan nama pengguna sederhana. Namun, dalam hal ini, kode Active Directory harus mencari semua direktori di federasi. Ini mungkin membatasi pencarian, dan otentikasi mungkin gagal bahkan jika pengguna harus memiliki akses. 

Setelah mengautentikasi, pengguna berada di direktori home yang Anda tentukan saat Anda mengonfigurasi pengguna.

## Menghubungkan AWS Transfer Family ke Active Directory yang dikelola sendiri menggunakan hutan dan trust
<a name="directory-services-ad-trust"></a>

Directory Service memiliki opsi berikut yang tersedia untuk terhubung ke Direktori Aktif yang dikelola sendiri:
+ Kepercayaan hutan satu arah (keluar dari AWS Managed Microsoft AD dan masuk untuk Active Directory lokal) hanya berfungsi untuk domain root.
+ Untuk domain anak, Anda dapat menggunakan salah satu dari berikut ini:
  + Gunakan kepercayaan dua arah antara Active AWS Managed Microsoft AD Directory dan lokal
  + Gunakan kepercayaan eksternal satu arah untuk setiap domain anak.

Saat menghubungkan ke server menggunakan domain tepercaya, pengguna perlu menentukan domain tepercaya, misalnya`transferuserexample@mycompany.com`.

# Menggunakan AWS Directory Service untuk Entra ID Domain Services
<a name="azure-sftp"></a>

 Untuk pelanggan yang membutuhkan Transfer SFTP saja, dan tidak ingin mengelola domain, ada Simple Active Directory. Atau, pelanggan yang menginginkan manfaat Active Directory dan ketersediaan tinggi dalam layanan yang dikelola sepenuhnya dapat menggunakan Microsoft AD yang AWS Dikelola. Terakhir, bagi pelanggan yang ingin memanfaatkan hutan Direktori Aktif yang ada untuk Transfer SFTP mereka, ada Konektor Direktori Aktif. 

Perhatikan hal-hal berikut:
+ Untuk memanfaatkan hutan Active Directory yang ada untuk kebutuhan Transfer SFTP Anda, Anda dapat menggunakan [Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_ad_connector.html) Connector.
+ Jika Anda menginginkan manfaat Active Directory dan ketersediaan tinggi dalam layanan yang dikelola sepenuhnya, Anda dapat menggunakannya AWS Directory Service for Microsoft Active Directory. Lihat perinciannya di [Menggunakan AWS Directory Service untuk Microsoft Active Directory](directory-services-users.md).

Topik ini menjelaskan cara menggunakan Konektor Direktori Aktif dan [Layanan Domain Entra ID (sebelumnya Azure AD)](https://azure.microsoft.com/en-us/services/active-directory-ds/) untuk mengautentikasi pengguna Transfer SFTP dengan ID Entra.

**Topics**
+ [Sebelum Anda mulai menggunakan AWS Directory Service untuk Entra ID Domain Services](#azure-prereq)
+ [Langkah 1: Menambahkan Layanan Domain Entra ID](#azure-add-adds)
+ [Langkah 2: Membuat akun layanan](#azure-create-service-acct)
+ [Langkah 3: Menyiapkan AWS Direktori menggunakan AD Connector](#azure-setup-directory)
+ [Langkah 4: Menyiapkan AWS Transfer Family server](#azure-setup-transfer-server)
+ [Langkah 5: Memberikan akses ke grup](#azure-grant-access)
+ [Langkah 6: Menguji pengguna](#azure-test)

## Sebelum Anda mulai menggunakan AWS Directory Service untuk Entra ID Domain Services
<a name="azure-prereq"></a>

**catatan**  
AWS Transfer Family memiliki batas default 100 grup Active Directory per server. Jika kasus penggunaan Anda memerlukan lebih dari 100 grup, pertimbangkan untuk menggunakan solusi penyedia identitas kustom seperti yang dijelaskan dalam [Simplify Active Directory autentikasi dengan penyedia identitas kustom untuk](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/). AWS Transfer Family

Untuk AWS, Anda memerlukan yang berikut ini:
+ Virtual Private Cloud (VPC) di AWS wilayah tempat Anda menggunakan server Transfer Family
+ Setidaknya dua subnet pribadi di VPC Anda
+ VPC harus memiliki konektivitas internet
+ Gateway pelanggan dan gateway pribadi Virtual untuk koneksi site-to-site VPN dengan Microsoft Entra

Untuk Microsoft Entra, Anda memerlukan yang berikut ini:
+ ID Entra dan layanan domain direktori Aktif
+ Grup sumber daya Entra
+ Jaringan virtual Entra
+ Konektivitas VPN antara VPC Amazon Anda dan grup sumber daya Entra Anda
**catatan**  
Ini bisa melalui terowongan IPSEC asli atau menggunakan peralatan VPN. Dalam topik ini, kami menggunakan terowongan IPSEC antara gateway jaringan Virtual Entra dan gateway jaringan lokal. Terowongan harus dikonfigurasi untuk memungkinkan lalu lintas antara titik akhir Layanan Domain Entra Anda dan subnet yang menampung VPC Anda. AWS 
+ Gateway pelanggan dan gateway pribadi Virtual untuk koneksi site-to-site VPN dengan Microsoft Entra

Diagram berikut menunjukkan konfigurasi yang diperlukan sebelum Anda mulai.

![\[Entra/Azure AD dan diagram arsitektur. AWS Transfer Family AWS VPC yang terhubung ke jaringan virtual Entra melalui internet, menggunakan konektor AWS Directory Service ke Entra Domain Service.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/azure-architecture.png)


## Langkah 1: Menambahkan Layanan Domain Entra ID
<a name="azure-add-adds"></a>

 Entra ID tidak mendukung instance penggabungan Domain secara default. Untuk melakukan tindakan seperti Gabung Domain, dan untuk menggunakan alat seperti Kebijakan Grup, administrator harus mengaktifkan Layanan Domain ID Entra. Jika Anda belum menambahkan Entra DS, atau implementasi yang ada tidak terkait dengan domain yang Anda inginkan server Transfer SFTP Anda gunakan, Anda harus menambahkan instance baru.

Untuk informasi tentang mengaktifkan Layanan Domain ID Entra, lihat [Tutorial: Membuat dan mengonfigurasi domain terkelola Microsoft Entra Domain Services](https://docs.microsoft.com/en-us/azure/active-directory-domain-services/active-directory-ds-getting-started).

**catatan**  
Saat Anda mengaktifkan Entra DS, pastikan itu dikonfigurasi untuk grup sumber daya dan domain Entra tempat Anda menghubungkan server Transfer SFTP Anda.

![\[Layar layanan domain entra yang menampilkan grup sumber daya bob.us berjalan.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/azure-ad-add-instance.png)


## Langkah 2: Membuat akun layanan
<a name="azure-create-service-acct"></a>

 Entra harus memiliki satu akun layanan yang merupakan bagian dari grup Admin di Entra DS. Akun ini digunakan dengan konektor AWS Active Directory. Pastikan akun ini sinkron dengan Entra DS. 

![\[Layar Entra menampilkan profil untuk pengguna.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/azure-service-acct.png)


**Tip**  
Otentikasi multi-faktor untuk Entra ID tidak didukung untuk server Transfer Family yang menggunakan protokol SFTP. Server Transfer Family tidak dapat menyediakan token MFA setelah pengguna mengautentikasi ke SFTP. Pastikan untuk menonaktifkan MFA sebelum Anda mencoba untuk terhubung.  

![\[Entra detail otentikasi multi-faktor, menunjukkan status MFA sebagai dinonaktifkan untuk dua pengguna.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/azure-ad-mfa-disable.png)


## Langkah 3: Menyiapkan AWS Direktori menggunakan AD Connector
<a name="azure-setup-directory"></a>

 Setelah Anda mengonfigurasi Entra DS, dan membuat akun layanan dengan terowongan VPN IPSEC antara AWS VPC dan jaringan Virtual Entra, Anda dapat menguji konektivitas dengan melakukan ping ke alamat IP DNS Entra DS dari instans EC2 mana pun. AWS 

Setelah Anda memverifikasi koneksi aktif, Anda dapat melanjutkan di bawah ini.

**Untuk mengatur AWS Direktori menggunakan AD Connector**

1. Buka konsol [Directory Service](https://console.aws.amazon.com/directoryservicev2/) dan pilih **Directories.**

1. Pilih **Siapkan direktori**.

1. Untuk jenis direktori, pilih **AD Connector**.

1. Pilih ukuran direktori, pilih **Berikutnya**, lalu pilih VPC dan Subnet Anda.

1. Pilih **Berikutnya**, lalu isi kolom sebagai berikut:
   + **Nama DNS direktori**: masukkan nama domain yang Anda gunakan untuk Entra DS Anda.
   + **Alamat IP DNS: masukkan alamat IP** Entra DS Anda.
   + **Nama pengguna dan **kata sandi** akun server**: masukkan detail untuk akun layanan yang Anda buat di *Langkah 2: Buat akun layanan*.

1. Lengkapi layar untuk membuat layanan direktori.

Sekarang status direktori harus **Aktif**, dan siap digunakan dengan server Transfer SFTP.

![\[Layar Layanan Direktori menampilkan satu direktori dengan status Aktif, seperti yang diperlukan.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/azure-connector-ready.png)


## Langkah 4: Menyiapkan AWS Transfer Family server
<a name="azure-setup-transfer-server"></a>

Buat server Transfer Family dengan protokol SFTP, dan jenis penyedia identitas **AWS Directory** Service. Dari daftar drop-down **Directory**, pilih direktori yang Anda tambahkan di *Langkah 3: Setup AWS Directory menggunakan AD Connector*.

**catatan**  
Anda tidak dapat menghapus direktori Microsoft AD di AWS Directory Service jika Anda menggunakannya di server Transfer Family. Anda harus menghapus server terlebih dahulu, dan kemudian Anda dapat menghapus direktori. 

## Langkah 5: Memberikan akses ke grup
<a name="azure-grant-access"></a>

 Setelah Anda membuat server, Anda harus memilih grup mana di direktori yang harus memiliki akses untuk mengunggah dan mengunduh file melalui protokol yang diaktifkan menggunakan. AWS Transfer Family Anda melakukan ini dengan membuat *akses*.

**catatan**  
Pengguna harus menjadi bagian *langsung* dari grup tempat Anda memberikan akses. Misalnya, asumsikan bahwa Bob adalah pengguna dan milik GroupA, dan GroupA sendiri termasuk dalam GroupB.  
Jika Anda memberikan akses ke GroUpa, Bob diberikan akses.
 Jika Anda memberikan akses ke GroupB (dan bukan ke GroupA), Bob tidak memiliki akses.

 Untuk memberikan akses, Anda perlu mengambil SID untuk grup.

Gunakan PowerShell perintah Windows berikut untuk mengambil SID untuk grup, ganti *YourGroupName* dengan nama grup. 

```
Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid
```

![\[Windows PowerShell menunjukkan Object SID sedang diambil.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/azure-grant-access.png)


**Berikan akses ke grup**

1. Buka [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Arahkan ke halaman detail server Anda dan di bagian **Akses**, pilih **Tambahkan akses**. 

1. Masukkan SID yang Anda terima dari output dari prosedur sebelumnya.

1. Untuk **Access**, pilih AWS Identity and Access Management peran untuk grup.

1. Di bagian **Kebijakan**, pilih kebijakan. Nilai defaultnya adalah **None**.

1. Untuk **direktori Home**, pilih bucket Amazon S3 yang sesuai dengan direktori home grup.

1. Pilih **Tambah** untuk membuat asosiasi.

Detail dari server Transfer Anda akan terlihat mirip dengan yang berikut ini:

![\[Sebagian dari layar detail server Transfer Family, menampilkan contoh ID Direktori untuk penyedia Identitas.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/azure-assoc-1.png)


![\[Sebagian dari layar detail server Transfer Family, menampilkan ID Eksternal direktori aktif di bagian Accesses layar.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/azure-assoc-2.png)


## Langkah 6: Menguji pengguna
<a name="azure-test"></a>

Anda dapat menguji ([Menguji pengguna](directory-services-users.md#directory-services-test-user)) apakah pengguna memiliki akses ke AWS Managed Microsoft AD direktori untuk server Anda. Seorang pengguna harus berada dalam satu grup (ID eksternal) yang tercantum di bagian **Access** pada halaman **konfigurasi Endpoint**. Jika pengguna tidak berada dalam grup, atau berada di lebih dari satu grup, pengguna tersebut tidak diberikan akses. 