Client Linux géré par Intune

circle-info

Applicable à la version 2.9 de SCEPman et ultérieure

circle-exclamation

Cette méthode peut être utilisée pour inscrire des certificats pour les utilisateurs et les appareils gérés par Intune.

Intune poussera dans ce cas un script pour exploiter l'API REST de SCEPman qui, à son tour, va soit inscrire un nouveau certificat soit renouveler un certificat déjà existant.

Notre développeur Christoph a présenté cette fonctionnalité et quelques détails de contexte au Workplace Ninja Usergroup Germany :

Prérequis

1. Inscription en libre-service

Pour inscrire des certificats, les utilisateurs doivent être authentifiés afin de vérifier leur éligibilité. Suivez ce guide pour obtenir des instructions étape par étape sur la façon de configurer cela

Inscription en libre-servicechevron-right

2. Paramètres de l'App Service

Configuration

Nécessaire pour le renouvellement du certificat

Configurez votre App Service SCEPman pour accepter les certificats clients mTLS. Dans le volet Configuration de la section Paramètres, vérifiez que le mode de certificat client dans Certificats clients entrants est défini sur Optionnel.

Ne définissez pas le mode de certificat client sur Exiger ou Autoriser, car cela perturberait le fonctionnement normal de SCEPman sur les points de terminaison SCEP !

Variables d'environnement

Pour pouvoir utiliser ce scénario, vous devez définir les variables d'environnement suivantes sur le service d’application SCEPman.

Nécessaire pour l'enregistrement et le renouvellement des certificats

Définissez cette variable sur true pour activer la validation des demandes de signature de certificat (CSR).

Nécessaire pour le renouvellement du certificat

Définissez cette variable sur true pour activer les renouvellements de certificats.

Nécessaire pour le renouvellement du certificat

Définissez cette variable sur une liste séparée par des virgules des types de certificats pour lesquels vous souhaitez autoriser le renouvellement. Consultez la documentation de la variable liée pour la liste des types de certificats possibles.

Exemple : Statique,IntuneUser,IntuneDevice

Ce scénario inscrira des certificats du type IntuneUser et IntuneDevice en fonction de votre choix.

3. Prérequis client

Les prérequis suivants doivent être présents sur le client/hôte exécutant pour pouvoir utiliser l’API REST d’enrôlement.

Azure CLIarrow-up-right (version 2.61 et supérieure)

L’interface Azure CLI est utilisée pour authentifier l’utilisateur qui s’enrôle afin de vérifier son éligibilité et récupérer le jeton d’accès.

cURL

Utilisé pour envoyer la CSR créée au point de terminaison de l’API d’enrôlement SCEPman et recevoir le certificat.

OpenSSL

OpenSSL est utilisé pour générer une clé privée et créer une CSR pour l’enrôlement ou le renouvellement d’un certificat.

Suivez la documentation liée pour inscrire votre client Linux à Intune.

Script d’inscription et de renouvellement

Le enrollrenewcertificate.sharrow-up-right Le script sera utilisé pour recevoir initialement un certificat ainsi que pour le vérifier à intervalles réguliers et tenter un renouvellement si le seuil est atteint.

Alors que le script est généralement exécuté en passant les paramètres dans le terminal, nous devrons modifier certaines parties afin qu'il puisse être déployé via Intune.

Localisez la partie du script qui assigne les arguments passés dans le terminal à la variable et ajustez-les selon vos besoins :

Configuration d'exemple :

APPSERVICE_URL

L’URL du service d’application SCEPman.

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

API_SCOPE

Ceci est la portée d’API que vous pouvez créer dans l’ SCEPman-api enregistrement d’application dans votre environnement.

L’utilisateur se verra présenter la boîte de dialogue de consentement souhaitée et pourra ensuite utiliser la fonctionnalité en libre-service.

Exemple : "api://b7d17d51-8b6d-45eb-b42b-3dae638cd5bc/Cert.Enroll"

CERT_DIR

Le répertoire dans lequel le certificat sera créé ou tenté d'être renouvelé. La clé privée et le certificat racine y seront également placés.

Exemple : ~/certs/

CERT_NAME

Le nom de fichier (sans extension) du certificat qui sera créé ou lu pour le renouvellement.

Exemple : "myCertificate"

KEY_NAME

Le nom de fichier de la clé privée qui sera créé ou lu pour le renouvellement.

Exemple : "myKey"

RENEWAL_THRESHOLD_DAYS

Le nombre de jours avant l’expiration du certificat pour que le script commence le processus de renouvellement.

Exemple : 30

CERT_TYPE

Le type de certificat qui sera inscrit.

Peut être soit "user" soit "device"

CERT_COMMAND

Ceci définit le comportement du script en relation avec l'inscription et le renouvellement :

"auto" créera un certificat initialement ou renouvellera un certificat s'il existe déjà et est sur le point d'expirer.

"renewal" renouvellera un certificat s'il est sur le point d'expirer mais ne créera pas un certificat initialement.

"initial" n'inscrira qu'un certificat mais ne renouvellera pas un certificat existant.

circle-exclamation

Considérations

  • Ce script n’encrypte pas les clés générées (cela nécessite une saisie de phrase de passe, donc le chiffrement a été omis pour permettre le renouvellement automatique).

  • Si vous renouvelez des certificats protégés par une phrase de passe depuis Certificate Master, vous devrez saisir cette phrase de passe afin de les renouveler.

Déployer le script

Avec Intune, nous pouvons déployer le script modifié selon un planning pour inscrire initialement un certificat avec les paramètres donnés et vérifier régulièrement s'il doit être renouvelé.

Ajoutez un nouveau déploiement de script Linux et assurez-vous de définir le Contexte d'exécution vers Utilisateur et soit téléversez, soit collez le contenu du script bash modifié que vous avez créé dans la section précédente.

Ajustez la Fréquence d'exécution en accord avec votre seuil de renouvellement.

circle-info

L'utilisateur sera invité à se connecter à l'application Azure CLI lors de la première exécution car une authentification est requise.

Mis à jour

Ce contenu vous a-t-il été utile ?