For the complete documentation index, see llms.txt. This page is also available as Markdown.

Cliente Linux gerido pelo Intune

Aplicável à versão 2.9 do SCEPman e superior

Este método pode ser usado para inscrever certificados para utilizadores e dispositivos geridos pelo Intune.

Neste caso, o Intune enviará um script para utilizar a API REST do SCEPman, que por sua vez irá inscrever um novo certificado ou renovar um já existente.

O nosso programador Christoph apresentou esta funcionalidade e alguns detalhes de contexto no Workplace Ninja Usergroup Germany:

Pré-requisitos

1. Inscrição de autoatendimento

Para inscrever certificados, os utilizadores têm de ser autenticados para verificar a respetiva elegibilidade. Siga este guia para obter instruções passo a passo sobre como configurar isto

Registo de autosserviço

2. Definições do App Service

Configuração

Necessário para renovação de certificado

Configure o seu SCEPman App Service para aceitar certificados de cliente mTLS. No painel Configuration da seçã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 quebraria o funcionamento normal do SCEPman nos endpoints SCEP!

Variáveis de ambiente

Para usar este cenário, você deve definir as seguintes Variáveis de Ambiente no serviço de aplicativo SCEPman.

AppConfig:DbCSRValidation:Enabled

Necessário para inscrição e renovação de certificado

Defina esta variável como true para ativar a validação de solicitações de assinatura de certificado (CSRs).

AppConfig:DbCSRValidation:AllowRenewals

Necessário para renovação de certificado

Defina esta variável como true para ativar renovações de certificado.

AppConfig:DbCSRValidation:ReenrollmentAllowedCertificateTypes

Necessário para renovação de certificado

Defina esta variável como uma lista separada por vírgulas de tipos de certificado para os quais você deseja permitir a renovação. Consulte a documentação da variável vinculada para ver uma lista de tipos de certificado possíveis.

Exemplo: Static,IntuneUser,IntuneDevice

Este cenário irá 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 utilizar a API REST de inscrição.

Azure CLI ( versão 2.61 e superior)

O Azure CLI é usado para autenticar o utilizador em processo de inscrição, verificar a sua elegibilidade e obter o token de acesso.

cURL

Usado para enviar o CSR criado para o endpoint da API de inscrição do SCEPman e receber o certificado.

OpenSSL

O OpenSSL é usado para gerar uma chave privada e criar um CSR para inscrever ou renovar um certificado.

Inscrição no Intune

Siga a documentação ligada para inscrever o seu cliente Linux no Intune.

Script de inscrição e renovação

O enrollrenewcertificate.sh O script será usado para obter 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, precisaremos de modificar algumas partes 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

O URL do serviço de aplicações da SCEPman.

Exemplo: "https://scepman.contoso.net/"

API_SCOPE

Este é o âmbito da API que pode criar no SCEPman-api registo da aplicação no seu ambiente.

Ao utilizador será apresentado o diálogo de consentimento desejado e, posteriormente, 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 onde se tentará renová-lo. A chave privada e o certificado raiz também serão colocados aqui.

Exemplo: ~/certs/

CERT_NAME

O nome do ficheiro (sem extensão) do certificado que será criado ou lido para renovação.

Exemplo: "myCertificate"

KEY_NAME

O nome do ficheiro da chave privada que será criado ou lido para renovação.

Exemplo: "myKey"

RENEWAL_THRESHOLD_DAYS

O número de dias em que o certificado terá de 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" criará um certificado inicialmente ou renovará um certificado se ele já existir e estiver prestes a expirar.

"renewal" renovará um certificado se ele estiver prestes a expirar, mas não criará um certificado inicialmente.

"initial" inscreverá apenas um certificado, mas não renovará um existente.

Considerações

  • Este script não encripta as chaves geradas (isto requer introdução de frase-passe, pelo que a encriptação foi omitida para permitir a renovação automática.)

  • Se estiver a renovar certificados protegidos por frase-passe do Certificate Master, terá de introduzir essa frase-passe para os renovar.

Implementar script

Usando o Intune, podemos implementar o script modificado de forma agendada para inscrever inicialmente um certificado com os parâmetros fornecidos e verificar regularmente se ele precisa de ser renovado.

Adicione uma nova implementação de script Linux e certifique-se de definir o contexto de execução para Usuário e faça upload 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?