Autentikasi untuk titik akhir online terkelola

BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)

Artikel ini menjelaskan konsep identitas dan izin dalam konteks titik akhir online. Kita mulai dengan diskusi ID Microsoft Entra yang mendukung Azure RBAC. Bergantung pada tujuan identitas Microsoft Entra, kami menyebutnya sebagai identitas pengguna atau identitas titik akhir.

Identitas pengguna adalah ID Microsoft Entra yang dapat Anda gunakan untuk membuat titik akhir dan penyebarannya, atau digunakan untuk berinteraksi dengan titik akhir atau ruang kerja. Dengan kata lain, identitas dapat dianggap sebagai identitas pengguna jika mengeluarkan permintaan ke titik akhir, penyebaran, atau ruang kerja. Identitas pengguna akan memerlukan izin yang tepat untuk melakukan operasi sarana kontrol dan sarana data pada titik akhir atau ruang kerja.

Identitas titik akhir adalah ID Microsoft Entra yang menjalankan kontainer pengguna dalam penyebaran. Dengan kata lain, jika identitas dikaitkan dengan titik akhir dan digunakan untuk kontainer pengguna untuk penyebaran, identitas tersebut disebut identitas titik akhir. Identitas titik akhir juga akan memerlukan izin yang tepat bagi kontainer pengguna untuk berinteraksi dengan sumber daya sesuai kebutuhan. Misalnya, identitas titik akhir akan memerlukan izin yang tepat untuk menarik gambar dari Azure Container Registry atau untuk berinteraksi dengan layanan Azure lainnya.

Secara umum, identitas pengguna dan identitas titik akhir akan memiliki persyaratan izin terpisah. Untuk informasi selengkapnya tentang mengelola identitas dan izin, lihat Cara mengautentikasi klien untuk titik akhir online. Untuk informasi selengkapnya tentang kasus khusus menambahkan izin tambahan secara otomatis untuk rahasia, lihat Izin tambahan untuk identitas pengguna.

Pembatasan

Autentikasi ID Microsoft Entra (aad_token) hanya didukung untuk titik akhir online terkelola. Untuk titik akhir online Kubernetes, Anda dapat menggunakan kunci atau token Azure Pembelajaran Mesin (aml_token).

Izin yang diperlukan untuk identitas pengguna

Saat Anda masuk ke penyewa Azure dengan akun Microsoft Anda (misalnya, menggunakan az login), Anda menyelesaikan langkah autentikasi pengguna (umumnya dikenal sebagai autentikasi) dan identitas Anda sebagai pengguna ditentukan. Sekarang, katakanlah Anda ingin membuat titik akhir online di bawah ruang kerja, Anda akan memerlukan izin yang tepat untuk melakukannya. Di sinilah otorisasi (umumnya dikenal sebagai authz) masuk.

Operasi sarana kontrol

Kontrol kontrol operasi sarana dan ubah titik akhir online. Operasi ini termasuk operasi buat, baca, perbarui, dan hapus (CRUD) pada titik akhir online dan penyebaran online. Untuk titik akhir dan penyebaran online, permintaan untuk melakukan operasi sarana kontrol masuk ke ruang kerja Azure Pembelajaran Mesin.

Autentikasi untuk operasi sarana kontrol

Untuk operasi sarana kontrol, Anda memiliki salah satu cara untuk mengautentikasi klien ke ruang kerja: dengan menggunakan token Microsoft Entra.

Bergantung pada kasus penggunaan Anda, Anda dapat memilih dari beberapa alur kerja autentikasi untuk mendapatkan token ini. Identitas pengguna Anda juga harus memiliki kontrol akses berbasis peran Azure (Azure RBAC) yang diizinkan untuk akses ke sumber daya Anda.

Otorisasi untuk operasi sarana kontrol

Untuk operasi sarana kontrol, identitas pengguna Anda harus memiliki kontrol akses berbasis peran Azure (Azure RBAC) yang tepat yang diizinkan untuk akses ke sumber daya Anda. Secara khusus, untuk operasi CRUD pada titik akhir dan penyebaran online, Anda memerlukan identitas agar peran ditetapkan dengan tindakan berikut:

