> 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/pt/gestao-de-certificados/active-directory/configuracao-geral.md).

# Configuração geral

Para permitir que o SCEPman lide com êxito com as solicitações SOAP recebidas, precisamos seguir alguns passos:

{% stepper %}
{% step %}

### Domínio personalizado e BaseUrl

Para uma autenticação bem-sucedida com o SCEPman, certifique-se de que um domínio personalizado usando um `registro A` aponta para o App Service. Caso contrário, o cliente não conseguirá solicitar um ticket Kerberos válido do controlador de domínio.

{% hint style="info" %}
O domínio personalizado não precisa se assemelhar ao FQDN do seu domínio AD. Portanto, ter um domínio `ad.contoso.local` não significa que você precise de um domínio personalizado idêntico ou semelhante para o SCEPman.

Veja o problema conhecido abaixo sobre [WS\_E\_ENDPOINT\_ACCESS\_DENIED](https://app.gitbook.com/o/-LhPlvZ6dc8XcqY7tdZw/s/-LoGejQeUQcw7lqnQ3WX/~/diff/~/changes/806/certificate-management/active-directory/general-configuration#ws_e_endpoint_access_denied) para mais informações.
{% endhint %}

Certifique-se de que o SCEPman esteja configurado para ser acessível usando um domínio personalizado:

{% content-ref url="/pages/39608d06863bc8258e26ef9ccc7a89eee0d00765" %}
[Domínio personalizado](/pt/configuracao-do-azure/custom-domain.md)
{% endcontent-ref %}

O mesmo requisito também se aplica após a solicitação inicial de política (listando os modelos de certificado) para emitir certificados. Para permitir autenticações bem-sucedidas, certifique-se de que a [AppConfig:BaseUrl](https://app.gitbook.com/o/-LhPlvZ6dc8XcqY7tdZw/s/-LoGejQeUQcw7lqnQ3WX/~/diff/~/changes/806/scepman-configuration/application-settings/basics#appconfig-baseurl) variável corresponda ao seu domínio personalizado ou use a dedicada [AppConfig:ActiveDirectory:BaseUrl](https://app.gitbook.com/o/-LhPlvZ6dc8XcqY7tdZw/s/-LoGejQeUQcw7lqnQ3WX/~/diff/~/changes/806/scepman-configuration/application-settings/active-directory/general#appconfig-activedirectory-baseurl) configuração se preferir acessar o Endpoint do AD em uma URL diferente dos seus outros endpoints do SCEPman.
{% endstep %}

{% step %}

### Criar Service Principal

Use o `New-SCEPmanADPrincipal` Cmdlet do módulo PowerShell do SCEPman para criar o service principal no seu domínio local do Active Directory. Ele também exportará um keytab dessa conta e o criptografará com o certificado de CA do SCEPman.

Você pode executar este comando em um controlador de domínio ou em um servidor associado ao domínio que tenha instalado o `RSAT-AD-Tools` recurso. Você também precisará das seguintes permissões na OU na qual deseja criar o principal:

Na própria OU:

* Criar objetos de computador

Nos objetos de computador descendentes:

* Redefinir senha
* Gravar `msDS-SupportedEncryptionTypes`
* Gravar `servicePrincipalName`
* Gravar `userPrincipalName`

A variante abaixo também requer acesso de rede HTTPS de saída para sua instância do SCEPman.

{% hint style="info" %}
Se o seu computador com acesso a um Domain Controller não tiver acesso à rede, há variantes do CMDlet que funcionam sem isso, mas exigem alguma preparação adicional, como baixar o certificado de CA do SCEPman e copiar a CA para a máquina que executa o CMDlet.
{% endhint %}

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

Executar este comando fará o seguinte:

1. Criar um objeto de computador na `OU=Example,DC=contoso,DC=com` Unidade Organizacional.
2. Baixar o certificado de CA do SCEPman para criptografar o keytab na etapa 5.
3. Adicionar um service principal name (SPN) ao objeto de computador.
4. Criar um keytab para a conta de computador contendo a chave de criptografia com base na senha do computador.
5. Criptografar o keytab com o certificado de CA do SCEPman, para que apenas o SCEPman possa descriptografá-lo novamente usando a chave privada da CA.
6. Gerar a saída do keytab criptografado, para que ele possa ser transferido para a configuração do SCEPman.

A saída codificada em Base64 deve então ser adicionada à variável de ambiente **AppConfig:ActiveDirectory:Keytab** do seu SCEPman App Service.3
{% endstep %}

{% step %}

### Adicionar Keytab ao SCEPman

A integração pode ser habilitada facilmente adicionando as seguintes variáveis de ambiente no **SCEPman App Service.** Dependendo do seu caso de uso, habilite um ou mais dos modelos de certificado disponíveis:

*Exemplo com todos os modelos de certificado habilitados:*

| Configuração                                | Valor                                                                  |
| ------------------------------------------- | ---------------------------------------------------------------------- |
| AppConfig:ActiveDirectory:Keytab            | keytab codificado em Base64 para o service principal criado na Etapa 1 |
| AppConfig:ActiveDirectory:Computer:Enabled  | true                                                                   |
| AppConfig:ActiveDirectory:User:Enabled      | true                                                                   |
| AppConfig:ActiveDirectory:DC:Enabled        | true                                                                   |
| AppConfig:ActiveDirectory:RdpServer:Enabled | true                                                                   |
| {% endstep %}                               |                                                                        |
| {% endstepper %}                            |                                                                        |

## Problemas conhecidos

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

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

Sabe-se que esse erro ocorre durante a validação do servidor CEP quando você está usando os *padrão* URIs do Azure App Service. Esse erro é causado pelo protocolo Kerberos ao solicitar um service principal name do registro A do serviço que será acessado. No caso dos domínios padrão do app service, por exemplo `contoso.azurewebsites.net` é apenas um CNAME e aponta para um registro A semelhante a:

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

Como esse registro A de um host de infraestrutura não tem garantia de permanecer consistente no futuro, adicionar um service principal name para esse host é **não recomendado**.

Certifique-se de adicionar um domínio personalizado ao seu app service e usar um registro A no seu provedor de DNS para apontá-lo para o app service em vez de um CNAME.

{% content-ref url="/pages/39608d06863bc8258e26ef9ccc7a89eee0d00765" %}
[Domínio personalizado](/pt/configuracao-do-azure/custom-domain.md)
{% endcontent-ref %}

### ERROR\_INVALID\_PARAMETER

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

Esse erro ocorre durante o registro do servidor CEP se você inserir uma URI que comece com `http://`. Certifique-se de registrar um servidor CEP apenas usando `https://`

### ERROR\_ACCESS\_DENIED

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

Ao registrar um servidor CEP no contexto da máquina, o usuário em ação (a conta que iniciou `gpmc.msc`) precisa ser membro do grupo Administrators local no computador durante a edição da GPO.

Certifique-se de iniciar `gpmc.msc` com permissões elevadas neste 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:

```
GET https://docs.scepman.com/pt/gestao-de-certificados/active-directory/configuracao-geral.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.
