Bagikan melalui


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. Dengan Microsoft Graph dan Microsoft Graph PowerShell, Anda dapat melihat dan mengelola kebijakan persetujuan aplikasi.

Dalam artikel ini, Anda mempelajari cara mengelola kebijakan persetujuan aplikasi bawaan dan kustom untuk mengontrol kapan persetujuan dapat diberikan. Kebijakan persetujuan aplikasi dapat ditetapkan ke pengguna atau grup tertentu menggunakan peran kustom, atau Anda dapat mengatur kebijakan persetujuan aplikasi default untuk pengguna akhir di organisasi Anda.

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". Pengecualian dan penyertaan digunakan untuk menentukan apakah aktor yang terpengaruh oleh kebijakan yang diberikan dapat memberikan persetujuan atau tidak.

Ada tiga bagian utama dari kebijakan persetujuan aplikasi:

  • Metadata: Properti dari kebijakan persetujuan aplikasi mengandung informasi seperti ID, deskripsi, dan nama tampilan dari kebijakan persetujuan.
  • Kumpulan set kondisi yang disertakan: Kumpulan set kondisi di mana permintaan persetujuan aplikasi tertentu harus cocok dengan setidaknya salah satu agar kebijakan dapat diterima. Koleksi ini harus memiliki setidaknya satu kumpulan kondisi. Setiap kumpulan kondisi berisi aturan yang menjelaskan karakteristik permintaan persetujuan aplikasi, seperti status penerbit terverifikasi, izin yang diminta, dan lainnya.
  • Set kondisi yang dikecualikan: Kumpulan set kondisi di mana permintaan persetujuan aplikasi tertentu tidak boleh cocok dengan salah satupun untuk bisa diteruskan. Koleksi ini dapat kosong (dapat berisi nol kumpulan kondisi yang dikecualikan). Setiap kumpulan kondisi berisi aturan yang menjelaskan karakteristik permintaan persetujuan aplikasi, seperti status penerbit terverifikasi, izin yang diminta, dan lainnya.

Ketentuan yang didukung

Setiap kumpulan kondisi terdiri dari beberapa ketentuan. Agar peristiwa cocok dengan kumpulan kondisi, semua kondisi dalam kumpulan kondisi harus dipenuhi. Misalnya, kumpulan kondisi mungkin menentukan "Aplikasi klien yang diverifikasi penerbit, dibuat di penyewa ini, dan meminta Mail.Read yang didelegasikan Microsoft Graph" tidak akan cocok dengan permintaan persetujuan untuk aplikasi klien yang diverifikasi penerbit, dibuat di penyewa ini, dan meminta cakupan openid dan profil.

Kumpulan kondisi mencakup satu atau beberapa properti yang digunakan untuk menentukan karakteristik aplikasi atau izin yang diminta. Daftar lengkap properti terletak di sini.

Setiap penyewa menyertakan serangkaian kebijakan persetujuan aplikasi yang berlaku sama untuk semua penyewa. 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 atau untuk mengonfigurasi kebijakan persetujuan default organisasi. Kebijakan ini tidak dapat diedit. Daftar kebijakan bawaan adalah:

  • microsoft-user-default-low: Semua izin berisiko rendah dapat disetujui oleh pengguna jenis anggota secara default.
  • microsoft-user-default-recommended: Izin dapat disahkan berdasarkan rekomendasi Microsoft saat ini.
  • microsoft-user-default-allow-consent-apps: Aplikasi email populer yang memungkinkan persetujuan oleh pengguna
  • microsoft-all-application-permissions: Mencakup semua izin aplikasi (peran aplikasi), untuk semua API, untuk aplikasi klien apa pun.
  • microsoft-dynamically-managed-permissions-for-chat: Termasuk izin yang dikelola secara dinamis yang diperuntukkan bagi persetujuan khusus sumber daya obrolan.
  • microsoft-all-application-permissions-for-chat: Mencakup semua izin aplikasi khusus sumber daya obrolan, untuk semua API, untuk aplikasi klien apa pun.
  • microsoft-dynamically-managed-permissions-for-team: Meliputi izin yang dikelola secara dinamis dan diizinkan untuk persetujuan khusus sumber daya tim.
  • microsoft-pre-approval-apps-for-chat: Menyertakan aplikasi yang telah disetujui sebelumnya oleh kebijakan pra-persetujuan pemberian izin untuk persetujuan spesifik terkait sumber daya obrolan.
  • microsoft-pre-approval-apps-for-team: Menyertakan aplikasi yang telah disetujui sebelumnya oleh kebijakan pra-persetujuan pemberian izin untuk persetujuan khusus sumber daya tim.
  • microsoft-all-application-permissions-verified: Mencakup semua izin aplikasi (peran aplikasi), untuk semua API, untuk aplikasi klien dari penerbit terverifikasi atau yang terdaftar di organisasi ini.
  • microsoft-application-admin: Izin yang dapat disetujui oleh Administrator Aplikasi.
  • microsoft-company-admin: Izin yang dapat disetujui oleh Administrator Perusahaan.

Peringatan

Microsoft-user-default-recommended dan microsoft-user-default-allow-consent-apps adalah sebuah kebijakan terkelola oleh Microsoft. Kondisi yang disertakan dalam kebijakan secara otomatis diperbarui berdasarkan rekomendasi keamanan terbaru Microsoft untuk persetujuan pengguna akhir.

