> For the complete documentation index, see [llms.txt](https://docs.scepman.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scepman.com/de/zertifikatsverwaltung/active-directory/general-configuration.md).

# Allgemeine Konfiguration

Um SCEPman die erfolgreiche Verarbeitung eingehender SOAP-Anfragen zu ermöglichen, müssen wir einige Schritte ausführen:

{% stepper %}
{% step %}

### Benutzerdefinierte Domain

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 Domain Controller anfordern.

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

Siehe unten das bekannte Problem bezüglich [WS\_E\_ENDPOINT\_ACCESS\_DENIED](/de/zertifikatsverwaltung/active-directory/general-configuration.md#ws_e_endpoint_access_denied) für weitere Informationen.
{% 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 %}
{% endstep %}

{% step %}

### BaseUrl

Damit erfolgreiche Authentifizierungen möglich sind, stellen Sie sicher, dass der [AppConfig:BaseUrl](/de/scepman-konfiguration/application-settings/basics.md#appconfig-baseurl) -Variable stimmt mit Ihrer benutzerdefinierten Domäne überein.

| Einstellung       | Wert                          |
| ----------------- | ----------------------------- |
| AppConfig:BaseUrl | Beispiel: scepman.contoso.com |

**Alternativ**, wenn Sie den AD-Endpunkt lieber über eine andere URL als Ihre anderen SCEPman-Endpunkte aufrufen möchten, verwenden Sie die dedizierte [AppConfig:ActiveDirectory:BaseUrl](/de/scepman-konfiguration/application-settings/active-directory/general.md#appconfig-activedirectory-baseurl) Einstellung.

| Einstellung                       | Wert                             |
| --------------------------------- | -------------------------------- |
| AppConfig:ActiveDirectory:BaseUrl | Beispiel: adendpoint.contoso.com |
| {% endstep %}                     |                                  |

{% step %}

### Service Principal erstellen

Verwenden Sie die `New-SCEPmanADPrincipal` Cmdlet des SCEPman-PowerShell-Moduls zum Erstellen des Service Principal in Ihrer lokalen Active Directory-Domäne. Außerdem exportiert es eine Keytab aus diesem Konto und verschlüsselt sie mit dem CA-Zertifikat von SCEPman.

Sie können diesen Befehl auf einem Domain Controller oder einem einer Domäne beigetretenen Server ausführen, auf dem die `RSAT-AD-Tools` -Funktion 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

An untergeordneten Computerobjekten:

* 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 Domain Controller keinen Netzwerkzugriff hat, gibt es Varianten des CMDlets, die ohne ihn funktionieren, jedoch zusätzliche Vorbereitungen erfordern, wie das Herunterladen des SCEPman-CA-Zertifikats und das Kopieren der CA auf die Maschine, auf der das CMDlet ausgeführt wird.
{% endhint %}

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

Die Ausführung dieses Befehls führt Folgendes aus:

1. Ein Computerobjekt in der `OU=Example,DC=contoso,DC=local` Organisationseinheit erstellen.
2. Laden Sie das CA-Zertifikat von SCEPman herunter, um die Keytab in Schritt 5 zu verschlüsseln.
3. Fügen Sie dem Computerobjekt einen Service-Principal-Namen (SPN) hinzu.
4. Erstellen Sie eine Keytab für das Computerkonto, die den Verschlüsselungsschlüssel basierend auf dem Kennwort des Computers enthält.
5. Verschlüsseln Sie die Keytab mit dem CA-Zertifikat von SCEPman, sodass nur SCEPman sie mithilfe des privaten CA-Schlüssels wieder entschlüsseln kann.
6. Geben Sie die verschlüsselte Keytab aus, damit sie in die Konfiguration von SCEPman übertragen werden kann.

Die Base64-kodierte Ausgabe muss dann der Umgebungsvariable **AppConfig:ActiveDirectory:Keytab** in Ihrem 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** Aktivieren Sie je nach Anwendungsfall eines oder mehrere der verfügbaren Zertifikatvorlagen:

*Beispiel mit allen aktivierten Zertifikatvorlagen:*

| Einstellung                                                                                                                                                          | Wert                                                                                                 |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| [AppConfig:ActiveDirectory:Keytab](appconfig:ActiveDirectory:Keytab)                                                                                                 | Base64-kodierte Keytab für den Service Principal, erstellt in [Schritt 3](#create-service-principal) |
| [AppConfig:ActiveDirectory:Computer:Enabled](/de/scepman-konfiguration/application-settings/active-directory/computer-template.md#appconfig-activedirectory-enabled) | true                                                                                                 |
| [AppConfig:ActiveDirectory:User:Enabled](/de/scepman-konfiguration/application-settings/active-directory/user-template.md#appconfig-activedirectory-enabled)         | true                                                                                                 |
| [AppConfig:ActiveDirectory:DC:Enabled](/de/scepman-konfiguration/application-settings/active-directory/dc-template.md#appconfig-activedirectory-enabled)             | true                                                                                                 |
| [AppConfig:ActiveDirectory:RdpServer:Enabled](/de/scepman-konfiguration/application-settings/active-directory/rdp-template.md#appconfig-activedirectory-enabled)     | true                                                                                                 |
| {% endstep %}                                                                                                                                                        |                                                                                                      |
| {% endstepper %}                                                                                                                                                     |                                                                                                      |

## Bekannte Probleme

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

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

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

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

Da dies `A-Record` eines Infrastrukturhosts in Zukunft nicht garantiert konsistent ist, wird das Hinzufügen eines Service Principal Names für diesen Host **nicht empfohlen**.

Stellen Sie sicher, dass Sie Ihrem App Service eine benutzerdefinierte Domäne hinzufügen und einen `A-Record` bei Ihrem DNS-Anbieter verwenden, um sie auf den App Service statt auf eine `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 bei der Registrierung des CEP-Servers auf, wenn Sie eine URI eingeben, die mit `http://`. Stellen Sie sicher, dass Sie einen CEP-Server nur mit `https://` .

### ERROR\_ACCESS\_DENIED

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

Bei der Registrierung eines CEP-Servers im Maschinenkontext muss der handelnde Benutzer (das Konto, das `gpmc.msc`gestartet hat) Mitglied der lokalen Gruppe der Administratoren auf dem Computer sein, während die GPO bearbeitet wird.

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


---

# 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.scepman.com/de/zertifikatsverwaltung/active-directory/general-configuration.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.
