> 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/es/gestion-de-certificados/active-directory/general-configuration.md).

# Configuración general

Para permitir que SCEPman gestione correctamente las solicitudes SOAP entrantes, necesitamos seguir algunos pasos:

{% stepper %}
{% step %}

### Dominio personalizado

Para una autenticación correcta con SCEPman, asegúrese de que un dominio personalizado que use un `registro A` apunte al App Service. De lo contrario, el cliente no podrá solicitar un ticket Kerberos válido al controlador de dominio.

{% hint style="info" %}
El dominio personalizado no tiene que parecerse al FQDN de su dominio de Active Directory  . Por lo tanto, tener un dominio `ad.contoso.local` no significa que necesite un dominio personalizado idéntico o similar para SCEPman.

Consulte el problema conocido a continuación sobre [WS\_E\_ENDPOINT\_ACCESS\_DENIED](/es/gestion-de-certificados/active-directory/general-configuration.md#ws_e_endpoint_access_denied) para obtener más información.
{% endhint %}

Asegúrese de que SCEPman esté configurado para ser accesible mediante un dominio personalizado:

{% content-ref url="/pages/f95d8259cccc4f926cc78e47a0c8ee8643f454ef" %}
[Dominio personalizado](/es/configuracion-de-azure/custom-domain.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### BaseUrl

Para permitir autenticaciones correctas, asegúrese de que la [AppConfig:BaseUrl](/es/configuracion-de-scepman/application-settings/basics.md#appconfig-baseurl) variable coincida con su dominio personalizado.

| Configuración     | Valor                        |
| ----------------- | ---------------------------- |
| AppConfig:BaseUrl | Ejemplo: scepman.contoso.com |

**Alternativamente**, si prefiere acceder al punto de conexión de AD mediante una URL distinta de la de sus otros extremos de SCEPman, use la dedicada [AppConfig:ActiveDirectory:BaseUrl](/es/configuracion-de-scepman/application-settings/active-directory/general.md#appconfig-activedirectory-baseurl) configuración.

| Configuración                     | Valor                           |
| --------------------------------- | ------------------------------- |
| AppConfig:ActiveDirectory:BaseUrl | Ejemplo: adendpoint.contoso.com |
| {% endstep %}                     |                                 |

{% step %}

### Crear Service Principal

Usa el `New-SCEPmanADPrincipal` Cmdlet del módulo de PowerShell de SCEPman para crear el principal de servicio en su dominio local de Active Directory  . También exportará un keytab de esta cuenta y lo cifrará con el certificado de CA de SCEPman.

Puede ejecutar este comando en un controlador de dominio o en un servidor unido al dominio que tenga instalada la `RSAT-AD-Tools` característica. También necesitará los siguientes permisos en la OU en la que desea crear el principal:

En la propia OU:

* Crear objetos de equipo

En los objetos de equipo descendientes:

* Restablecer contraseña
* Escribir `msDS-SupportedEncryptionTypes`
* Escribir `servicePrincipalName`
* Escribir `userPrincipalName`

La variante siguiente también requiere acceso de red HTTPS saliente a su instancia de SCEPman.

{% hint style="info" %}
Si su equipo con acceso a un Domain Controller no tiene acceso a la red, hay variantes del CMDlet que funcionan sin él, pero requieren alguna preparación adicional, como descargar el certificado CA de SCEPman y copiar la CA en la máquina que ejecuta el CMDlet.
{% endhint %}

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

La ejecución de este comando realizará lo siguiente:

1. Crear un objeto de equipo en la `OU=Example,DC=contoso,DC=local` Unidad organizativa.
2. Descargar el certificado CA de SCEPman para cifrar el keytab en el paso 5.
3. Agregar un nombre de principal de servicio (SPN) al objeto de equipo.
4. Crear un keytab para la cuenta de equipo que contenga la clave de cifrado basada en la contraseña del equipo.
5. Cifrar el keytab con el certificado CA de SCEPman, para que solo SCEPman pueda descifrarlo de nuevo usando la clave privada de la CA.
6. Generar el keytab cifrado, para que pueda transferirse a la configuración de SCEPman.

La salida codificada en Base64 debe agregarse luego a la variable de entorno **AppConfig:ActiveDirectory:Keytab** en su App Service de SCEPman.
{% endstep %}

{% step %}

### Agregar Keytab a SCEPman

La integración puede habilitarse fácilmente agregando las siguientes variables de entorno en el **App Service de SCEPman.** Según su caso de uso, habilite una o más de las plantillas de certificado disponibles:

*Ejemplo con todas las plantillas de certificado habilitadas:*

| Configuración                                                                                                                                                           | Valor                                                                                                   |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| [AppConfig:ActiveDirectory:Keytab](appconfig:ActiveDirectory:Keytab)                                                                                                    | keytab codificado en Base64 para el principal de servicio creado en [Paso 3](#create-service-principal) |
| [AppConfig:ActiveDirectory:Computer:Enabled](/es/configuracion-de-scepman/application-settings/active-directory/computer-template.md#appconfig-activedirectory-enabled) | true                                                                                                    |
| [AppConfig:ActiveDirectory:User:Enabled](/es/configuracion-de-scepman/application-settings/active-directory/user-template.md#appconfig-activedirectory-enabled)         | true                                                                                                    |
| [AppConfig:ActiveDirectory:DC:Enabled](/es/configuracion-de-scepman/application-settings/active-directory/dc-template.md#appconfig-activedirectory-enabled)             | true                                                                                                    |
| [AppConfig:ActiveDirectory:RdpServer:Enabled](/es/configuracion-de-scepman/application-settings/active-directory/rdp-template.md#appconfig-activedirectory-enabled)     | true                                                                                                    |
| {% endstep %}                                                                                                                                                           |                                                                                                         |
| {% endstepper %}                                                                                                                                                        |                                                                                                         |

## Problemas conocidos

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

```
Error: WS_E_ENDPOINT_ACCESS_DENIED 
Hex: 0x803d0005
Dec: -2143485947
```

Se sabe que este error se produce durante la validación del servidor CEP cuando usa las *predeterminadas* URI de Azure App Service. Este error se debe a que el protocolo Kerberos solicita un nombre de principal de servicio del `registro A` del servicio al que se va a acceder. En el caso de los dominios predeterminados de App Service, por ejemplo `contoso.azurewebsites.net` es un `CNAME` y apunta a un `registro A` similar a:

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

Como este `registro A` de un host de infraestructura no está garantizado que sea consistente en el futuro, agregar un nombre de principal de servicio para este host es **no se recomienda**.

Asegúrese de agregar un dominio personalizado a su app service y usar un `registro A` dentro de su proveedor de DNS para apuntarlo al app service en lugar de un `CNAME`.

{% content-ref url="/pages/f95d8259cccc4f926cc78e47a0c8ee8643f454ef" %}
[Dominio personalizado](/es/configuracion-de-azure/custom-domain.md)
{% endcontent-ref %}

### ERROR\_INVALID\_PARAMETER

```
Error: ERROR_INVALID_PARAMETER
Hex: 0x80070057
Dec: -2147024809
```

Este error se produce durante el registro del servidor CEP si introduce una URI que comienza con `http://`. Asegúrese de registrar un servidor CEP solo usando `https://` .

### ERROR\_ACCESS\_DENIED

```
Error: ERROR_ACCESS_DENIED
Hex: 0x80070005
Dec: -2147024891
```

Al registrar un servidor CEP en el contexto de la máquina, el usuario en funciones (la cuenta que inició `gpmc.msc`) debe ser miembro del grupo local de Administradores en el equipo mientras edita la GPO.

Asegúrese de iniciar `gpmc.msc` con permisos elevados en este caso.


---

# 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/es/gestion-de-certificados/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.
