Tags: Active Directory, Identity-Management, PowerShell, Rechteverwaltung
Managed Service Accounts sind spezielle Konten im Active Directory, die für die Anmeldung von Windows-Diensten gedacht sind. Sie wurden mit Windows Server 2008 R2 eingeführt und bieten unter anderem ein automatisches Passwort-Management. Sie lassen sich mittels PowerShell einrichten und mit einem Computer verknüpfen.
Die wesentlichen Vorteile von Managed Service Accounts (MSAs) bestehen darin, dass sich mit ihnen das Prinzip des Least Privilege relativ einfach umsetzen lässt, und dass sie die Passwörter gemäß den definierten Policies automatisch ändern (siehe dazu: Managed Service Accounts: Windows-Dienste mit eigenen Konten anmelden.)
Der Weg zum Managed Service Account
Die Bereitstellung und Nutzung von MSAs erfolgt in 4 Schritten:
- Anlegen eines Accounts im Active Directory
- Verknüpfen des Kontos mit einem Computer-Objekt
- Installieren des Accounts auf dem betreffenden Computer
- Konfiguration des Dienstes, so dass er sich über den MSA anmeldet
Mit Ausnahme der letzten Aufgabe, die sich über das altbewährte services.msc erledigen lässt, stellt Windows für diesen Prozess keine grafischen Tools zur Verfügung. Das Management erfolgt ausschließlich in PowerShell.
Managed Service Account erzeugen
Für das Anlegen eines neuen Managed Service Accounts ist das Cmdlet New-ADServiceAccount zuständig. Unter PowerShell 3.0 kann man es aufrufen, ohne vorher das AD-Modul zu importieren (Import-Module ActiveDirectory). Im einfachsten Fall sieht der Befehl so aus (unter Windows 8 und Server 2012 kommt für normale MSAs noch -RestrictToSingleComputer hinzu):
New-ADServiceAccount -name <MSA> -Enabled $true
Dieses Beispiel erzeugt ein Konto mit dem angegebenen Namen und schaltet es aktiv. Das Cmdlet bietet jedoch eine Reihe von Optionen, um den Managed Service Account zu konfigurieren. So kann man mit Hilfe des Parameters -PATH bestimmen, in welchem AD-Container er angelegt wird (z.B. -Path "ou=marketing,dc=windowspro,dc=local"). Gibt man hier nichts an, dann landet er in Managed Service Accounts.
Weitere Schalter erlauben die Eingabe eines Service Principal Name, wenn der MSA einen SPN benötigt, eines Ablaufdatums mit -AccountExpirationDate oder eines Passworts (-AccountPassword), obwohl dieses normalerweise automatisch verwaltet wird. Details über weitere unterstützte Parameter erläutert die TechNet-Dokumentation von New-ADServiceAccount.
MSA mit einem Computer-Objekt verknüpfen
Für die anschließende Verknüpfung des erstellten Managed Service Account mit einem Computer-Objekt ist das Cmdlet Add-ADComputerServiceAccount zuständig. Der übliche Aufruf benötigt nur die Namen der beiden Objekte, die verbunden werden sollen, wobei sich in einem Befehl gleich mehrere MSAs zu einem Computer zuordnen lassen:
Add-ADComputerServiceAccount -Computer <Name des Computers> -serviceAccount myMSA1, myMSA2
MSA auf dem Zielrechner installieren
Der dritte Schritt, die Installation des MSA auf dem Computer, dessen Dienste den Account nutzen sollen, setzt voraus, dass dort ebenfalls das PowerShell-Modul für Active Directory sowie das .NET Framework vorhanden sind. Nachdem man sich dort angemeldet hat, startet man PowerShell mit administrativen Rechten und gibt man den Befehl
Install-ADServiceAccount -Identity <Name_des_MSA>
ein. Wenn man den Namen des MSA nicht mehr präsent hat, dann kann man sich eine Liste aller solcher Konten mit
Get-ADServiceAccount -filter *
ausgeben lassen.
Managed Service Account in einem Dienst verwenden
Nun lässt sich der Managed Service Account von einem Dienst auf dem betreffenden Rechner nutzen. Zu diesem Zweck öffnet man das Dienste-Applet (services.msc), öffnet den Eigenschaften-Dialog des betreffenden Services und wechselt zur Registerkarte Anmeldung.
Dort trägt man unter Dieses Konto den MSA in der Form domäne\<Name des MSA>$ ein (siehe Screenshot). Die beiden Felder für das Passwort sollten leer bleiben.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- Microsoft Entra ergänzt Azure Active Directory um Berechtigungs-Management und Verified ID
- Gruppenmitgliedschaft im Active Directory temporär zuweisen mit PowerShell-GUI
- Praxisbeispiel für JEA: Management von Storage Spaces Direct (S2D) delegieren
- Konten im Active Directory entsperren oder aktivieren mit PowerShell
- Zugriffsrechte für OUs im Active Directory anzeigen mit PowerShell
Weitere Links