Mengelola kebijakan persetujuan aplikasi
Kebijakan persetujuan aplikasi adalah cara untuk mengelola izin yang harus diakses aplikasi di organisasi Anda. Mereka digunakan untuk mengontrol aplikasi apa yang dapat disetujui pengguna dan untuk memastikan bahwa aplikasi memenuhi kriteria tertentu sebelum mereka dapat mengakses data. Kebijakan ini membantu organisasi mempertahankan kontrol atas data mereka dan memastikan mereka hanya memberikan akses ke aplikasi tepercaya.
Dalam artikel ini, Anda mempelajari cara mengelola kebijakan persetujuan aplikasi bawaan dan kustom untuk mengontrol kapan persetujuan dapat diberikan.
Dengan Microsoft Graph dan Microsoft Graph PowerShell, Anda dapat melihat dan mengelola kebijakan persetujuan aplikasi.
Kebijakan persetujuan aplikasi terdiri dari satu atau beberapa kumpulan kondisi "sertakan" dan nol atau lebih kumpulan kondisi "kecualikan". Agar peristiwa dipertimbangkan dalam kebijakan persetujuan aplikasi, peristiwa harus cocok dengan setidaknya satu kumpulan kondisi "sertakan", dan tidak boleh cocok dengan kumpulan kondisi "kecualikan".
Setiap kumpulan kondisi terdiri dari beberapa ketentuan. Agar peristiwa cocok dengan kumpulan kondisi, semua kondisi dalam kumpulan kondisi harus dipenuhi.
Kebijakan persetujuan aplikasi dengan ID yang diawali dengan "microsoft-" adalah kebijakan bawaan. Beberapa kebijakan bawaan ini digunakan dalam peran direktori bawaan yang ada. Misalnya, kebijakan persetujuan aplikasi microsoft-application-admin
menjelaskan kondisi yang mengizinkan peran Administrator Aplikasi dan Administrator Aplikasi Cloud untuk memberikan persetujuan admin seluruh tenant. Kebijakan bawaan dapat digunakan dalam peran direktori kustom dan untuk mengonfigurasi pengaturan persetujuan pengguna, tetapi tidak dapat diedit atau dihapus.
Prasyarat
- Pengguna atau layanan dengan salah satu peran berikut:
- Peran direktori Administrator Peran Istimewa
- Peran direktori kustom dengan izin yang diperlukan untuk mengelola kebijakan persetujuan aplikasi
- Peran aplikasi Microsoft Graph (izin aplikasi)
Policy.ReadWrite.PermissionGrant
saat menyambungkan sebagai aplikasi atau layanan
Untuk mengelola kebijakan persetujuan aplikasi untuk aplikasi dengan Microsoft Graph PowerShell, sambungkan ke Microsoft Graph PowerShell.
Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"
Membuat daftar kebijakan persetujuan aplikasi yang ada
Ada baiknya untuk memulai dengan memahami kebijakan persetujuan aplikasi yang ada di organisasi Anda:
Membuat daftar semua kebijakan izin aplikasi:
Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
Lihat kumpulan kondisi "sertakan" dari kebijakan:
Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
Lihat kumpulan kondisi "kecualikan":
Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
Membuat kebijakan persetujuan aplikasi kustom menggunakan PowerShell
Ikuti langkah-langkah berikut untuk membuat kebijakan persetujuan aplikasi kustom:
Buat kebijakan persetujuan aplikasi kosong baru.
New-MgPolicyPermissionGrantPolicy ` -Id "my-custom-policy" ` -DisplayName "My first custom consent policy" ` -Description "This is a sample custom app consent policy."
Tambahkan kumpulan kondisi "sertakan".
# Include delegated permissions classified "low", for apps from verified publishers New-MgPolicyPermissionGrantPolicyInclude ` -PermissionGrantPolicyId "my-custom-policy" ` -PermissionType "delegated" ` -PermissionClassification "low" ` -ClientApplicationsFromVerifiedPublisherOnly
Ulangi langkah ini untuk menambahkan lebih banyak kumpulan kondisi "sertakan".
Secara opsional, tambahkan kumpulan kondisi "kecualikan".
# Retrieve the service principal for the Azure Management API $azureApi = Get-MgServicePrincipal -Filter "servicePrincipalNames/any(n:n eq 'https://management.azure.com/')" # Exclude delegated permissions for the Azure Management API New-MgPolicyPermissionGrantPolicyExclude ` -PermissionGrantPolicyId "my-custom-policy" ` -PermissionType "delegated" ` -ResourceApplication $azureApi.AppId
Ulangi langkah ini untuk menambahkan lebih banyak kumpulan kondisi "kecualikan".
Setelah membuat kebijakan persetujuan aplikasi, Anda perlu menetapkannya ke peran kustom di ID Microsoft Entra. Anda kemudian perlu menetapkan pengguna ke peran kustom tersebut, yang dilampirkan ke kebijakan persetujuan aplikasi yang Anda buat. Untuk informasi selengkapnya tentang cara menetapkan kebijakan persetujuan aplikasi ke peran kustom, lihat Izin persetujuan aplikasi untuk peran kustom.
Menghapus kebijakan persetujuan aplikasi kustom menggunakan PowerShell
Cmdlet berikut menunjukkan bagaimana Anda dapat menghapus kebijakan persetujuan aplikasi kustom.
Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-policy"
Untuk mengelola kebijakan persetujuan aplikasi, masuk ke Graph Explorer dengan salah satu peran yang tercantum di bagian prasyarat.
Anda perlu menyetujui izin tersebut Policy.ReadWrite.PermissionGrant
.
Mencantumkan kebijakan persetujuan aplikasi yang ada menggunakan Microsoft Graph
Ada baiknya untuk memulai dengan memahami kebijakan persetujuan aplikasi yang ada di organisasi Anda:
Membuat daftar semua kebijakan izin aplikasi:
GET /policies/permissionGrantPolicies?$select=id,displayName,description
Lihat kumpulan kondisi "sertakan" dari kebijakan:
GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/includes
Lihat kumpulan kondisi "kecualikan":
GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/excludes
Membuat kebijakan persetujuan aplikasi kustom menggunakan Microsoft Graph
Ikuti langkah-langkah berikut untuk membuat kebijakan persetujuan aplikasi kustom:
Buat kebijakan persetujuan aplikasi kosong baru.
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies Content-Type: application/json { "id": "my-custom-policy", "displayName": "My first custom consent policy", "description": "This is a sample custom app consent policy" }
Tambahkan kumpulan kondisi "sertakan".
Sertakan izin yang didelegasikan yang diklasifikasikan "rendah" untuk aplikasi dari penerbit terverifikasi
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-policy }/includes Content-Type: application/json { "permissionType": "delegated", "PermissionClassification": "low", "clientApplicationsFromVerifiedPublisherOnly": true }
Ulangi langkah ini untuk menambahkan lebih banyak kumpulan kondisi "sertakan".
Secara opsional, tambahkan kumpulan kondisi "kecualikan". Mengecualikan izin yang didelegasikan untuk API Manajemen Azure (appId 00001111-aaaa-2222-bbbb-3333cccc4444)
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/my-custom-policy /excludes Content-Type: application/json { "permissionType": "delegated", "resourceApplication": "00001111-aaaa-2222-bbbb-3333cccc4444 " }
Ulangi langkah ini untuk menambahkan lebih banyak kumpulan kondisi "kecualikan".
Setelah membuat kebijakan persetujuan aplikasi, Anda perlu menetapkannya ke peran kustom di ID Microsoft Entra. Anda kemudian perlu menetapkan pengguna ke peran kustom tersebut, yang dilampirkan ke kebijakan persetujuan aplikasi yang Anda buat. Untuk informasi selengkapnya tentang cara menetapkan kebijakan persetujuan aplikasi ke peran kustom, lihat Izin persetujuan aplikasi untuk peran kustom.
Menghapus kebijakan persetujuan aplikasi kustom Microsoft Graph
Berikut ini menunjukkan cara menghapus kebijakan persetujuan aplikasi kustom.
DELETE https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/ my-custom-policy
Peringatan
Kebijakan persetujuan aplikasi yang dihapus tidak dapat dipulihkan. Jika Anda tidak sengaja menghapus kebijakan persetujuan aplikasi kustom, Anda harus membuat ulang kebijakan tersebut.
Ketentuan yang didukung
Tabel berikut ini menyediakan daftar ketentuan yang didukung untuk kebijakan persetujuan aplikasi.
Kondisi | Deskripsi |
---|---|
PermissionClassification | Klasifikasi izin untuk izin yang diberikan, atau "semua" agar cocok dengan klasifikasi izin apa pun (termasuk izin yang tidak diklasifikasikan). Defaultnya adalah "semua." |
PermissionType | Jenis izin dari izin yang diberikan. Gunakan "aplikasi" untuk izin aplikasi (misalnya, peran aplikasi) atau "didelegasikan" untuk izin yang didelegasikan. Catatan: Nilai "delegatedUserConsentable" menunjukkan izin yang didelegasikan yang tidak dikonfigurasi oleh penerbit API untuk memerlukan persetujuan admin. Nilai ini dapat digunakan dalam kebijakan pemberian izin bawaan, tetapi tidak dapat digunakan dalam kebijakan pemberian izin kustom. Harus diisi. |
ResourceApplication | AppId aplikasi sumber daya (misalnya, API) yang izinnya diberikan, atau "apa pun" untuk dicocokkan dengan aplikasi sumber daya atau API apa pun. Defaultnya adalah "any." |
Izin | Daftar ID izin untuk izin tertentu yang akan dicocokkan, atau daftar dengan nilai tunggal "semua" untuk dicocokkan dengan izin apa pun. Defaultnya adalah nilai tunggal "semua." - ID izin yang didelegasikan dapat ditemukan di properti OAuth2Permissions dari objek ServicePrincipal API. - ID izin aplikasi dapat ditemukan di properti AppRoles dari objek ServicePrincipal API. |
ClientApplicationIds | Daftar nilai AppId untuk dicocokkan dengan aplikasi klien, atau daftar dengan nilai tunggal "semua" untuk dicocokkan dengan aplikasi klien apa pun. Defaultnya adalah nilai tunggal "semua." |
ClientApplicationTenantIds | Daftar ID penyewa Microsoft Entra tempat aplikasi klien terdaftar, atau daftar dengan nilai tunggal "semua" untuk dicocokkan dengan aplikasi klien yang terdaftar di penyewa mana pun. Defaultnya adalah nilai tunggal "semua." |
ClientApplicationPublisherIds | Daftar ID Microsoft Partner Network (MPN) untuk penerbit terverifikasi dari aplikasi klien, atau daftar dengan nilai tunggal "semua" untuk dicocokkan dengan aplikasi klien dari penerbit mana pun. Defaultnya adalah nilai tunggal "semua." |
ClientApplicationsFromVerifiedPublisherOnly | Atur sakelar ini ke hanya cocok pada aplikasi klien dengan penerbit terverifikasi. Nonaktifkan sakelar ini (-ClientApplicationsFromVerifiedPublisherOnly:$false ) agar cocok pada aplikasi klien apa pun, meskipun tidak memiliki penerbit terverifikasi. Defaultnya adalah $false . |
scopeType | Lingkup sumber daya mengetikkan preapproval berlaku untuk. Nilai yang mungkin: group untuk grup dan tim, chat untuk obrolan, atau tenant untuk akses di seluruh penyewa. Harus diisi. |
sensitivitasLabels | Label sensitivitas yang berlaku untuk jenis cakupan dan tidak disetujui sebelumnya. Ini memungkinkan Anda untuk melindungi data organisasi sensitif. Pelajari tentang label sensitivitas. Catatan: Sumber daya obrolan belum mendukung sensitivitasLabels. |
Langkah berikutnya
Untuk mendapatkan bantuan atau menemukan jawaban atas pertanyaan Anda: