# Allgemeine Konfiguration

Um SCEPman zu ermöglichen, eingehende SOAP-Anfragen erfolgreich zu verarbeiten, müssen wir einige Schritte durchführen:

{% stepper %}
{% step %}

### Benutzerdefinierte Domäne und BaseUrl

Für eine erfolgreiche Authentifizierung mit SCEPman stellen Sie sicher, dass eine benutzerdefinierte Domäne mit einem `A-Record` auf den App Service verweist. Andernfalls kann der Client kein gültiges Kerberos-Ticket vom Domänencontroller anfordern.

{% hint style="info" %}
Die benutzerdefinierte Domäne muss dem FQDN Ihrer AD-Domäne nicht ähneln. Wenn Sie also eine Domäne `ad.contoso.local` haben, bedeutet das nicht, dass Sie für SCEPman eine identische oder ähnliche benutzerdefinierte Domäne benötigen.

Siehe den unten beschriebenen bekannten Fehler zu [WS\_E\_ENDPOINT\_ACCESS\_DENIED](#ws_e_endpoint_access_denied) für weitere Informationen dazu.
{% endhint %}

Stellen Sie sicher, dass SCEPman so konfiguriert ist, dass es über eine benutzerdefinierte Domäne erreichbar ist:

{% content-ref url="/pages/8a4c10114df6670818c24b0cd7578f11bccf9e92" %}
[Benutzerdefinierte Domäne](/de/azure-konfiguration/custom-domain.md)
{% endcontent-ref %}

Die gleiche Anforderung gilt auch nach der ersten Richtlinienanfrage (Auflisten der Zertifikatvorlagen) zum Registrieren von Zertifikaten. Damit die Authentifizierung erfolgreich ist, stellen Sie sicher, dass die [AppConfig:BaseUrl](/de/scepman-konfiguration/application-settings/basics.md#appconfig-baseurl) Variable mit Ihrer benutzerdefinierten Domäne übereinstimmt, oder verwenden Sie die dedizierte [AppConfig:ActiveDirectory:BaseUrl](/de/scepman-konfiguration/application-settings/active-directory/general.md#appconfig-activedirectory-baseurl) Einstellung, wenn Sie den AD-Endpunkt lieber über eine andere URL als Ihre anderen SCEPman-Endpunkte aufrufen möchten.
{% endstep %}

{% step %}

### Service Principal erstellen

Verwenden Sie den `New-SCEPmanADPrincipal` Cmdlet des SCEPman PowerShell-Moduls, um den Service Principal in Ihrer lokalen Active-Directory-Domäne zu erstellen. Außerdem wird ein Keytab aus diesem Konto exportiert und mit dem CA-Zertifikat von SCEPman verschlüsselt.

Sie können diesen Befehl auf einem Domänencontroller oder einem domänenverbundenen Server ausführen, auf dem das [`RSAT-AD-Tools`](#user-content-fn-1)[^1] Feature installiert ist. Sie benötigen außerdem die folgenden Berechtigungen in der OU, in der Sie den Principal erstellen möchten:

Auf der OU selbst:

* Computerobjekte erstellen

Für untergeordnete Computerobjekte:

* Kennwort zurücksetzen
* Schreiben `msDS-SupportedEncryptionTypes`
* Schreiben `servicePrincipalName`
* Schreiben `userPrincipalName`

Die untenstehende Variante erfordert außerdem ausgehenden HTTPS-Netzwerkzugriff auf Ihre SCEPman-Instanz.

{% hint style="info" %}
Wenn Ihr Computer mit Zugriff auf einen Domänencontroller keinen Netzwerkzugriff hat, gibt es Varianten des CMDlets, die ohne diesen funktionieren, jedoch zusätzliche Vorbereitungen erfordern, z. B. das Herunterladen des SCEPman-CA-Zertifikats und das Kopieren der CA auf den Computer, auf dem das CMDlet ausgeführt wird.
{% endhint %}

{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```powershell
Install-Module SCEPman -Force
New-SCEPmanADPrincipal -Name "SCEPmanAD" -AppServiceUrl "scepman.contoso.com" -OU "OU=Example,DC=contoso,DC=local"
```

{% endcode %}

Die Ausführung dieses Befehls bewirkt Folgendes:

1. Ein Computerobjekt in der `OU=Example,DC=contoso,DC=com` Organisationseinheit erstellen.
2. Das CA-Zertifikat von SCEPman herunterladen, um den Keytab in Schritt 5 zu verschlüsseln.
3. Einen Dienstprinzipalnamen (SPN) zum Computerobjekt hinzufügen.
4. Einen Keytab für das Computerkonto erstellen, der den auf dem Kennwort des Computers basierenden Verschlüsselungsschlüssel enthält.
5. Den Keytab mit dem CA-Zertifikat von SCEPman verschlüsseln, sodass nur SCEPman ihn mithilfe des privaten CA-Schlüssels wieder entschlüsseln kann.
6. Den verschlüsselten Keytab ausgeben, damit er in die Konfiguration von SCEPman übertragen werden kann.

Die Base64-kodierte Ausgabe muss dann zur Umgebungsvariable **AppConfig:ActiveDirectory:Keytab** Ihres SCEPman App Service hinzugefügt werden.
{% endstep %}

{% step %}

### Keytab zu SCEPman hinzufügen

Die Integration kann einfach aktiviert werden, indem die folgenden Umgebungsvariablen im **SCEPman App Service** hinzugefügt werden. Je nach Anwendungsfall aktivieren Sie eine oder mehrere der verfügbaren Zertifikatvorlagen:

*Beispiel mit allen aktivierten Zertifikatvorlagen:*

<table data-full-width="true"><thead><tr><th>Einstellung</th><th>Wert</th></tr></thead><tbody><tr><td>AppConfig:ActiveDirectory:Keytab</td><td>Base64-kodierter Keytab für den in Schritt 1 erstellten Service Principal</td></tr><tr><td>AppConfig:ActiveDirectory:Computer:Enabled</td><td>true</td></tr><tr><td>AppConfig:ActiveDirectory:User:Enabled</td><td>true</td></tr><tr><td>AppConfig:ActiveDirectory:DC:Enabled</td><td>true</td></tr></tbody></table>
{% endstep %}
{% endstepper %}

## Bekannte Probleme

### WS\_E\_ENDPOINT\_ACCESS\_DENIED

```
Fehler: WS_E_ENDPOINT_ACCESS_DENIED 
Hex: 0x803d0005
Dez: -2143485947
```

Dieser Fehler tritt bekanntermaßen während der Validierung des CEP-Servers auf, wenn Sie die *Standard* -URIs des Azure App Service verwenden. Dieser Fehler wird dadurch verursacht, dass das Kerberos-Protokoll nach einem Dienstprinzipalnamen des A-Records des Dienstes fragt, auf den zugegriffen werden soll. Im Fall der standardmäßigen App-Service-Domänen, zum Beispiel `contoso.azurewebsites.net` ist dies nur ein CNAME und verweist auf einen A-Record ähnlich wie:

```
waws-prod-ab1-234-c56d.westeurope.cloudapp.azure.com
```

Da dieser A-Record eines Infrastrukturhosts in Zukunft nicht konsistent garantiert ist, wird das Hinzufügen eines Dienstprinzipalnamens für diesen Host **nicht empfohlen**.

Stellen Sie sicher, dass Sie Ihrem App Service eine benutzerdefinierte Domäne hinzufügen und stattdessen bei Ihrem DNS-Anbieter einen A-Record verwenden, der auf den App Service verweist, anstatt eines CNAME.

{% content-ref url="/pages/8a4c10114df6670818c24b0cd7578f11bccf9e92" %}
[Benutzerdefinierte Domäne](/de/azure-konfiguration/custom-domain.md)
{% endcontent-ref %}

### ERROR\_INVALID\_PARAMETER

```
Fehler: ERROR_INVALID_PARAMETER
Hex: 0x80070057
Dez: -2147024809
```

Dieser Fehler tritt während der Registrierung des CEP-Servers auf, wenn Sie eine URI eingeben, die mit `http://`beginnt. Stellen Sie sicher, dass Sie einen CEP-Server nur mit `https://`

### ERROR\_ACCESS\_DENIED

```
Fehler: ERROR_ACCESS_DENIED
Hex: 0x80070005
Dez: -2147024891
```

Wenn Sie einen CEP-Server im Maschinenkontext registrieren, muss der handelnde Benutzer (das Konto, das `gpmc.msc`gestartet hat) während der Bearbeitung der GPO Mitglied der lokalen Gruppe der Administratoren auf dem Computer sein.

Stellen Sie sicher, dass Sie in diesem Fall `gpmc.msc` mit erhöhten Berechtigungen starten.

[^1]: {% code fullWidth="true" %}

    ```powershell
    Install-WindowsFeature -Name RSAT-AD-Tools
    ```

    {% endcode %}


---

# Agent Instructions: 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:

```
GET https://docs.scepman.com/de/zertifikatsverwaltung/active-directory/general-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
