

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

# Menggunakan AppKeys dan Tenantids untuk Amazon Chime SDK
<a name="app-keys-tenant-ids"></a>

Anda dapat menggunakan AppKeys dan Tenantids untuk membatasi akses *dari jaringan ke sesi media* Amazon Chime SDK WebRTC aplikasi tertentu.

Pengembang menggunakan Amazon Chime SDK untuk membuat aplikasi yang mengirim dan menerima video real-time melalui UDP. Pengguna aplikasi memerlukan akses UDP ke [https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html)subnet. Organizations (pemilik jaringan) dapat menggunakan AppKeys dan Tenantids untuk membatasi akses dari jaringan mereka ke hanya sesi media WebRTC aplikasi tertentu.

**Contoh 1: Menggunakan AppKeys**  
Jika App-A dan App-B menggunakan Amazon Chime SDK, organisasi dapat mengizinkan App-A untuk mengakses sesi media WebRTC dari jaringan mereka, tetapi memblokir dan aplikasi App-B lain yang menggunakan Amazon Chime SDK. Organizations dapat melakukannya dengan App-A's AppKey dan proxy HTTPS. Untuk informasi lebih lanjut, lihat[Membatasi akses ke aplikasi tertentu](#limit-app-access), nanti dalam topik ini.

**Contoh 2: Menggunakan AppKeys dan Tenantids**  
Jika App-A tersedia untuk umum dan digunakan oleh banyak pelanggan, organisasi mungkin ingin mengizinkan App-A untuk mengakses sesi media WebRTC dari jaringan mereka hanya ketika pengguna mereka menjadi bagian dari sesi, dan memblokir akses ke semua sesi lainnya. App-A Organizations dapat melakukan ini dengan menggunakan aplikasi AppKey, TenanID organisasi, dan proxy HTTPS. Untuk informasi lebih lanjut, lihat[Membatasi akses ke penyewa tertentu](#limit-tenant-access), nanti dalam topik ini.

Untuk menggunakan AppKeys dan Tenantids, Anda harus memiliki server proxy HTTPS yang memungkinkan menambahkan header HTTPS ke permintaan. Diagram berikut menunjukkan bagaimana AppKeys dan TenantiDS bekerja.

![Diagram yang menunjukkan bagaimana AppKeys dan Tenantids mengontrol aplikasi dan akses penyewa ke sesi WebRTC.](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/app-key-diagram.png)


Dalam gambar, App-A memiliki penyewa A-1 dan A-2, dan App-B memiliki penyewa B-1 dan. B-2 Dalam hal ini, AppKey hanya memungkinkan App-A untuk terhubung ke sesi media WebRTC, dan ID penyewa hanya mengakui Penyewa ke sesi. A-1 

**Topics**
+ [Membatasi akses ke aplikasi tertentu](#limit-app-access)
+ [Membatasi akses ke penyewa tertentu](#limit-tenant-access)
+ [Contoh header HTTPS](#header-examples)

## Membatasi akses ke aplikasi tertentu
<a name="limit-app-access"></a>

An *AppKey*adalah nilai 256-bit yang konsisten dan unik yang dibuat Amazon Chime untuk setiap akun. AWS Jika Anda tidak memiliki AppKey, Anda dapat memintanya dari Amazon Support. Jika Anda memiliki beberapa AWS akun, Anda dapat meminta akun umum AppKey untuk semua akun Anda.

**catatan**  
Anda dapat berbagi AppKeys secara publik dengan aman dan memungkinkan organisasi lain membatasi akses dari jaringan mereka. 

Amazon Chime SDK secara otomatis mengaitkan setiap sesi media WebRTC dengan berdasarkan ID akun yang digunakan untuk AppKey membuat sesi. AWS Untuk membatasi akses *dari jaringan Anda* ke aplikasi tertentu, lakukan hal berikut:

1. Rutekan semua permintaan keluar ke `CHIME_MEETINGS` subnet melalui server proxy HTTPS. 

1. Konfigurasikan server proxy untuk menambahkan header berikut ke semua permintaan keluar ke `CHIME_MEETINGS` subnet:

   `X-Amzn-Chime-App-Keys:` {{comma-separated list of allowed AppKeys}}.

   Misalnya, `X-Amzn-Chime-App-Keys:{{AppKey-A}},{{AppKey-B}},{{AppKey-C}}` memungkinkan aplikasi yang terkait dengan mereka AppKeys untuk mengakses subnet.

Amazon Chime SDK memeriksa koneksi sesi media WebRTC masuk untuk header dan menerapkan logika berikut: `X-Amzn-Chime-App-Keys`

1. Jika `X-Amzn-Chime-App-Keys` header hadir dan termasuk sesi AppKey, terima koneksi.

1. Jika `X-Amzn-Chime-App-Keys` header hadir tetapi tidak termasuk sesi AppKey, tolak koneksi dengan kesalahan 403.

1. Jika `X-Amzn-Chime-App-Keys` header tidak ada, terima koneksi. Jika pengguna dapat mengakses aplikasi dari luar jaringan organisasi, mereka juga dapat mengakses sesi.

## Membatasi akses ke penyewa tertentu
<a name="limit-tenant-access"></a>

*TenanID* adalah pengidentifikasi buram yang dibuat oleh pengembang. Ingat hal berikut tentang TenanTIDS:
+ Tenantids tidak dijamin unik antar aplikasi, jadi Anda harus menentukan AppKey untuk setiap daftar TenanID. 
+ TenanID adalah case senstitive. Masukkan persis seperti yang ditentukan oleh pengembang.
+ Sebuah organisasi dapat membatasi akses ke beberapa aplikasi, tetapi hanya menentukan Tenantids untuk beberapa aplikasi tersebut. Aplikasi tanpa TenanID dapat terhubung ke semua sesi media WebRTC. 

Untuk mengaitkan sesi media dengan Tenantids, pengembang harus terlebih dahulu menambahkan `TenantIds` properti dan daftar Tenantids ke permintaan atau. [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html)

Contoh:

`CreateMeeting(..., TenantIds : [ tenantId1, tenantId2 ] )`

Untuk membatasi akses dari jaringan organisasi ke sesi media WebRTC mereka di aplikasi tertentu, lakukan hal berikut:

1. Ikuti langkah-langkah di [Membatasi akses ke aplikasi tertentu](#limit-app-access).

1. Konfigurasikan server proxy HTTPS untuk menambahkan `X-Amzn-Chime-Tenants` header pada koneksi keluar. Sertakan daftar AppKeys dan TenanID, dibatasi seperti yang ditunjukkan dalam contoh ini: `X-Amzn-Chime-Tenants: {{AppKey-A}}:{{tenantId-A-1}},{{tenantId-A-2}};{{AppKey-B}}:{{tenantId-B-1}},{{tenantId-B-2}}`

Amazon Chime SDK memeriksa koneksi sesi media WebRTC masuk untuk header dan menerapkan logika berikut: `X-Amzn-Chime-Tenants`
+ Jika header menyertakan sesi`AppKey:tenantId`, terima koneksi.
+ Jika header menyertakan sesi `AppKey` tetapi tidak cocok`tenantId`, tolak koneksi dengan kesalahan 403.
+ Jika header *tidak* menyertakan sesi`AppKey`, terima koneksi.
+ Jika header menyertakan sesi`AppKey`, tetapi sesi tidak memiliki setidaknya satu yang diizinkan`tenantId`, tolak koneksi dengan kesalahan 403. Ini mungkin bug pengembang.
+ Jika header tidak ada, terima koneksi. Jika pengguna dapat mengakses aplikasi dari luar jaringan organisasi, mereka juga dapat mengakses semua sesi.

## Contoh header HTTPS
<a name="header-examples"></a>

Contoh berikut menunjukkan beberapa cara untuk menggunakan AppKeys dan Tenantids di header HTTPS.

**Satu aplikasi dengan satu penyewa**  
`X-Amzn-Chime-App-Keys: {{AppKey}}`  
`X-Amzn-Chime-Tenants: {{AppKey}}:{{orgId}}`  
Pengguna hanya dapat mengakses sesi media WebRTC organisasi di aplikasi yang ditentukan. Semua aplikasi lain diblokir.

**Satu aplikasi dengan dua penyewa**  
`X-Amzn-Chime-App-Keys: {{AppKey}}`  
`X-Amzn-Chime-Tenants: {{AppKey}}:{{engineeringId}},{{salesId}}`  
Pengguna hanya dapat mengakses sesi media untuk rekayasa dan penjualan di aplikasi yang ditentukan. Semua aplikasi lain diblokir.

**Dua Aplikasi, Satu terbatas untuk Penyewa**  
`X-Amzn-Chime-App-Keys: {{AppKey1}},{{AppKey2}}`  
`X-Amzn-Chime-Tenants: {{AppKey1}}:{{orgId}}`  
Pengguna hanya dapat mengakses sesi media organisasi di Aplikasi 1, dan sesi apa pun di Aplikasi 2. Semua aplikasi lain diblokir.