> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/de/automatisierung/runbooks/runbook-references/org/security/sync-mfa-secure-users-to-group_scheduled.md).

# MFA-geschützte Benutzer mit Gruppe synchronisieren, geplant

### Beschreibung

Dieses Runbook synchronisiert eine Entra ID-Gruppe mit allen Mitgliedsbenutzern, bei denen mindestens eine "sichere" Authentifizierungsmethode registriert ist, basierend auf dem Entra ID-Bericht zur Registrierung von Authentifizierungsmethoden. Welche Methodengruppen als sicher gelten, lässt sich über Umschalter konfigurieren (Passkeys/FIDO2, Plattformanmeldeinformationen, Microsoft Authenticator-App, Software-OTP, Hardware-OTP, zertifikatsbasierte Authentifizierung). Benutzer, für die keine sichere Methode mehr registriert ist, werden aus der Gruppe entfernt. Ein optionaler strenger Modus ("SecureOnly") schließt zusätzlich Benutzer aus, bei denen neben ihrer sicheren Methode noch irgendeine unsichere Methode (Telefon, E-Mail, Sicherheitsfragen) registriert ist. Gastbenutzer und Nicht-Benutzer-Gruppenmitglieder werden niemals berührt.

Optional kann ein detaillierter Bericht per E-Mail gesendet und/oder in ein Azure Storage Account hochgeladen werden (mit zeitlich begrenzten Download-Links). Der Bericht enthält CSV-Dateien und eine formatierte Excel-Arbeitsmappe mit einem Infoblatt (ausgewählte Parameter und Ergebnisanzahlen), den ausgeführten Änderungen und einer Bewertung aller Mitgliedsbenutzer pro Benutzer. Berichtdateien werden nur generiert, wenn E-Mail oder Download-Link aktiviert ist.

### So funktioniert es

