

 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.

# Menggunakan Identitas Federasi Web untuk Mengautentikasi Pengguna
<a name="loading-browser-credentials-federated-id"></a>

Anda dapat langsung mengkonfigurasi penyedia identitas individu untuk mengakses AWS sumber daya menggunakan federasi identitas web. AWS saat ini mendukung otentikasi pengguna menggunakan federasi identitas web melalui beberapa penyedia identitas:
+ [Login with Amazon](https://login.amazon.com)
+ [Login Facebook](https://www.facebook.com/about/login)
+ [Masuk Google](https://developers.google.com/identity/)

Anda harus terlebih dahulu mendaftarkan aplikasi Anda ke penyedia yang didukung aplikasi Anda. Selanjutnya, buat peran IAM dan atur izin untuk itu. Peran IAM yang Anda buat kemudian digunakan untuk memberikan izin yang Anda konfigurasikan untuk itu melalui penyedia identitas masing-masing. Misalnya, Anda dapat mengatur peran yang memungkinkan pengguna yang masuk melalui Facebook memiliki akses baca ke bucket Amazon S3 tertentu yang Anda kontrol.

Setelah Anda memiliki peran IAM dengan hak istimewa yang dikonfigurasi dan aplikasi yang terdaftar dengan penyedia identitas pilihan Anda, Anda dapat mengatur SDK untuk mendapatkan kredensi untuk peran IAM menggunakan kode pembantu, sebagai berikut:

```
AWS.config.credentials = new AWS.WebIdentityCredentials({
   RoleArn: 'arn:aws:iam::<AWS_ACCOUNT_ID>/:role/<WEB_IDENTITY_ROLE_NAME>',
   ProviderId: 'graph.facebook.com|www.amazon.com', // this is null for Google
   WebIdentityToken: ACCESS_TOKEN
});
```

Nilai dalam `ProviderId` parameter tergantung pada penyedia identitas yang ditentukan. Nilai dalam `WebIdentityToken` parameter adalah token akses yang diambil dari login yang berhasil dengan penyedia identitas. Untuk informasi selengkapnya tentang cara mengonfigurasi dan mengambil token akses untuk setiap penyedia identitas, lihat dokumentasi untuk penyedia identitas.

## Langkah 1: Mendaftar dengan Penyedia Identitas
<a name="config-web-identity-register"></a>

Untuk memulai, daftarkan aplikasi dengan penyedia identitas yang Anda pilih untuk didukung. Anda akan diminta untuk memberikan informasi yang mengidentifikasi aplikasi Anda dan mungkin penulisnya. Ini memastikan bahwa penyedia identitas tahu siapa yang menerima informasi pengguna mereka. Dalam setiap kasus, penyedia identitas akan mengeluarkan ID aplikasi yang Anda gunakan untuk mengonfigurasi peran pengguna.

## Langkah 2: Membuat Peran IAM untuk Penyedia Identitas
<a name="config-web-identity-role"></a>

Setelah Anda mendapatkan ID aplikasi dari penyedia identitas, buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)untuk membuat peran IAM baru.

**Untuk membuat peran IAM untuk penyedia identitas**

1. Buka bagian **Peran** konsol dan kemudian pilih **Buat Peran Baru**.

1. Ketik nama untuk peran baru yang membantu Anda melacak penggunaannya, seperti**facebookIdentity**, lalu pilih **Langkah Berikutnya**.

1. Di **Pilih Jenis Peran**, pilih **Peran untuk Akses Penyedia Identitas**.

1. Untuk **memberikan akses ke penyedia identitas web**, pilih **Pilih**.

1. Dari daftar **Penyedia Identitas**, pilih penyedia identitas yang ingin Anda gunakan untuk peran IAM ini.  
![\[Memilih Peran untuk Akses Penyedia Identitas\]](http://docs.aws.amazon.com/id_id/sdk-for-javascript/v2/developer-guide/images/iam-provider-select.png)

1. Ketik ID aplikasi yang disediakan oleh penyedia identitas di **ID Aplikasi** dan kemudian pilih **Langkah Berikutnya**.

1. Konfigurasikan izin untuk sumber daya yang ingin Anda paparkan, yang memungkinkan akses ke operasi tertentu pada sumber daya tertentu. *Untuk informasi selengkapnya tentang izin IAM, lihat [Ringkasan Izin AWS IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions.html) IAM.* Tinjau dan, jika perlu, sesuaikan hubungan kepercayaan peran, lalu pilih **Langkah Berikutnya**.

1. Lampirkan kebijakan tambahan yang Anda butuhkan dan kemudian pilih **Langkah Berikutnya**. Untuk informasi lebih lanjut tentang kebijakan IAM, lihat [Gambaran umum Kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dalam *Panduan Pengguna IAM*.

1. Tinjau peran baru dan kemudian pilih **Buat Peran**.

Anda dapat memberikan batasan lain untuk peran tersebut, seperti melingkupinya ke pengguna tertentu. IDs Jika peran memberikan izin menulis ke sumber daya Anda, pastikan Anda mencakupkan peran dengan benar kepada pengguna dengan hak istimewa yang benar, jika tidak, setiap pengguna dengan identitas Amazon, Facebook, atau Google akan dapat memodifikasi sumber daya dalam aplikasi Anda.

Untuk informasi selengkapnya tentang penggunaan federasi identitas web di IAM, lihat [Tentang Federasi Identitas Web](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc.html) di *Panduan Pengguna IAM*.

## Langkah 3: Mendapatkan Token Akses Penyedia Setelah Login
<a name="config-web-identity-obtain-token"></a>

Siapkan tindakan login untuk aplikasi Anda dengan menggunakan SDK penyedia identitas. Anda dapat mengunduh dan menginstal JavaScript SDK dari penyedia identitas yang memungkinkan login pengguna, menggunakan salah satu OAuth atau OpenID. Untuk informasi tentang cara mengunduh dan menyiapkan kode SDK di aplikasi Anda, lihat dokumentasi SDK untuk penyedia identitas Anda:
+ [Login with Amazon](https://login.amazon.com/website)
+ [Login Facebook](https://developers.facebook.com/docs/javascript)
+ [Masuk Google](https://developers.google.com/identity/)

## Langkah 4: Memperoleh Kredensi Sementara
<a name="config-web-identity-get-credentials"></a>

Setelah aplikasi, peran, dan izin sumber daya dikonfigurasi, tambahkan kode ke aplikasi Anda untuk mendapatkan kredensi sementara. Kredensi ini disediakan melalui federasi identitas web yang AWS Security Token Service menggunakan. Pengguna masuk ke penyedia identitas, yang mengembalikan token akses. Siapkan `AWS.WebIdentityCredentials` objek menggunakan ARN untuk peran IAM yang Anda buat untuk penyedia identitas ini:

```
AWS.config.credentials = new AWS.WebIdentityCredentials({
    RoleArn: 'arn:aws:iam::<AWS_ACCOUNT_ID>:role/<WEB_IDENTITY_ROLE_NAME>',
    ProviderId: 'graph.facebook.com|www.amazon.com', // Omit this for Google
    WebIdentityToken: ACCESS_TOKEN // Access token from identity provider
});
```

Objek layanan yang dibuat selanjutnya akan memiliki kredensional yang tepat. Objek yang dibuat sebelum menyetel `AWS.config.credentials` properti tidak akan memiliki kredensi saat ini.

Anda juga dapat membuat `AWS.WebIdentityCredentials` sebelum mengambil token akses. Ini memungkinkan Anda untuk membuat objek layanan yang bergantung pada kredensi sebelum memuat token akses. Untuk melakukan ini, buat objek kredensial tanpa parameter: `WebIdentityToken`

```
AWS.config.credentials = new AWS.WebIdentityCredentials({
  RoleArn: 'arn:aws:iam::<AWS_ACCOUNT_ID>:role/<WEB_IDENTITY_ROLE_NAME>',
  ProviderId: 'graph.facebook.com|www.amazon.com' // Omit this for Google
});

// Create a service object
var s3 = new AWS.S3;
```

Kemudian atur `WebIdentityToken` callback dari SDK penyedia identitas yang berisi token akses:

```
AWS.config.credentials.params.WebIdentityToken = accessToken;
```