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 akses ketika Anda mendeteksi aplikasi berbahaya atau aplikasi telah diberi izin lebih dari 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 Global, Administrator Aplikasi Cloud, Administrator Aplikasi.
  • Pemilik perwakilan layanan yang bukan administrator dapat membatalkan token refresh.

Memulihkan izin

Silakan lihat Izin pemulihan yang diberikan kepada aplikasi untuk informasi tentang cara memulihkan izin yang telah dicabut atau dihapus.

Meninjau dan mencabut izin

Tip

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 meninjau izin aplikasi yang telah 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.

    Catatan

    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. Screenshot shows how to revoke admin consent.
  3. Pilih Cabut izin.

Meninjau dan mencabut izin

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

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

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 "$ServicePrincipalID"

Example: Get-MgServicePrincipal -ServicePrincipalId '22c1770d-30df-49e7-a763-f39d2ef9b369'

# 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

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 "$ServicePrincipalID"

Example: Get-MgServicePrincipal -ServicePrincipalId '22c1770d-30df-49e7-a763-f39d2ef9b369'

# 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

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/00063ffc-54e9-405d-b8f3-56124728e051
    
  2. Dapatkan 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. Dapatkan semua izin aplikasi untuk prinsip 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

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/57443554-98f5-4435-9002-852986eea510
    
  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}
    

Catatan

Mencabut izin yang diberikan saat ini tidak akan menghentikan pengguna untuk menyetujui kembali aplikasi. Jika Anda ingin memblokir pengguna agar tidak menyetujuinya, baca Mengonfigurasi cara pengguna menyetujui aplikasi.

Langkah berikutnya