

 AWS SDK untuk JavaScript V2 telah mencapai end-of-support. Kami menyarankan Anda bermigrasi ke [AWS SDK untuk JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat [pengumuman](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/) ini.

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

# Mengatur Kredensial di Node.js
<a name="setting-credentials-node"></a>

Ada beberapa cara di Node.js untuk memasok kredensialmu ke SDK. Beberapa di antaranya lebih aman dan yang lain memberikan kenyamanan yang lebih besar saat mengembangkan aplikasi. Saat mendapatkan kredensi di Node.js, berhati-hatilah untuk mengandalkan lebih dari satu sumber seperti variabel lingkungan dan file JSON yang Anda muat. Anda dapat mengubah izin di mana kode Anda berjalan tanpa menyadari perubahan telah terjadi.

Berikut adalah cara-cara Anda dapat memberikan kredensi Anda dalam urutan rekomendasi:

1. Dimuat dari peran AWS Identity and Access Management (IAM) untuk Amazon EC2

1. Dimuat dari file kredensial bersama () `~/.aws/credentials`

1. Dimuat dari variabel lingkungan

1. Dimuat dari file JSON pada disk

1. Kelas penyedia kredensial-lainnya yang disediakan oleh SDK JavaScript 

Jika lebih dari satu sumber kredensi tersedia untuk SDK, prioritas default pemilihan adalah sebagai berikut:

1. Kredensional yang ditetapkan secara eksplisit melalui konstruktor layanan-klien

1. Variabel-variabel lingkungan

1. Berkas kredensial bersama

1. Kredensi dimuat dari penyedia kredensi ECS (jika ada)

1. Kredensial yang diperoleh dengan menggunakan proses kredensi yang ditentukan dalam file AWS konfigurasi bersama atau file kredensial bersama. Untuk informasi selengkapnya, lihat [Memuat Kredensial di Node.js menggunakan Proses Kredenal yang Dikonfigurasi](loading-node-credentials-configured-credential-process.md).

1. Kredenal dimuat dari AWS IAM menggunakan penyedia kredensional EC2 instans Amazon (jika dikonfigurasi dalam metadata instans)

Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html)dan [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CredentialProviderChain.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CredentialProviderChain.html)di referensi API.

**Awas**  
Meskipun dimungkinkan untuk melakukannya, kami tidak menyarankan hard-coding AWS kredensional Anda dalam aplikasi Anda. Kredensi hard-coding menimbulkan risiko mengekspos ID kunci akses dan kunci akses rahasia Anda.

Topik di bagian ini menjelaskan cara memuat kredensi ke dalam Node.js.

**Topics**
+ [Memuat Kredensi di Node.js dari peran IAM untuk Amazon EC2](loading-node-credentials-iam.md)
+ [Memuat Kredensi untuk Fungsi Lambda Node.js](loading-node-credentials-lambda.md)
+ [Memuat Kredensial di Node.js dari File Kredensial Bersama](loading-node-credentials-shared.md)
+ [Memuat Kredensi di Node.js dari Variabel Lingkungan](loading-node-credentials-environment.md)
+ [Memuat Kredensial di Node.js dari File JSON](loading-node-credentials-json-file.md)
+ [Memuat Kredensial di Node.js menggunakan Proses Kredenal yang Dikonfigurasi](loading-node-credentials-configured-credential-process.md)

# Memuat Kredensi di Node.js dari peran IAM untuk Amazon EC2
<a name="loading-node-credentials-iam"></a>

Jika Anda menjalankan aplikasi Node.js di EC2 instans Amazon, Anda dapat memanfaatkan peran IAM untuk Amazon EC2 agar secara otomatis memberikan kredensi ke instans. Jika Anda mengonfigurasi instans Anda untuk menggunakan peran IAM, SDK secara otomatis memilih kredenal IAM untuk aplikasi Anda, sehingga tidak perlu menyediakan kredenal secara manual.

