Autentikasi Azure di penyusun API Data
Penyusun API Data memungkinkan pengembang untuk menentukan mekanisme autentikasi (penyedia identitas) yang mereka inginkan untuk digunakan pembuat API Data untuk mengautentikasi siapa yang membuat permintaan.
Autentikasi didelegasikan ke IdP yang didukung di mana token akses dapat dikeluarkan. Token akses yang diperoleh harus disertakan dengan permintaan masuk ke penyusun API Data. Penyusun API Data kemudian memvalidasi token akses yang disajikan, memastikan bahwa penyusun API Data adalah audiens token yang dimaksudkan.
Opsi konfigurasi penyedia identitas yang didukung adalah:
- StaticWebApps
- JSON Web Token (JWT)
Dalam Pengembangan (AZ Login)
Menggunakan Authentication='Active Directory Default'
dalam string koneksi Azure SQL Database berarti klien akan mengautentikasi menggunakan kredensial Azure Active Directory (AAD). Metode autentikasi yang tepat ditentukan oleh lingkungan. Saat pengembang menjalankan az login
, Azure CLI membuka jendela browser yang meminta pengguna untuk masuk dengan akun Microsoft atau kredensial perusahaan. Setelah diautentikasi, Azure CLI mengambil dan menyimpan token yang ditautkan ke identitas Azure Active Directory. Token ini kemudian digunakan untuk mengautentikasi permintaan ke layanan Azure tanpa memerlukan kredensial dalam string koneksi.
"data-source": {
"connection-string": "...;Authentication='Active Directory Default';"
}
Untuk menyiapkan kredensial lokal, cukup gunakan az login
setelah Anda menginstal Azure CLI.
az login
Autentikasi Azure Static Web Apps (EasyAuth)
Pembuat API Data mengharapkan autentikasi Azure Static Web Apps (EasyAuth) untuk mengautentikasi permintaan, dan untuk memberikan metadata tentang pengguna yang diautentikasi di header HTTP X-MS-CLIENT-PRINCIPAL
saat menggunakan opsi StaticWebApps
. Metadata pengguna terautentikasi yang disediakan oleh Static Web Apps dapat dirujuk dalam dokumentasi berikut: Mengakses Informasi Pengguna.
Untuk menggunakan penyedia StaticWebApps
, Anda perlu menentukan konfigurasi berikut di bagian runtime.host
file konfigurasi:
"authentication": {
"provider": "StaticWebApps"
}
Menggunakan penyedia StaticWebApps
berguna saat Anda berencana menjalankan penyusun Api Data di Azure, menghostingnya menggunakan App Service dan menjalankannya dalam kontainer: Menjalankan kontainer kustom di Azure App Service.
JWT
Untuk menggunakan penyedia JWT, Anda perlu mengonfigurasi bagian runtime.host.authentication
dengan memberikan informasi yang diperlukan untuk memverifikasi token JWT yang diterima:
"authentication": {
"provider": "AzureAD",
"jwt": {
"audience": "<APP_ID>",
"issuer": "https://login.microsoftonline.com/<AZURE_AD_TENANT_ID>/v2.0"
}
}
Pilihan peran
Setelah permintaan diautentikasi melalui salah satu opsi yang tersedia, peran yang ditentukan dalam token digunakan untuk membantu menentukan bagaimana aturan izin dievaluasi untuk mengotorisasi permintaan. Setiap permintaan terautentikasi secara otomatis ditetapkan ke peran sistem authenticated
, kecuali peran pengguna diminta untuk digunakan. Untuk informasi selengkapnya, lihat otorisasi.
Permintaan anonim
Permintaan juga dapat dibuat tanpa diautentikasi. Dalam kasus seperti itu, permintaan secara otomatis ditetapkan ke peran sistem anonymous
sehingga dapat diotorisasi dengan benar.
Header permintaan X-MS-API-ROLE
Penyusun API Data memerlukan header X-MS-API-ROLE
untuk mengotorisasi permintaan menggunakan peran kustom. Nilai X-MS-API-ROLE
harus cocok dengan peran yang ditentukan dalam token. Misalnya, jika token memiliki peran Sample.Role, maka X-MS-API-ROLE juga harus Sample.Role. Untuk informasi selengkapnya, lihat peran pengguna otorisasi .