Connect-SPOService ohne Basic Authentication nutzen

Kürzlich beschrieb ich für SharePoint Online Basic Authentication zu deaktivieren.

Nachlesen:  Legacy / Basic Authentication in SharePoint Online deaktivieren

Danach kann Connect-SPOService in der Standardkonfiguration keine Verbindung zu SharePoint Online herstellen.
Als Beispiel wurde in meinem SharePoint Tenant Basic Authentication deaktiviert. Connect-SPOService gibt neu einen Fehler zurück.

PowerShell

Sign-in Logs von Entra ID zeigen keinen Fehler während der Anmeldung.
Nach Reaktivierung von Basic Authentication in SharePoint funktioniert Connect-SPOService wieder.

Eine Kontrolle der Sign-in Logs zeigt die Ursache, Connect-SPOService nutzt weiterhin Basic Authentication.

Sign-in Logs in Entra ID (mit Basic Authentication)
Sign-in Logs in Entra ID (mit Basic Authentication)

GitHub Copilot bestätigt die Situation.

The Connect-SPOService cmdlet by default uses basic authentication, which involves providing a username and password. This method does not support modern authentication features such as multi-factor authentication (MFA) or conditional access policies. If not used with HTTPS, credentials can be intercepted by attackers through man-in-the-middle attacks.

Im September 2022 wird in einem GitHub Commit für die Connect-SPOService Dokumentation der Parameter ModernAuth ergänzt.

ModernAuth
Ensures that SharePoint Online tenant administration cmdlets can connect to the service using modern TLS protocols. To use it you also need to provide the AuthenticationUrl parameter.

Bedauerlicherweise hat Microsoft bis heute den Standardwert für ModernAuth nicht angepasst. Es ist False. Ohne der expliziten Ergänzung verbindet sich Connect-SPOService noch immer mit Basic Authentication.

Dokumentation vom 12. September 2024
Dokumentation vom 12. September 2024

Ich deaktiviere Basic Authentication in SharePoint Online erneut.
Ein neuer Versuch mit Modern Authentication.

PowerShell
# PowerShell 5 only
Import-Module Microsoft.Online.SharePoint.PowerShell
Connect-SPOService `
    -Url "https://<Tenantname>-admin.sharepoint.com" `
    -Credential <Credentials> `
    -ModernAuth $true `
    -AuthenticationUrl "https://login.microsoftonline.com/organizations"


Die Verbindung wird hergestellt.

PowerShell

Eine Kontrolle der Sign-in Logs zeigt ein neues Ergebnis.

  1. Das Login wird als interaktives Sign-in protokolliert.
  2. Die Application ist “Microsoft SharePoint Online Management Shell”.
  3. Die Client App ist “Mobile Apps and Desktop clients”.

Mobile Apps and Desktop clients
In Entra ID sign-in logs, the client app “Mobile Apps and Desktop clients” refers to applications that use modern authentication protocols such as OAuth 2.0 and OpenID Connect.

Sign-in Logs in Entra ID (mit Modern Authentication)
Sign-in Logs in Entra ID (mit Modern Authentication)
Fazit für SharePoint Administratoren

Passt eure Verbindungsmethode Connect-SPOService mit den zwei Parametern ModernAuth und AuthenticationUrl an. Mit der sehr einfachen Änderung nutzt ihr Modern Authentication.

Connect-SPOService unterstützt keine Verbindungsmethode über ClientID + Zertifikat. Für die Methode sollten Administratoren PnP.PowerShell und Connect-PnPOnline einsetzen.

Microsoft.Online.SharePoint.PowerShell in PowerShell 7

Das Modul Microsoft.Online.SharePoint.PowerShell unterstützt nur PowerShell 5.
Um es in PowerShell 7 einzusetzen musst du es im PowerShell 5 Modus importieren.

PowerShell
# With PowerShell 7
Import-Module Microsoft.Online.SharePoint.PowerShell -UseWindowsPowerShell

# Optional, to ignore the warnings
 Import-Module Microsoft.Online.SharePoint.PowerShell -UseWindowsPowerShell -WarningAction SilentlyContinue

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. Bei Fragen kontaktiere mich über LinkedIn oder [email protected].

Schreibe einen Kommentar

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