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ılarken veya gerekenden daha fazla izne sahip bir uygulama algılarken 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 bir hesap oluşturun.
  • Aşağıdaki rollerden biri: Bulut Uygulaması Yöneticisi, Uygulama Yöneticisi.
  • Yönetici olmayan bir Hizmet sorumlusu sahibi yenileme belirteçlerini geçersiz kılamaz.

Microsoft Entra yönetim merkezinde izinleri 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.

İptal edilen veya silinen izinleri geri yükleme hakkında bilgi için bkz . Uygulamalara verilen izinleri geri yükleme.

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

  1. Microsoft Entra yönetim merkezinde en az Bir Bulut Uygulaması Yöneticisi 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, kuruluşunuzun tamamı için yöneticiler tarafından verilen izinleri iptal edebilirsiniz.

    Not

    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ı sekmesinde izinleri iptal etmek için:

  1. Yönetici onayı sekmesinde izin listesini görüntüleyin.
  2. İptal etmek istediğiniz izni seçin ve ardından bu izin için ... denetimini seçin. Yönetici onayının nasıl iptal edilebilsini gösteren ekran görüntüsü.
  3. İzni iptal et'i seçin.

Azure AD PowerShell kullanarak izinleri 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öneticisi 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
}

Azure AD PowerShell kullanarak 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
}

Microsoft Graph PowerShell kullanarak izinleri 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öneticisi 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 "<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
}

Microsoft Graph PowerShell kullanarak 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 "<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
}

Microsoft Graph kullanarak izinleri gözden geçirme ve iptal etme

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

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

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

Temsilci izinleri

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}
    

    Örnek:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444
    
  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 izinleri

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}
    

Microsoft Graph kullanarak 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}
    

    Örnek:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    
  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}
    

Not

Geçerli verilen izni iptal etmek, kullanıcıların uygulamanın istenen izinlerine yeniden onay vermelerini engellemez. Uygulamanın dinamik onay yoluyla izinleri istemesini durdurmanız gerekir. Kullanıcıların onay vermelerini tamamen engellemek istiyorsanız, Kullanıcıların uygulamalara nasıl onay verdiğinizi yapılandırma bölümüne bakın.

Dikkate alınması gereken diğer yetkilendirme

Uygulamalara ve kullanıcılara korumalı kaynaklara erişim vermenin tek yolu temsilci ve uygulama izinleri değildir. Yöneticiler, hassas bilgilere erişim verebilen diğer yetkilendirme sistemlerinin farkında olmalıdır. Microsoft'taki çeşitli yetkilendirme sistemlerine örnek olarak Microsoft Entra yerleşik rolleri, Exchange RBAC ve Teams kaynağına özgü onay verilebilir.

Sonraki adımlar