

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

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