Bagikan melalui


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 .