Untuk informasi selengkapnya tentang menambahkan peran IAM ke EC2 instans Amazon, lihat [Menggunakan peran IAM untuk EC2 instans Amazon](https://docs.aws.amazon.com/sdkref/latest/guide/access-iam-roles-for-ec2.html) di Panduan Referensi *Alat AWS SDKs dan Alat*.

# Memuat Kredensi untuk Fungsi Lambda Node.js
<a name="loading-node-credentials-lambda"></a>

Saat Anda membuat AWS Lambda fungsi, Anda harus membuat peran IAM khusus yang memiliki izin untuk menjalankan fungsi tersebut. Peran ini disebut *peran eksekusi*. Saat menyiapkan fungsi Lambda, Anda harus menentukan peran IAM yang Anda buat sebagai peran eksekusi yang sesuai.

Peran eksekusi menyediakan fungsi Lambda dengan kredenal yang dibutuhkan untuk menjalankan dan memanggil layanan web lainnya. Akibatnya, Anda tidak perlu memberikan kredensi ke kode Node.js yang Anda tulis dalam fungsi Lambda.

*Untuk informasi selengkapnya tentang membuat peran eksekusi Lambda, lihat [Mengelola Izin: Menggunakan Peran IAM (Peran Eksekusi) di Panduan](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role) Pengembang.AWS Lambda *

# Memuat Kredensial di Node.js dari File Kredensial Bersama
<a name="loading-node-credentials-shared"></a>

Anda dapat menyimpan data AWS kredensional Anda dalam file bersama yang digunakan oleh SDKs dan antarmuka baris perintah. Saat SDK JavaScript dimuat, SDK secara otomatis mencari file kredensial bersama, yang diberi nama “kredensial”. Tempat Anda menyimpan file kredensi bersama tergantung pada sistem operasi Anda:
+ File kredensial bersama di Linux, Unix, dan macOS: `~/.aws/credentials`
+ File kredensial bersama di Windows: `C:\Users\USER_NAME\.aws\credentials`

Jika Anda belum memiliki file kredensial bersama, lihat. [Otentikasi SDK dengan AWS](getting-your-credentials.md) Setelah Anda mengikuti instruksi tersebut, Anda akan melihat teks yang mirip dengan yang berikut di file kredensial, di mana *<YOUR\$1ACCESS\$1KEY\$1ID>* ID kunci akses Anda dan *<YOUR\$1SECRET\$1ACCESS\$1KEY>* merupakan kunci akses rahasia Anda:

```
[default]
aws_access_key_id = <YOUR_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>
```

Untuk contoh yang menunjukkan file ini sedang digunakan, lihat[Memulai di Node.js](getting-started-nodejs.md).

Judul `[default]` bagian menentukan profil default dan nilai-nilai terkait untuk kredensional. Anda dapat membuat profil tambahan dalam file konfigurasi bersama yang sama, masing-masing dengan informasi kredensialnya sendiri. Contoh berikut menunjukkan file konfigurasi dengan profil default dan dua profil tambahan:

```
[default] ; default profile
aws_access_key_id = <DEFAULT_ACCESS_KEY_ID>
aws_secret_access_key = <DEFAULT_SECRET_ACCESS_KEY>
    
[personal-account] ; personal account profile
aws_access_key_id = <PERSONAL_ACCESS_KEY_ID>
aws_secret_access_key = <PERSONAL_SECRET_ACCESS_KEY>
    
[work-account] ; work account profile
aws_access_key_id = <WORK_ACCESS_KEY_ID>
aws_secret_access_key = <WORK_SECRET_ACCESS_KEY>
```

Secara default, SDK memeriksa variabel `AWS_PROFILE` lingkungan untuk menentukan profil mana yang akan digunakan. Jika `AWS_PROFILE` variabel tidak disetel di lingkungan Anda, SDK akan menggunakan kredensional untuk profil tersebut. `[default]` Untuk menggunakan salah satu profil alternatif, atur atau ubah nilai variabel `AWS_PROFILE` lingkungan. Misalnya, mengingat file konfigurasi yang ditunjukkan di atas, untuk menggunakan kredensi dari akun kerja, atur variabel `AWS_PROFILE` lingkungan ke `work-account` (yang sesuai untuk sistem operasi Anda).

**catatan**  
Saat mengatur variabel lingkungan, pastikan untuk mengambil tindakan yang tepat setelahnya (sesuai dengan kebutuhan sistem operasi Anda) untuk membuat variabel tersedia di shell atau lingkungan perintah.

Setelah menyetel variabel lingkungan (jika diperlukan), Anda dapat menjalankan JavaScript file yang menggunakan SDK, seperti misalnya, file bernama`script.js`.

```
$ node script.js
```

Anda juga dapat secara eksplisit memilih profil yang digunakan oleh SDK, baik dengan menyetel `process.env.AWS_PROFILE` sebelum memuat SDK, atau dengan memilih penyedia kredensi seperti yang ditunjukkan pada contoh berikut:

```
var credentials = new AWS.SharedIniFileCredentials({profile: 'work-account'});
AWS.config.credentials = credentials;
```

# Memuat Kredensi di Node.js dari Variabel Lingkungan
<a name="loading-node-credentials-environment"></a>

SDK secara otomatis mendeteksi AWS kredensial yang ditetapkan sebagai variabel di lingkungan Anda dan menggunakannya untuk permintaan SDK, sehingga menghilangkan kebutuhan untuk mengelola kredensi dalam aplikasi Anda. Variabel lingkungan yang Anda tetapkan untuk memberikan kredensialnya adalah:
+ `AWS_ACCESS_KEY_ID`
+ `AWS_SECRET_ACCESS_KEY`
+ `AWS_SESSION_TOKEN`

Untuk detail selengkapnya tentang pengaturan variabel lingkungan, lihat [Dukungan variabel lingkungan](https://docs.aws.amazon.com/sdkref/latest/guide/environment-variables.html) di *Panduan Referensi Alat AWS SDKs dan Alat*.

# Memuat Kredensial di Node.js dari File JSON
<a name="loading-node-credentials-json-file"></a>

Anda dapat memuat konfigurasi dan kredensional dari dokumen JSON pada disk menggunakan. `AWS.config.loadFromPath` Jalur yang ditentukan relatif terhadap direktori kerja saat ini dari proses Anda. Misalnya, untuk memuat kredensi dari `'config.json'` file dengan konten berikut:

```
{ "accessKeyId": <YOUR_ACCESS_KEY_ID>, "secretAccessKey": <YOUR_SECRET_ACCESS_KEY>, "region": "us-east-1" }
```

Kemudian gunakan kode berikut:

```
var AWS = require("aws-sdk");
AWS.config.loadFromPath('./config.json');
```

**catatan**  
Memuat data konfigurasi dari dokumen JSON akan me-reset semua data konfigurasi yang ada. Tambahkan data konfigurasi tambahan setelah menggunakan teknik ini. Memuat kredensi dari dokumen JSON tidak didukung dalam skrip browser.

# Memuat Kredensial di Node.js menggunakan Proses Kredenal yang Dikonfigurasi
<a name="loading-node-credentials-configured-credential-process"></a>

Anda dapat mencari kredensi dengan menggunakan metode yang tidak dibangun ke dalam SDK. Untuk melakukannya, tentukan proses kredensi dalam file AWS config bersama atau file kredensial bersama. Jika variabel `AWS_SDK_LOAD_CONFIG` lingkungan disetel ke nilai apa pun, SDK akan lebih memilih proses yang ditentukan dalam file konfigurasi daripada proses yang ditentukan dalam file kredensial (jika ada).

Untuk detail tentang menentukan proses kredensi dalam file AWS konfigurasi bersama atau file kredensial bersama, lihat *Referensi AWS CLI Perintah*, khususnya informasi tentang [Sumber](https://docs.aws.amazon.com/cli/latest/topic/config-vars.html#sourcing-credentials-from-external-processes) Kredensial Dari Proses Eksternal.

Untuk informasi tentang penggunaan variabel `AWS_SDK_LOAD_CONFIG` lingkungan, lihat [Menggunakan File Config Bersama](setting-region.md#setting-region-config-file) di dokumen ini.