M365Con 2027 – konferensi online gratis · 11–22 Jan 2027 · 120 sessions→ m365con.net

2025-12-08

Gunakan Managed Identity dengan PowerShell untuk Microsoft Graph

Gunakan Managed Identity dengan PowerShell untuk Microsoft Graph
Masih menulis PowerShell dengan modul MSOnline dan AzureAD di tahun 2025? Episode ini menjelaskan mengapa tumpukan tersebut sudah usang – dan bagaimana beralih ke pendekatan API-first menggunakan REST murni dan Microsoft Graph. Kami membahas pola inti “token, header, panggilan REST”, tiga alur autentikasi dunia nyata (device code, client credentials dengan sertifikat, dan managed identity), serta satu jebakan audiens token yang merusak sebagian besar skrip Graph. Anda akan melihat cara membangun otomasi Graph lintas platform yang berjalan dengan baik di Linux, container, GitHub Actions, Azure Functions, dan Azure Automation – tanpa ketergantungan modul yang rapuh. Selanjutnya, kami menerapkan pola ini pada skenario enterprise: pembersihan perangkat Intune, onboarding identitas, serta deteksi dan remediasi drift kepatuhan, semuanya dengan izin Graph least-privilege, logika retry yang andal, helper pagination, dan jejak audit lengkap di Log Analytics. Jika Anda adalah administrator Azure, Intune, atau M

Seiring bisnis yang semakin bergantung pada Microsoft 365, otomatisasi tugas manajemen menjadi hal yang penting. Anda dapat meningkatkan efisiensi dan menghemat waktu berharga dengan mengintegrasikan PowerShell + Graph API. Kombinasi yang kuat ini membuka kemampuan manajemen yang andal dan menyederhanakan operasi.

Namun, banyak pengguna menghadapi tantangan. Misalnya, beberapa fungsi utama tidak memiliki endpoint yang terdokumentasi, sehingga menyulitkan upaya otomatisasi. Selain itu, API lama dapat menyebabkan kegagalan diam-diam, yang menghambat kemudahan pemeliharaan skrip Anda. Jangan khawatir! Postingan ini akan memecah konsep-konsep kompleks ini menjadi langkah-langkah yang mudah dan dapat diterapkan, memandu Anda melalui prosesnya dengan solusi yang jelas.

Poin-Poin Utama

  • Integrasikan PowerShell dengan Graph API untuk mengotomatisasi tugas Microsoft 365 dan meningkatkan efisiensi.
  • Pastikan sistem Anda memenuhi prasyarat seperti PowerShell 7 atau lebih tinggi dan modul Microsoft Graph terbaru agar eksekusi berjalan lancar.
  • Pahami izin dan scope untuk mengontrol apa yang dapat diakses skrip Anda di Microsoft 365, dengan mengikuti prinsip hak akses minimum.
  • Daftarkan aplikasi Anda di Azure AD untuk membuat identitas aman bagi skrip Anda, sehingga memungkinkan akses yang aman ke Microsoft Graph.
  • Pilih alur autentikasi yang tepat, seperti Device Code Flow atau Managed Identity Flow, untuk mengamankan access token Anda secara efektif.
  • Susun permintaan HTTP yang valid menggunakan PowerShell untuk berinteraksi dengan Microsoft Graph API dan mengambil data.
  • Tangani kesalahan dan batas API dengan cermat agar skrip Anda berjalan lancar dan terhindar dari gangguan.
  • Optimalkan skrip Anda dengan mengambil properti secara selektif dan mengelompokkan permintaan (batching) untuk meningkatkan performa dan mengurangi konsumsi sumber daya.

Prasyarat untuk PowerShell + Graph API

Sebelum Anda mulai mengotomatisasi tugas Microsoft 365 menggunakan PowerShell + Graph API, Anda perlu menyiapkan sistem dan lingkungan dengan benar. Persiapan ini memastikan eksekusi yang lancar dan akses yang aman ke sumber daya Microsoft Graph.

Menginstal Modul PowerShell

Anda harus menginstal modul PowerShell yang tepat untuk berinteraksi dengan Microsoft Graph API. Microsoft Graph PowerShell SDK menyediakan semua cmdlet yang diperlukan untuk integrasi ini. Untuk menghindari kesalahan, periksa apakah sistem Anda memenuhi persyaratan minimum berikut:

Persyaratan Deskripsi
Versi PowerShell PowerShell versi 7 atau lebih tinggi diperlukan.
.NET Framework .NET Framework 4.7.2 atau lebih baru diperlukan di macOS.
PowerShellGet Perbarui PowerShellGet ke versi terbaru.
Execution Policy Atur execution policy ke remote signed atau yang kurang ketat.

