Identidades Gerenciadas
Este recurso requer a versão 2.0 ou superior.
O SCEPman precisa interagir com o seu Entra Directory e os endpoints do Intune para fornecer o certificado e a validação OCSP de usuários e dispositivos. Após a implantação, o SCEPman ainda não possui as permissões necessárias para acessar esses serviços. O Módulo PowerShell descrito neste artigo adiciona as permissões necessárias à Identidade Gerenciada do App Service do SCEPman e conclui a instalação.
Além disso, o Módulo PowerShell adiciona a ligação de fundo necessária para o componente SCEPman Certificate Master introduzido com o SCEPman 2.0. Caso você tenha atualizado do SCEPman 1.x para o SCEPman 2.x, o Módulo PowerShell até adiciona dois novos Recursos do Azure para o componente SCEPman Certificate Master.
Adquirir e executar o Módulo PowerShell de Instalação do SCEPman
Se você acabou de instalar uma nova instalação do SCEPman 2.x ou se acabou de atualizar do SCEPman 1.x para o SCEPman 2.x, e em alguns casos após mudanças na arquitetura de implantação, as etapas de instalação são as mesmas. Você baixa e executa o Módulo PowerShell do SCEPman, que detecta o que precisa ser feito e conclui a instalação. Você pode executar o Módulo SCEPman quantas vezes quiser, ele só adicionará o que ainda estiver faltando.
Pré-requisitos
Uma Conta de Administrador Global Conta para o locatário no qual você deseja instalar o SCEPman (ou outro papel do AAD como Administrador de Função Privilegiada e permissões de gravação na Assinatura do Azure). Há uma opção para usar uma conta com apenas o Administrador de Aplicativo papel e executar os comandos que exigem permissões de Administrador Global manualmente mais tarde.
Azure CLI (também conhecido como az) instalado. O Azure CLI vem pré-instalado no Azure Cloud Shell, a maneira preferida de executar o módulo.
Executando o CMDlet de Instalação do SCEPman
Página Inicial Habilitada
Uma vez que os pré-requisitos estejam atendidos, você pode instalar o módulo de instalação do SCEPman a partir do PowerShell Gallery e então executar o CMDlet para concluir a instalação do SCEPman e do Certificate Master.
Primeiro, você precisa navegar até o App Service do SCEPman e clicar em Default domain (veja a captura de tela abaixo). Isso irá navegar você para a página inicial do SCEPman.

Execute o comando PowerShell exibido na página inicial da sua instância do SCEPman no seu PowerShell ou Azure Cloud Shell (veja a captura de tela abaixo). Isso inclui um parâmetro para identificar sua instância do SCEPman, para que o código possa ser executado idealmente sem qualquer interação do usuário.

