> 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/bereitstellung/architecture-overview.md).

# Architekturübersicht

RealmJoin ist eine cloud-native, Multi-Tenant-SaaS und die **Begleitlösung für den Application Lifecycle und Management zu Microsoft Intune**. Es verwaltet die Anwendungsbereitstellung, das Benutzer-/Gruppen-/Gerätemanagement und die Prozessautomatisierung in Ihrem Entra ID Tenant — **ohne Server vor Ort oder lokale Infrastruktur**. Alle Backend-Dienste werden von glueckkanja in **Microsoft Azure, gehostet in Europa**.

RealmJoin deckt drei Bereiche ab:

* **Anwendungsverwaltung** – Paketierung, Bereitstellung, ein Self-Service-Katalog und Software-Reporting.
* **Benutzer-, Gruppen- und Geräteverwaltung** – eine einzige, einheitliche Ansicht, die Daten aus Intune, Entra ID, Microsoft Defender, Windows Autopilot und Anmeldeprotokollen zusammenführt.
* **Prozessautomatisierung** – Runbooks, die ausgeführt werden in *Ihrem eigenen* Azure Automation-Konto.

## Das Gesamtbild

```mermaid
%%{init: {"flowchart": {"htmlLabels": false, "nodeSpacing": 55, "rankSpacing": 90}} }%%
flowchart LR
    Admin["Administratoren"]
    Integr["Ihre Integrationen"]
    Device["Verwaltete Geräte<br/>(RealmJoin Agent)"]

    subgraph RJ["RealmJoin-Backend - Azure (Europa)"]
        direction TB
        Portal["RealmJoin Portal"]
        CustApi["Kunden-API"]
        ClientApi["Client-API"]
        FD{{"Azure Front Door"}}
        CDN["CDN und Paketserver"]
        Core[("Backend-Dienste<br/>und Datenbanken")]
    end

    subgraph Tenant["Ihr Microsoft-Tenant"]
        direction TB
        Graph["Entra ID / Intune / Defender<br/>(über Microsoft Graph)"]
        subgraph AzureRes["Ihre Azure-Ressourcen"]
            direction TB
            KV["Key Vault<br/>(LAPS-Passwörter)"]
            Autom["Azure Automation<br/>(Runbooks)"]
            LA["Log Analytics<br/>(Protokolle)"]
        end
    end

    Admin --> Portal
    Integr --> CustApi
    Device --> ClientApi
    Device --> FD
    FD --> CDN

    Portal --> Core
    ClientApi --> Core
    CustApi --> Core

    Core -->|least-privilege access| Graph
    Core --> KV
    Core --> Autom
    Core --> LA
```

RealmJoin verbindet sich über Ihren Tenant mit **Entra ID-Anwendungen mit minimalen Berechtigungen** denen Sie während des Onboardings zustimmen. Jede Aktion, die das Backend ausführt, wird durch RealmJoins **interne Role-Based Access Control (RBAC)** Modell, das die Mitgliedschaft in Entra-Gruppen und Rollen auswertet.

## Backend-Komponenten

Das Backend ist eine Reihe unabhängig bereitgestellter Dienste, die in Microsoft Azure laufen:

| Komponente                 | Zweck                                                                                                            | Wer sich damit verbindet                                                                   |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| **RealmJoin-Portal**       | Die Weboberfläche, mit der Administratoren Anwendungen, Geräte, Benutzer, Gruppen und Automatisierung verwalten. | Administratoren über die Anmeldung mit Entra ID (OAuth 2.0 / OpenID Connect).              |
| **Client-API**             | Der Endpunkt, mit dem der optionale RealmJoin Agent auf jedem Gerät kommuniziert.                                | Verwaltete Geräte, authentifiziert durch Geräteidentität (Entra-Token + Gerätezertifikat). |
| **Customer-API**           | Eine programmatische API für Ihre eigenen Integrationen und Automatisierungen.                                   | Ihre Systeme und Tools, mit einem kundenspezifischen API-Schlüssel.                        |
| **CDN und Package Server** | Liefert Anwendungspakete und Inhalte an Geräte.                                                                  | Verwaltete Geräte.                                                                         |

Dahinter betreibt RealmJoin Hintergrundverarbeitungsdienste und speichert Daten in verwalteten Azure-Datenbanken und Speicher. Intern ausgerichtete Dienste (wie Abrechnung und Hintergrundjobs) sind aus dem Internet nicht erreichbar.

## Der RealmJoin Agent

Der RealmJoin Agent ist eine **optionale** Windows-Komponente. Wenn installiert, dann:

* meldet den Gerätestatus regelmäßig an die Client-API,
* ruft eine **signierte** Gerätekonfiguration (Software- und Richtlinienzuweisungen),
* führt eine lokale **Sicherheitsüberprüfung** (Verschlüsselung, Patchstand, Firewall, Antivirus), bevor obligatorische Apps angewendet werden,
* liefert Anwendungen effizient mithilfe einer erweiterten Chocolatey-Engine plus **BranchCache** Peer-to-Peer-Verteilung,
* unterstützt **LAPS** (lokales Administratorpasswort) — Passwörter werden auf dem Gerät generiert und gespeichert in **Ihrem eigenen Azure Key Vault**.

