Langkah-Langkah Menganalisis Penggunaan Service Principal di Penyewa Microsoft 365 Anda
By Mirko Peters · · Updated
Tinjau penggunaan service principal dengan Microsoft Graph dan aktivitas masuk. Pelajari izin yang diperlukan, identitas aplikasi, pemantauan, dan pengelolaan akses.
Automatically translated with AI from the original post. Read the English original
Menganalisis penggunaan service principal melalui Service Principal Analysis sangat penting untuk mengamankan penyewa Microsoft 365 Anda. Dengan memantau service principal, Anda dapat mengidentifikasi potensi risiko, seperti shadow IT dan konfigurasi keamanan yang lemah. Aspek utama yang perlu difokuskan meliputi:
Multi-Factor Authentication (MFA) yang tidak konsisten
Berbagi eksternal tanpa pengawasan
Memahami aktivitas masuk melalui Service Principal Analysis membantu Anda mendeteksi pola yang tidak biasa dan mengelola akses secara efektif. Pendekatan proaktif ini tidak hanya mengurangi risiko, tetapi juga memastikan kepatuhan terhadap persyaratan regulasi, sehingga lingkungan Anda menjadi lebih aman dan lebih mudah dikelola.
Poin Penting
Secara rutin pantau aktivitas masuk service principal untuk mendeteksi pola yang tidak biasa dan meningkatkan keamanan.
Pastikan Anda memiliki izin yang diperlukan, seperti AuditLog.Read.All, untuk menganalisis penggunaan service principal secara efektif.
Terapkan prinsip hak akses minimum dengan hanya memberikan izin esensial kepada setiap service principal.
Otomatiskan proses pemantauan menggunakan alat seperti AdminDroid untuk menyederhanakan pengelolaan dan meningkatkan keamanan.
Dokumentasikan tujuan dan izin setiap service principal untuk menjaga kejelasan dan kepatuhan.
- Service principal merepresentasikan identitas aplikasi di dalam penyewa Microsoft 365 Anda: Objek aplikasi adalah definisi global, tetapi service principal adalah identitas lokal yang digunakan untuk autentikasi, penetapan peran, dan kontrol akses di dalam penyewa Microsoft 365 Anda. Oleh karena itu, memantau penggunaan service principal di penyewa Microsoft 365 Anda sangat penting untuk melacak siapa dan apa yang dapat mengakses sumber daya.
- Beberapa service principal dapat dipetakan ke satu aplikasi: Satu objek aplikasi dapat memiliki service principal yang berbeda di beberapa penyewa, masing-masing dengan kredensial, hibah persetujuan, dan penetapan peran yang berbeda. Dengan demikian, kode aplikasi yang sama dapat berperilaku berbeda di seluruh penyewa Microsoft 365.
- Jenis kredensial memengaruhi permukaan serangan: Service principal dapat menggunakan client secret, sertifikat, atau identitas gabungan (federated identity). Secret berumur panjang memperluas permukaan serangan di penyewa Microsoft 365 Anda, sedangkan autentikasi berbasis sertifikat atau federasi dapat mengurangi risiko jika dikonfigurasi dengan benar.
- Izin delegasi dan izin aplikasi menciptakan risiko yang berbeda: Izin khusus aplikasi yang diberikan kepada service principal memungkinkan akses tanpa bergantung pada pengguna mana pun dan bisa lebih kuat daripada izin delegasi. Izin aplikasi yang salah konfigurasi merupakan penyebab umum penggunaan service principal dengan hak berlebih di penyewa Microsoft 365 Anda.
- Persetujuan pengguna dan persetujuan admin berbeda menurut cakupan: Pengguna dapat menyetujui izin delegasi tertentu untuk aplikasi, tetapi persetujuan admin diperlukan untuk izin aplikasi yang berisiko lebih tinggi. Melacak peristiwa persetujuan membantu Anda mendeteksi penggunaan service principal yang tidak terduga di penyewa Microsoft 365 Anda.
- Identitas terkelola menyederhanakan siklus hidup tetapi terikat pada penyewa: Identitas terkelola Azure AD (system-assigned atau user-assigned) membuat service principal secara otomatis untuk sumber daya, sehingga memudahkan pengelolaan kredensial di penyewa Microsoft 365 Anda. Namun, identitas ini tidak dapat dipindahkan antar penyewa, sehingga pemindahan sumber daya memerlukan konfigurasi ulang.
- Conditional Access dan manajemen hak akses (entitlement management) juga berlaku untuk aplikasi: Anda dapat menerapkan kebijakan Conditional Access dan menggunakan manajemen hak akses untuk mengatur penggunaan service principal di penyewa Microsoft 365 Anda, tetapi kebijakan harus dievaluasi secara eksplisit untuk konteks aplikasi guna mencegah akses aplikasi yang tidak sah atau pergerakan lateral.
Prasyarat untuk Analisis Service Principal
Sumber Gambar: unsplashSebelum Anda mulai menganalisis penggunaan service principal, pastikan Anda memiliki izin dan alat yang tepat. Persiapan ini akan membantu Anda melakukan analisis secara menyeluruh dan mengelola service principal dengan efektif.
Izin yang Diperlukan
Untuk menganalisis aktivitas service principal di Microsoft Entra dan Microsoft 365, Anda memerlukan izin tertentu. Tabel berikut menguraikan cakupan izin yang diperlukan:
Cakupan Izin | Deskripsi |
|---|---|
Diperlukan untuk menganalisis aktivitas service principal. |
Tanpa izin yang sesuai, Anda mungkin mengalami kesalahan. Misalnya, jika Anda melihat pesan "Insufficient privileges to complete the operation," itu menandakan bahwa Anda tidak memiliki akses yang diperlukan. Keterbatasan ini dapat menghambat kemampuan Anda untuk mengelola dan menganalisis service principal secara efektif.
Alat dan Sumber Daya
Menggunakan alat yang tepat dapat mempercepat proses analisis Anda. Berikut beberapa alat efektif untuk analisis service principal di lingkungan Microsoft 365:
Alat | Deskripsi |
|---|---|
PowerShell Scripts | Mengotomatiskan proses pemeriksaan aplikasi dan service principal di lingkungan Microsoft 365. |
AdminDroid Entra ID Auditing Tool | Memantau aktivitas sign-in service principal dan menyediakan laporan tentang penggunaan serta tren akses. |
Untuk memulai dengan PowerShell, ikuti langkah-langkah berikut:
Hubungkan ke Microsoft Graph PowerShell menggunakan:
Connect-MgGraph -Scopes "AuditLog.Read.All"Jalankan perintah untuk mengaudit aktivitas sign-in service principal:
Get-MgBetaAuditLogSignIn -Filter "signInEventTypes/any(t:t eq 'servicePrincipal')" -All | Select-Object CreatedDateTime, Id, ServicePrincipalId, ServicePrincipalName, ResourceDisplayName, ResourceId, @{Name = "Status"; Expression = { if ($_.Status.ErrorCode -eq 0) { "Success" } else { "Failed" } }} | Format-Table
Dengan memastikan Anda memiliki izin dan alat yang tepat, Anda telah menyiapkan diri untuk analisis service principal yang berhasil.
Pembuatan Service Principal di Microsoft Entra
Membuat service principal di Microsoft Entra melibatkan pendaftaran aplikasi. Proses ini memungkinkan aplikasi Anda melakukan autentikasi dan mengakses sumber daya secara aman. Berikut cara mendaftarkan aplikasi:
Mendaftarkan Aplikasi
Untuk mendaftarkan aplikasi di Microsoft Entra, ikuti langkah-langkah berikut:
Masuk ke Pusat admin Microsoft Entra.
Buka Applications lalu pilih New registration.
Isi detail yang diperlukan, seperti nama aplikasi dan redirect URI.
Pilih jenis akun yang sesuai dengan kebutuhan Anda.
Klik Register untuk menyelesaikan proses.
Setelah pendaftaran, Anda dapat membuat service principal. Service principal ini berfungsi sebagai identitas aplikasi Anda saat berinteraksi dengan layanan lain.
Anda dapat menggunakan beberapa metode pembuatan service principal di Microsoft Entra. Metode tersebut meliputi:
Mengunggah sertifikat tepercaya yang diterbitkan oleh certificate authority.
Membuat dan mengunggah sertifikat self-signed untuk tujuan pengujian.
Membuat client secret baru.
Setiap metode memiliki kasus penggunaannya sendiri, jadi pilih yang paling sesuai dengan kebutuhan aplikasi Anda.
Memahami Initiator
Mengidentifikasi siapa yang memulai pembuatan service principal sangat penting untuk keperluan keamanan dan audit. Anda dapat melacak informasi ini dengan langkah-langkah berikut:
Masuk ke Pusat admin Microsoft Entra.
Buka Monitoring & health lalu pilih Audit logs.
Atur Category ke ApplicationManagement lalu terapkan filter.
Filter Activity ke Add service principal lalu terapkan filter.
Pilih satu event lalu perluas Additional details. Cari properti seperti ServicePrincipalProvisioningType, SubscribedSkus, dan AppOwnerOrganizationId.
Melacak initiator membantu Anda memahami siapa yang membuat service principal dan alasannya. Informasi ini sangat penting untuk menjaga keamanan dan kepatuhan di dalam organisasi Anda.
Berikut ringkasan atribut yang dapat Anda temukan di log audit:
Atribut | Deskripsi |
|---|---|
Tanggal dan Waktu | Stempel waktu dari aktivitas |
Layanan | Layanan yang terlibat dalam aktivitas |
Kategori | Kategori dari aktivitas |
Nama Aktivitas | Tindakan spesifik yang dilakukan |
Status | Menunjukkan apakah tindakan berhasil atau gagal |
Target | Target dari tindakan |
Initiator | Pengguna atau akun yang memulai tindakan |
Dengan memahami initiator dari service principal, Anda dapat memperkuat postur keamanan dan memastikan bahwa hanya pengguna yang berwenang yang membuat service principal.
Melihat Aktivitas Sign-In dengan Microsoft Graph
Mengakses Microsoft Graph API
Untuk mengakses log sign-in service principal, Anda dapat menggunakan Microsoft Graph API. Ikuti langkah-langkah berikut untuk mengambil data yang diperlukan:
Gunakan Microsoft Graph API untuk melaporkan aktivitas sign-in service principal.
Jalankan perintah
Get-MgServicePrincipaluntuk mengambil service principal di penyewa Anda.Buat hash table dari identifier aplikasi dan nama tampilan. Langkah ini penting karena catatan sign-in tidak menyertakan nama aplikasi.
Jalankan
Get-MgBetaReportServicePrincipalSignInActivityuntuk menemukan aktivitas sign-in service principal dengan tanggal sign-in terakhir lebih dari satu tahun yang lalu.Buat laporan tentang service principal dan ekspor data ke file CSV.
Hasilkan statistik, seperti penyewa yang memiliki aplikasi dan jumlah total service principal.
Dengan mengikuti langkah-langkah ini, Anda dapat mengakses dan menganalisis log sign-in service principal secara efektif.
Menganalisis Log Sign-In
Memantau aktivitas sign-in sangat penting untuk mengidentifikasi upaya akses yang tidak sah. Dengan mengamati sign-in yang berhasil maupun gagal, Anda dapat menemukan pola tidak biasa yang mungkin menandakan ancaman keamanan. Pemantauan proaktif ini membantu mengatasi potensi risiko yang terkait dengan kredensial yang disusupi, sehingga meningkatkan keamanan keseluruhan dari penyewa Microsoft 365 Anda.
Berikut beberapa anomali umum yang mungkin Anda deteksi dalam log sign-in service principal:
Penggunaan aplikasi yang tidak biasa, misalnya aplikasi yang sudah tidak aktif atau terlupakan digunakan kembali.
Hubungan kepercayaan yang tidak terduga yang telah ditambahkan ke Azure AD.
Perubahan pada kredensial service principal, termasuk perubahan izin.
Untuk menganalisis log sign-in secara efektif, pertimbangkan strategi berikut:
Pantau aktivitas sign-in melalui Microsoft Entra admin center untuk melihat sign-in service principal dari 24 jam terakhir.
Identifikasi service principal berisiko dengan menganalisis log sign-in untuk mencari pola yang tidak biasa.
Gunakan alat seperti Microsoft Entra dan PowerShell untuk analisis log sign-in yang mendetail.
Dengan menerapkan strategi ini, Anda dapat meningkatkan kemampuan Anda untuk mendeteksi aktivitas sign-in yang mencurigakan dan mengambil tindakan yang tepat untuk mengamankan lingkungan Anda.
Mengelola Service Principal secara Efektif
Sumber gambar: pexelsPraktik Terbaik Pengelolaan
Untuk mengelola service principal secara efektif, Anda sebaiknya mengikuti beberapa praktik terbaik. Menerapkan strategi ini akan memperkuat keamanan dan menyederhanakan operasi di dalam penyewa Anda:
Prinsip Hak Akses Minimum: Berikan hanya izin yang diperlukan kepada setiap service principal. Hal ini membatasi potensi kerusakan jika sebuah service principal disusupi.
Rotasi Kredensial Secara Berkala: Rotasi kredensial secara rutin dan otomatiskan proses ini bila memungkinkan. Langkah ini mengurangi risiko penggunaan kredensial yang sudah usang atau telah disusupi.
Pantau Aktivitas: Awasi aktivitas service principal untuk mendeteksi perilaku yang mencurigakan. Hal ini membantu Anda mengenali upaya akses tidak sah sejak dini.
Autentikasi yang Kuat: Gunakan metode autentikasi yang kuat, misalnya autentikasi multifaktor (MFA). Langkah ini menambah lapisan keamanan.
Penyimpanan Kredensial yang Aman: Simpan dan kelola kredensial service principal secara aman menggunakan solusi manajemen rahasia. Hindari menyimpan kredensial di dalam kode atau file konfigurasi.
Dokumentasi: Dokumentasikan tujuan dan izin setiap service principal. Praktik ini membantu memahami peran masing-masing di dalam penyewa Anda.
Kebijakan Tata Kelola: Tetapkan kebijakan tata kelola yang jelas untuk pengelolaan service principal. Tinjau dan audit izin secara berkala untuk memastikan kepatuhan.
Mengotomatiskan Pemantauan
Mengotomatiskan pemantauan service principal dapat meningkatkan postur keamanan Anda secara signifikan. Berikut beberapa alat dan strategi yang perlu dipertimbangkan:
AdminDroid: Alat ini menawarkan fitur pemantauan aktivitas masuk. Fitur ini membantu Anda melacak pola masuk service principal serta menyediakan laporan terperinci tentang penggunaan dan tren akses.
Laporan Perubahan Service Principal: AdminDroid juga menyediakan laporan yang memantau perubahan pada service principal. Laporan ini merinci penambahan, pembaruan, dan penghapusan, beserta aktivitas masuk seperti waktu, nama aplikasi, status, dan lokasi.
Dengan mengotomatiskan pemantauan, Anda memperoleh beberapa manfaat:
Manfaat | Deskripsi |
|---|---|
Keamanan yang Meningkat | Mematuhi prinsip hak akses minimum, sehingga mengurangi dampak potensi pelanggaran keamanan. |
Pengelolaan Kredensial yang Disederhanakan | Mengurangi risiko kredensial yang ditanamkan secara permanen (hardcoded) atau disimpan tidak aman, sehingga meningkatkan keamanan secara keseluruhan. |
Rotasi Kredensial Secara Berkala | Mengotomatiskan rotasi kredensial, meminimalkan kesalahan manusia, dan memastikan kredensial selalu mutakhir. |
Audit Menyeluruh | Mencatat semua upaya akses, membantu mendeteksi aktivitas tidak sah, dan meningkatkan respons insiden. |
Menerapkan praktik dan alat ini akan membantu Anda mengelola service principal secara efektif serta menjaga lingkungan yang aman di penyewa Microsoft 365 Anda.
Singkatnya, menganalisis penggunaan service principal sangat penting untuk mengamankan penyewa Microsoft 365 Anda. Anda sebaiknya memantau aktivitas masuk secara berkala, mengelola izin, dan mengikuti praktik terbaik. Berikut beberapa poin penting untuk meningkatkan pengelolaan service principal Anda:
Deskripsi | |
|---|---|
Gunakan Service Principal | Menekankan pentingnya menggunakan service principal untuk meningkatkan keamanan. |
Langkah Penyiapan | Langkah yang direkomendasikan untuk membuat Service Principal melalui Azure Portal atau PowerShell. |
Izin | Izin yang diperlukan untuk membuat dan mengelola Service Principal. |
Manajemen Rahasia | Praktik terbaik untuk mengelola client secret secara aman, termasuk Azure Key Vault. |
Dengan menerapkan strategi ini, Anda dapat memperkuat postur keamanan dan memastikan pengelolaan service principal yang efektif di organisasi Anda.
Pertanyaan Umum
Apa itu service principal di Microsoft 365?
Service principal berfungsi sebagai identitas bagi aplikasi untuk mengakses sumber daya secara aman. Dengan identitas ini, aplikasi dapat melakukan autentikasi tanpa memerlukan kredensial pengguna.
Bagaimana cara memantau aktivitas service principal?
Anda dapat memantau aktivitas service principal menggunakan Microsoft Graph API atau alat seperti AdminDroid. Alat-alat tersebut memberikan wawasan tentang pola masuk dan tren penggunaan.
Mengapa penting untuk menganalisis penggunaan service principal?
Menganalisis penggunaan service principal membantu Anda mengidentifikasi risiko keamanan, mengelola izin, dan memastikan kepatuhan. Langkah ini meningkatkan postur keamanan Anda secara keseluruhan.
Izin apa saja yang saya perlukan untuk menganalisis service principal?
Anda memerlukan izin AuditLog.Read.All untuk menganalisis aktivitas service principal di Microsoft Entra dan Microsoft 365. Izin ini memungkinkan Anda mengakses log yang diperlukan.
Bagaimana cara mengotomatiskan pemantauan service principal?
Anda dapat mengotomatiskan pemantauan menggunakan alat seperti AdminDroid. Alat ini dapat membuat laporan tentang aktivitas log masuk dan perubahan pada service principal, sehingga tugas pengelolaan Anda menjadi lebih sederhana.
Objek aplikasi Microsoft Entra ID dan membuat service principal
Apa itu service principal dan bagaimana hubungannya dengan objek aplikasi di Microsoft Entra ID?
Service principal adalah principal keamanan yang merepresentasikan aplikasi atau layanan di penyewa Microsoft Entra Anda. Service principal memetakan ke objek aplikasi (definisi globalnya). Service principal adalah instance yang dibuat di penyewa Anda saat Anda mendaftarkan atau menyetujui aplikasi. ID aplikasi dan ID klien menghubungkan keduanya. Anda akan melihat objek aplikasi dan objek service principal di Microsoft Entra ketika sebuah service principal telah dibuat.
Bagaimana cara membuat service principal di penyewa Microsoft 365 saya?
Anda dapat membuat service principal dengan mendaftarkan app registration di pusat admin Microsoft Entra, atau melalui Azure CLI atau Microsoft Graph PowerShell SDK. Langkah umumnya adalah membuat aplikasi (objek aplikasi), lalu membuat service principal di penyewa asal Anda atau penyewa pemilik, memberikan izin, dan membuat kredensial (client secret atau sertifikat). Untuk skrip otomatis, gunakan az ad sp create-for-rbac di Azure CLI atau Microsoft Graph PowerShell SDK untuk membuat service principal.
Di mana saya dapat menemukan detail service principal dan menganalisis aktivitas log masuk service principal?
Detail service principal tersedia di pusat admin Microsoft Entra, di bawah Aplikasi perusahaan atau Pendaftaran aplikasi, tergantung jenisnya. Anda dapat melihat properti seperti nama service principal, ID aplikasi, ID penyewa, dan peran yang ditetapkan. Untuk menganalisis aktivitas log masuk service principal, gunakan log Sign-ins di Microsoft Entra atau kueri laporan log masuk melalui Microsoft Graph untuk meninjau peristiwa autentikasi, peristiwa pembuatan service principal, dan telemetri log masuk.
Bagaimana kebijakan akses dan pengaturan autentikasi memengaruhi service principal baru?
Kebijakan akses dan pengaturan autentikasi menentukan sumber daya apa yang dapat diakses service principal dan bagaimana service principal tersebut melakukan autentikasi. Konfigurasikan objek aplikasi dan service principal dengan prinsip hak akses minimum, tetapkan peran sumber daya, dan gunakan akses bersyarat serta kebijakan akses di pusat admin Microsoft Entra. Pilih metode autentikasi (client secret, sertifikat, atau managed identity) sesuai pembaruan keamanan dan praktik terbaik untuk mengurangi risiko.
Bisakah aplikasi first-party Microsoft atau layanan Microsoft membuat service principal di penyewa saya?
Bisa. Aplikasi first-party Microsoft dan layanan Microsoft sering membuat objek service principal di Microsoft Entra ID saat digunakan di penyewa Anda. Objek tersebut mungkin muncul sebagai aplikasi Entra atau aplikasi first-party Microsoft. Beberapa layanan Microsoft membuat service principal secara otomatis selama proses onboarding. Anda dapat meninjau dan mengontrolnya di pusat admin Microsoft Entra, serta menerapkan just-in-time eligibility jika didukung.
Bagaimana saya mengelola izin dan objek principal di Microsoft Entra untuk mengurangi risiko?
Audit peristiwa pembuatan service principal, tinjau izin yang diberikan kepada objek service principal di Microsoft Entra ID, lalu cabut hak akses yang berlebihan. Gunakan penetapan peran, dan izin aplikasi alih-alih izin delegasi jika sesuai. Terapkan akses bersyarat serta provisioning just-in-time atau service principal yang memenuhi syarat just-in-time, dan rotasi kredensial secara berkala. Gunakan Microsoft Learn dan sumber tambahan untuk panduan keamanan yang preskriptif serta prosedur dukungan teknis.
Alat apa yang dapat saya gunakan untuk mengotomatiskan inspeksi dan pembuatan service principal (PowerShell, Azure CLI)?
Anda dapat menggunakan Microsoft Graph PowerShell SDK, Azure CLI, atau Microsoft Graph API untuk mengotomatiskan pembuatan dan inspeksi service principal. Perintah seperti az ad sp create-for-rbac dan perintah setara di Microsoft Graph PowerShell SDK memungkinkan Anda membuat service principal serta menghasilkan ID klien, ID aplikasi, dan ID penyewa. Skrip juga dapat mencantumkan objek service principal di Microsoft Entra dan mengumpulkan data log masuk atau izin untuk pelaporan.
Bagaimana saya mengetahui apakah service principal dibuat oleh aplikasi klien atau akun Microsoft?
Periksa detail service principal di Pusat Admin Microsoft Entra atau kueri melalui Microsoft Graph untuk melihat properti seperti pemilik aplikasi, penerbit, dan jenis aplikasi asal. Service principal yang dibuat oleh aplikasi klien akan mereferensikan application id/client id dan biasanya menampilkan prinsipal pembuat beserta stempel waktu pembuatannya. Service principal Microsoft yang dibuat untuk layanan Microsoft atau aplikasi first-party Microsoft umumnya menyertakan penerbit atau pengenal Microsoft yang dikenal.
Di mana saya dapat menemukan sumber daya dan panduan tambahan untuk Office 365 for IT Pros serta praktik terbaik service principal?
Gunakan Microsoft Learn, dokumentasi Pusat Admin Microsoft Entra, panduan Microsoft identity platform, dan artikel yang ditujukan untuk Office 365 for IT Pros. Sumber daya tambahan mencakup dokumentasi Microsoft Graph, referensi Azure CLI dan Microsoft Graph PowerShell SDK, serta pembaruan keamanan yang dipublikasikan Microsoft. Untuk skenario yang kompleks, hubungi dukungan teknis atau pelajari lab Microsoft Learn tentang objek application dan service principal yang dibuat di penyewa Anda.