Cliente Linux gerido pelo Intune
Aplicável à versão 2.9 e superior do SCEPman
Apenas SCEPman Enterprise Edition
Este método pode ser usado para inscrever certificados para utilizadores e dispositivos geridos pelo Intune.
Neste caso, o Intune irá enviar um script para utilizar a SCEPman REST API, que por sua vez irá inscrever um novo certificado ou renovar um já existente.
O nosso developer Christoph apresentou esta funcionalidade e alguns detalhes de contexto no Workplace Ninja Usergroup Germany:
Pré-requisitos
1. Inscrição de Autoatendimento
Para registar certificados, os utilizadores devem estar autenticados para verificar a sua elegibilidade. Siga este guia para instruções passo a passo sobre como configurar isto
2. Definições do App Service
Configuração
Necessário para a renovação do certificado
Configure o seu SCEPman App Service para aceitar certificados de cliente mTLS. Na configuração da secção Settings, verifique se o Client certificate mode em Incoming client certificates está definido como Utilizador interativo opcional.

Não defina o Client certificate mode como Require ou Allow, pois isso interromperia o funcionamento normal do SCEPman nos pontos finais SCEP!
Variáveis de ambiente
Para poder utilizar este cenário, tem de definir as seguintes variáveis de ambiente no SCEPman app service.
Necessário para o registo e a renovação de certificados
Defina esta variável como true para permitir a validação de pedidos de assinatura de certificados (CSRs).
Necessário para a renovação do certificado
Defina esta variável como true para permitir renovações de certificados.
Necessário para a renovação do certificado
Defina esta variável como uma lista de tipos de certificados separada por vírgulas que pretende اجازه renovações. Consulte a documentação da variável ligada para obter uma lista dos possíveis tipos de certificados.
Exemplo: Static,IntuneUser,IntuneDevice
Este cenário inscreverá certificados do tipo IntuneUser e IntuneDevice dependendo da sua escolha.
3. Pré-requisitos do cliente
Os seguintes pré-requisitos devem estar presentes no cliente/host de execução para poder usar a Enrollment REST API.
Azure CLI (versão 2.61 e superior)
O Azure CLI é usado para autenticar o utilizador que está a registar-se, para verificar a sua elegibilidade e recuperar o token de acesso.
cURL
Usado para enviar o CSR criado para o Endpoint da SCEPman Enrollment API e receber o certificado.
OpenSSL
O OpenSSL é usado para gerar uma chave privada e criar um CSR para registar ou renovar um certificado.
Siga a documentação associada para inscrever o seu cliente Linux no Intune.
Script de Inscrição e Renovação
O enrollrenewcertificate.sh o script será usado para receber inicialmente um certificado, bem como para o verificar regularmente e tentar uma renovação caso o limiar seja atingido.
Embora o script seja normalmente executado passando os parâmetros no terminal, teremos de modificar algumas partes dele para ser implementado através do Intune.
Localize a parte do script que atribui os argumentos passados no terminal à variável e ajuste-os às suas necessidades:
Exemplo de configuração:
APPSERVICE_URL
A URL do serviço de aplicativo SCEPman.
Exemplo: "https://scepman.contoso.net/"
API_SCOPE
Este é o escopo da API que você pode criar no SCEPman-api registro de aplicativo no seu ambiente.
O usuário verá a caixa de diálogo de consentimento desejada e depois poderá usar a funcionalidade de autoatendimento.
Exemplo: "api://b7d17d51-8b6d-45eb-b42b-3dae638cd5bc/Cert.Enroll"

CERT_DIR
O diretório onde o certificado será criado ou será tentada a sua renovação. A chave privada e o certificado raiz também serão colocados aqui.
Exemplo: ~/certs/
CERT_NAME
O nome do arquivo (sem extensão) do certificado que será criado ou lido para renovação.
Exemplo: "myCertificate"
KEY_NAME
O nome do arquivo da chave privada que será criado ou lido para renovação.
Exemplo: "myKey"
RENEWAL_THRESHOLD_DAYS
A quantidade de dias para os quais o certificado precisará estar prestes a expirar para que o script inicie o processo de renovação.
Exemplo: 30
CERT_TYPE
O tipo de certificado que será inscrito.
Pode ser "user" ou "device"
CERT_COMMAND
Isto define o comportamento do script em relação à inscrição e renovação:
"auto" irá criar inicialmente um certificado ou renovar um certificado, se este já existir e estiver prestes a expirar.
"renewal" irá renovar um certificado se este estiver prestes a expirar, mas não irá criar inicialmente um certificado.
"initial" irá apenas inscrever um certificado, mas não renovar um existente.
Se estiver a inscrever ou a renovar um certificado de dispositivo, o DeviceId será obtido de ~/.config/intune/registration.toml e o utilizador autenticado terá de corresponder ao proprietário do objeto no DeviceDirectory.
Considerações
Este script não criptografa as chaves geradas (isso requer a entrada de uma senha, portanto a criptografia foi omitida para permitir a renovação automática).
Se você estiver renovando certificados protegidos por senha do Certificate Master, precisará informar essa senha para renová-los.
Implementar Script
Usando o Intune, podemos implementar o script modificado com um agendamento para inscrever inicialmente um certificado com os parâmetros fornecidos e verificar regularmente se precisa de ser renovado.
Adicione uma nova implementação de script Linux e certifique-se de definir o Contexto de execução para Utilizador e carregue ou cole o conteúdo do script bash modificado que criou na secção anterior.
Ajuste a Frequência de execução de acordo com o seu limiar de renovação.
O utilizador será solicitado a iniciar sessão na aplicação Azure CLI na primeira execução, uma vez que é necessário autenticar-se.
Última atualização
Isto foi útil?