Wie verbindet man sich mit PowerShell über MGGraph unter Verwendung eines App Secrets?

Melden
  1. Vorbereitung: Registrierung einer Azure AD-App mit geheimem Schlüssel
  2. Installation und Import des Microsoft Graph PowerShell Moduls
  3. Authentifizierung mit Connect-MgGraph und App Secret
  4. Beispielcode für die Verbindung
  5. Fazit

In der modernen Verwaltung von Microsoft 365-Diensten spielt die Microsoft Graph API eine zentrale Rolle. Diese Schnittstelle ermöglicht es Administratoren und Entwicklern, verschiedenste Dienste und Ressourcen von Microsoft 365 programmgesteuert zu verwalten. Um mit PowerShell auf die Microsoft Graph API zuzugreifen, wird häufig das Modul Microsoft.Graph verwendet. Dabei ergeben sich häufig Fragen, wie man eine Authentifizierung mit einem App Secret, also einem geheimen Schlüssel einer registrierten Azure AD-Anwendung, realisiert. Im Folgenden wird erläutert, wie man sich mit PowerShell und einem App Secret an Microsoft Graph (MGGraph) authentifiziert und die Verbindung herstellt.

Vorbereitung: Registrierung einer Azure AD-App mit geheimem Schlüssel

Bevor eine Verbindung zu Microsoft Graph mittels PowerShell und einem App Secret aufgebaut werden kann, muss zunächst eine Anwendung in Azure Active Directory erstellt und konfiguriert werden. Diese Anwendung fungiert als Service Principal und benötigt die entsprechenden Berechtigungen, um auf die gewünschten Microsoft 365-Dienste zugreifen zu können. Zusätzlich muss ein sogenannter Client-Secret (App Secret) erstellt werden, der später als Authentifizierungsnachweis dient.

Die Registrierung erfolgt im Azure-Portal unter "Azure Active Directory" → "App-Registrierungen". Nachdem die App erstellt wurde, sind die Anwendungs-ID (Client-ID) und die Verzeichnis-ID (Tenant-ID) zu notieren. Anschließend wird im Bereich "Zertifikate & Geheimnisse" ein neuer geheimer Schlüssel angelegt, dessen Wert als App Secret ebenfalls gespeichert wird.

Installation und Import des Microsoft Graph PowerShell Moduls

Im nächsten Schritt sollte man sicherstellen, dass das PowerShell-Modul für Microsoft Graph auf dem System installiert ist. Dieses Modul stellt alle notwendigen Cmdlets zur Verfügung, um mit Microsoft Graph zu kommunizieren. Die Installation erfolgt einfach über den Befehl Install-Module Microsoft.Graph in der PowerShell mit administrativen Rechten. Danach wird das Modul mit Import-Module Microsoft.Graph geladen.

Authentifizierung mit Connect-MgGraph und App Secret

Um sich programmgesteuert und ohne interaktive Anmeldung an Microsoft Graph anzumelden, verwendet man typischerweise die sogenannte Client-Credentials-Authentifizierung. Dafür liefert das Cmdlet Connect-MgGraph eine Parameterkombination, mit der man Client-ID, Tenant-ID und das App Secret übergeben kann.

Da das App Secret vertraulich ist, wird es in PowerShell als verschlüsseltes SecureString-Objekt eingegeben. Ein Beispiel zur Verwendung ist wie folgt: Man definiert zunächst die notwendigen Parameter (ClientId, TenantId, und das Secret als SecureString) und ruft anschließend Connect-MgGraph mit den Parametern -ClientId, -TenantId, -ClientSecret und dem Scope, beispielsweise für die https://graph.microsoft.com/.default” Berechtigung. Dadurch wird eine Anwendungskontext-Anmeldung durchgeführt, die für Hintergrundjobs oder Automatisierungs-Skripte geeignet ist.

Beispielcode für die Verbindung

Der folgende Beispielcode illustriert die Authentifizierung:

$clientId = "Ihre-Client-ID"$tenantId = "Ihr-Tenant-ID"$clientSecret = "Ihr-App-Secret"$secureSecret = ConvertTo-SecureString $clientSecret -AsPlainText -ForceConnect-MgGraph ` -ClientId $clientId ` -TenantId $tenantId ` -ClientSecret $secureSecret ` -Scopes "https://graph.microsoft.com/.default"

Nachdem die Verbindung hergestellt ist, können mittels weiterer Microsoft Graph Cmdlets verschiedene Aktionen ausgeführt werden, wie das Abrufen von Benutzerdaten, das Verwalten von Gruppen oder die Administration von Geräten.

Fazit

Die Verbindung zu Microsoft Graph über PowerShell mit einem App Secret stellt eine sichere und effiziente Möglichkeit dar, Anwendungen und Skripte mit den nötigen Berechtigungen auszustatten. Durch die Client-Credentials-Authentifizierung kann man ohne Benutzerinteraktion auf Microsoft 365-Ressourcen zugreifen. Wichtig ist dabei die korrekte Einrichtung der Azure AD-Anwendung mit passenden Berechtigungen und das sichere Handling des App Secrets.

0

Kommentare