Menerapkan autentikasi dan otorisasi di Azure Container Apps
Azure Container Apps menyediakan fitur autentikasi dan otorisasi bawaan untuk mengamankan aplikasi kontainer eksternal anda yang mendukung ingress dengan kode minimal atau tanpa kode. Fitur autentikasi bawaan untuk Container Apps dapat menghemat waktu dan tenaga Anda dengan menyediakan autentikasi siap pakai dengan penyedia identitas federasi, memungkinkan Anda untuk fokus pada aplikasi lainnya.
- Azure Container Apps menyediakan akses ke berbagai penyedia autentikasi bawaan.
- Fitur autentikasi bawaan tidak memerlukan bahasa, SDK, keahlian keamanan, atau bahkan kode tertentu yang harus Anda tulis.
Fitur ini hanya boleh digunakan dengan HTTPS. Pastikan allowInsecure dinonaktifkan pada konfigurasi ingress aplikasi kontainer Anda. Anda dapat mengonfigurasi aplikasi kontainer untuk autentikasi dengan atau tanpa membatasi akses ke API dan konten situs Anda.
- Untuk membatasi akses aplikasi hanya untuk pengguna yang diautentikasi, atur pengaturan Batasi akses ke Memerlukan autentikasi.
- Untuk mengautentikasi tetapi tidak membatasi akses, atur pengaturan Batasi akses ke Izinkan akses yang tidak diautentikasi.
IdP
Container Apps menggunakan identitas federasi, yang memungkinkan penyedia identitas pihak ketiga mengelola identitas pengguna dan alur autentikasi untuk Anda. IdP berikut ini tersedia secara default:
| Penyedia | Titik akhir masuk | Panduan cara kerja |
|---|---|---|
| Platform Identitas Microsoft | /.auth/login/aad |
Platform Identitas Microsoft |
/.auth/login/facebook |
||
| GitHub | /.auth/login/github |
GitHub |
/.auth/login/google |
||
| X | /.auth/login/twitter |
X |
| Semua penyedia OpenID Connect | /.auth/login/<providerName> |
Koneksi OpenID |
Saat Anda menggunakan salah satu penyedia ini, titik akhir masuk tersedia untuk autentikasi pengguna dan validasi token autentikasi dari penyedia. Anda dapat memberi pengguna Anda sejumlah opsi penyedia ini.
Arsitektur fitur
Komponen middleware autentikasi dan otorisasi adalah fitur platform yang berjalan sebagai kontainer sespan pada setiap replika di aplikasi Anda. Ketika diaktifkan, setiap permintaan HTTP yang masuk melewati lapisan keamanan sebelum ditangani oleh aplikasi Anda.
Platform middleware menangani beberapa hal untuk aplikasi Anda:
- Mengautentikasi pengguna dan klien dengan idP yang ditentukan
- Mengelola sesi terautentikasi
- Masukkan informasi identitas ke header permintaan HTTP
Modul autentikasi dan otorisasi berjalan dalam kontainer terpisah, terisolasi dari kode aplikasi Anda. Karena kontainer keamanan tidak berjalan dalam proses, tidak ada integrasi langsung dengan kerangka kerja bahasa tertentu yang dimungkinkan. Namun, informasi relevan yang dibutuhkan aplikasi Anda disediakan di header permintaan.
Alur autentikasi
Alur autentikasi sama untuk semua penyedia, tetapi berbeda tergantung pada apakah Anda ingin masuk dengan SDK penyedia:
Tanpa penyedia SDK (alur yang diarahkan server atau alur server): Aplikasi mendelegasikan masuk federasi ke Container Apps. Delegasi biasanya terjadi pada aplikasi browser, yang menyajikan halaman masuk penyedia kepada pengguna.
Dengan penyedia SDK (alur yang diarahkan klien atau alur klien): Aplikasi memasukkan pengguna ke penyedia secara manual dan kemudian mengirimkan token autentikasi ke Container Apps untuk validasi. Pendekatan ini tipikal untuk aplikasi tanpa browser yang tidak menyajikan halaman masuk penyedia kepada pengguna. Contohnya adalah aplikasi seluler asli yang memasukkan pengguna menggunakan SDK penyedia.