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:
- Microsoft Entra yönetim merkezinde en az Bir Bulut Uygulaması Yöneticisi olarak oturum açın.
- Kimlik>Uygulamaları>Kurumsal uygulamaları>Tüm uygulamalar'a göz atın.
- Erişimi kısıtlamak istediğiniz uygulamayı seçin.
- İzinler'i seçin.
- 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.
- 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:
- Yönetici onayı sekmesinde izin listesini görüntüleyin.
- İptal etmek istediğiniz izni seçin ve ardından bu izin için ... denetimini seçin.
- İ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.
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
Hizmet sorumlusu için tüm temsilci izinlerini alma
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
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.
Hizmet sorumlusu için tüm uygulama izinlerini alma
GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
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.
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
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
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.