Mengautentikasi dengan identitas terkelola
BERLAKU UNTUK: Semua tingkatAN API Management
Gunakan kebijakan authentication-managed-identity
untuk mengautentikasi dengan layanan backend menggunakan identitas terkelola. Kebijakan ini pada dasarnya menggunakan identitas terkelola untuk mendapatkan token akses dari ID Microsoft Entra untuk mengakses sumber daya yang ditentukan. Setelah berhasil mendapatkan token, kebijakan akan menetapkan nilai token di header Authorization
menggunakan skema Bearer
. API Management menyimpan token hingga kedaluwarsa.
Baik identitas yang ditetapkan sistem maupun salah satu dari beberapa identitas yang ditetapkan pengguna dapat digunakan untuk meminta token. Jika client-id
tidak diberikan, identitas yang digunakan untuk meminta token adalah identitas yang ditetapkan sistem. client-id
Jika variabel disediakan, token diminta untuk identitas yang ditetapkan pengguna tersebut dari ID Microsoft Entra.
Catatan
Tetapkan elemen kebijakan dan elemen turunan dalam urutan yang disediakan dalam pernyataan kebijakan. Pelajari lebih lanjut cara mengatur atau mengedit kebijakan API Management.
Pernyataan kebijakan
<authentication-managed-identity resource="resource" client-id="clientid of user-assigned identity" output-token-variable-name="token-variable" ignore-error="true|false"/>
Atribut
Atribut | Deskripsi | Wajib diisi | Default |
---|---|---|---|
resource | String. ID aplikasi API web target (sumber daya aman) di ID Microsoft Entra. Ekspresi kebijakan diizinkan. | Ya | T/A |
client-id | String. ID klien identitas yang ditetapkan pengguna di ID Microsoft Entra. Ekspresi kebijakan tidak diizinkan. | No | identitas yang ditetapkan sistem |
output-token-variable-name | String. Nama variabel konteks yang akan menerima nilai token sebagai objek jenis string . Ekspresi kebijakan tidak diizinkan. |
No | T/A |
ignore-error | Boolean. Jika diatur ke true , alur kebijakan terus dijalankan meskipun token akses tidak diperoleh. |
No | false |
Penggunaan
- Bagian kebijakan: masuk
- Cakupan kebijakan: global, ruang kerja, produk, API, operasi
- Gateway: klasik, v2, konsumsi, dihost sendiri
Contoh
Gunakan identitas terkelola untuk mengautentikasi dengan layanan backend
<authentication-managed-identity resource="https://graph.microsoft.com"/>
<authentication-managed-identity resource="https://management.azure.com/"/> <!--Azure Resource Manager-->
<authentication-managed-identity resource="https://vault.azure.net"/> <!--Azure Key Vault-->
<authentication-managed-identity resource="https://servicebus.azure.net/"/> <!--Azure Service Bus-->
<authentication-managed-identity resource="https://eventhubs.azure.net/"/> <!--Azure Event Hub-->
<authentication-managed-identity resource="https://storage.azure.com/"/> <!--Azure Blob Storage-->
<authentication-managed-identity resource="https://database.windows.net/"/> <!--Azure SQL-->
<authentication-managed-identity resource="AD_application_id"/> <!--Application (client) ID of your own Azure AD Application-->
Gunakan identitas terkelola dan atur header secara manual
<authentication-managed-identity resource="AD_application_id"
output-token-variable-name="msi-access-token" ignore-error="false" /> <!--Application (client) ID of your own Azure AD Application-->
<set-header name="Authorization" exists-action="override">
<value>@("Bearer " + (string)context.Variables["msi-access-token"])</value>
</set-header>
Gunakan identitas terkelola dalam kebijakan permintaan-kirim
<send-request mode="new" timeout="20" ignore-error="false">
<set-url>https://example.com/</set-url>
<set-method>GET</set-method>
<authentication-managed-identity resource="ResourceID"/>
</send-request>
Kebijakan terkait
Konten terkait
Untuk informasi selengkapnya tentang bekerja dengan kebijakan, lihat:
- Tutorial: Mengubah dan melindungi API Anda
- Referensi Kebijakan untuk daftar lengkap pernyataan kebijakan dan pengaturannya
- Ekspresi kebijakan
- Mengatur atau mengedit kebijakan
- Menggunakan kembali konfigurasi kebijakan
- Repositori cuplikan kebijakan
- Kebijakan penulis menggunakan Microsoft Copilot untuk Azure