Operasi Peran Azure RBAC yang diperlukan Cakupan peran ditetapkan untuk
Membuat/memperbarui operasi pada titik akhir dan penyebaran online Pemilik, kontributor, atau peran apa pun yang memungkinkan Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write ruang kerja
Menghapus operasi pada titik akhir dan penyebaran online Pemilik, kontributor, atau peran apa pun yang memungkinkan Microsoft.MachineLearningServices/workspaces/onlineEndpoints/delete ruang kerja
Membuat/memperbarui/menghapus operasi pada titik akhir dan penyebaran online melalui studio Azure Pembelajaran Mesin Pemilik, kontributor, atau peran apa pun yang memungkinkan Microsoft.Resources/deployments/write grup sumber daya tempat ruang kerja berada
Membaca operasi pada titik akhir dan penyebaran online Pemilik, kontributor, atau peran apa pun yang memungkinkan Microsoft.MachineLearningServices/workspaces/onlineEndpoints/read ruang kerja
Mengambil token Azure Pembelajaran Mesin (aml_token) untuk memanggil titik akhir online (baik terkelola maupun Kubernetes) dari ruang kerja Pemilik, kontributor, atau peran apa pun yang memungkinkan Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action titik akhir
Ambil kunci untuk memanggil titik akhir online (baik terkelola maupun Kubernetes) dari ruang kerja Pemilik, kontributor, atau peran apa pun yang memungkinkan Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action titik akhir
Meregenerasi kunci untuk titik akhir online (baik terkelola maupun Kubernetes) Pemilik, kontributor, atau peran apa pun yang memungkinkan Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action titik akhir
Mengambil token Microsoft Entra (aad_token) untuk memanggil titik akhir online terkelola Tidak memerlukan peran. tidak berlaku

Catatan

Anda dapat mengambil token Microsoft Entra (aad_token) langsung dari ID Microsoft Entra setelah masuk, dan Anda tidak memerlukan izin Azure RBAC tambahan di ruang kerja.

Izin tambahan untuk identitas pengguna saat memberlakukan akses ke penyimpanan rahasia default

Jika Anda ingin menggunakan fitur injeksi rahasia, dan saat membuat titik akhir, Anda mengatur bendera untuk menerapkan akses ke penyimpanan rahasia default, identitas pengguna Anda harus memiliki izin untuk membaca rahasia dari koneksi ruang kerja.

Ketika titik akhir dibuat dengan identitas yang ditetapkan sistem (SAI) dan bendera diatur untuk menerapkan akses ke penyimpanan rahasia default, identitas pengguna Anda harus memiliki izin untuk membaca rahasia dari koneksi ruang kerja saat membuat titik akhir dan membuat penyebaran di bawah titik akhir. Pembatasan ini memastikan bahwa hanya identitas pengguna dengan izin untuk membaca rahasia yang dapat memberikan identitas titik akhir izin untuk membaca rahasia.

  • Jika identitas pengguna tidak memiliki izin untuk membaca rahasia dari koneksi ruang kerja, tetapi mencoba membuat titik akhir dengan SAI dan bendera titik akhir diatur untuk menerapkan akses ke penyimpanan rahasia default, pembuatan titik akhir ditolak.

  • Demikian pula, jika identitas pengguna tidak memiliki izin untuk membaca rahasia dari koneksi ruang kerja, tetapi mencoba membuat penyebaran di bawah titik akhir dengan SAI dan bendera titik akhir diatur untuk menerapkan akses ke penyimpanan rahasia default, pembuatan penyebaran ditolak.