Após executar o CMDlet, você pode receber "Serviço indisponível" ou "502 Server Error" na página inicial do SCEPman; por favor, aguarde 2-3 minutos e atualize a página novamente.
Página Inicial Desabilitada
Se você desabilitou a Página Inicial do SCEPman ou precisa executar o CMDlet novamente, faça o seguinte:
Cole o código abaixo no seu PowerShell ou Azure Cloud Shell:
Preencha os prompts para:
Em qual Assinatura do Azure o SCEPman é executado (se houver mais de uma à qual você tenha acesso)
O nome do App Service do SCEPman (não é necessário se você usou o código da Página Inicial do SCEPman)
(Apenas para atualizações do SCEPman), você precisa de duas confirmações extras:
O nome do novo App Service do SCEPman Certificate Master (você pode confirmar a sugestão pressionando Enter ou digitando um novo nome para o recurso)
O nome do novo recurso Conta de Armazenamento (novamente, você pode confirmar a sugestão pressionando Enter ou digitando um novo nome para o recurso)
Executando o CMDlet de Instalação do SCEPman sem o Papel de Administrador Global
Use o -SkipAppRoleAssignments flag do Complete-SCEPmanInstallation para executar o CMDlet sem permissões de Administrador Global. Isso pulará a atribuição das App Roles necessárias às Identidades Gerenciadas dos App Services do SCEPman e do Certificate Master. Você pode então atribuir as App Roles manualmente como Administrador Global. O CMDlet imprimirá os comandos necessários no console.
Considerações ao usar Deployment Slots
O módulo SCEPman atualiza a configuração em todos os deployment slots, a menos que você diga para usar apenas um slot de implantação específico com o parâmetro -DeploymentSlotName (que não pode ser o principal, porque tecnicamente ele não é um deployment slot). A atualização de configuração altera as configurações do SCEPman para usar autenticação por Managed Identity em vez de autenticação por Enterprise App.
O SCEPman 1.x não suporta autenticação por Managed Identity e, portanto, o CMDlet torna deployment slots inutilizáveis que ainda executam uma versão 1.x. Assim, se você tiver múltiplos deployment slots e não quiser atualizar todos de uma vez, você deve atualizar o slot de produção por último -- sua atualização também afeta todos os outros deployment slots.
Para outros deployment slots, use o -DeploymentSlotName parâmetro para direcionar apenas esses deployment slots individuais. É isso que os comandos PowerShell exibidos na página inicial do SCEPman do deployment slot mostram, então você pode simplesmente copiar os comandos.
Uma vez que todos os seus deployment slots estejam executando a versão 2.x, apenas execute o CMDlet Complete-SCEPmanInstallation mais uma vez e então todos eles usarão Managed Identities.
Se você acidentalmente atualizou um deployment slot para autenticação por Managed Identity que ainda executa o SCEPman 1.x, por favor consulte o guia de downgrade para fazê-lo funcionar novamente.
Considerações ao Instalar o SCEPman Múltiplas Vezes em Um Mesmo Locatário
O CMDlet Complete-SCEPmanInstallation cria duas App Registrations: SCEPman-api e SCEPman-CertMaster. A seção "Como o CMDlet Configura o SCEPman Certificate Master" explica o que essas App Registrations fazem. O CMDlet requer que seus nomes sejam únicos, então se você tiver múltiplas instalações do SCEPman em um locatário, elas compartilharão essas App Registrations por padrão. Isso significa que os usuários têm os mesmos papéis em todos os Certificate Masters e que, tecnicamente, cada instância do Certificate Master pode enviar solicitações de certificado a qualquer SCEPman (embora isso não aconteça a menos que você configure o SCEPman Certificate Master para fazer isso).
Se você não quiser esse comportamento, por exemplo, porque as instalações do SCEPman pertencem a partes diferentes da sua organização, ou uma instalação do SCEPman é um ambiente de pré-produção, ou você deseja uma PKI em vários níveis com um SCEPman Root CA e um SCEPman Issuing CA, você precisa dizer às instâncias do SCEPman para usarem outras app registrations.
Para esse propósito, o CMDlet Complete-SCEPmanInstallation oferece os dois parâmetros -AzureADAppNameForSCEPman e -AzureADAppNameForCertMaster. Esses parâmetros permitem que você defina nomes diferentes para suas App Registrations. Por exemplo, você pode chamar o CMDlet assim para sua Root CA:
Complete-SCEPmanInstallation -SCEPmanAppServiceName app-scepmanroot -SearchAllSubscriptions -AzureAdAppNameForSCEPman SCEPman-api-root -AzureAdAppNameForCertMaster -SCEPman-CertMaster-root 6>&1
E então você o chama outra vez para sua Subordinate CA assim:
Complete-SCEPmanInstallation -SCEPmanAppServiceName app-scepmansub -SearchAllSubscriptions -AzureAdAppNameForSCEPman SCEPman-api-sub -AzureAdAppNameForCertMaster -SCEPman-CertMaster-sub 6>&1
Detalhes de Bastidores do Módulo PowerShell do SCEPman
Esta seção descreve o funcionamento interno do Módulo PowerShell. Isso pode ajudar se você tiver uma configuração especial que exija alterar o script, se precisar conceder alguma permissão especial, se estiver solucionando problemas com uma instalação do SCEPman, ou se quiser entender o funcionamento interno para escrever um script de instalação para seu próprio projeto. Observe que o Módulo PowerShell é Software de Código Aberto. Você pode revisar o código-fonte em seu Repositório GitHub. Pull Requests são bem-vindos!
Recomendamos executar o cmdlet com 6>&1, que redireciona o stream de informação e o imprime na tela, o que fornece mais informação sobre o estado do programa do que se você deixar de fora a redireção. Se você adicionar -Verbose, haverá ainda mais informações sobre o que o script faz.
Como o CMDlet Configura o SCEPman
O CMDlet PowerShell procura pelo App Service do SCEPman. O App Service usa uma Identidade Gerenciada atribuída pelo sistema, que já tem direitos de acesso ao Azure Key Vault do SCEPman em uma instalação regular. O CMDlet adiciona permissões para acessar o Microsoft Graph para procurar usuários e dispositivos no AAD e no Intune para solicitações OCSP recebidas e ao próprio Intune para verificar solicitações SCEP recebidas.
Como o CMDlet Trata Atualizações do SCEPman 1.x
Além de conceder os direitos ao SCEPman, o Módulo adiciona dois novos Recursos do Azure ao realizar uma atualização:
O App Service SCEPman Certificate Master
A Conta de Armazenamento compartilhada pelo SCEPman e pelo SCEPman Certificate Master para certificados criados manualmente
Mesmo para a Edição Community, que não usa o componente SCEPman Certificate Master, os dois novos recursos são adicionados. Isso possibilita a mudança para a Edição Enterprise mais facilmente, se desejar, e não adiciona custo extra -- a Conta de Armazenamento ficará vazia e a Microsoft cobra pela quantidade de armazenamento, e o App Service do Certificate Master compartilha um App Service Plan com o SCEPman, o que também não adiciona custo extra.
O SCEPman 1.x usava uma App Registration para autenticar contra o Microsoft Graph e o Intune, enquanto o SCEPman 2.x pode usar sua Identidade Gerenciada. O CMDlet muda para a Identidade Gerenciada alterando estas configurações:
AppConfig:AuthConfig:ApplicationId é definido para uma app registration recém-criada sem quaisquer permissões. Ela é usada para autenticar contra SCEPman, não para o SCEPman se autenticar em outro lugar. O valor antigo é salvo como backup como
Backup:AppConfig:AuthConfig:ApplicationId.AppConfig:AuthConfig:ApplicationKey é excluído, o valor antigo é salvo como backup como
Backup:AppConfig:AuthConfig:ApplicationKey. Não é mais necessário, porque o SCEPman não se autentica como a Aplicação.AppConfig:AuthConfig:ManagedIdentityEnabledOnUnixTime contém o momento em que o CMDlet foi executado. O SCEPman adquire um token usando a Identidade Gerenciada apenas após um breve atraso depois da execução do CMDlet, porque só então as funções no token refletem as permissões corretas adicionadas pelo CMDlet.
Como o CMDlet Configura o SCEPman Certificate Master
O App Service do SCEPman permite acesso anônimo à sua página inicial, pois ela apenas exibe informações não sensíveis e somente leitura. Em contraste, o componente SCEPman Certificate Master permite que usuários emitam certificados. Portanto, ele permite apenas acesso autenticado e somente se você tiver as permissões corretas. Isso requer uma App Registration do Azure com Permissões Delegadas para ver quem está conectado e com a configuração correta da URL de login. O módulo registra essa App Registration como SCEPman-CertMaster no seu locatário Azure.
Além disso, o App Service do SCEPman Certificate Master precisa de permissão para enviar Certificate Signing Requests (CSRs) ao App Service SCEPman principal para emitir certificados. O mecanismo de autenticação por trás disso baseia-se em outra App Registration: SCEPman-api. O SCEPman usa SCEPman-api para gerenciar permissões de envio de CSR. O script registra o SCEPman-api e adiciona a permissão de envio à Identidade Gerenciada do SCEPman Certificate Master.
No caso de atualização do SCEPman de 1.x para 2.x e após executar com sucesso o script PS, você pode remover a App Registration que era usada no SCEPman 1.x
O SCEPman V2.x usa duas novas App Registrations: "SCEPman-api" e "SCEPman-CertMaster"
Last updated
Was this helpful?