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.
Selamat Datang! Ini mungkin bukan halaman yang Anda inginkan. Sementara kami bekerja memperbaikinya, tautan ini akan membawa Anda ke artikel yang tepat:
Mulai cepat: Memperoleh token dan memanggil Microsoft Graph dari aplikasi daemon Python
Kami mohon maaf atas ketidaknyamanan ini dan menghargai kesabaran Anda selama kami menyelesaikan masalah ini.
Dalam panduan cepat ini, Anda mengunduh dan menjalankan contoh kode yang menunjukkan cara aplikasi Python bisa mendapatkan token akses menggunakan identitas aplikasi untuk memanggil Microsoft Graph API dan menampilkan daftar pengguna di direktori. Sampel kode juga menunjukkan bagaimana pekerjaan tanpa pengawasan atau layanan Windows dapat berjalan dengan identitas aplikasi, bukan identitas pengguna.
Prasyarat
Untuk menjalankan sampel ini, Anda perlu:
Unduh dan konfigurasi aplikasi langsung
Langkah 1: Konfigurasikan aplikasi di portal Microsoft Azure
Agar sampel kode dalam tutorial ini berfungsi dengan baik, buat kunci rahasia klien dan tambahkan izin aplikasi User.Read.All dari Graph API.
Aplikasi Anda dikonfigurasi dengan atribut ini.
Langkah 2: Unduh proyek Python
Catatan
Enter_the_Supported_Account_Info_Here
Pengguna standar
Jika Anda adalah pengguna standar penyewa Anda, minta Administrator Global untuk memberikan persetujuan admin untuk aplikasi Anda. Untuk melakukannya, berikan URL berikut kepada administrator:
https://login.microsoftonline.com/Enter_the_Tenant_Id_Here/adminconsent?client_id=Enter_the_Application_Id_Here
Langkah 4: Jalankan aplikasi
Anda harus menginstal dependensi sampel ini sekali.
pip install -r requirements.txt
Kemudian, jalankan aplikasi melalui prompt perintah atau konsol:
python confidential_client_secret_sample.py parameters.json
Anda akan melihat pada output konsol beberapa fragmen Json yang mewakili daftar pengguna di direktori Microsoft Entra Anda.
Penting
Aplikasi mulai cepat ini menggunakan rahasia klien untuk mengidentifikasi aplikasi itu sendiri sebagai klien rahasia. Karena rahasia klien ditambahkan sebagai teks biasa ke file proyek, karena alasan keamanan, sebaiknya Anda menggunakan sertifikat alih-alih rahasia klien sebelum mempertimbangkan aplikasi sebagai aplikasi produksi. Untuk informasi selengkapnya tentang cara menggunakan sertifikat, lihat instruksi ini di repositori GitHub yang sama untuk sampel ini, tetapi di folder kedua 2-Call-MsGraph-WithCertificate.
Informasi selengkapnya
MSAL Python
MSAL Python adalah pustaka yang digunakan untuk masuk ke pengguna dan meminta token yang digunakan untuk mengakses API yang dilindungi oleh platform identitas Microsoft. Seperti yang dijelaskan, panduan cepat ini meminta token dengan menggunakan identitas aplikasi itu sendiri daripada izin yang didelegasikan. Alur autentikasi dalam kasus ini dikenal sebagai alur oauth kredensial klien. Untuk informasi selengkapnya tentang cara menggunakan MSAL Python dengan aplikasi daemon, lihat artikel ini.
Anda dapat menginstal MSAL Python dengan menjalankan perintah pip berikut.
pip install msal
Inisialisasi MSAL
Anda bisa menambahkan referensi untuk MSAL dengan menambahkan kode berikut:
import msal
Lalu, inisialisasi MSAL menggunakan kode berikut:
app = msal.ConfidentialClientApplication(
config["client_id"], authority=config["authority"],
client_credential=config["secret"])
Mana: Deskripsi config["secret"]Adalah rahasia klien yang dibuat untuk aplikasi di portal Microsoft Azure. config["client_id"]ID Aplikasi (klien) untuk aplikasi yang terdaftar di portal Microsoft Azure. Anda dapat menemukan nilai ini di halaman Gambaran Umum aplikasi di portal Microsoft Azure. config["authority"]Titik akhir STS untuk otentikasi pengguna. Biasanya https://login.microsoftonline.com/{tenant}untuk cloud publik, yang mana {tenant} adalah nama penyewa atau ID penyewa.
Untuk informasi selengkapnya, lihat dokumen referensi untuk ConfidentialClientApplication.
Meminta token
Untuk meminta token menggunakan identitas aplikasi, gunakan metode AcquireTokenForClient:
result = None
result = app.acquire_token_silent(config["scope"], account=None)
if not result:
logging.info("No suitable token exists in cache. Let's get a new one from Azure AD.")
result = app.acquire_token_for_client(scopes=config["scope"])
Mana: Deskripsi config["scope"]Berisi cakupan yang diminta. Untuk klien rahasia, ini harus menggunakan format yang mirip dengan {Application ID URI}/.defaultuntuk menunjukkan bahwa cakupan yang diminta adalah yang didefinisikan secara statis dalam objek aplikasi yang diatur di portal Microsoft Azure (untuk Microsoft Graph,{Application ID URI}mengarah kehttps://graph.microsoft.com). Untuk API web kustom,{Application ID URI}ditentukan di bagian Ekspos API di Pendaftaran aplikasi di portal Microsoft Azure.
Untuk informasi selengkapnya, lihat dokumen referensi untuk AcquireTokenForClient.
Bantuan dan dukungan
Jika Anda memerlukan bantuan, ingin melaporkan masalah, atau ingin mempelajari opsi dukungan, lihat Bantuan dan dukungan bagi pengembang.
Langkah berikutnya
Untuk mempelajari lebih lanjut tentang aplikasi daemon, lihat halaman utama skenario.