Ketika (1) titik akhir dibuat dengan UAI, atau (2) bendera tidak diatur untuk menerapkan akses ke penyimpanan rahasia default meskipun titik akhir menggunakan SAI, identitas pengguna Anda tidak perlu memiliki izin untuk membaca rahasia dari koneksi ruang kerja. Dalam hal ini, identitas titik akhir tidak akan secara otomatis diberikan izin untuk membaca rahasia, tetapi Anda masih dapat memberikan identitas titik akhir izin ini secara manual dengan menetapkan peran yang tepat jika diperlukan. Terlepas dari apakah penetapan peran dilakukan secara otomatis atau manual, pengambilan dan injeksi rahasia masih akan dipicu jika Anda memetakan variabel lingkungan dengan referensi rahasia dalam definisi penyebaran, dan itu akan menggunakan identitas titik akhir untuk melakukannya.

Untuk informasi selengkapnya tentang mengelola otorisasi ke ruang kerja Azure Pembelajaran Mesin, lihat Mengelola akses ke Azure Pembelajaran Mesin.

Untuk informasi selengkapnya tentang injeksi rahasia, lihat Injeksi rahasia di titik akhir online.

Operasi sarana data

Operasi sarana data tidak mengubah titik akhir online, melainkan menggunakan data untuk berinteraksi dengan titik akhir. Contoh operasi sarana data adalah mengirim permintaan penilaian ke titik akhir online dan mendapatkan respons darinya. Untuk titik akhir dan penyebaran online, permintaan untuk melakukan operasi sarana data masuk ke URI penilaian titik akhir.

Autentikasi untuk operasi data plane

Untuk operasi data plane, Anda dapat memilih dari tiga cara untuk mengautentikasi klien untuk mengirim permintaan ke URI penilaian titik akhir:

  • kunci
  • Token Azure Pembelajaran Mesin (aml_token)
  • Token Microsoft Entra (aad_token)

Untuk informasi selengkapnya tentang cara mengautentikasi klien untuk operasi data plane, lihat Cara mengautentikasi klien untuk titik akhir online.

Otorisasi untuk operasi data plane

Untuk operasi sarana data, identitas pengguna Anda harus memiliki kontrol akses berbasis peran Azure (Azure RBAC) yang tepat yang diizinkan untuk akses ke sumber daya Anda, hanya jika titik akhir diatur untuk menggunakan token Microsoft Entra (aad_token). Secara khusus, untuk operasi data plane pada titik akhir dan penyebaran online, Anda memerlukan identitas agar peran ditetapkan dengan tindakan berikut:

Operasi Peran Azure RBAC yang diperlukan Cakupan peran ditetapkan untuk
Panggil titik akhir online dengan kunci atau token azure Pembelajaran Mesin (aml_token). Tidak memerlukan peran. Tidak berlaku
Panggil titik akhir online terkelola dengan token Microsoft Entra (aad_token). Pemilik, kontributor, atau peran apa pun yang memungkinkan Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action titik akhir
Panggil titik akhir online Kubernetes dengan token Microsoft Entra (aad_token). Tidak memerlukan peran. Tidak berlaku

Izin yang diperlukan untuk identitas titik akhir

Penyebaran online menjalankan kontainer pengguna Anda dengan identitas titik akhir, yaitu identitas terkelola yang terkait dengan titik akhir. Identitas titik akhir adalah ID Microsoft Entra yang mendukung Azure RBAC. Oleh karena itu, Anda dapat menetapkan peran Azure ke identitas titik akhir untuk mengontrol izin yang diperlukan untuk melakukan operasi. Identitas titik akhir ini dapat berupa identitas yang ditetapkan sistem (SAI) atau identitas yang ditetapkan pengguna (UAI). Anda dapat memutuskan apakah akan menggunakan SAI atau UAI saat membuat titik akhir.

  • Untuk identitas yang ditetapkan sistem, identitas dibuat secara otomatis saat Anda membuat titik akhir, dan peran dengan izin mendasar (seperti izin penarikan Azure Container Registry dan pembaca data blob penyimpanan) secara otomatis ditetapkan.
  • Untuk identitas yang ditetapkan pengguna, Anda perlu membuat identitas terlebih dahulu, lalu mengaitkannya dengan titik akhir saat Membuat titik akhir. Anda juga bertanggung jawab untuk menetapkan peran yang tepat ke UAI sesuai kebutuhan.

