jborean93.win_laps
Ansible Rolle win_laps
Installiert und konfiguriert die Local Administrator Password Solution Anwendung auf einem Windows-Host.
Dies kann dazu verwendet werden, Folgendes zu tun:
- Installieren der Serverkomponenten und Hinzufügen der erforderlichen Active Directory-Schemas und Berechtigungen
- Erstellen einer GPO, um die LAPS-Konfiguration automatisch an Clients zu übertragen
- Installieren der Clientkomponenten
Diese Rolle dient hauptsächlich als Konzeptnachweis und erleichtert die Einrichtung einer Testdomäne mit integrierter LAPS. Es gibt keinen Grund, warum Sie dies nicht in einer echten Umgebung ausführen können, aber aufgrund der komplexen Änderungen, die LAPS in AD erfordert, testen Sie dies bitte, bevor Sie eine Produktionsumgebung berühren.
Anforderungen
- Windows Server 2012 R2+
Hinweis: Diese Rolle wurde auf Windows Server 2016 getestet, andere Versionen sollten funktionieren, aber dies ist nicht garantiert.
Anforderungen an die Serverkomponenten
Wenn Sie diese Rolle verwenden, um die Serverkomponenten zu installieren, müssen Sie:
- Sich als Benutzer anmelden, der Teil der
Schema Admin
Domänengruppe ist - Oder einen Benutzer angeben, der Teil der
Schema Admin
Domänengruppe ist, über die Variablenopt_laps_domain_username
oderopt_laps_domain_password
- Sicherstellen, dass Sie als Administrator mit einem Domänencontroller verbunden sind
Anforderungen an die GPO-Konfiguration
Wenn Sie diese Rolle verwenden, um die GPO-Richtlinie zu konfigurieren, müssen Sie sicherstellen, dass Sie sich als Benutzer anmelden, der Berechtigungen zum Erstellen neuer GPOs und zum Verknüpfen mit den Zielorganisationseinheiten hat.
Anforderungen an die Clientkomponenten
Die einzige Anforderung für die Installation der Clientkomponenten ist, dass Sie Administrator auf dem Host sind.
Variablen
Obligatorische Variablen
Wenn opt_laps_install_server
oder opt_laps_configure_gpo
auf True
gesetzt ist, sind die folgenden Variablen obligatorisch:
man_laps_ou_containers
: Eine Liste von Organisationseinheiten, die mit der LAPS-Installation konfiguriert werden sollen. Damit werden die richtigen Berechtigungen in AD angewendet und, falls erforderlich, die neu erstellte LAPS-GPO verknüpft.
Die Werte für man_laps_ou_containers
sollten den vollständigen Distinguished Name der OU haben, z.B. OU=Workstations,DC=domain,DC=local
.
Optionale Variablen
Die folgenden Variablen sind optional:
opt_laps_admin_account
: Ändert den Namen des Administratorkontos, das mit LAPS verwaltet werden soll, standardmäßig wird das KontoBUILTIN\Administrator
verwendet.opt_laps_configure_gpo
: Wenn aufTrue
undopt_laps_install_server
aufTrue
gesetzt wird, erstellt es eine GPO, um die LAPS-Konfiguration durchzusetzen und sie mitman_laps_out_containers
zu verknüpfen (Standard:False
).opt_laps_install_client
: Wenn aufTrue
gesetzt, installiert es die Clientkomponenten (Standard:False
).opt_laps_install_powershell
: Wenn aufTrue
gesetzt, installiert es das LAPS PowerShell-ModulAdmPwd.PS
(Standard:False
).opt_laps_install_server
: Wenn aufTrue
gesetzt, werden die Serverkomponenten sowie die Active Directory-Konfigurationen installiert und konfiguriert (Standard:False
).opt_laps_install_ui
: Wenn aufTrue
gesetzt, wird die LAPS UI-Anwendung installiert (Standard:False
).opt_laps_install_source
: Der Pfad oder die URL des zu installierenden LAPS-MSI, standardmäßig die Download-URL von Microsoft.opt_laps_product_id
: Gibt die eindeutige Produkt-ID des LAPS-Installers an, die für Idempotenzprüfungen verwendet wird. Standardmäßig wird der Installer übersprungen, wenn%ProgramFiles%\LAPS
bereits existiert.opt_laps_skip_reboot
: Wenn aufTrue
gesetzt, wird der Host nicht neu gestartet, wenn die LAPS-Installation einen Neustart benötigt.out_laps_reboot_required
wird gesetzt, wenn er übersprungen wurde (Standard:False
).
Die folgenden optionalen Variablen können zur Steuerung der Serverkonfiguration gesetzt werden:
opt_laps_domain_server
: Gibt den Ziel-Domänencontroller an, zu dem die LAPS-Konfiguration hinzugefügt werden soll, standardmäßiglocalhost
.opt_laps_domain_username
: Überschreibt den Verbindungsbenutzer, der verwendet wird, um AD zu konfigurieren. Dieses Konto sollte Mitglied der GruppeSchema Admins
sein.opt_laps_domain_password
: Das Passwort füropt_laps_domain_username
.
Die folgenden optionalen Variablen können zur Steuerung der GPO-Konfiguration gesetzt werden:
opt_laps_enforce_password_expiry
: Entspricht der RichtlinieDo not allow password expiration time longer than required by policy
.opt_laps_gpo_name
: Der Name des Gruppenrichtlinienobjekts, das die LAPS-Konfiguration enthält.opt_laps_password_policy_age
: Das maximale Alter des Passworts in Tagen (Standard:30
).opt_laps_password_policy_complexity
: Die Passwortkomplexitätsrichtlinie, kann eine der folgenden sein:uppercase
uppercase,lowercase
uppercase,lowercase,digits
uppercase,lowercase,digits,symbols
Standard
opt_laps_password_policy_length
: Die Länge des zu generierenden Passworts (Standard:14
).
Ausgabevariablen
out_laps_reboot_required
: Dies wird aufTrue
gesetzt, wennopt_laps_skip_reboot
aufTrue
gesetzt ist und ein Neustart erforderlich ist, um die Installation abzuschließen.
Rollenabhängigkeiten
Keine
Beispiel-Playbooks
- name: installiere den LAPS-Client mit der UI
hosts: windows
gather_facts: no
roles:
- role: jborean93.win_laps
opt_laps_install_client: True
opt_laps_install_ui: True
- name: installiere den LAPS-Server und konfiguriere ihn für 1 OU
hosts: windows
gather_facts: no
roles:
- role: jborean93.win_laps
man_laps_ou_containers:
- OU=Workstations,DC=domain,DC=local
- OU=Accounting,DC=domain,DC=local
opt_laps_install_server: True
- name: installiere den LAPS-Server und erstelle eine GPO
hosts: windows
gather_facts: no
roles:
- role: jborean93.win_laps
man_laps_ou_containers:
- OU=Workstations,DC=domain,DC=local
opt_laps_install_server: True
opt_laps_configure_gpo: True
Sobald die Rolle ausgeführt wurde, werden das win_ad_dacl
Modul und andere im Ansible-Pfad verfügbar sein. Dieses Modul kann verwendet werden, um Lese-/Schreibzugriff auf die Passwort- und Ablaufattribute für andere Konten zu gewähren. Standardmäßig haben nur Domänenadministratoren oder das tatsächliche Computer-Konto Zugriff auf diese Werte. Um einen neuen Benutzer oder eine Gruppe zum DACL hinzuzufügen, können Sie eine Aufgabe wie folgt ausführen:
- name: füge Benutzern Lesezugriff auf das Passwortattribut hinzu
win_ad_dacl:
# es ist am besten, den vollständigen distinguished name für die OU zu verwenden
path: OU=Workstations,DC=ansible,DC=laps
state: present
# ACEs enthalten eine Liste von anzuwendenden Rechten
aces:
# Fügt Lesezugriff auf das Passwortattribut hinzu
- rights: ReadProperty
inheritance_type: Descendents
inherited_object_type: Computer
object_type: ms-Mcs-AdmPwd
access: allow
account: ANSIBLE\PasswordUsers
# Fügt Lese- und Schreibzugriff auf das Passwortablaufattribut hinzu
- rights: ReadProperty, WriteProperty
inheritance_type: Descendents
inherited_object_type: Computer
object_type: ms-Mcs-AdmPwdExpirationTime
access: allow
account: ANSIBLE\ExpiryUsers
Siehe library/win_ad_dacl.py
für weitere Details.
Die Module in library
sind nicht garantiert, in jeder Rollen-Version gleich zu bleiben. Stellen Sie sicher, dass Sie das Änderungsprotokoll auf Änderungen an diesen Modulen vor dem Upgrade der Rollen-Version lesen.
Testen
Diese Rolle setzt voraus, dass eine Domäne eingerichtet ist und auf zwei verschiedenen Hosts ausgeführt wird. Dies ist schwer in einer kostenlosen CI-Umgebung einzurichten, sodass die einzigen Tests, die durchgeführt werden, lokal über Vagrant erfolgen. Um diese Rolle zu testen, tun Sie Folgendes:
pip install pypsrp
cd tests
vagrant up
ansible-playbook -i inventory.ini main.yml -vvv
Diese Schritte können einige Zeit in Anspruch nehmen, je nachdem, ob die Vagrant-Boxen bereits heruntergeladen wurden. Das aktuelle Test-Suite installiert nur die Serverkomponenten auf dem Domänencontroller und die Client CSE auf dem anderen Server und stellt sicher, dass wir das Passwort abrufen können.
Rückstand
- Fügen Sie einen optionalen Parameter hinzu, um die SACL (Überwachung) jedes AD-Attributs zu steuern. Keine - Feature-Anfragen sind willkommen.
ansible-galaxy install jborean93.win_laps