Microsoft hat angekündigt den Support für die APIs von Azure AD Graph einzustellen. Ab dem Zeitpunkt liefern die APIs keine Daten mehr aus. Entwickler und Administratoren müssen ihre Applikationen auf die APIs von Microsoft Graph anpassen.
Microsoft führt zwei Zeitpunkte auf:
Ab 30. Juni 2020
We will no longer add any new features to ADAL and Azure AD Graph. We will continue to provide technical support and security updates but will no longer provide feature updates.
Ab 30. Juni 2022
We will end support for ADAL and Azure AD Graph and will no longer provide technical support or security updates. Apps using Azure AD Graph after this time will no longer receive responses from the Azure AD Graph endpoint….
**************
Update vom 20. März 2022:
Die Abkündigung für 30. Juni wurde zumindest bis Ende Dezember 2022 verschoben. Microsoft informiert zu einem späteren Zeitpunkt über weitere Daten.
**************
Unternehmen sollten darauf achten ob sie in ihrem Tenant eine Nachricht über das Supportende erhalten. Ist es so greift eine der bestehenden Applikationen auf die APIs von Azure AD Graph zu. Hier findest du einen Leitfaden über erforderliche Schritte für die Migration von Azure AD Graph zu Microsoft Graph APIs. Gehst du den Leitfaden durch wirst du erkennen zwischen den APIs von Azure AD und Microsoft Graph ist vieles identisch. Ein Unterschied ist wie es für eine App möglich ist einen Token für die Authentifizierung zu beziehen.
- Für Azure AD Graph über https://graph.windows.net
- Für Microsoft Graph über https://graph.microsoft.com
Wenn du in Azure AD in deinen App Registrations die Berechtigungen prüfst wird dir ganz unten bei Legacy APIs die API von Azure AD Graph auffallen.
Was du ausserdem wissen solltest, eine Enterprise App kann von externen Entwicklern stammen. In der Praxis kann es dadurch interne und externe Apps betreffen. In meinem Beispiel probierte ich vor langer Zeit eine externe App aus. Die Berechtigungen zeigen die App verwendet Azure AD Graph für die Anmeldung.
So eine App ist ab 30. Juni 2022 betroffen. Wird die App vom Entwickler nicht angepasst kann es sich in Zukunft bald nicht mehr anmelden, oder andere Daten über diese API beziehen. Achte aber darauf, manche Apps nutzen beide APIs. Hier am Beispiel einer OneNote App. Die App verwendet sowohl die alte wie neue API zur Anmeldung.
Da du es kennst welche API betroffen ist kannst du über einen Filter betroffene Apps abfragen. Du benötigst das PowerShell Modul für Azure AD.
- Jede Berechtigung einer App ist einer Resource zugeordnet. Die Resource ist in dem Fall die API von Windows Azure AD.
- Du musst die Resource ID der Windows Azure AD API kennen.
$AzureADGraphSPID = (Get-AzureADServicePrincipal | ?{$_.displayname -eq "Windows Azure Active Directory" }).ObjectId
- Die Resource ist der Azure App zugeordnet. Es geht nicht in einem Schritt die Resource einer App abzufragen.
- Um die Resource und damit alle Berechtigungen einer App auszulesen benötigst du das PowerShell Command Get-AzureADServicePrincipalOAuth2PermissionGrant.
Mit all den Angaben ist es einfach die Filterung vorzunehmen. Du kannst ein ForEach über jede App laufen lassen das prüft ob Berechtigungen für Windows Azure AD vorhanden sind und damit betroffene Apps auflisten. Hier ein Beispiel das du weiter verarbeiten kannst.
$AzureADGraphSPID = (Get-AzureADServicePrincipal | ?{$_.displayname -eq "Windows Azure Active Directory" }).ObjectId
$AllEnterpriseApps = Get-AzureADServicePrincipal -All:$true
$AllAzureADGraphApps = @()
$Count = 1
foreach($App in $AllEnterpriseApps )
{ Write-Host ($App.DisplayName + " - $Count of " + $AllEnterpriseApps.Count + "...")
$SPPermission = Get-AzureADServicePrincipalOAuth2PermissionGrant -ObjectId $App.ObjectId
if($SPPermission.Count -ne 0)
{ if($SPPermission.ResourceId.Contains($AzureADGraphSPID))
{ $AllAzureADGraphApps += $App.DisplayName }
}
$Count++
}
$AllAzureADGraphApps
Über einen Support Case könntest du bei Microsoft weitere Unterstützung zur Migration anfordern.