Penetapan peran otomatis untuk identitas titik akhir

Jika identitas titik akhir adalah identitas yang ditetapkan sistem, beberapa peran ditetapkan ke identitas titik akhir untuk kenyamanan.

Peran Deskripsi Kondisi untuk penetapan peran otomatis
AcrPull Memungkinkan identitas titik akhir untuk menarik gambar dari Azure Container Registry (ACR) yang terkait dengan ruang kerja. Identitas titik akhir adalah identitas yang ditetapkan sistem (SAI).
Storage Blob Data Reader Memungkinkan identitas titik akhir membaca blob dari datastore default ruang kerja. Identitas titik akhir adalah identitas yang ditetapkan sistem (SAI).
AzureML Metrics Writer (preview) Memungkinkan identitas titik akhir menulis metrik ke ruang kerja. Identitas titik akhir adalah identitas yang ditetapkan sistem (SAI).
Azure Machine Learning Workspace Connection Secrets Reader1 Memungkinkan identitas titik akhir membaca rahasia dari koneksi ruang kerja. Identitas titik akhir adalah identitas yang ditetapkan sistem (SAI). Titik akhir dibuat dengan bendera untuk menerapkan akses ke penyimpanan rahasia default. Identitas pengguna yang membuat titik akhir memiliki izin yang sama untuk membaca rahasia dari koneksi ruang kerja. 2

1 Untuk informasi selengkapnya tentang peran, Azure Machine Learning Workspace Connection Secrets Reader lihat Menetapkan izin ke identitas.

2 Bahkan jika identitas titik akhir adalah SAI, jika bendera pemberlakuan tidak diatur atau identitas pengguna tidak memiliki izin, tidak ada penetapan peran otomatis untuk peran ini. Untuk informasi selengkapnya, lihat Cara menyebarkan titik akhir online dengan injeksi rahasia.

Jika identitas titik akhir adalah identitas yang ditetapkan pengguna, tidak ada penetapan peran otomatis. Dalam hal ini, Anda perlu menetapkan peran secara manual ke identitas titik akhir sesuai kebutuhan.

Memilih izin dan cakupan untuk otorisasi

Azure RBAC memungkinkan Anda menentukan dan menetapkan peran dengan serangkaian tindakan yang diizinkan dan/atau ditolak pada cakupan tertentu. Anda dapat menyesuaikan peran dan cakupan ini sesuai dengan kebutuhan bisnis Anda. Contoh berikut berfungsi sebagai titik awal dan dapat diperpanjang seperlunya.

Contoh untuk identitas pengguna

  • Untuk mengontrol semua operasi yang tercantum dalam tabel sebelumnya untuk operasi sarana kontrol dan tabel untuk operasi sarana data, Anda dapat mempertimbangkan untuk menggunakan peran AzureML Data Scientist bawaan yang menyertakan tindakan Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actionsizin .
  • Untuk mengontrol operasi untuk titik akhir tertentu, pertimbangkan untuk menggunakan cakupan /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>.
  • Untuk mengontrol operasi untuk semua titik akhir di ruang kerja, pertimbangkan untuk menggunakan cakupan /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>.

Contoh untuk identitas titik akhir

  • Untuk mengizinkan kontainer pengguna membaca blob, pertimbangkan untuk menggunakan peran Storage Blob Data Reader bawaan yang menyertakan tindakan Microsoft.Storage/storageAccounts/blobServices/containers/blobs/readdata izin .

Untuk informasi selengkapnya tentang panduan operasi sarana kontrol, lihat Mengelola akses ke Azure Pembelajaran Mesin. Untuk informasi selengkapnya tentang definisi peran, cakupan, dan penetapan peran, lihat Azure RBAC. Untuk memahami cakupan peran yang ditetapkan, lihat Memahami cakupan untuk Azure RBAC.