Menggunakan AppKeys dan Tenantids - Amazon Chime SDK

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

Menggunakan AppKeys dan Tenantids

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 CHIME_MEETINGSsubnet. 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 mengakses sesi media WebRTC dari jaringannya, tetapi memblokir App-B dan aplikasi lain yang menggunakan Amazon Chime SDK. Organizations dapat melakukannya dengan App-A AppKey dan proxy HTTPS. Untuk informasi lebih lanjut, lihatMembatasi akses ke aplikasi tertentu, 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 mengakses sesi media WebRTC dari jaringan mereka hanya ketika pengguna mereka menjadi bagian dari sesi, dan memblokir akses ke semua sesi App-A lainnya. Organizations dapat melakukan ini dengan menggunakan aplikasi AppKey, TenanID organisasi, dan proxy HTTPS. Untuk informasi lebih lanjut, lihatMembatasi akses ke penyewa tertentu, 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.

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 Tenant A-1 ke sesi.

Membatasi akses ke aplikasi tertentu

An AppKeyadalah 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 untuk 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.

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

    X-Amzn-Chime-App-Keys:daftar dipisahkan koma yang diizinkan. 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.

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

  3. 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

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. CreateMeetingCreateMeetingWithAttendees

Sebagai 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.

  2. 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 sesiAppKey:tenantId, terima koneksi.

  • Jika header menyertakan sesi AppKey tetapi tidak cocoktenantId, tolak koneksi dengan kesalahan 403.

  • Jika header tidak menyertakan sesiAppKey, terima koneksi.

  • Jika header menyertakan sesiAppKey, tetapi sesi tidak memiliki setidaknya satu yang diizinkantenantId, 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

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.