# Lösung für lokales Administratorkennwort (LAPS)

Unsere Local Administrator Password Solution (LAPS) wurde entwickelt, um das Problem der Verwendung identischer Konten in Ihrer Umgebung für Benutzersupport oder Privilegienerweiterung zu lösen. LAPS erstellt starke Kennwörter für lokale Konten, die sicher gespeichert werden in *Ihrem eigenen* [Azure Key Vault](https://docs.realmjoin.com/de/realmjoin-agent/realmjoin-client/local-admin-password-solution-laps/keyvault). Für Auditing haben Sie die Möglichkeit, eine [Application Insights](https://docs.realmjoin.com/de/realmjoin-agent/realmjoin-client/local-admin-password-solution-laps/application-insights) -Instanz oder einen [Log Analytics Workspace](https://docs.realmjoin.com/de/protokolle/log-analytics).

## Voraussetzungen

Bevor Sie mit LAPS beginnen können, müssen Sie die folgenden Voraussetzungen erfüllen:

* Einrichten [Application Insights](#application-insights) ODER [Log Analytics Workspace](https://docs.realmjoin.com/de/protokolle/log-analytics)
* LAPS-Kontotypen explizit mithilfe von Gruppen- (oder Benutzer-) Einstellungen aktivieren

Wir sehen uns beide unten an.

## Protokollierung

Application Insights und Log Analytics spielen bei der Verwendung von LAPS eine wichtige Rolle. Die von LAPS ausgelösten Kennwortanfragen werden von RealmJoin protokolliert und an die konfigurierte Application Insights-Instanz oder den Log Analytics Workspace weitergeleitet. Auf diese Weise erhalten Sie vollständige Einblicke, wer Kennwörter abruft.&#x20;

Es muss nur eine Protokollierungsform gewählt werden – entweder Application Insights oder Log Analytics. Die Protokollierung ist beim Einrichten von LAPS optional und kann übersprungen werden, wenn Ihre Organisation diese Informationen nicht benötigt.

Weitere Details finden Sie in unseren [Application Insights](https://docs.realmjoin.com/de/realmjoin-agent/realmjoin-client/local-admin-password-solution-laps/application-insights) und [Log Analytics](https://docs.realmjoin.com/de/protokolle/log-analytics) Artikeln.

## Gruppeneinstellungen

LAPS unterstützt die folgenden globalen Einstellungen.

| Einstellungsschlüssel              | Standardwert | Beschreibung                                                                                                                                          |
| ---------------------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| LocalAdminManagement.Inactive      | `false`      | Auf `true` setzen, um diese Funktion zwangsweise zu deaktivieren. Dadurch werden alle lokalen Konten bereinigt und **gelöscht.** alle lokalen Konten. |
| LocalAdminManagement.CheckInterval | `"01:00"`    | Intervall für interne Konfigurationsprüfungen ([HH:mm](https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-timespan-format-strings)) |

Die folgenden Kontotypen werden unterstützt.

| Einstellungsschlüssel                  | Standardwert            |
| -------------------------------------- | ----------------------- |
| LocalAdminManagement.EmergencyAccount  | `undefined` (*inaktiv*) |
| LocalAdminManagement.SupportAccount    | `undefined` (*inaktiv*) |
| LocalAdminManagement.PrivilegedAccount | `undefined` (*inaktiv*) |

Jeder Kontotyp kann unabhängig mithilfe der folgenden allgemeinen Einstellungen konfiguriert werden. Einige Typen verfügen über spezielle Einstellungen, die in ihrem jeweiligen Abschnitt beschrieben sind.

{% hint style="info" %}
In der folgenden Tabelle `$` steht für einen der drei `Account` JSON-Objekte von oben.
{% endhint %}

| Einstellungsschlüssel | Standardwert                                                         | Beschreibung                                                                                      |
| --------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| $.NamePattern         | `"ADM-{HEX:8}"`                                                      | Spezial. Siehe [Privileged account](#privileged-account). Muss 20 Zeichen oder weniger lang sein. |
| $.DisplayName         | `"RealmJoin Local Administrator"`                                    | Anzeigename                                                                                       |
| $.PasswordCharSet     | `"!#%+23456789:=?@ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnopqrstuvwxyz"` | Zeichensatz für den Kennwortgenerator (schließt ähnlich aussehende Zeichen aus)                   |
| $.PasswordLength      | 20                                                                   | Kennwortlänge                                                                                     |
| $.PasswordPreset      | 0                                                                    | Vordefinierte Kennwortvorlagen, siehe [Kennwortgenerierung](#password-generation).                |
| $.MaxStaleness        | Spezial. Siehe [Kontowiedererstellung](#account-recreation).         | Vordefinierte Kennwortvorlagen, siehe [Kennwortgenerierung](#password-generation).                |
| $.OnDemand            | Spezial. Siehe [Support account](#support-account).                  | Konto nur auf Anfrage erstellen.                                                                  |
| $.Expiration          | Spezial. Siehe [Support account](#support-account).                  | Fester Ablaufzeitpunkt des Kontos (ISO-8601-Format)                                               |
| $.PasswordRenewals    | Spezial. Siehe [Privileged account](#privileged-account).            | Fester Ablaufzeitpunkt des Kontos (ISO-8601-Format)                                               |

## Kennwort **generierung**

Standardmäßig werden wirklich zufällige Kennwörter basierend auf den Einstellungen generiert `PasswordCharSet` und `PasswordLength`. Der Standardzeichensatz wurde so gewählt, dass ähnlich aussehende Zeichen wie `I1l` und `O0`ausgeschlossen werden. Der kryptografische Zufallszahlengenerator von Windows wird verwendet, um für die Generierung eine hohe Zufallsqualität bereitzustellen.

{% hint style="info" %}
RealmJoin behandelt Probleme mit den Komplexitätsanforderungen von Windows bei der Kontenerstellung automatisch. Wie bei allen wirklich zufälligen Kennwörtern kann es vorkommen, dass generierte Kennwörter die Komplexitätsanforderungen manchmal nicht erfüllen. Wenn dies geschieht, führt RealmJoin bis zu drei Runden der Kennwortgenerierung durch, bis ein brauchbares Kennwort erzeugt wurde. Es bleibt eine statistisch geringe Wahrscheinlichkeit, dass alle Wiederholungen überschritten werden. In diesem Fall sehen Sie eine Meldung in der Service-Logdatei ähnlich wie `Alle Wiederholungen überschritten`. Der gesamte Prozess wird beim nächsten Lauf der internen Konfigurationsprüfungen neu gestartet (siehe Einstellung `CheckInterval`).
{% endhint %}

Wirklich zufällige Kennwörter können umständlich zu verwenden sein, weshalb auch spezielle vordefinierte Vorlagen unterstützt werden.

* Voreinstellung 1 ⇒ `[1 Großbuchstabe][3 Kleinbuchstaben][4 Ziffern]`
  * `Tuci9325`
  * `Lnso5050`
  * `Khwn2174`
* Voreinstellung 2 ⇒ `Key-[6 Ziffern]-[6 Ziffern]-[6 Ziffern]-[6 Ziffern]-[6 Ziffern]-[6 Ziffern]-[6 Ziffern]-[6 Ziffern]`
  * PasswordLength-Einstellung wird unterstützt! Die Einstellung bestimmt die Anzahl der Zahlenblöcke.
  * `Key-012993-230956-976475` (PasswordLength = 3)
  * `Key-497254-679158-631224-278319` (PasswordLength = 4)
  * `Key-506179-861369-706482-613244-730371-097689-404350-340073` (Standard)
* Voreinstellung 3 ⇒ `[Wort]-[Wort]-[Wort]-[Wort]-[Wort]-[Wort]` generiert aus [Eff Long List](https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt)​
  * PasswordLength-Einstellung wird unterstützt! Die Einstellung bestimmt die Anzahl der Wörter.
  * `Exciting-Unearth-Cried-87` (PasswordLength = 3)
  * `Neurology-Astute-Debate-Marshy-15` (PasswordLength = 4)
  * `Marshy-Darkened-Undertake-Reset-Shrouded-Wise-26` (Standard)

## Kontowiedererstellung

Nachdem ein Konto verwendet wurde, kann RealmJoin so konfiguriert werden, dass das Konto mithilfe der `MaxStaleness` Einstellung gelöscht und neu erstellt wird. Auf diese Weise sind Konten immer sauber. Wenn dies nicht konfiguriert ist, werden Konten nie neu erstellt und bleiben unbegrenzt bestehen.

{% hint style="danger" %}
RealmJoin löscht das Konto und sein Profil. **Alle Dateien werden dauerhaft gelöscht.**

Wenn ein Konto noch verwendet wird – noch angemeldet, Sitzung offen, Anwendung als ADM damit gestartet und noch laufend – läuft das Konto zwar weiterhin ab, kann aber nicht gelöscht werden. **Ein neues Konto kann nicht erstellt werden, solange das alte Konto nicht gelöscht wurde.**
{% endhint %}

## Konfliktvermeidung

Auch wenn RealmJoin sein Bestes versucht, um Namenskonflikte bei der Verwaltung der Konten auf einem Gerät zu vermeiden, besteht immer die Möglichkeit, dass Konten bereits auf einem Gerät vorhanden sind und Konflikte verursachen. Deshalb unterstützt die `NamePattern` Einstellung diese Tokens mit spezieller Bedeutung für RealmJoin. Die Tokens werden durch die angegebene Funktion und deren Längenparameter nach dem Doppelpunkt transformiert.

* `{HEX:8}` ⇒ `F4D027EF`, `B3C4F74E`, ... (zufällige hexadezimale Zeichen)
* `{DEC:6}` ⇒ `506453`, `066946`, ... (zufällige dezimale Zeichen)
* `{COUNT:2}` ⇒ `01`, `02`, ... (Zähler, bleibt `01` wenn keine Konflikte existieren)

## Emergency account

Dieser Kontotyp ist Ihr Backup-Zugriff auf das Gerät, falls es katastrophal ausfällt. Er wird proaktiv erstellt. Auf diese Weise haben Sie immer Zugriff für die Wiederherstellung. Wir empfehlen, ihn für [Kontowiedererstellung](#account-recreation).

*Beispiel*

Schlüssel `LocalAdminManagement.EmergencyAccount` (für allgemeine Einstellungen siehe [Gruppeneinstellungen](#group-settings))

```json
{
  "NamePattern": "ADM-Emergency-{HEX:4}",
  "DisplayName": "Emergency Access",
  "MaxStaleness": "04:00",
  "PasswordPreset": 2
}
```

## Support account

Dieser Kontotyp kann für die bedarfsgesteuerte Erstellung konfiguriert werden. Er ist für die Verwendung in einem begrenzten Zeitfenster von 12 Stunden im On-Demand-Modus vorgesehen.

{% hint style="danger" %}
Support-Konten und ihre Profile werden 12 Stunden nach Anforderung des Kontos unabhängig von der Nutzung gelöscht (nachdem sich der Support-Benutzer abgemeldet hat). **Alle Dateien werden dauerhaft gelöscht.**
{% endhint %}

{% hint style="danger" %}
Bei Verwendung des On-Demand-Modus Kontowiedererstellung (`MaxStaleness`) *sollte nicht verwendet werden*. Sie kann Ihren Support-Workflow beeinträchtigen.
{% endhint %}

Anforderungen für den On-Demand-Workflow:

* Der Modus wird aktiviert durch Setzen von `"OnDemand": true`.
* Ein Benutzer ist angemeldet
* Der RealmJoin-Agent läuft
* Das Gerät ist mit dem Internet verbunden
* Das Gerät kann das RealmJoin-Backend erreichen

{% hint style="info" %}
Es kann bis zu 30 Minuten dauern, bis der RealmJoin-Agent die Anforderung bemerkt. Der angemeldete Benutzer kann diesen Vorgang beschleunigen, indem er im RealmJoin-Taskleistmenü "Dieses Gerät synchronisieren" auswählt.
{% endhint %}

Wenn nicht im On-Demand-Modus, wird es proaktiv erstellt.

*Beispiel*

Schlüssel `LocalAdminManagement.SupportAccount` (für allgemeine Einstellungen siehe [Gruppeneinstellungen](#group-settings))

```json
{
  "NamePattern": "ADM-Support-User-{HEX:2}",
  "DisplayName": "Support User",
  "OnDemand": true,
  "PasswordPreset": 1
}
```

## Privileged account

Dieser Kontotyp ist dafür vorgesehen, von Power-Usern verwendet zu werden, die auf ihren eigenen Geräten regelmäßige, aber kontrollierte Administratorrechte benötigen. Ein festes Ablaufdatum für das Konto kann angegeben werden (`Expiration`).

{% hint style="danger" %}
Für diesen Kontotyp Kontowiedererstellung (`MaxStaleness`) *sollte nicht verwendet werden*. Der Sinn besteht darin, Ihren Benutzern ein dauerhaftes Konto bereitzustellen.
{% endhint %}

Erzwungene Kennwortrotationen werden unterstützt:

1. `2021-11-20T12:34:56+01:00`: Jeder explizite Zeitstempel im ISO-8601-Format. Es können mehrere Zeitstempel angegeben werden.
2. `DayAfterCreate`: Nachdem das Konto erstellt wurde, wird das Kennwort des Kontos geändert. Dies ist nützlich, wenn Benutzer Windows Hello für zusätzliche Anmeldeoptionen einrichten sollen.
3. `Yearly`, `Monthly` oder `Weekly`: Das kürzere Intervall hat Vorrang (`Weekly` > `Monthly` > `Yearly`). Wenn keine weiteren Bedingungen angegeben sind, sind die Standardwerte "1. Tag des Monats" für `Monthly` oder "Montag" für `Weekly`. Außerdem `Yearly` ist standardmäßig das Datum der letzten Kennwortsetzung + 365 Tage. Alle sieben Wochentage können angegeben werden. Wenn also `Wednesday` und `Weekly` angegeben sind, wird das Kennwort jeden Mittwoch geändert. Wenn `Wednesday` und `Monthly` angegeben sind, wird das Kennwort am ersten Mittwoch jedes Monats geändert. Die Kombination von `Yearly` mit Wochentagen setzt die Frist auf den spätestmöglichen angegebenen Wochentag kurz vor Ablauf von 365 Tagen.

*Beispiel*

Schlüssel `LocalAdminManagement.PrivilegedAccount` (für allgemeine Einstellungen siehe [Gruppeneinstellungen](#group-settings))

```json
{
  "NamePattern": "Privileged-User-{COUNT:1}",
  "DisplayName": "Privileged User",
  "PasswordRenewals": ["DayAfterCreate", "Monthly", "Thursday"],
  "PasswordPreset": 3,
  "PasswordLength": 3
}
```

## Kennwörter abrufen

Verwenden Sie das RealmJoin Portal, um auf die Kennwörter zuzugreifen.<br>

<figure><img src="https://2298793958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FnrPze5jW4F0Fdr83WluM%2Fimage.png?alt=media&#x26;token=5c42cafc-c92a-4803-8ab7-254e0df392e0" alt=""><figcaption></figcaption></figure>

## Self-Service aktivieren

Benutzer können auf Konten zugreifen, die auf ihren *eigenen* Geräten erstellt wurden (sie sind "PrimaryUser"), wenn dies mithilfe des *RealmJoin Portal* ab Version `2022.5.1`aktiviert ist. Um dies zu aktivieren, definieren Sie eine Einstellung mit dem Schlüssel `Allow.SelfLAPS`. Diese Einstellung kann für Gruppen und Benutzer definiert werden. Wie bei allen Einstellungen mit dem Präfix `Allow.*` werden sie über den Benutzer und alle seine Gruppen hinweg per UND verknüpft.

```json
{
  "EmergencyAccount": true,
  "SupportAccount": true,
  "PrivilegedAccount": true
}
```

Der Wert kann auch ein reines boolesches `true`/`false`sein. Dies kann als Platzhalter verwendet werden und umfasst jeden aktuellen und zukünftigen Kontotyp. Bitte beachten Sie, dass dies nur zum Deaktivieren des Zugriffs empfohlen wird (`false`).

{% hint style="info" %}
Früher wurde empfohlen, diese Einstellung auf `true`. Da wir RealmJoin jedoch weiter ausbauen, werden neue Kontotypen hinzugefügt. Daher wird dringend empfohlen, alle `true` Werte auf die explizitere Objektnotation zu migrieren
{% endhint %}

Eine Beispielkonfiguration könnte so aussehen:

| Gruppe                  |                                                           | Kommentar                                                                                                                                                      |
| ----------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Alle Remote-Mitarbeiter | `{ "EmergencyAccount": true }`                            | Remote-Mitarbeiter dürfen auf das Notfallkonto ihrer eigenen Geräte zugreifen.                                                                                 |
| Alle Entwickler         | `{ "EmergencyAccount": true, "PrivilegedAccount": true }` | Entwickler dürfen auf ihr Notfallkonto und ihr privilegiertes Konto zugreifen – unabhängig davon, ob sie Remote-Mitarbeiter sind oder nicht.                   |
| Alle Auszubildenden     | `false`                                                   | Auszubildende dürfen niemals Zugriff auf einen der drei Kontotypen haben **und** alle zukünftigen Typen, auch wenn sie Remote-Mitarbeiter oder Entwickler sind |

{% hint style="info" %}
SelfLAPS ist stärker als die reguläre LAPS-Rolle. Das heißt, wenn ein Administratorbenutzer LAPS mit seinem regulären Benutzerkonto verwaltet, kann er sein eigenes LAPS nicht verwalten.

Minderung: Aktivieren Sie SelfLAPS für diese Administratorkonten oder verwenden Sie separate Administratorkonten.
{% endhint %}
