Kurumsal uygulamalara verilen izinleri gözden geçirme

Bu makalede, Microsoft Entra kiracınızdaki uygulamalara verilen izinleri gözden geçirmeyi öğreneceksiniz. Kötü amaçlı bir uygulama algıladığınızda veya uygulamaya gerekenden daha fazla izin verildiğinde izinleri gözden geçirmeniz gerekebilir. Microsoft Graph API'sini ve PowerShell'in mevcut sürümlerini kullanarak uygulamaya verilen izinleri iptal etmeyi öğreneceksiniz.

Bu makaledeki adımlar, kullanıcı veya yönetici onayı aracılığıyla Microsoft Entra kiracınıza eklenen tüm uygulamalar için geçerlidir. Uygulamalara onay verme hakkında daha fazla bilgi için bkz . Kullanıcı ve yönetici onayı.

Önkoşullar

Uygulamalara verilen izinleri gözden geçirmek için şunları yapmanız gerekir:

  • Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
  • Aşağıdaki rollerden biri: Global Yönetici istrator, Cloud Application Yönetici istrator, Application Yönetici istrator.
  • Yönetici olmayan bir Hizmet sorumlusu sahibi yenileme belirteçlerini geçersiz kılamaz.

İzinleri geri yükleme

İptal edilmiş veya silinmiş izinleri geri yükleme hakkında bilgi için lütfen uygulamalara verilen izinleri geri yükleme bölümüne bakın.

İzinleri gözden geçirme ve iptal etme

Bahşiş

Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.

Bir uygulamaya verilen izinleri görüntülemek için Microsoft Entra yönetim merkezine erişebilirsiniz. Tüm kuruluşunuz için yöneticiler tarafından verilen izinleri iptal edebilir ve diğer eylemleri gerçekleştirmek için bağlamsal PowerShell betikleri alabilirsiniz.

Bir uygulamanın kuruluşun tamamı veya belirli bir kullanıcı veya gruba verilmiş izinlerini gözden geçirmek için:

  1. Microsoft Entra yönetim merkezinde en az Bulut Uygulaması Yönetici istrator olarak oturum açın.
  2. Kimlik>Uygulamaları>Kurumsal uygulamaları>Tüm uygulamalar'a göz atın.
  3. Erişimi kısıtlamak istediğiniz uygulamayı seçin.
  4. İzinler'i seçin.
  5. Kuruluşunuzun tamamı için geçerli olan izinleri görüntülemek için Yönetici onay sekmesini seçin. Belirli bir kullanıcı veya gruba verilen izinleri görüntülemek için Kullanıcı onayı sekmesini seçin.
  6. Belirli bir iznin ayrıntılarını görüntülemek için listeden izni seçin. İzin Ayrıntıları bölmesi açılır. Bir uygulamaya verilen izinleri gözden geçirdikten sonra, tüm kuruluşunuz için yöneticiler tarafından verilen izinleri iptal edebilirsiniz.

    Dekont

    Portalı kullanarak Kullanıcı onayı sekmesinde izinleri iptal yapamazsınız. Microsoft Graph API çağrılarını veya PowerShell cmdlet'lerini kullanarak bu izinleri iptal edebilirsiniz. Daha fazla bilgi için bu makalenin PowerShell ve Microsoft Graph sekmelerine gidin.

Yönetici onay sekmesindeki izinleri iptal etmek için:

  1. İzin listesini Yönetici onay sekmesinde görüntüleyin.
  2. İptal etmek istediğiniz izni seçin ve ardından bu izin için ... denetimini seçin. Screenshot shows how to revoke admin consent.
  3. İzni iptal et'i seçin.

İzinleri gözden geçirme ve iptal etme

Bir uygulamaya verilen tüm izinleri iptal etmek için aşağıdaki Azure AD PowerShell betiğini kullanın. En azından bulut uygulaması Yönetici istrator olarak oturum açmanız gerekir.

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
}

Yenileme belirteçlerini geçersiz kılma

Aşağıdaki betikleri kullanarak uygulamaya kullanıcılar veya gruplar için appRoleAssignments öğesini kaldırın.

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
}

İzinleri gözden geçirme ve iptal etme

Bir uygulamaya verilen tüm izinleri iptal etmek için aşağıdaki Microsoft Graph PowerShell betiğini kullanın. En azından bulut uygulaması Yönetici istrator olarak oturum açmanız gerekir.

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
 }

Yenileme belirteçlerini geçersiz kılma

Aşağıdaki betikleri kullanarak uygulamaya kullanıcılar veya gruplar için appRoleAssignments öğesini kaldırın.

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
  }

İzinleri gözden geçirme ve iptal etme

İzinleri gözden geçirmek için Graf Gezgini'nde en azından Bulut Uygulaması Yönetici istrator olarak oturum açın.

Aşağıdaki izinleri onaylamanız gerekir:

Application.ReadWrite.All, Directory.ReadWrite.All, DelegatedPermissionGrant.ReadWrite.All, AppRoleAssignment.ReadWrite.All.

Temsilcili izinler

Bir uygulamaya verilen temsilci izinlerini gözden geçirmek için aşağıdaki sorguları çalıştırın.

  1. Nesne kimliğini kullanarak hizmet sorumlusunu alın.

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

    Örneğin:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/00063ffc-54e9-405d-b8f3-56124728e051
    
  2. Hizmet sorumlusu için tüm temsilci izinlerini alma

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
    
  3. oAuth2PermissionGrants Kimliğini kullanarak temsilci izinlerini kaldırın.

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

UYGULAMA İZİNLERİ

Bir uygulamaya verilen uygulama izinlerini gözden geçirmek için aşağıdaki sorguları çalıştırın.

  1. Hizmet sorumlusu için tüm uygulama izinlerini alma

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
    
  2. appRoleAssignment kimliğini kullanarak uygulama izinlerini kaldırma

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

Yenileme belirteçlerini geçersiz kılma

Uygulamaya kullanıcı veya grupların appRoleAssignment'larını kaldırmak için aşağıdaki sorguları çalıştırın.

  1. objectID kullanarak Hizmet Sorumlusu alın.

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

    Örneğin:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/57443554-98f5-4435-9002-852986eea510
    
  2. Hizmet Sorumlusunun objectID değerini kullanarak Microsoft Entra Uygulaması rol atamalarını alın.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo
    
  3. appRoleAssignment kimliğini kullanarak uygulamaya atanan kullanıcılar ve gruplar için yenileme belirtecini iptal edin.

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

Dekont

Geçerli verilen izni iptal etmek kullanıcıların uygulamaya yeniden onay vermelerini engellemez. Kullanıcıların onay vermelerini engellemek istiyorsanız, Kullanıcıların uygulamalara nasıl onay verdiğinizi yapılandırma bölümüne bakın.

Sonraki adımlar