Bagikan melalui


Meninjau izin yang diberikan ke aplikasi perusahaan

Dalam artikel ini, Anda mempelajari cara meninjau izin yang diberikan ke aplikasi di penyewa Microsoft Entra Anda. Anda mungkin perlu meninjau izin saat mendeteksi aplikasi berbahaya, atau aplikasi yang memiliki lebih banyak izin daripada yang diperlukan. Anda mempelajari cara mencabut izin yang diberikan ke aplikasi menggunakan Microsoft Graph API dan versi PowerShell yang ada.

Langkah-langkah dalam artikel ini berlaku untuk semua aplikasi yang ditambahkan ke penyewa Microsoft Entra Anda melalui persetujuan pengguna atau admin. Untuk informasi selengkapnya tentang menyetujui aplikasi, lihat Persetujuan pengguna dan admin.

Prasyarat

Untuk meninjau izin yang diberikan ke aplikasi, Anda memerlukan:

  • Akun Azure dengan langganan aktif. Buat akun secara gratis.
  • Salah satu peran berikut: Administrator Aplikasi Cloud, Administrator Aplikasi.
  • Pemilik perwakilan layanan yang bukan administrator dapat membatalkan token refresh.

Meninjau dan mencabut izin di pusat admin Microsoft Entra

Ujung

Langkah-langkah dalam artikel ini mungkin sedikit berbeda berdasarkan portal tempat Anda memulai.

Anda dapat mengakses pusat admin Microsoft Entra untuk melihat izin yang diberikan ke aplikasi. Anda dapat mencabut izin yang diberikan oleh admin untuk seluruh organisasi Anda, dan Anda bisa mendapatkan skrip PowerShell kontekstual untuk melakukan tindakan lain.

Untuk informasi tentang cara memulihkan izin yang dicabut atau dihapus, lihat Memulihkan izin yang diberikan ke aplikasi.

Untuk meninjau izin aplikasi yang diberikan untuk seluruh organisasi atau ke pengguna atau grup tertentu:

  1. Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud.
  2. Telusuri aplikasi Identity>Applications>Enterprise>Semua aplikasi.
  3. Pilih aplikasi yang ingin Anda batasi aksesnya.
  4. Pilih Izin.
  5. Untuk melihat izin yang berlaku untuk seluruh organisasi Anda, pilih tab Persetujuan admin . Untuk melihat izin yang diberikan kepada pengguna atau grup tertentu, pilih tab Persetujuan pengguna.
  6. Untuk melihat detail izin yang diberikan, pilih izin dari daftar. Panel Detail Izin terbuka. Setelah meninjau izin yang diberikan ke aplikasi, Anda dapat mencabut izin yang diberikan oleh admin untuk seluruh organisasi Anda.

    Nota

    Anda tidak dapat mencabut izin di tab Persetujuan pengguna menggunakan portal. Anda dapat mencabut izin ini menggunakan panggilan Microsoft Graph API atau cmdlet PowerShell. Buka tab PowerShell dan Microsoft Graph di artikel ini untuk informasi selengkapnya.

Untuk mencabut izin di tab Persetujuan admin:

  1. Lihat daftar izin di tab Persetujuan admin.
  2. Pilih izin yang ingin Anda cabut, lalu pilih kontrol ... untuk izin tersebut. Cuplikan layar memperlihatkan cara mencabut persetujuan admin.
  3. Pilih Cabut izin.

Meninjau dan mencabut izin menggunakan Azure AD PowerShell

Gunakan skrip Azure AD PowerShell berikut untuk mencabut semua izin yang diberikan ke aplikasi. Anda perlu masuk setidaknya sebagai Administrator Aplikasi Cloud.

Connect-AzureAD 

# Get Service Principal using objectId
$sp = Get-AzureADServicePrincipal -ObjectId "<ServicePrincipal objectID>"

# Get all delegated permissions for the service principal
$spOAuth2PermissionsGrants = Get-AzureADOAuth2PermissionGrant -All $true| Where-Object { $_.clientId -eq $sp.ObjectId }

# Remove all delegated permissions
$spOAuth2PermissionsGrants | ForEach-Object {
    Remove-AzureADOAuth2PermissionGrant -ObjectId $_.ObjectId
}

# Get all application permissions for the service principal
$spApplicationPermissions = Get-AzureADServiceAppRoleAssignedTo -ObjectId $sp.ObjectId -All $true | Where-Object { $_.PrincipalType -eq "ServicePrincipal" }

# Remove all application permissions
$spApplicationPermissions | ForEach-Object {
    Remove-AzureADServiceAppRoleAssignment -ObjectId $_.PrincipalId -AppRoleAssignmentId $_.objectId
}

Membatalkan validasi token refresh menggunakan Azure AD PowerShell

Hapus appRoleAssignments untuk pengguna atau grup ke aplikasi menggunakan skrip berikut.

Connect-AzureAD

# Get Service Principal using objectId
$sp = Get-AzureADServicePrincipal -ObjectId "<ServicePrincipal objectID>"

# Get Azure AD App role assignments using objectID of the Service Principal
$assignments = Get-AzureADServiceAppRoleAssignment -ObjectId $sp.ObjectId -All $true | Where-Object {$_.PrincipalType -eq "User"}