Pengaturan berlabel "Biarkan Microsoft mengelola pengaturan persetujuan Anda," kebijakan terkelola Microsoft, akan diperbarui dengan pengaturan persetujuan default terbaru yang direkomendasikan Microsoft. Ini juga merupakan default untuk penyewa baru. Aturan pengaturan saat ini: Pengguna akhir dapat menyetujui izin yang didelegasikan yang dapat disetujui oleh pengguna KECUALI:

  • Untuk Microsoft Graph: Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All, Mail.Read, Mail.ReadWrite, Mail.ReadBasic, Mail.Read.Shared, Mail.ReadBasic.Shared, Mail.ReadWrite.Shared, MailboxItem.Read, Calendars.Read, Calendars.ReadBasic, Calendars.ReadWrite, Calendars.Read.Shared, Calendars.ReadWrite.Shared, Chat.Read, Chat.ReadWrite, OnlineMeetings.Read, OnlineMeetings.ReadWrite, MailBoxFolder.Read, MailBoxFolder.ReadWrite, MailBoxSettings.Read, MailBoxSettings.ReadWrite, EAS.AccessAsUser.All, EWS.AccessAsUser.All, IMAP.AccessAsUser.All, POP.AccessAsUser.All.
  • Untuk Office 365 Exchange Online: EAS.AccessAsUser.All, , EWS.AccessAsUser.All, IMAP.AccessAsUser.All. POP.AccessAsUser.All

Kebijakan klien email

Kebijakan microsoft-user-allow-default-consent-apps adalah kebijakan tambahan yang diaktifkan secara default. Kebijakan ini memungkinkan pengguna akhir di organisasi Anda menyetujui aplikasi email populer untuk izin email. Saat kebijakan ini diaktifkan, pengguna akhir akan dapat menyetujui izin email tertentu yang didelegasikan (izin Microsoft Graph dan Office 365 Exchange Online: EAS. AccessAsUser.All, EWS. AccessAsUser.All, IMAP. AccessAsUser.All, POP. AccessAsUser.All) untuk aplikasi berikut:

  • Apple Mail (ID aplikasi: f8d98a96-0999-43f5-8af3-69971c7bb423)
  • Spark Email (ID aplikasi: b50c1dbd-1855-4e54-b07c-d3c3029e93d3)
  • Klien eM (ID aplikasi:e9a7fea1-1cc0-4cd9-a31b-9137ca5deedd)
  • Android-Samsung (ID aplikasi:8acd33ea-7197-4a96-bc33-d7cc7101262f)
  • Android-Mail (ID aplikasi:2cee05de-2b8f-45a2-8289-2a06ca32c4c8)
  • Thunderbird (ID aplikasi:9e5f94bc-e8a4-4e73-b8be-63364c29d753)

Beberapa kebijakan

Pengguna dapat memiliki lebih dari satu kebijakan yang memungkinkan mereka memberikan persetujuan. Setiap kebijakan dievaluasi secara terpisah (misalnya, pengecualian dari satu kebijakan tidak memengaruhi penyertaan dalam kebijakan lain) dan pengguna hanya memerlukan satu kebijakan yang disetujui untuk mengizinkannya menyetujui acara tertentu. Misalnya, admin aplikasi dapat menyetujui semua yang dapat dilakukan pengguna reguler (berkat kebijakan default yang diterapkan untuk semua pengguna), dan mereka juga memiliki izin yang lebih luas melalui kebijakan microsoft-application-admin, yang memungkinkan mereka menyetujui permintaan untuk izin API apa pun—kecuali peran aplikasi Microsoft Graph.

Prasyarat

  • Pengguna atau layanan dengan salah satu peran berikut:
  • Biasakan diri Anda dengan (Set kondisi pemberian izin)[/graph/api/resources/permissiongrantconditionset?view=graph-rest-1.0]

Untuk mengelola kebijakan persetujuan aplikasi untuk aplikasi dengan Microsoft Graph PowerShell, sambungkan ke Microsoft Graph PowerShell.

Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"

Ada baiknya untuk memulai dengan memahami kebijakan persetujuan aplikasi yang ada di organisasi Anda:

  1. Mencantumkan semua kebijakan persetujuan aplikasi. Ini menunjukkan semua kebijakan bawaan dan kebijakan kustom apa pun yang dibuat organisasi Anda:

    Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
    
  2. Lihat kumpulan kondisi "sertakan" dari kebijakan:

    Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
    
  3. Lihat kumpulan kondisi "kecualikan":

    Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
    

Ikuti langkah-langkah berikut untuk membuat kebijakan persetujuan aplikasi kustom:

  1. 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."
    
  2. 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".

  3. 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.

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 .

Ada baiknya untuk memulai dengan memahami kebijakan persetujuan aplikasi yang ada di organisasi Anda:

  1. Mencantumkan semua kebijakan persetujuan aplikasi. Ini menunjukkan semua kebijakan bawaan dan kebijakan kustom apa pun yang dibuat organisasi Anda:

    GET /policies/permissionGrantPolicies?$select=id,displayName,description
    
  2. Lihat kumpulan kondisi "sertakan" dari kebijakan:

    GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/includes
    
  3. Lihat kumpulan kondisi "kecualikan":

    GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/excludes
    

Ikuti langkah-langkah berikut untuk membuat kebijakan persetujuan aplikasi kustom:

  1. 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"
    }
    
  2. 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".

  3. 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.

  1. 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 secara tidak sengaja menghapus kebijakan persetujuan aplikasi kustom, Anda perlu membuat ulang kebijakan.

Langkah berikutnya

Untuk mendapatkan bantuan atau menemukan jawaban atas pertanyaan Anda: