> 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/implementacao-do-scepman/deployment-guides/enterprise-guide-1.md).

# Guia estendido

{% hint style="warning" %}
apenas na Edição Enterprise do SCEPman
{% endhint %}

Isto irá guiá-lo por todas as etapas para implementar SCEPman num ambiente de nível empresarial com requisitos avançados, por exemplo, convenções de nomenclatura, redundância ou dimensionamento automático.

## Implantação no Azure

Vamos começar com os requisitos e uma visão geral dos recursos.\
Tenha em mente que precisa planear um design útil de recursos do Azure.

### Pré-requisitos

#### Obrigatório

* [ ] Convenção de nomenclatura de recursos do Azure.
* [ ] Subscrição do Azure (pelo menos direitos de Contribuidor nessa subscrição).
* [ ] Direitos de proprietário do Azure (pelo menos ao nível do Grupo de Recursos).
* [ ] Microsoft Entra ID (Azure AD) "Administrador global" (consentimento para aceder à Graph API).
* [ ] Certifique-se de definir as suas políticas do Azure [de acordo com os requisitos do SCEPman](/pt/outros/security-faq.md#azure-cis) (por exemplo, não impor TLS).
* [ ] CNAME de domínio público (*scepman.yourdomain.com*), apenas se for usada geo-redundância.
* [ ] Certificado SSL (ou use [Certificado gerenciado do App Service](https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-certificate#create-a-free-certificate-preview)), apenas se for usada geo-redundância.
* [ ] Chave de licença da Edição Enterprise do SCEPman.

#### Opcional

* [ ] CNAME de domínio público (*scepman.yourdomain.com*), apenas se for usado um domínio personalizado.
* [ ] Certificado SSL (Wildcard-) (ou use [Certificado gerenciado do App Service](https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-certificate#create-a-free-certificate-preview)), apenas se for usado um domínio personalizado.

### Visão geral dos recursos do Azure

Os seguintes recursos são recomendados para um ambiente de produção.

| Tipo                    | Descrição                                                                                                                                                                                                                                                                                                              |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| App Service (x2)        | Um ambiente virtual do Azure para executar as aplicações SCEPman Core e Cert Master e fornece uma interface de utilizador para configurar diferentes definições específicas da aplicação, como CNAME, certificado SSL e definições da aplicação.                                                                       |
| Plano do App Service    | <p>Um conjunto virtual de recursos de computação e configurações para o "App Service(s)".</p><p>Aqui pode configurar o nível de preços e o escalonamento de recursos.</p>                                                                                                                                              |
| Key Vault               | Ferramenta para armazenar com segurança segredos e certificados. A aplicação SCEPman irá gerar e guardar o certificado raiz no seu Key Vault.                                                                                                                                                                          |
| Application Insights    | Ferramenta de Application Performance Management (APM) para obter informações sobre as aplicações e pedidos do SCEPman. Necessária para medir o desempenho e útil para a otimização do serviço.                                                                                                                        |
| Storage Account         | <p>Plataforma de armazenamento usada pelo componente Certificate Master do SCEPman para armazenar atributos de certificados para fins de revogação.<br><br><em>Opcional:</em></p><p>O "App Service" irá carregar os artefactos de um URI de armazenamento de blobs se estiverem configuradas atualizações manuais.</p> |
| Log Analytics Workspace | <p>Um armazenamento de logs centralizado e baseado na cloud. O "App Service" guardará todos</p><p>os registos e métricas da plataforma neste workspace.<br><br>Desde a v3.0, o SCEPman escreve registos para o Log Analytics Workspace usando a API de Ingestão de Registos da Microsoft.</p>                          |

Além disso, se estiver a usar Endpoints Privados, tem [sete recursos adicionais do Azure.](/pt/configuracao-do-azure/private-endpoints.md#azure-resources-used-for-private-endpoints)

<table><thead><tr><th width="374">Tipo</th><th>Descrição</th></tr></thead><tbody><tr><td>Rede Virtual</td><td>Os App Services do SCEPman, o Key Vault e o Storage Account ligam-se através desta VNET.</td></tr><tr><td>Endpoint Privado (×2)</td><td>Um para o Key Vault e outro para o Storage Account. Torna-os acessíveis através da VNET.</td></tr><tr><td>Zona DNS privada (×2)</td><td>Um para o Key Vault e outro para o Storage Account. Ambos têm um endereço IP interno na VNET, para o qual têm um nome na respetiva zona DNS privada.</td></tr><tr><td>Interface de rede (×2)</td><td>Um para o Key Vault e outro para o Storage Account. Liga o Private Endpoint à VNET.</td></tr></tbody></table>

## Etapas de configuração

{% stepper %}
{% step %}

### Implantar os serviços base do SCEPman

{% hint style="warning" %}
Este é um **obrigatório** passo.
{% endhint %}

Tome a sua decisão sobre se gostaria de implementar com um **Windows** ou **Linux** Plano de Serviço de Aplicações. Ambos os métodos de implementação permitir-lhe-ão escolher o seu sistema operativo.

Para começar com a implementação, precisa de seguir as nossas instruções de configuração recorrendo a um **Modelo ARM**

{% content-ref url="/pages/0e8600f826f6256f28a81cb2a285fa2c168a29e3" %}
[Implementação empresarial](/pt/implementacao-do-scepman/deployment-options/enterprise-deployment.md)
{% endcontent-ref %}

ou, em alternativa, o nosso **Terraform** script:

{% content-ref url="/pages/cedc75f39237f270ca01edf8dc89ab9fd6cbb029" %}
[Implementação Terraform](/pt/implementacao-do-scepman/deployment-options/terraform-deployment.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Realizar etapas pós-implantação (atribuição de permissões)

{% hint style="warning" %}
Este é um **obrigatório** passo.
{% endhint %}

Para ligar corretamente todos os componentes do SCEPman, várias permissões precisam de ser atribuídas. Siga estes passos para estabelecer as ligações relevantes:

{% content-ref url="/pages/63b463a0df27ee30bde18e8c998cb19b34870cc1" %}
[Identidades Geridas](/pt/implementacao-do-scepman/permissions/post-installation-config.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Adicionar permissões do Certificate Master

{% hint style="success" %}
Este é um **obrigatório** etapa para **Enterprise** **Edição** clientes. **Edição Community** os utilizadores podem ignorar esta etapa.
{% endhint %}

O Certificate Master é uma **Edição Enterprise** funcionalidade que permite aos administradores gerar e revogar certificados manualmente. Siga estes passos para conceder acesso ao Certificate Master.

{% content-ref url="/pages/c60c5861fbff048d3e0cf56287e24c090cfdcf8c" %}
[RBAC do Certificate Master](/pt/configuracao-do-scepman/rbac.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Criar Certificado Raiz

{% hint style="warning" %}
Este é um **obrigatório** passo.
{% endhint %}

Após a conclusão da implantação e da atribuição de permissões, precisa de criar o certificado raiz do SCEPman:

{% content-ref url="/pages/636c1f06fa608842ef9119b2a0408f574445a531" %}
[CA raiz](/pt/implementacao-do-scepman/first-run-root-cert.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Configurar um domínio personalizado e um certificado SSL

{% hint style="success" %}
Este é um **recomendado** etapa. No entanto, **ignore** esta etapa se estiver a implementar geo-redundância.
{% endhint %}

Para ter o SCEPman disponível no seu domínio específico, precisa de criar um **Domínio personalizado** no **App Service.**

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

{% step %}

### Atualizações manuais

{% hint style="info" %}
Este é um **opcional** passo.
{% endhint %}

Por predefinição, o SCEPman adota uma [abordagem evergreen](/pt/configuracao-do-azure/update-strategy.md#evergreen-approach) para as atualizações. Caso precise de controlo total sobre as atualizações do seu SCEPman, configure um slot de implantação conforme descrito no guia seguinte, na secção **Configuração do slot de implantação**.

{% content-ref url="/pages/6b7531d4615f04592dd2fb9ef661cc2c5fd60488" %}
[Estratégia de atualização](/pt/configuracao-do-azure/update-strategy.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Implantar o Application Insights

{% hint style="success" %}
Isto é **recomendado** passo.
{% endhint %}

O Application Insights pode ser usado para obter uma visão geral do desempenho do App Service e obter insights mais profundos do processamento de pedidos do SCEPman. Recomendamos configurar sempre o Application Insights para monitorizar, manter e otimizar o App Service.

{% content-ref url="/pages/0891787e9497b3a9746c0889d68528af949b9abf" %}
[Application Insights](/pt/configuracao-do-azure/application-insights.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Configurar Health Check

{% hint style="success" %}
Isto é **recomendado** passo.
{% endhint %}

As verificações de integridade podem ser configuradas para notificar os administradores caso o SCEPman App Service deixe de responder.

{% content-ref url="/pages/ad86c88e9c1f69221e52b5de14b69c92789aeef8" %}
[Verificação de integridade](/pt/configuracao-do-azure/health-check.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Certifique-se de que o SCEPman tem recursos suficientes

{% hint style="warning" %}
Este é um **obrigatório** passo.
{% endhint %}

Assim que mover o SCEPman para um ambiente de produção, deve certificar-se de que o SCEPman está equipado com capacidade computacional suficiente. Portanto, reveja o nosso guia de dimensionamento do Azure e atualize o nível do seu Plano do App Service se necessário. Pode adiar isto até depois da sua fase de PoC ou de teste.

{% content-ref url="/pages/3760f40fcbdc30811cbb6d692b24dee34188389a" %}
[Dimensionamento do App Service](/pt/configuracao-do-azure/azure-sizing.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Configurar o dimensionamento automático

{% hint style="info" %}
Este é um **opcional** passo.
{% endhint %}

A solução SCEPman tem duas tarefas diferentes e requisitos de desempenho.\
Uma tarefa é o processo de emissão de certificados: após a configuração da solução SCEPman, precisamos de implementar certificados em todos os dispositivos (certificados de utilizador e/ou de dispositivo), mas esta é uma tarefa única e, após a implementação inicial, isto só acontece quando um novo dispositivo é inscrito ou quando os certificados precisam de ser renovados. Nessas situações, o SCEPman enfrentará um pico de pedidos SCEP.

A segunda tarefa é a validação de certificados: depois de implementarmos certificados nos dispositivos, esses certificados precisam de ser validados sempre que os utilizamos. Em cada autenticação baseada em certificado, os clientes, gateways ou sistema RADIUS (depende do que usar) enviarão um pedido OCSP para o SCEPman App Service. Isto causará uma carga permanente de pedidos no App Service.

Para obter um desempenho otimizado e controlar os custos, recomendamos configurar a funcionalidade de dimensionamento automático do App Service. Com esta funcionalidade, a sua aplicação pode escalar horizontalmente e reduzir a escala com base em métricas.

{% content-ref url="/pages/7fe3a37e768bcc6bed30dd14e46b3b57522aafe6" %}
[Dimensionamento automático](/pt/configuracao-do-azure/azure-sizing/autoscaling.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Configurar geo-redundância

{% hint style="info" %}
Este é um **opcional** passo.
{% endhint %}

Configurar uma instância geo-redundante para o SCEPman pode melhorar a disponibilidade e a resiliência do serviço, distribuindo as cargas de trabalho por várias regiões do Azure.

No entanto, é importante notar que esta configuração pode levar a custos mais elevados do Azure devido aos recursos adicionais e à replicação de dados envolvidos. A Microsoft fornece um SLA de 99,95% para o Azure App Services, o que é adequado na maioria dos cenários.

{% content-ref url="/pages/5aca5784c853f70b039ebf1d3765ad99e860dd34" %}
[Geo-redundância](/pt/configuracao-do-azure/geo-redundancy.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Configure os seus perfis de implantação MDM

{% hint style="success" %}
Este é um **recomendado** passo.
{% endhint %}

Com a conclusão das etapas acima, temos uma implementação funcional do SCEPman e agora podemos emitir certificados para os dispositivos.

Utilize um (ou mais) dos seguintes artigos para emitir certificados com a sua solução MDM preferida:

{% content-ref url="/pages/81663f29b3cd6bdd6e3e821715f3f8e0c22872d6" %}
[Microsoft Intune](/pt/gestao-de-certificados/microsoft-intune.md)
{% endcontent-ref %}

{% content-ref url="/pages/b1dbaf9364ba1fd4f9eebf97d3507220cb5d15df" %}
[Jamf Pro](/pt/gestao-de-certificados/jamf.md)
{% endcontent-ref %}

{% content-ref url="/pages/4c4993d96763dcf7bd2691320fcdb2327a542fdb" %}
[Outras soluções MDM](/pt/gestao-de-certificados/static-certificates.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Emitir certificados manualmente ou assinar CSRs usando o Certificate Master <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" %}
Este é um **opcional** passo.
{% endhint %}

Siga a ligação abaixo para aprender a emitir certificados de servidor TLS com base numa lista de FQDNs ou assinar qualquer CSR usando o componente Certificate Master.

{% content-ref url="/pages/a1b23d27808692068efbb1385a3ed013c0093535" %}
[Certificate Master](/pt/gestao-de-certificados/certificate-master.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Emitir certificados usando a API REST de inscrição

{% hint style="info" %}
Este é um **opcional** passo.
{% endhint %}

O SCEPman disponibiliza uma API REST para inscrever certificados. Esta é uma alternativa aos endpoints SCEP que exigem autenticação no estilo SCEP, enquanto a API REST usa Identidades Microsoft para autenticação. O protocolo também é muito mais simples do que o SCEP.

{% content-ref url="/pages/739600e75b7d88c923986e80f4a8b67dbab501e6" %}
[API REST de inscrição](/pt/gestao-de-certificados/api-certificates.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Criar bloqueios nos recursos do Azure do SCEPman

{% hint style="info" %}
Este é um **opcional** passo.
{% endhint %}

Por predefinição, o SCEPman não aplica quaisquer bloqueios aos recursos do Azure. Se utilizar bloqueios de recursos e quiser configurá-los, a lista seguinte descreve que tipos de bloqueio podem ser aplicados a cada recurso do SCEPman.

* **Key Vault:** Soft Delete e Purge Protection já fornecem proteção contra eliminação acidental. O SCEPman não modifica o recurso após a criação da chave da CA, por isso um **ReadOnlyLock** é tecnicamente possível.
* **Storage Account:** Apenas um **DeleteLock** é possível, uma vez que o SCEPman precisa de escrever informações de certificados na tabela. Se um Storage Account for eliminado acidentalmente, perderá informações sobre certificados já emitidos.
* **App Services:** Um **ReadOnlyLock** é teoricamente possível, mas tem de ser removido sempre que modificar a configuração do SCEPman. Um App Service eliminado pode ser facilmente reinstalado, mas só terá a configuração predefinida, pelo que todas as alterações manuais terão de ser reconfiguradas manualmente. Uma combinação de **DeleteLock** e **ReadOnlyLock** ajuda a mitigar este risco.
* **Log Analytics Workspace:** Um **DeleteLock** é tecnicamente possível, mas apenas perderia os registos recolhidos durante o período de retenção, o que não afeta a disponibilidade do serviço SCEPman.
* **Outros recursos do Azure:** Estes não armazenam dados e podem ser recriados sem perda de informação. Um **DeleteLock** e **ReadOnlyLock** pode ser útil para alguns deles. Alguns não podem ser eliminados de todo porque têm dependências num dos serviços principais mencionados acima.
  {% endstep %}
  {% endstepper %}


---

# 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/pt/implementacao-do-scepman/deployment-guides/enterprise-guide-1.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.
