# Guia Estendido

{% hint style="warning" %}
Apenas SCEPman Enterprise Edition
{% endhint %}

Isto o guiará por todas as etapas para implementar o SCEPman para um ambiente de nível empresarial com requisitos avançados, por exemplo, convenções de nomenclatura, redundância ou autoescalonamento.

## Implantação no Azure

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

### Pré-requisitos

#### Obrigatório

* [ ] Convenção de nomenclatura de recursos do Azure.
* [ ] Subscrição do Azure (pelo menos direitos de Contributor nessa subscrição).
* [ ] Direitos de owner do Azure (pelo menos ao nível de Resource Group).
* [ ] Microsoft Entra ID (Azure AD) "Global administrator" (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 do Domínio Público (*scepman.yourdomain.com*), apenas se for usada redundância geográfica.
* [ ] Certificado SSL (ou use [App Service Managed Certificate](https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-certificate#create-a-free-certificate-preview)), apenas se for usada redundância geográfica.
* [ ] SCEPman Enterprise Edition License Key.

#### Opcional

* [ ] CNAME do Domínio Público (*scepman.yourdomain.com*), apenas se for usado um domínio personalizado.
* [ ] Certificado SSL (Wildcard-) (ou use [App Service Managed Certificate](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.

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

## Passos de configuração

{% stepper %}
{% step %}

### Implementar os serviços base do SCEPman

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

Faça a sua escolha sobre se gostaria de implantar com um **Windows** ou **Linux** App Service Plan. Ambos os métodos de implantação permitirão escolher o seu Sistema Operativo.

Para começar a implantação, você precisa seguir as nossas instruções de configuração, utilizando um **ARM Template**

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

ou, alternativamente, o nosso **Terraform** script:

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

{% endstep %}

{% step %}

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

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

Para ligar corretamente todos os componentes do SCEPman, várias permissões precisam 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 **passo** passo para **Enterprise** **Edition** clientes. **Community Edition** utilizadores podem ignorar este passo.
{% endhint %}

O Certificate Master é uma funcionalidade da **Enterprise Edition** 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 Gestor de Certificados](/pt/configuracao-do-scepman/rbac.md)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Criar Certificado Raiz

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

Após a conclusão da implementação e da atribuição de permissões, precisa de criar o certificado raiz para o 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 redundância geográfica.
{% endhint %}

Para disponibilizar o seu SCEPman 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** obrigatório.
{% endhint %}

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

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

{% endstep %}

{% step %}

### Implementar o Application Insights

{% hint style="success" %}
Isto é **recomendado** obrigatório.
{% endhint %}

O Application Insights pode ser usado para obter uma visão geral do desempenho do App Service e para obter informações mais detalhadas sobre o 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 o Health Check

{% hint style="success" %}
Isto é **recomendado** obrigatório.
{% endhint %}

Os Health Checks podem ser configurados para notificar os administradores no caso de o SCEPman App Service não 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 **passo** obrigatório.
{% endhint %}

Depois de mover o SCEPman para um ambiente de produção, deve garantir que o SCEPman está equipado com capacidade de processamento suficiente. Por isso, reveja o nosso guia de dimensionamento do Azure e atualize o nível do seu App Service Plan, se necessário. Pode adiar isto até depois da sua PoC ou da fase de avaliação.

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

{% endstep %}

{% step %}

### Configurar Autoescalonamento

{% hint style="info" %}
Este é um **opcional** obrigatório.
{% 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 implantar certificados em todos os dispositivos (certificados de utilizador e/ou dispositivo), mas esta é uma tarefa única e, após a implantação inicial, isso só acontece quando um novo dispositivo é inscrito ou os certificados precisam ser renovados. Nessas situações, o SCEPman enfrentará um pico de pedidos SCEP.

A segunda tarefa é a validação de certificados: Após implantarmos certificados nos dispositivos, esses certificados precisam de ser validados sempre que os utilizamos. Para cada autenticação baseada em certificado, os clientes, gateways ou o sistema RADIUS (depende do que você usa) enviarão um pedido OCSP para o SCEPman App Service. Isso causará uma carga permanente de pedidos no App Service.

Para ter um desempenho otimizado e controlar os custos, recomendamos configurar a funcionalidade de Autoescalonamento 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" %}
[Escala Automática](/pt/configuracao-do-azure/azure-sizing/autoscaling.md)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Configurar Redundância Geográfica

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

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

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

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

{% endstep %}

{% step %}

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

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

Com a conclusão dos passos acima, temos uma implementação funcional do SCEPman e podemos agora implementar certificados nos dispositivos.

Utilize um (ou mais) dos artigos seguintes para implementar 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** obrigatório.
{% endhint %}

Siga o link abaixo para saber como 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" %}
[Gestor de Certificados](/pt/gestao-de-certificados/certificate-master.md)
{% endcontent-ref %}

{% endstep %}

{% step %}

### Emitir Certificados usando a Enrollment REST API

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

O SCEPman apresenta uma API REST para registar certificados. Esta é uma alternativa aos endpoints SCEP, que exigem o estilo de autenticação 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** obrigatório.
{% 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, portanto um **ReadOnlyLock** é tecnicamente possível.
* **Storage Account:** Apenas um **DeleteLock** é possível, pois o SCEPman precisa de escrever informações de certificados na tabela. Se um Storage Account for eliminado acidentalmente, você perde 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 terá apenas 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 você apenas perderia 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 forma alguma porque têm dependências num dos serviços principais mencionados acima.

{% endstep %}
{% endstepper %}


---

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