Anda dapat memperbarui PowerShellGet dengan menjalankan Install-Module PowerShellGet -Force dan mengatur execution policy dengan Set-ExecutionPolicy RemoteSigned. Setelah itu, instal modul Microsoft Graph menggunakan:

Install-Module Microsoft.Graph -Scope CurrentUser

Perintah ini mengunduh versi stabil terbaru dari modul, sehingga Anda dapat memanggil endpoint Microsoft Graph dengan mudah.

Menyiapkan Lingkungan Microsoft 365

Mengonfigurasi lingkungan Microsoft 365 dengan benar sangat penting untuk otomatisasi. Ikuti langkah-langkah berikut untuk memulai:

  1. Pastikan sistem Anda memenuhi persyaratan: PowerShell 7.2 atau lebih baru, .NET Framework 4.7.2 atau lebih baru, dan modul PowerShellGet terbaru.
  2. Instal modul Microsoft Graph PowerShell seperti yang ditunjukkan di atas.
  3. Hubungkan ke tenant Microsoft 365 Anda dengan mengimpor modul dan melakukan autentikasi dengan scope yang diperlukan. Misalnya:
Connect-MgGraph -Scopes "User.ReadWrite.All","Directory.ReadWrite.All"

Perintah ini akan meminta Anda untuk masuk dan memberikan izin kepada sesi Anda untuk membaca dan menulis data pengguna dan direktori. Anda dapat menyesuaikan scope sesuai kebutuhan otomatisasi Anda.

Memahami Izin dan Scope

Izin dan scope menentukan apa yang dapat diakses atau diubah oleh skrip Anda di Microsoft 365. Microsoft Graph API menggunakan dua jenis izin utama:

  • Delegated permissions: Berlaku saat Anda menjalankan skrip sebagai pengguna yang sudah masuk. Izin ini membatasi akses ke data yang dimiliki atau dapat diakses oleh pengguna.
  • Application permissions: Memungkinkan aplikasi atau skrip Anda mengakses data di seluruh organisasi tanpa pengguna yang masuk.

Izin umum mencakup *.Read.All untuk akses hanya-baca dan *.ReadWrite.All untuk kemampuan baca dan tulis penuh. Misalnya, SecurityActions.Read.All memungkinkan Anda melihat tindakan keamanan, sedangkan SecurityActions.ReadWrite.All memungkinkan Anda mengubahnya.

Application permissions memerlukan persetujuan admin. Administrator tenant harus menyetujui izin ini untuk memastikan keamanan. Selain itu, pengguna memerlukan peran Microsoft Entra yang sesuai, seperti Security Reader, untuk mengakses data sensitif. Akses berbasis peran ini menambah lapisan keamanan ekstra.

Saat Anda terhubung menggunakan Microsoft Graph PowerShell SDK, tentukan hanya scope yang dibutuhkan skrip Anda. Praktik ini mengikuti prinsip hak akses minimum, sehingga mengurangi risiko keamanan. Perlu diingat bahwa izin yang diberikan kepada aplikasi Anda berlaku untuk semua pengguna aplikasi tersebut, jadi tinjau dan kelola izin tersebut secara berkala.

Dengan memahami dan mengonfigurasi izin secara cermat, Anda melindungi lingkungan Anda sekaligus memungkinkan otomatisasi yang kuat dengan PowerShell + Graph API.

Identitas Aplikasi di Azure AD

Mendaftarkan Aplikasi Baru

Untuk mengotomatisasi tugas Microsoft 365 dengan PowerShell dan Graph API, Anda terlebih dahulu perlu mendaftarkan aplikasi di Azure Active Directory (Azure AD). Aplikasi ini berfungsi sebagai identitas yang digunakan skrip Anda untuk mengakses Microsoft Graph secara aman. Ikuti langkah-langkah berikut untuk mendaftarkan aplikasi Anda:

  1. Buka portal Azure dan navigasi ke Azure Active Directory > App registrations > New registration.
  2. Beri aplikasi Anda nama yang bermakna, misalnya "My Graph App".
  3. Pilih jenis akun yang didukung:
    • Single tenant: Hanya pengguna di tenant Azure AD Anda yang dapat masuk.
    • Multi-tenant: Pengguna dari tenant Azure AD mana pun dapat masuk.
    • Multi-tenant dan akun pribadi: Mencakup pengguna Azure AD dan akun Microsoft pribadi.

Apple Podcasts · Spotify · YouTube · YouTube Music

Use Managed Identity with PowerShell for Microsoft Graph (English)