# Revoke refresh token for all users assigned to the application
$assignments | ForEach-Object {
    Revoke-AzureADUserAllRefreshToken -ObjectId $_.PrincipalId
}

Meninjau dan mencabut izin menggunakan Microsoft Graph PowerShell

Gunakan skrip Microsoft Graph PowerShell berikut untuk mencabut semua izin yang diberikan ke aplikasi. Anda perlu masuk setidaknya sebagai Administrator Aplikasi Cloud.

Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "DelegatedPermissionGrant.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"

# Get Service Principal using objectId
$sp = Get-MgServicePrincipal -ServicePrincipalID "<ServicePrincipal objectID>"

Example: Get-MgServicePrincipal -ServicePrincipalId 'aaaaaaaa-bbbb-cccc-1111-222222222222'

# Get all delegated permissions for the service principal
$spOAuth2PermissionsGrants= Get-MgOauth2PermissionGrant -All| Where-Object { $_.clientId -eq $sp.Id }

# Remove all delegated permissions
$spOauth2PermissionsGrants |ForEach-Object {
  Remove-MgOauth2PermissionGrant -OAuth2PermissionGrantId $_.Id
}

# Get all application permissions for the service principal
$spApplicationPermissions = Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $Sp.Id -All | Where-Object { $_.PrincipalType -eq "ServicePrincipal" }

# Remove all application permissions
$spApplicationPermissions | ForEach-Object {
Remove-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $Sp.Id  -AppRoleAssignmentId $_.Id
}

Membatalkan validasi token refresh menggunakan Microsoft Graph PowerShell

Hapus appRoleAssignments untuk pengguna atau grup ke aplikasi menggunakan skrip berikut.

Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"

# Get Service Principal using objectId
$sp = Get-MgServicePrincipal -ServicePrincipalID "<ServicePrincipal objectID>"

Example: Get-MgServicePrincipal -ServicePrincipalId 'aaaaaaaa-bbbb-cccc-1111-222222222222'

# Get Azure AD App role assignments using objectID of the Service Principal
$spApplicationPermissions = Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalID $sp.Id -All | Where-Object { $_.PrincipalType -eq "ServicePrincipal" }

# Revoke refresh token for all users assigned to the application
  $spApplicationPermissions | ForEach-Object {
  Remove-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $_.PrincipalId -AppRoleAssignmentId $_.Id
}

Meninjau dan mencabut izin menggunakan Microsoft Graph

Untuk meninjau izin, Masuk ke Graph Explorer sebagai setidaknya Administrator Aplikasi Cloud.

Anda perlu menyetujui izin berikut:

Application.ReadWrite.All, , Directory.ReadWrite.AllDelegatedPermissionGrant.ReadWrite.All, . AppRoleAssignment.ReadWrite.All

Izin yang didelegasikan

Jalankan kueri berikut untuk meninjau izin yang didelegasikan yang diberikan ke aplikasi.

  1. Dapatkan perwakilan layanan menggunakan ID objek.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
    

    Contoh:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444
    
  2. Mendapatkan semua izin yang didelegasikan untuk perwakilan layanan

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
    
  3. Hapus izin yang didelegasikan menggunakan ID oAuth2PermissionGrants.

    DELETE https://graph.microsoft.com/v1.0/oAuth2PermissionGrants/{id}
    

Izin aplikasi

Jalankan kueri berikut untuk meninjau izin aplikasi yang diberikan ke aplikasi.

  1. Mendapatkan semua izin aplikasi untuk perwakilan layanan

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
    
  2. Menghapus izin aplikasi menggunakan ID appRoleAssignment

    DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
    

Membatalkan validasi token refresh menggunakan Microsoft Graph

Jalankan kueri berikut untuk menghapus appRoleAssignments pengguna atau grup ke aplikasi.

  1. Dapatkan Perwakilan Layanan menggunakan objectID.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
    

    Contoh:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    
  2. Dapatkan penetapan peran Aplikasi Microsoft Entra menggunakan objectID dari Perwakilan Layanan.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo
    
  3. Cabut token refresh untuk pengguna dan grup yang ditetapkan ke aplikasi menggunakan ID appRoleAssignment.

    DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
    

Nota

Mencabut izin yang diberikan saat ini tidak akan menghentikan pengguna menyetujui kembali izin yang diminta aplikasi. Anda perlu menghentikan aplikasi meminta izin melalui persetujuan dinamis. Jika Anda ingin memblokir pengguna agar tidak menyetujui sama sekali, baca Mengonfigurasi bagaimana pengguna menyetujui aplikasi.

Otorisasi lain yang perlu dipertimbangkan

Izin yang didelegasikan dan aplikasi bukan satu-satunya cara untuk memberikan aplikasi dan pengguna akses ke sumber daya yang dilindungi. Admin harus mengetahui sistem otorisasi lain yang mungkin memberikan akses ke informasi sensitif. Contoh berbagai sistem otorisasi di Microsoft termasuk peran bawaan Microsoft Entra, Exchange RBAC, dan persetujuan khusus sumber daya Teams.

Langkah berikutnya