Message Center Informationen über Basic Authentication mit Microsoft Graph auswerten

Wie im September 2021 angekündigt hat Microsoft begonnen veraltete Basic Auth Protokolle im Tenant zu deaktivieren, sofern diese in letzter Zeit nicht eingesetzt wurden. Im Message Center wird vorab informiert. Über Microsoft Graph können die Ankündigungen automatisiert ausgewertet werden.

Ab 1. Oktober 2022 unterstützt Microsoft für Exchange Online keine veralteten Basic Authentication Protokolle mehr, mit Ausnahme von SMTP.

Folgende Protokolle sind ab 1. Oktober betroffen:

  • POP
  • IMAP
  • Exchange ActiveSync
  • Exchange Remote PowerShell
  • Exchange Web Services
  • MAPI
  • RPC
  • OAB

Im September 2021 informierte Microsoft ausserdem sie beginnen im Q1/2022 Basic Auth Protokolle vorab zu deaktivieren, sofern sie im Tenant noch aktiv sind und in letzter Zeit kein Zugriff darüber stattgefunden hat. Eine Information erfolgt im Message Center des betroffenen Tenants.
In meinem Tenant erhalte ich seit Ende Februar die Art von Nachrichten für POP3, weiters für Remote PowerShell. Im Gegensatz zur Ankündigung von September 2021 ist es keine 30 Tage Vorabinformation, es wurde reduziert auf 7 Tage. Es sind jeweils zwei Nachrichten.

  1. 7 Tage vor dem Zeitpunkt eine Information über die bevorstehende Deaktivierung.
  2. Nach der Umsetzung eine Information das Protokoll wurde deaktiviert.
Informationen zur Deaktivierung von POP3 im M365 Message Center

Message Center Nachrichten lassen sich über Microsoft Graph auswerten. So können die Nachrichten automatisiert ausgewertet und Informationen über Basic Auth gefiltert werden.
Für die Auswertung über Microsoft Graph ist wie üblich eine Azure AD App erforderlich. Hier eine Hilfe zur Erstellung. Für die API ist die Berechtigung ServiceMessage.Read.All ausreichend.

  1. Über mein Command Get-TAMSAuthToken hole ich mir einen Token zur Authentifizierung.
Import-module TAMPowerShell
$AuthHeader = Get-TAMSAuthToken -AppID [AppID] -ClientSecret [ClientSecret] -Tenantname "[Tenantname].onmicrosoft.com" -API Graph -PermissionType Application -ReturnAuthHeader
  1. Über die serviceAnnouncement messages API frage ich alle noch verfügbaren Nachrichten im Message Center ab. Dabei ist auf 3 Punkte zu achten:
    • Das Message Center kann via API die Nachrichten der rund letzten 11 Monate zurückgeben.
    • Ohne Filter findet ein Paging statt. Graph gibt dadurch zuerst nur 100 Nachrichten zurück. Ohne Filter muss die Abfrage wiederholt werden bis es alle Nachrichten inkludiert.
    • Die API unterstützt Graph Filter. Bei einer Abfrage kann eine Vorfilterung stattfinden und Graph gibt nur die gefilterten Ergebnisse zurück.
  1. Ohne Graph Filter
    Ohne Filter wird das Ergebnis lokal nach der Abfrage gefiltert. Message Center Nachrichten über Anpassungen zu Basic Auth betitelt Microsoft mit dem Begriff “Basic Authentication”. Dadurch ist eine Filterung möglich. In meinem Beispiel suche ich alle Nachrichten nach dem 1. Februar 2022. Ich setze einen Filter auf den Titel und das Datum der letzten Modifizierung.
$Url = "https://graph.microsoft.com/v1.0/admin/serviceAnnouncement/messages"
$Results = Invoke-RestMethod -Method Get -Headers $AuthHeader -Uri $Url -ContentType 'application/json'	
$Results = Get-TAMSGraphAllResults -Results $Results -AuthHeader $AuthHeader

$FilterDate = get-date "1.2.2022 00:00"
$Results | ?{$_.title -like "*basic auth*" -and $_.lastModifiedDateTime -ge $FilterDate } | sort lastModifiedDateTime -Descending | select id,title,lastModifiedDateTime,Body

Als Ergebnis gibt es mir 3 Nachrichten zurück.

  • Am 25.02 eine Ankündigung über die Deaktivierung von POP3 in 7 Tagen.
  • Am 05.03. eine Information über die Deaktivierung von POP3.
  • Am 05.03. eine Ankündigung über die Deaktivierung von Remote PowerShell in 7 Tagen.

  1. Mit Graph Filter
    Mit Filter wird das Ergebnis während der Abfrage gefiltert. Da es max. 3 Ergebnisse sein sollten wird kein Paging stattfinden. Message Center Nachrichten über Anpassungen zu Basic Auth betitelt Microsoft mit dem Begriff “Basic Authentication”. Dadurch ist eine Filterung möglich. In meinem Beispiel filtere ich Nachrichten mit dem Titel Basic Auth und der letzten Modifizierungen nach dem 1. Februar 2022. Bei Graph Filter ist die Formatierung für das Datum zu beachten.
$FilterDate = (Get-Date "1.2.2022 00:00" -Format u).Replace(" ","T")
$Url = "https://graph.microsoft.com/v1.0/admin/serviceAnnouncement/messages?`$filter=(contains(title,'Basic Auth') AND lastModifiedDateTime ge $FilterDate)&`$orderby=lastModifiedDateTime%20desc"
$Results = Invoke-RestMethod -Method Get -Headers $AuthHeader -Uri $Url -ContentType 'application/json'	
$Results.value | select id,title,lastModifiedDateTime,Body

Das Ergebnis ist identisch zur Abfrage in Schritt 3.

Share
Avatar-Foto

Tobias Asböck

Tobias ist ein Senior System Engineer mit rund 10 Jahren Berufserfahrung für Microsoft 365 Produkte wie SharePoint Online, OneDrive for Business, Teams Collaboration, Entra ID, Information Protection, Universal Print und Microsoft 365 Lizenzierung. Aus der Vergangenheit kennt er über einen Zeitraum von 15+ Jahren die Planung, Administration und den Betrieb von SharePoint Server Umgebungen. Tobias ist ein PowerShell Scripter mit Zertifizierungen für Microsoft 365 Produkte. In seiner Freizeit beschäftigt sich Tobias mit Aktualisierungen in der M365-Welt, ist mit seinem Rennvelo unterwegs und anderen sportlichen Aktivitäten beschäftigt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert