Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Autentikasi broker mengumpulkan kredensial pengguna menggunakan broker autentikasi sistem untuk mengautentikasi aplikasi. Broker autentikasi sistem adalah aplikasi yang berjalan di komputer pengguna yang mengelola jabat tangan autentikasi dan pemeliharaan token untuk semua akun yang terhubung.
Autentikasi broker menawarkan manfaat berikut:
- Mengaktifkan Single Sign-On (SSO): Memungkinkan aplikasi menyederhanakan cara pengguna mengautentikasi dengan ID Microsoft Entra dan melindungi token refresh ID Microsoft Entra dari eksfiltrasi dan penyalahgunaan.
- Keamanan yang ditingkatkan: Banyak peningkatan keamanan dikirimkan dengan broker, tanpa perlu memperbarui logika aplikasi.
- Dukungan fitur yang ditingkatkan: Dengan bantuan broker, pengembang dapat mengakses OS yang kaya dan kemampuan layanan.
- Integrasi sistem: Aplikasi yang menggunakan broker plug-and-play dengan pemilih akun bawaan, memungkinkan pengguna untuk dengan cepat memilih akun yang ada alih-alih memasukkan kembali kredensial yang sama berulang-ulang.
- Perlindungan Token: Memastikan bahwa token refresh terikat perangkat dan memungkinkan aplikasi memperoleh token akses terikat perangkat. Lihat Perlindungan Token.
Windows menyediakan broker autentikasi yang disebut Web Account Manager (WAM). WAM memungkinkan penyedia identitas seperti MICROSOFT Entra ID untuk secara asli terhubung ke OS dan menyediakan layanan masuk yang aman ke aplikasi. Autentikasi broker memungkinkan aplikasi untuk semua operasi yang diizinkan oleh info masuk masuk interaktif.
Akun Microsoft pribadi dan akun kantor atau sekolah didukung. Pada versi Windows yang didukung, UI berbasis browser default diganti dengan pengalaman autentikasi yang lebih lancar, mirip dengan aplikasi Windows bawaan.
macOS tidak secara asli menyertakan broker autentikasi bawaan. Pustaka klien Azure Identity menerapkan fitur autentikasi broker menggunakan mekanisme khusus platform dan dapat berintegrasi dengan aplikasi seperti Portal Perusahaan Microsoft saat perangkat dikelola. Untuk informasi selengkapnya, lihat Plug-in SSO Microsoft Enterprise untuk perangkat Apple.
Linux menggunakan akses menyeluruh Microsoft untuk Linux sebagai broker autentikasinya.
Mengonfigurasi aplikasi untuk autentikasi broker
Untuk mengaktifkan autentikasi broker di aplikasi Anda, ikuti langkah-langkah berikut:
Di portal Microsoft Azure, navigasikan ke ID Microsoft Entra dan pilih Pendaftaran aplikasi di menu sebelah kiri.
Pilih pendaftaran untuk aplikasi Anda, lalu pilih Autentikasi.
Tambahkan URI pengalihan yang sesuai ke pendaftaran aplikasi Anda melalui konfigurasi platform:
Di bawah Konfigurasi platform, pilih + Tambahkan platform.
Di bawah Konfigurasikan platform, pilih petak peta untuk jenis aplikasi (platform) Anda untuk mengonfigurasi pengaturannya, seperti aplikasi seluler dan desktop.
Di URI pengalihan kustom, masukkan URI pengalihan berikut untuk platform Anda:
Platform Pengalihan URI Windows 10+ atau WSL ms-appx-web://Microsoft.AAD.BrokerPlugin/{your_client_id}macOS msauth.com.msauth.unsignedapp://authuntuk aplikasi yang tidak ditandatangani
msauth.{bundle_id}://authuntuk aplikasi yang ditandatanganiLinux https://login.microsoftonline.com/common/oauth2/nativeclientGanti
{your_client_id}atau{bundle_id}dengan ID Aplikasi (klien) dari panel Gambaran Umum pendaftaran aplikasi.Pilih Konfigurasikan.
Untuk mempelajari selengkapnya, lihat Menambahkan URI pengalihan ke pendaftaran aplikasi.
Kembali ke panel Autentikasi , di bawah Pengaturan tingkat lanjut, pilih Ya untuk Izinkan alur klien publik.
Pilih Simpan untuk menerapkan perubahan.
Untuk mengotorisasi aplikasi untuk sumber daya tertentu, navigasikan ke sumber daya yang dimaksud, pilih Izin API, dan aktifkan Microsoft Graph dan sumber daya lain yang ingin Anda akses.
Penting
Anda juga harus menjadi admin penyewa untuk memberikan persetujuan ke aplikasi Anda saat masuk untuk pertama kalinya.
Menetapkan peran
Agar kode aplikasi Anda berhasil dijalankan dengan autentikasi broker, berikan izin akun pengguna Anda menggunakan kontrol akses berbasis peran Azure (RBAC). Tetapkan peran yang sesuai ke akun pengguna Anda untuk layanan Azure yang relevan. Contohnya:
- Azure Blob Storage: Tetapkan peran Kontributor Data Akun Penyimpanan .
- Azure Key Vault: Tetapkan peran Petugas Rahasia Key Vault .
Jika aplikasi ditentukan, aplikasi harus memiliki izin API yang ditetapkan untuk user_impersonation Access Azure Storage (langkah 6 di bagian sebelumnya). Izin API ini memungkinkan aplikasi untuk mengakses penyimpanan Azure atas nama pengguna yang masuk setelah persetujuan diberikan selama masuk.
Menerapkan kode
Contoh berikut menunjukkan menggunakan InteractiveBrowserBrokerCredential untuk mengautentikasi dengan BlobServiceClient:
Pasang paket.
pywin32akan digunakan di Windows untuk mengambil jendela yang saat ini berada di latar depan.pip install azure-identity-broker pywin32Dapatkan referensi ke jendela induk di atas dialog pemilih akun akan muncul. Dalam contoh kode di bawah ini, itu akan menjadi baris:
current_window_handle = win32gui.GetForegroundWindow()Buat instans
InteractiveBrowserBrokerCredentialmeneruskan referensi jendela induk. Dalam contoh kode akhir, itu akan menjadi baris:credential = InteractiveBrowserBrokerCredential(parent_window_handle=current_window_handle)credentialGunakan untuk mengakses layanan Azure, yaitu Blob Storage dalam contoh ini.
Berikut adalah contoh kode akhir:
import win32gui
from azure.identity.broker import InteractiveBrowserBrokerCredential
from azure.storage.blob import BlobServiceClient
# Get the handle of the current window
current_window_handle = win32gui.GetForegroundWindow()
# To authenticate and authorize with an app, use the following line to get a credential and
# substitute the <app_id> and <tenant_id> placeholders with the values for your app and tenant.
# credential = InteractiveBrowserBrokerCredential(parent_window_handle=current_window_handle, client_id=<app_id>, tenant_id=<tenant_id>)
credential = InteractiveBrowserBrokerCredential(parent_window_handle=current_window_handle)
client = BlobServiceClient("https://<storage-account-name>.blob.core.windows.net/", credential=credential)
# Prompt for credentials appears on first use of the client
for container in client.list_containers():
print(container.name)
Untuk kontrol yang lebih tepat, seperti mengatur batas waktu, Anda dapat menyediakan argumen tertentu seperti InteractiveBrowserBrokerCredentialtimeout.
Agar kode berhasil dijalankan, akun pengguna Anda harus diberi peran Azure pada akun penyimpanan yang memungkinkan akses ke kontainer blob seperti Kontributor Data Akun Penyimpanan. Jika aplikasi ditentukan, aplikasi harus memiliki izin API yang ditetapkan untuk user_impersonation Access Azure Storage (langkah 6 di bagian sebelumnya). Izin API ini memungkinkan aplikasi untuk mengakses penyimpanan Azure atas nama pengguna yang masuk setelah persetujuan diberikan selama masuk.
Cuplikan layar berikut menunjukkan pengalaman autentikasi interaktif dan broker alternatif:
Penting
Dukungan macOS ada di azure-identity-broker versi 1.3.0 dan yang lebih baru.
Contoh berikut menunjukkan penggunaan InteractiveBrowserBrokerCredential untuk mengautentikasi dengan BlobServiceClient.
Pasang paket.
msal(Pustaka Autentikasi Microsoft) digunakan untuk menyediakan konstanta untukparent_window_handleparameter .pip install azure-identity-broker msalBuat instans
InteractiveBrowserBrokerCredentialdengan meneruskan referensi jendela induk. Ini mengharuskan Anda untuk mendapatkan referensi ke jendela induk di atas tempat dialog pemilih akun akan muncul (disediakan olehmsalmodul). Dalam contoh kode di bawah ini, itu akan menjadi baris:credential = InteractiveBrowserBrokerCredential( parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE )credentialGunakan untuk mengakses layanan Azure, yaitu Blob Storage dalam contoh ini.
Berikut adalah contoh kode akhir:
from azure.identity.broker import InteractiveBrowserBrokerCredential
from azure.storage.blob import BlobServiceClient
import msal
credential = InteractiveBrowserBrokerCredential(
parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE
)
client = BlobServiceClient("https://<storage-account-name>.blob.core.windows.net/", credential=credential)
# Prompt for credentials appears on first use of the client
for container in client.list_containers():
print(container.name)
Untuk informasi selengkapnya tentang menggunakan MSAL Python dengan broker autentikasi di macOS, lihat Menggunakan MSAL Python dengan Broker Autentikasi di macOS.
Untuk kontrol yang lebih tepat, seperti mengatur batas waktu, Anda dapat menyediakan argumen tertentu seperti InteractiveBrowserBrokerCredentialtimeout.
Agar kode berhasil dijalankan, akun pengguna Anda harus diberi peran Azure pada akun penyimpanan yang memungkinkan akses ke kontainer blob seperti Kontributor Data Akun Penyimpanan. Jika aplikasi ditentukan, aplikasi harus memiliki izin API yang ditetapkan untuk user_impersonation Access Azure Storage (langkah 6 di bagian sebelumnya). Izin API ini memungkinkan aplikasi untuk mengakses penyimpanan Azure atas nama pengguna yang masuk setelah persetujuan diberikan selama masuk.
Cuplikan layar berikut menunjukkan pengalaman autentikasi interaktif dan broker alternatif:
Penting
Dukungan Linux ada di azure-identity-broker versi 1.3.0 dan yang lebih baru.
Contoh berikut menunjukkan menggunakan InteractiveBrowserBrokerCredential untuk mengautentikasi dengan BlobServiceClient:
Pasang semua paket.
msal(Pustaka Autentikasi Microsoft) digunakan untuk menyediakan konstanta untukparent_window_handleparameter .pip install azure-identity-broker msalBuat instans
InteractiveBrowserBrokerCredentialdengan memberikan referensi jendela induk. Ini mengharuskan Anda untuk mendapatkan referensi ke jendela induk di atas tempat dialog pemilih akun akan muncul (disediakan olehmsalmodul). Dalam contoh kode di bawah ini, itu akan menjadi baris:credential = InteractiveBrowserBrokerCredential( parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE )credentialGunakan untuk mengakses layanan Azure, yaitu Blob Storage dalam contoh ini.
Berikut adalah contoh kode akhir:
from azure.identity.broker import InteractiveBrowserBrokerCredential
from azure.storage.blob import BlobServiceClient
import msal
credential = InteractiveBrowserBrokerCredential(
parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE
)
client = BlobServiceClient("https://<storage-account-name>.blob.core.windows.net/", credential=credential)
# Prompt for credentials appears on first use of the client
for container in client.list_containers():
print(container.name)
Pastikan Anda memiliki dependensi Linux yang terinstal pada distribusi Linux Anda sebelum menjalankan contoh kode ini. Selain itu, ada instruksi terpisah untuk WSL tergantung pada distribusi.
Untuk kontrol yang lebih tepat, seperti mengatur batas waktu, Anda dapat menyediakan argumen tertentu seperti InteractiveBrowserBrokerCredentialtimeout.
Agar kode berhasil dijalankan, akun pengguna Anda harus diberi peran Azure pada akun penyimpanan yang memungkinkan akses ke kontainer blob seperti Kontributor Data Akun Penyimpanan. Jika aplikasi ditentukan, aplikasi harus memiliki izin API yang ditetapkan untuk user_impersonation Access Azure Storage (langkah 6 di bagian sebelumnya). Izin API ini memungkinkan aplikasi untuk mengakses penyimpanan Azure atas nama pengguna yang masuk setelah persetujuan diberikan selama masuk.
Video berikut menunjukkan pengalaman autentikasi interaktif dan broker alternatif: