# Erweiterter Leitfaden

{% hint style="warning" %}
nur SCEPman Enterprise Edition
{% endhint %}

Dies führt Sie durch alle Schritte zur Bereitstellung von SCEPman für eine Enterprise-Umgebung mit erweiterten Anforderungen, z. B. Namenskonventionen, Redundanz oder Auto-Skalierung.

## Azure-Bereitstellung

Beginnen wir mit den Anforderungen und einer Ressourcenübersicht.\
Denken Sie daran, dass Sie ein sinnvolles Design für Azure-Ressourcen planen müssen.

### Voraussetzungen

#### Pflicht

* [ ] Benennungskonvention für Azure-Ressourcen.
* [ ] Azure-Abonnement (mindestens Contributor-Rechte auf diesem Abonnement).
* [ ] Azure-Owner-Rechte (mindestens auf Ressourcenebene).
* [ ] Microsoft Entra ID (Azure AD) „Global administrator“ (Zugriff auf die Graph API zustimmen).
* [ ] Stellen Sie sicher, dass Sie Ihre Azure-Richtlinien definieren [gemäß den Anforderungen von SCEPman](https://docs.scepman.com/de/sonstiges/security-faq#azure-cis) (z. B. TLS nicht erzwingen).
* [ ] Öffentlicher Domain-CNAME (*scepman.yourdomain.com*), nur wenn Geo-Redundanz verwendet wird.
* [ ] SSL-Zertifikat (oder verwenden Sie [App Service Managed Certificate](https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-certificate#create-a-free-certificate-preview)), nur wenn Geo-Redundanz verwendet wird.
* [ ] SCEPman Enterprise Edition License Key.

#### Optional

* [ ] Öffentlicher Domain-CNAME (*scepman.yourdomain.com*), nur wenn eine benutzerdefinierte Domäne verwendet wird.
* [ ] SSL-(Wildcard-)Zertifikat (oder verwenden Sie [App Service Managed Certificate](https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-certificate#create-a-free-certificate-preview)), nur wenn eine benutzerdefinierte Domäne verwendet wird.

### Azure-Ressourcenübersicht

Die folgenden Ressourcen werden für eine Produktionsumgebung empfohlen.

Wenn Sie zusätzlich Private Endpoints verwenden, haben Sie [sieben zusätzliche Azure-Ressourcen.](https://docs.scepman.com/de/azure-konfiguration/private-endpoints#azure-resources-used-for-private-endpoints)

## Konfigurationsschritte

{% stepper %}
{% step %}

### SCEPman-Basisdienste bereitstellen

{% hint style="warning" %}
Dies ist ein **Pflicht-** Schritt.
{% endhint %}

Treffen Sie Ihre Entscheidung, ob Sie mit einem **Windows** oder **Linux** App Service Plan bereitstellen möchten. Beide Bereitstellungsmethoden ermöglichen es Ihnen, Ihr Betriebssystem auszuwählen.

Um mit der Bereitstellung zu beginnen, müssen Sie unseren Einrichtungsanweisungen folgen und dabei eine **ARM-Vorlage**

{% content-ref url="../deployment-options/enterprise-deployment" %}
[enterprise-deployment](https://docs.scepman.com/de/scepman-bereitstellung/deployment-options/enterprise-deployment)
{% endcontent-ref %}

oder alternativ unser **Terraform** Skript verwenden:

{% content-ref url="../deployment-options/terraform-deployment" %}
[terraform-deployment](https://docs.scepman.com/de/scepman-bereitstellung/deployment-options/terraform-deployment)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Nachbereitungs-Schritte durchführen (Berechtigungszuweisungen)

{% hint style="warning" %}
Dies ist ein **Pflicht-** Schritt.
{% endhint %}

Um alle Komponenten von SCEPman korrekt zu verknüpfen, müssen mehrere Berechtigungen zugewiesen werden. Bitte befolgen Sie diese Schritte, um die relevanten Verbindungen herzustellen:

{% content-ref url="../permissions/post-installation-config" %}
[post-installation-config](https://docs.scepman.com/de/scepman-bereitstellung/permissions/post-installation-config)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Berechtigungen für den Certificate Master hinzufügen

{% hint style="success" %}
Dies ist ein **Pflicht-** Schritt für **Enterprise** **Edition** -Kunden. **Benutzer der** Community Edition
{% endhint %}

können diesen Schritt überspringen. **Die Certificate Master ist eine** Funktion der Enterprise Edition, die es Administratoren ermöglicht, Zertifikate manuell zu erstellen und zu widerrufen. Bitte folgen Sie diesen Schritten, um Zugriff auf den Certificate Master zu gewähren.

{% content-ref url="../../scepman-konfiguration/rbac" %}
[rbac](https://docs.scepman.com/de/scepman-konfiguration/rbac)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Root-Zertifikat erstellen

{% hint style="warning" %}
Dies ist ein **Pflicht-** Schritt.
{% endhint %}

Nach Abschluss der Bereitstellung und der Zuweisung der Berechtigungen müssen Sie das Root-Zertifikat für SCEPman erstellen:

{% content-ref url="../first-run-root-cert" %}
[first-run-root-cert](https://docs.scepman.com/de/scepman-bereitstellung/first-run-root-cert)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Eine benutzerdefinierte Domäne und ein SSL-Zertifikat konfigurieren

{% hint style="success" %}
Dies ist ein **empfohlen** Schritt. Allerdings **überspringen** Sie diesen Schritt, wenn Sie Geo-Redundanz implementieren.
{% endhint %}

Um SCEPman unter Ihrer spezifischen Domäne verfügbar zu machen, müssen Sie eine **benutzerdefinierte Domäne** im **App Service**

{% content-ref url="../../azure-konfiguration/custom-domain" %}
[custom-domain](https://docs.scepman.com/de/azure-konfiguration/custom-domain)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Manuelle Updates

{% hint style="info" %}
Dies ist ein **optional** Schritt.
{% endhint %}

Standardmäßig verfolgt SCEPman einen [Evergreen-Ansatz](https://docs.scepman.com/de/azure-konfiguration/update-strategy#evergreen-approach) bei Updates. Falls Sie die volle Kontrolle über Ihre SCEPman-Updates benötigen, konfigurieren Sie bitte einen Bereitstellungsslot wie im folgenden Leitfaden unter Abschnitt **Konfiguration des Bereitstellungsslots**.

{% content-ref url="../../azure-konfiguration/update-strategy" %}
[update-strategy](https://docs.scepman.com/de/azure-konfiguration/update-strategy)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Application Insights bereitstellen

{% hint style="success" %}
Dies ist **empfohlen** Schritt.
{% endhint %}

Application Insights kann verwendet werden, um einen Überblick über die Leistung des App Service zu erhalten und tiefere Einblicke in die Anforderungsverarbeitung von SCEPman zu gewinnen. Wir empfehlen, Application Insights immer zu konfigurieren, um den App Service zu überwachen, zu warten und zu optimieren.

{% content-ref url="../../azure-konfiguration/application-insights" %}
[application-insights](https://docs.scepman.com/de/azure-konfiguration/application-insights)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Health Check konfigurieren

{% hint style="success" %}
Dies ist **empfohlen** Schritt.
{% endhint %}

Health Checks können so konfiguriert werden, dass Administratoren benachrichtigt werden, falls der SCEPman App Service nicht reagiert.

{% content-ref url="../../azure-konfiguration/health-check" %}
[health-check](https://docs.scepman.com/de/azure-konfiguration/health-check)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Stellen Sie sicher, dass SCEPman über ausreichende Ressourcen verfügt

{% hint style="warning" %}
Dies ist ein **Pflicht-** Schritt.
{% endhint %}

Sobald Sie SCEPman in eine Produktionsumgebung verschieben, sollten Sie sicherstellen, dass SCEPman mit ausreichender Rechenleistung ausgestattet ist. Prüfen Sie daher bitte unseren Azure-Sizing-Leitfaden und aktualisieren Sie bei Bedarf die Stufe Ihres App Service Plans. Sie können dies bis nach Ihrer PoC- oder Testphase verschieben.

{% content-ref url="../../azure-konfiguration/azure-sizing" %}
[azure-sizing](https://docs.scepman.com/de/azure-konfiguration/azure-sizing)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Autoscaling konfigurieren

{% hint style="info" %}
Dies ist ein **optional** Schritt.
{% endhint %}

Die SCEPman-Lösung hat zwei unterschiedliche Aufgaben und Leistungsanforderungen.\
Die erste Aufgabe ist der Prozess der Zertifikatsausstellung: Nach der Konfiguration der SCEPman-Lösung müssen wir Zertifikate an alle Geräte verteilen (Benutzer- und/oder Gerätezertifikate), aber dies ist eine einmalige Aufgabe, und nach der ersten Bereitstellung geschieht dies nur noch, wenn ein neues Gerät registriert wird oder die Zertifikate erneuert werden müssen. In diesen Situationen wird SCEPman einen Spitzenwert an SCEP-Anfragen erleben.

Die zweite Aufgabe ist die Zertifikatsvalidierung: Nachdem wir Zertifikate an Geräte bereitgestellt haben, müssen diese Zertifikate jedes Mal validiert werden, wenn wir sie verwenden. Bei jeder zertifikatsbasierten Authentifizierung senden die Clients, Gateways oder das RADIUS-System (je nachdem, was Sie verwenden) eine OCSP-Anfrage an den SCEPman App Service. Dies führt zu einer dauerhaften Anfragelast auf dem App Service.

Um eine optimierte Leistung zu erreichen und die Kosten im Blick zu behalten, empfehlen wir, die Autoscaling-Funktionalität des App Service einzurichten. Mit dieser Funktion kann Ihre Anwendung basierend auf Kennzahlen horizontal skaliert und wieder verkleinert werden.

{% content-ref url="../../azure-konfiguration/azure-sizing/autoscaling" %}
[autoscaling](https://docs.scepman.com/de/azure-konfiguration/azure-sizing/autoscaling)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Geo-Redundanz konfigurieren

{% hint style="info" %}
Dies ist ein **optional** Schritt.
{% endhint %}

Die Konfiguration einer geo-redundanten Instanz für SCEPman kann die Serviceverfügbarkeit und Ausfallsicherheit verbessern, indem Workloads auf mehrere Azure-Regionen verteilt werden.&#x20;

Es ist jedoch wichtig zu beachten, dass dieses Setup aufgrund der zusätzlichen Ressourcen und der damit verbundenen Datenreplikation zu höheren Azure-Kosten führen kann. Microsoft bietet für Azure App Services ein SLA von 99,95 % an, was in den meisten Szenarien ausreichend ist.

{% content-ref url="../../azure-konfiguration/geo-redundancy" %}
[geo-redundancy](https://docs.scepman.com/de/azure-konfiguration/geo-redundancy)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Konfigurieren Sie Ihre MDM-Bereitstellungsprofile

{% hint style="success" %}
Dies ist ein **empfohlen** Schritt.
{% endhint %}

Mit dem Abschluss der obigen Schritte haben wir eine funktionierende SCEPman-Implementierung und können nun Zertifikate auf die Geräte bereitstellen.

Bitte verwenden Sie einen (oder mehrere) der folgenden Artikel, um Zertifikate mit Ihrer bevorzugten MDM-Lösung bereitzustellen:

{% content-ref url="../../zertifikatsverwaltung/microsoft-intune" %}
[microsoft-intune](https://docs.scepman.com/de/zertifikatsverwaltung/microsoft-intune)
{% endcontent-ref %}

{% content-ref url="../../zertifikatsverwaltung/jamf" %}
[jamf](https://docs.scepman.com/de/zertifikatsverwaltung/jamf)
{% endcontent-ref %}

{% content-ref url="../../zertifikatsverwaltung/static-certificates" %}
[static-certificates](https://docs.scepman.com/de/zertifikatsverwaltung/static-certificates)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Zertifikate manuell ausstellen oder CSRs mit dem Certificate Master signieren <a href="#manually-issue-certificates-or-sign-csrs-using-the-certificate-master" id="manually-issue-certificates-or-sign-csrs-using-the-certificate-master"></a>

{% hint style="info" %}
Dies ist ein **optional** Schritt.
{% endhint %}

Bitte folgen Sie dem nachstehenden Link, um zu erfahren, wie Sie TLS-Serverzertifikate auf Grundlage einer Liste von FQDNs ausstellen oder jede CSR mithilfe der Certificate Master-Komponente signieren können.

{% content-ref url="../../zertifikatsverwaltung/certificate-master" %}
[certificate-master](https://docs.scepman.com/de/zertifikatsverwaltung/certificate-master)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Zertifikate mithilfe der Enrollment-REST-API ausstellen

{% hint style="info" %}
Dies ist ein **optional** Schritt.
{% endhint %}

SCEPman verfügt über eine REST-API zur Registrierung von Zertifikaten. Dies ist eine Alternative zu den SCEP-Endpunkten, die eine SCEP-Authentifizierung erfordern, während die REST-API für die Authentifizierung Microsoft-Identitäten verwendet. Das Protokoll ist außerdem deutlich einfacher als SCEP.

{% content-ref url="../../zertifikatsverwaltung/api-certificates" %}
[api-certificates](https://docs.scepman.com/de/zertifikatsverwaltung/api-certificates)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Sperren für SCEPman-Azure-Ressourcen erstellen

{% hint style="info" %}
Dies ist ein **optional** Schritt.
{% endhint %}

Standardmäßig wendet SCEPman keine Sperren auf Azure-Ressourcen an. Wenn Sie Ressourcensperren verwenden und diese konfigurieren möchten, zeigt die folgende Liste, welche Sperrtypen auf jede SCEPman-Ressource angewendet werden können.

* **Key Vault:** Soft Delete und Purge Protection bieten bereits Schutz vor versehentlichem Löschen. SCEPman ändert die Ressource nach der Erstellung des CA-Schlüssels nicht mehr, daher ist eine **ReadOnlyLock** technisch möglich.
* **Storage Account:** Nur eine **DeleteLock** ist möglich, da SCEPman Zertifikatsinformationen in die Tabelle schreiben muss. Wenn ein Storage Account versehentlich gelöscht wird, gehen Informationen über bereits ausgestellte Zertifikate verloren.
* **App Services:** Ein **ReadOnlyLock** ist theoretisch möglich, muss jedoch jedes Mal entfernt werden, wenn Sie die SCEPman-Konfiguration ändern. Ein gelöschter App Service kann leicht neu installiert werden, verfügt dann jedoch nur über die Standardkonfiguration, sodass alle manuellen Änderungen erneut manuell konfiguriert werden müssen. Eine Kombination aus **DeleteLock** und **ReadOnlyLock** hilft, dieses Risiko zu mindern.
* **Log Analytics Workspace:** Ein **DeleteLock** ist technisch möglich, jedoch würden Sie nur Protokolle verlieren, die während des Aufbewahrungszeitraums gesammelt wurden, was die Verfügbarkeit des SCEPman-Dienstes nicht beeinträchtigt.
* **Weitere Azure-Ressourcen:** Diese speichern keine Daten und können ohne Informationsverlust neu erstellt werden. Eine **DeleteLock** und **ReadOnlyLock** kann für einige davon nützlich sein. Einige können überhaupt nicht gelöscht werden, da sie Abhängigkeiten zu einem der oben genannten Kernservices haben.

{% endstep %}
{% endstepper %}