```mermaid
sequenceDiagram
    participant Device as RealmJoin Agent
    participant API as Client-API
    participant CDN as RealmJoin CDN

    Device->>API: Status melden & Konfiguration anfordern
    API-->>Device: Signierte Konfiguration (Apps & Richtlinien)
    Device->>Device: Sicherheitsüberprüfung
    Device->>CDN: Zugewiesene Pakete herunterladen
    Note over Device: Peer-to-Peer-Paketfreigabe über BranchCache
```

Weitere Informationen zur Paketbereitstellung und BranchCache finden Sie unter [Überlegungen zur Infrastruktur](/de/bereitstellung/infrastructure.md).

## Prozessautomatisierung (Runbooks)

Runbooks laufen in **Ihrem eigenen Azure Automation-Konto** — nicht im Backend von RealmJoin. RealmJoin synchronisiert Ihre Runbook-Bibliothek mit einem kuratierten, offenen GitHub-Repository und verwaltet sowie überwacht die Auftragsausführung über das Portal. Die Runbooks agieren über die **verwaltete Identität**, sodass die von ihnen verwendeten Berechtigungen vollständig unter Ihrer Kontrolle bleiben.

Siehe [Verbindung mit Azure Automation](/de/automatisierung/connecting-azure-automation.md) und [Runbooks](/de/automatisierung/runbooks.md) für weitere Informationen.

## Anwendungsbereitstellung

Pakete werden durch die Packaging-Pipeline von RealmJoin erstellt und über das RealmJoin **CDN** und **Paketserver**, mit georepliziertem Speicher und BranchCache für eine effiziente Verteilung im Netzwerk. Anwendungen können entweder über **RealmJoin-Bereitstellung** (über den Agenten) oder als **Intune-Bereitstellung** (ein intunewin-Paket, das in Ihren Tenant übertragen wird).

## Ressourcen in Ihrer eigenen Umgebung

Mehrere Funktionen nutzen Ressourcen in **Ihrem eigenen Microsoft Tenant und Azure-Abonnement**, sodass sensible Daten unter Ihrer Kontrolle bleiben:

* **Azure Key Vault** – speichert die auf Ihren Geräten generierten LAPS-Administratorpasswörter.
* **Azure Automation** – führt Ihre Runbooks unter einer von Ihnen kontrollierten verwalteten Identität aus.
* **Log Analytics** – speichert Audit-Logs und archivierte Runbook-Logs.

RealmJoin greift auf diese — sowie auf Entra ID, Intune und Defender über Microsoft Graph — ausschließlich mit den Berechtigungen mit minimalen Rechten zu, die Sie während des Onboardings erteilen. Siehe [Erforderliche Berechtigungen im Portal](/de/bereitstellung/required-permissions.md) für die vollständige Liste.

## Sicherheit, Hosting und Datenresidenz

* **Hosting:** Alle Backend-Dienste laufen in **Microsoft Azure**, hauptsächlich in der **Region West Europe** Region mit Backup in **North Europe**. **Kundendaten verlassen Europa nicht.**
* **Bereitstellung:** Auf das Portal und die APIs wird direkt über HTTPS zugegriffen. Anwendungspakete und Inhalte werden über das RealmJoin **CDN**, abgesichert durch **Azure Front Door** für eine global lastverteilte Bereitstellung.
* **Verschlüsselung während der Übertragung:** Alle Verbindungen verwenden HTTPS/TLS.
* **Identität:** Der Administratorzugriff nutzt Entra ID (OAuth 2.0 / OpenID Connect); Geräte authentifizieren sich mit ihrer Entra-Geräteidentität und einem Gerätezertifikat; programmatische APIs verwenden kundenspezifische Schlüssel.
* **Tenant-Isolierung:** Die Daten jedes Kunden sind getrennt, und alle Backend-Codepfade arbeiten in einem Tenant-spezifischen Kontext.
* **Prinzip der minimalen Rechte:** Die Entra-Anwendungen von RealmJoin fordern nur die Berechtigungen an, die für die von Ihnen aktivierten Funktionen erforderlich sind, und alle Aktionen werden durch das interne RBAC-Modell von RealmJoin gesteuert.
* **Ausfallsicherheit:** Redundante Infrastruktur mit automatischem Failover und Point-in-Time-Datenbankwiederherstellung; die Infrastruktur ist vollständig als Code definiert (Terraform).

{% hint style="info" %}
Extern erreichbare Endpunkte sind die **Portal, Client-API, Kunden-API, CDN und Paketserver**. Die vollständige Liste der Hosts, die Sie in Ihrer Firewall zulassen müssen, finden Sie unter [Überlegungen zur Infrastruktur](/de/bereitstellung/infrastructure.md). Weitere Details zur Datenverarbeitung und Tenant-Trennung finden Sie unter [Sicherheit & Datenschutz](/de/sicherheit-and-datenschutz/security-and-privacy.md).
{% endhint %}


---

# 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/bereitstellung/architecture-overview.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.