Das Runbook liest den Entra ID [Bericht zur Registrierung von Authentifizierungsmethoden](https://learn.microsoft.com/en-us/graph/api/authenticationmethodsroot-list-userregistrationdetails) (`userRegistrationDetails`) und spiegelt die Zielgruppe gegen alle **Mitgliedsbenutzer** die sich qualifizieren:

* Ein Benutzer qualifiziert sich, wenn mindestens eine seiner registrierten Methoden in dem konfigurierten **sicheren** Satz enthalten ist.
* Im **strengen Modus** (`SecureOnly`), darf ein Benutzer außerdem keine Methode aus dem **unsicheren** Satz registriert haben — ein Passkey-Benutzer, der außerdem einen SMS-Faktor behält, qualifiziert sich nicht.
* Qualifizierende Benutzer, die noch keine Gruppenmitglieder sind, werden hinzugefügt; Mitglieder, die sich nicht mehr qualifizieren, werden entfernt (Mirror-Synchronisierung).
* Gastbenutzer werden niemals hinzugefügt oder entfernt. Nicht-Benutzer-Gruppenmitglieder (Geräte, Service Principals, geschachtelte Gruppen) werden niemals berührt.

Die Zielgruppe sollte ausschließlich von diesem Runbook verwaltet werden.

### Sichere Methodengruppen

Jeder Umschalter steuert, welche `methodsRegistered` Werte als sicher gelten:

| Umschalter                            | Standard | Abgedeckte Werte                                                                     |
| ------------------------------------- | -------- | ------------------------------------------------------------------------------------ |
| Passkeys / FIDO2-Sicherheitsschlüssel | ein      | `fido2SecurityKey`, `passKeyDeviceBound`, `passKeyDeviceBoundAuthenticator`          |
| Plattformanmeldeinformationen         | ein      | `windowsHelloForBusiness`, `passKeyDeviceBoundWindowsHello`, `macOsSecureEnclaveKey` |
| Microsoft Authenticator-App           | ein      | `microsoftAuthenticatorPush`, `microsoftAuthenticatorPasswordless`                   |
| Software-OTP                          | aus      | `softwareOneTimePasscode`                                                            |
| Hardware-OTP                          | aus      | `hardwareOneTimePasscode`                                                            |
| zertifikatsbasierte Authentifizierung | ein      | `certificateBasedAuthentication`                                                     |

### Strenger Modus (SecureOnly)

Wenn der strenge Modus aktiviert ist, qualifizieren sich Benutzer mit einer der folgenden integrierten unsicheren Methoden niemals:

`mobilePhone`, `alternateMobilePhone`, `officePhone`, `email`, `securityQuestion`

Falls eine Methode sowohl im sicheren als auch im unsicheren Satz landet (nur über die Überschreibungsparameter möglich), gewinnt unsicher — solche Benutzer qualifizieren sich im strengen Modus niemals. Das Runbook warnt beim Start davor.

### Referenz zur Methodenklassifizierung

Verwenden Sie beim Erstellen der kommagetrennten Überschreibungszeichenfolgen die exakten Graph-Werte aus dieser Tabelle:

| `methodsRegistered` Wert             | Anzeigename                                             | Klassifizierung | Vom Umschalter abgedeckt (Standard)                     |
| ------------------------------------ | ------------------------------------------------------- | --------------- | ------------------------------------------------------- |
| `fido2SecurityKey`                   | FIDO2-Sicherheitsschlüssel                              | Sicher          | Passkeys / FIDO2 (ein)                                  |
| `passKeyDeviceBound`                 | Passkey (gerätegebunden)                                | Sicher          | Passkeys / FIDO2 (ein)                                  |
| `passKeyDeviceBoundAuthenticator`    | Passkey in Microsoft Authenticator                      | Sicher          | Passkeys / FIDO2 (ein)                                  |
| `windowsHelloForBusiness`            | Windows Hello for Business                              | Sicher          | Plattformanmeldeinformationen (ein)                     |
| `passKeyDeviceBoundWindowsHello`     | Passkey in Windows Hello                                | Sicher          | Plattformanmeldeinformationen (ein)                     |
| `macOsSecureEnclaveKey`              | Plattformanmeldeinformation für macOS                   | Sicher          | Plattformanmeldeinformationen (ein)                     |
| `microsoftAuthenticatorPush`         | Microsoft Authenticator (Push-Benachrichtigung)         | Sicher          | Microsoft Authenticator-App (ein)                       |
| `microsoftAuthenticatorPasswordless` | Microsoft Authenticator (kennwortlose Telefonanmeldung) | Sicher          | Microsoft Authenticator-App (ein)                       |
| `softwareOneTimePasscode`            | Software-OATH-Token (TOTP-App)                          | Sicher          | Software-OTP (aus)                                      |
| `hardwareOneTimePasscode`            | Hardware-OATH-Token                                     | Sicher          | Hardware-OTP (aus)                                      |
| `certificateBasedAuthentication`     | zertifikatsbasierte Authentifizierung                   | Sicher          | zertifikatsbasierte Authentifizierung (ein)             |
| `mobilePhone`                        | Telefon (SMS / Sprachanruf)                             | Unsicher        | integrierte unsichere Liste                             |
| `alternateMobilePhone`               | Alternatives Telefon (Sprachanruf)                      | Unsicher        | integrierte unsichere Liste                             |
| `officePhone`                        | Bürotelefon (Sprachanruf)                               | Unsicher        | integrierte unsichere Liste                             |
| `email`                              | E-Mail (nur SSPR)                                       | Unsicher        | integrierte unsichere Liste                             |
| `securityQuestion`                   | Sicherheitsfragen (nur SSPR)                            | Unsicher        | integrierte unsichere Liste                             |
| `temporaryAccessPass`                | Temporary Access Pass                                   | Neutral         | qualifiziert sich niemals, disqualifiziert sich niemals |

Unbekannte oder zukünftige Graph-Werte werden als neutral behandelt, sofern sie nicht ausdrücklich in einem Überschreibungsparameter aufgeführt sind.

### Überschreibungsparameter

Beide Überschreibungsparameter sind standardmäßig ausgeblendet und für die Anpassung von RealmJoin-Runbooks vorgesehen:

* **SecureMethodsOverride** — kommagetrennte Liste von `methodsRegistered` Werten, die den sicheren Satz definiert. Wenn gesetzt, werden **alle** Methodengruppen-Umschalter ignoriert. Beispiel: `fido2SecurityKey,passKeyDeviceBound,passKeyDeviceBoundAuthenticator,windowsHelloForBusiness`
* **UnsecureMethodsOverride** — kommagetrennte Liste, die die integrierte unsichere Liste ersetzt. Wird nur im strengen Modus ausgewertet. Beispiel: `mobilePhone,alternateMobilePhone,officePhone,email,securityQuestion,softwareOneTimePasscode`

Unbekannte Werte erzeugen eine Warnung, werden aber dennoch ausgewertet, sodass zukünftige Graph-Werte verwendet werden können, bevor diese Dokumentation nachgezogen hat.

### E-Mail-Bericht und Download-Links

Optional kann ein detaillierter Bericht zugestellt werden – besonders nützlich für die Überprüfung des allerersten Laufs (idealerweise kombiniert mit dem Dry-Run-Modus):

* **Bericht per E-Mail senden** (`SendEmail`, standardmäßig aus): sendet den Bericht an die konfigurierten Empfänger. Das Empfängerfeld erscheint nur, wenn E-Mail aktiviert ist. Erfordert die `RJReport.EmailSender` Mandanteneinstellung (siehe die [Einrichtung der E-Mail-Berichterstellung](https://github.com/realmjoin/realmjoin-runbooks/tree/master/docs/general/setup-email-reporting.md)).
* **Datei-Download-Links erstellen** (`CreateDownloadLink`, standardmäßig aus): lädt die Berichtsdateien in ein Azure Storage Account hoch und gibt zeitlich begrenzte Download-Links zurück (verwendet die `RJReport.StorageAccount.*` Mandanteneinstellungen).

Berichtsdateien werden nur generiert, wenn mindestens eine der beiden Optionen aktiviert ist. Der Bericht besteht aus:

* **mfa-secure-users-group-sync-changes.csv** - alle ausgeführten (oder im Dry Run ausstehenden) Änderungen mit Methodendetails pro Benutzer
* **mfa-secure-users-group-sync-all-users.csv** - die Bewertung jedes Mitgliedsbenutzers: registrierte Methoden, sichere/unsichere Klassifizierung, Qualifikation und Gruppenmitgliedschaft
* **mfa-secure-users-group-sync-report.xlsx** - dieselben Daten als formatierte Excel-Arbeitsmappe: ein "Info"-Deckblatt mit den ausgewählten Parametern und Ergebnisanzahlen, ein Arbeitsblatt "Changes" (hinzugefügte Benutzer grün hervorgehoben, entfernte rot) und ein Arbeitsblatt "All Users"

In großen Mandanten können die rohen CSV-Dateien die Größenbegrenzung für E-Mail-Anhänge überschreiten (Graph lehnt E-Mails bei insgesamt etwa 4 MB ab). Wenn die CSV-Dateien ein Budget von 2,5 MB überschreiten, wird die E-Mail nur mit der Excel-Arbeitsmappe als Anhang gesendet (die die vollständigen Daten in komprimierter Form enthält) und einem Hinweis, der das Weglassen erläutert; ein fehlgeschlagener Versand in voller Größe wird ebenfalls automatisch mit nur der Arbeitsmappe erneut versucht. Der Upload für die Download-Links enthält unabhängig von der Größe immer alle Dateien.

### Hinweise und Einschränkungen

* Der Registrierungsbericht erfordert eine **Entra ID P1- oder P2-** Lizenz.
* Der Bericht enthält keine **deaktivierten** oder softgelöschten Benutzer — solche Konten werden beim nächsten Lauf aus der Gruppe entfernt.
* Berichtsdaten können hinter jüngsten Registrierungsänderungen zurückbleiben; eine neu registrierte Methode kann einen Synchronisationszyklus benötigen, bis sie berücksichtigt wird.
* Das Runbook verarbeitet große Mandanten (20.000+ Benutzer) über paginierte Berichtsabrufe und stapelweise Gruppenänderungen mit automatischen Drosselungs-Wiederholungen.

### Planung

Die Synchronisierung ist idempotent — ein einzelner wiederkehrender Zeitplan (z. B. täglich) hält die Gruppe auf dem neuesten Stand, und erneute Ausführungen nach teilweisen Fehlern heilen sich selbst. Empfehlung: einmal ausführen mit **Dry Run (WhatIf)** aktiviert und die Auftragsausgabe prüfen, bevor das Runbook im Live-Modus geplant wird.

### Ort

Organisation → Sicherheit → MFA-Sicherheitsbenutzer mit Gruppe synchronisieren (geplant)

**Vollständiger Runbook-Name**

rjgit-org\_security\_sync-MFA-secure-users-to-group\_scheduled

### Berechtigungen

#### Anwendungsberechtigungen

* **Typ**: Microsoft Graph
  * AuditLog.Read.All
  * Group.Read.All
  * GroupMember.ReadWrite.All
  * User.Read.All
  * Organization.Read.All
  * Mail.Send

### Parameter

#### TargetGroupId

Die Entra ID-Gruppe, in die synchronisiert werden soll. Mitglieder dieser Gruppe werden ausschließlich von diesem Runbook verwaltet.

| Eigenschaft  | Wert         |
| ------------ | ------------ |
| Erforderlich | true         |
| Standardwert |              |
| Typ          | Zeichenfolge |

#### IncludePasskeys

Passkeys und FIDO2-Sicherheitsschlüssel als sicher zählen (fido2SecurityKey, passKeyDeviceBound, passKeyDeviceBoundAuthenticator).

| Eigenschaft  | Wert     |
| ------------ | -------- |
| Erforderlich | false    |
| Standardwert | Wahr     |
| Typ          | Boolesch |

#### IncludePlatformCredentials

Plattformanmeldeinformationen als sicher zählen (windowsHelloForBusiness, passKeyDeviceBoundWindowsHello, macOsSecureEnclaveKey).

| Eigenschaft  | Wert     |
| ------------ | -------- |
| Erforderlich | false    |
| Standardwert | Wahr     |
| Typ          | Boolesch |

#### IncludeMicrosoftAuthenticator

Die Microsoft Authenticator-App als sicher zählen (microsoftAuthenticatorPush, microsoftAuthenticatorPasswordless).

| Eigenschaft  | Wert     |
| ------------ | -------- |
| Erforderlich | false    |
| Standardwert | Wahr     |
| Typ          | Boolesch |

#### IncludeSoftwareOtp

Software-OTP / Authenticator-TOTP-Apps als sicher zählen (softwareOneTimePasscode).

| Eigenschaft  | Wert     |
| ------------ | -------- |
| Erforderlich | false    |
| Standardwert | Falsch   |
| Typ          | Boolesch |

#### IncludeHardwareOtp

Hardware-OTP-Token als sicher zählen (hardwareOneTimePasscode).

| Eigenschaft  | Wert     |
| ------------ | -------- |
| Erforderlich | false    |
| Standardwert | Falsch   |
| Typ          | Boolesch |

#### IncludeCertificateBasedAuth

Zertifikatsbasierte Authentifizierung als sicher zählen (certificateBasedAuthentication).

| Eigenschaft  | Wert     |
| ------------ | -------- |
| Erforderlich | false    |
| Standardwert | Wahr     |
| Typ          | Boolesch |

#### SecureOnly

Strenger Modus: Benutzer, bei denen irgendeine unsichere Methode registriert ist (mobilePhone, alternateMobilePhone, officePhone, email, securityQuestion), qualifizieren sich niemals, selbst wenn sie auch eine sichere Methode haben. Falls sie bereits Mitglied sind, werden sie aus der Gruppe entfernt.

| Eigenschaft  | Wert     |
| ------------ | -------- |
| Erforderlich | false    |
| Standardwert | Falsch   |
| Typ          | Boolesch |

#### SecureMethodsOverride

Optional. Kommagetrennte Liste von methodsRegistered-Werten, die den sicheren Satz definieren. Wenn gesetzt, werden ALLE Umschalter für Methodengruppen ignoriert. Siehe die Runbook-Dokumentation für alle bekannten Werte.

| Eigenschaft  | Wert         |
| ------------ | ------------ |
| Erforderlich | false        |
| Standardwert |              |
| Typ          | Zeichenfolge |

#### UnsecureMethodsOverride

Optional. Kommagetrennte Liste von methodsRegistered-Werten, die die integrierte unsichere Liste ersetzen. Wird nur im strengen Modus (SecureOnly) ausgewertet.

| Eigenschaft  | Wert         |
| ------------ | ------------ |
| Erforderlich | false        |
| Standardwert |              |
| Typ          | Zeichenfolge |

#### WhatIfMode

Testlauf: protokolliert, welche Benutzer hinzugefügt oder entfernt würden, ohne die Gruppe zu ändern.

| Eigenschaft  | Wert     |
| ------------ | -------- |
| Erforderlich | false    |
| Standardwert | Falsch   |
| Typ          | Boolesch |

#### SendEmail

Wenn aktiviert, wird der Bericht per E-Mail mit CSV- und Excel-(xlsx)-Anhängen gesendet. Standardmäßig deaktiviert.

| Eigenschaft  | Wert     |
| ------------ | -------- |
| Erforderlich | false    |
| Standardwert | Falsch   |
| Typ          | Boolesch |

#### EmailTo

E-Mail-Adresse(n) des Empfängers für den Bericht. Kann eine einzelne Adresse oder mehrere durch Kommas getrennte Adressen (String) sein. Wird nur verwendet, wenn SendEmail aktiviert ist.

| Eigenschaft  | Wert         |
| ------------ | ------------ |
| Erforderlich | false        |
| Standardwert |              |
| Typ          | Zeichenfolge |

#### EmailFrom

Die Absender-E-Mail-Adresse. Stammt aus den RJReport-Mandanteneinstellungen.

| Eigenschaft  | Wert         |
| ------------ | ------------ |
| Erforderlich | false        |
| Standardwert |              |
| Typ          | Zeichenfolge |

#### ReportFileFormat

Steuert, welche Berichtsdateiformate generiert und bereitgestellt werden: "Nur CSV", "CSV & XLSX" (Standard) oder "Nur XLSX".

| Eigenschaft  | Wert         |
| ------------ | ------------ |
| Erforderlich | false        |
| Standardwert | CSV & XLSX   |
| Typ          | Zeichenfolge |

#### CreateDownloadLink

Wenn aktiviert, werden die Berichtsdateien in ein Azure Storage Account hochgeladen und zeitlich begrenzte Download-Links zurückgegeben. Standardmäßig deaktiviert.

| Eigenschaft  | Wert     |
| ------------ | -------- |
| Erforderlich | false    |
| Standardwert | Falsch   |
| Typ          | Boolesch |

#### ContainerName

Name des Speichercontainers, der für den Upload verwendet wird. Pro Runbook konfiguriert (keine globale RJReport-Einstellung).

| Eigenschaft  | Wert                           |
| ------------ | ------------------------------ |
| Erforderlich | false                          |
| Standardwert | sync-mfa-secure-users-to-group |
| Typ          | Zeichenfolge                   |

#### ResourceGroupName

Ressourcengruppe, die das Storage Account enthält. Wird aus den Tenant-Einstellungen von RJReport bezogen.

| Eigenschaft  | Wert         |
| ------------ | ------------ |
| Erforderlich | false        |
| Standardwert |              |
| Typ          | Zeichenfolge |

#### StorageAccountName

Name des Storage Account, der für den Upload verwendet wird. Wird aus den Tenant-Einstellungen von RJReport bezogen.

| Eigenschaft  | Wert         |
| ------------ | ------------ |
| Erforderlich | false        |
| Standardwert |              |
| Typ          | Zeichenfolge |

#### LinkExpiryDays

Anzahl der Tage, bis der generierte Download-Link abläuft. Wird aus den Tenant-Einstellungen von RJReport bezogen.

| Eigenschaft  | Wert  |
| ------------ | ----- |
| Erforderlich | false |
| Standardwert | 6     |
| Typ          | Int32 |

[Zurück zur Übersicht der Runbook-Referenzen](/de/automatisierung/runbooks/runbook-references.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/de/automatisierung/runbooks/runbook-references/org/security/sync-mfa-secure-users-to-group_scheduled.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
