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

SCEPmanClient

SCEPmanClient est un module PowerShell destiné à interagir avec l'API REST de SCEPman. Étant indépendant de la plateforme et compatible avec Windows PowerShell v5, vous pouvez utiliser ce module pour demander des certificats pour tous les cas d'utilisation pour lesquels l'API REST peut être utilisée :

  • Émission automatique de certificats de serveur

  • Certificats client pour les appareils non gérés

  • Inscription de certificats sur des appareils Linux

Installation

Le module SCEPmanClient est disponible dans la PowerShell Gallery et peut être installé à l'aide de la commande suivante :

Install-Module -Name SCEPmanClient

Suivez le guide de Microsoft sur la façon d'installer PowerShell sur Linux ou MacOS.

Prérequis

Pour que le module fonctionne comme prévu, vous devrez apporter une petite modification à votre déploiement SCEPman :

1

Ajouter l'URL de la page d'accueil

Ajouter l'URL du service d'application de SCEPman : accédez à la Branding & Properties section de l'inscription de l'application. Ajoutez l'URL du service d'application de SCEPman au champ URL de la page d'accueil :

Ceci est nécessaire pour que le module puisse rechercher automatiquement l'ID client des inscriptions d'application, nécessaire pour récupérer le jeton d'accès.

2

Autoriser Azure PowerShell à interagir avec l'inscription de l'application

Dans l'inscription de l'application, accédez à Expose an API et créez un scope personnalisé qui peut être utilisé pour autoriser l'ID client 1950a258-227b-4e31-a9cf-717495945fc2 (Microsoft Azure PowerShell)

Exemple d'informations pour un scope d'API personnalisé

Après avoir créé un scope d'API, l'application Microsoft Azure PowerShell peut être autorisée :

Application Microsoft Azure PowerShell autorisée
3

Activer le point de terminaison EST

Configuration

Requis 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 Utilisateur interactif facultatif.

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

Variables d’environnement

Pour utiliser ce scénario, vous devez définir les variables d’environnement suivantes sur l’App Service SCEPman.

AppConfig:DbCSRValidation:Enabled

Requis pour l’inscription et le renouvellement du certificat

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

AppConfig:DbCSRValidation:AllowRenewals

Requis pour le renouvellement du certificat

Définissez cette variable sur true pour activer le renouvellement des certificats.

AppConfig:DbCSRValidation:ReenrollmentAllowedCertificateTypes

Requis pour le renouvellement du certificat

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

Exemple : Static,IntuneUser,IntuneDevice

Autorisations

SCEPman dispose de différents rôles qui permettront d'inscrire différents types de certificats. Vous pouvez les attribuer dans la SCEPman-api (nom par défaut) Enterprise Application:

Demandeurs de la base de données CSR

Ce rôle n'est attribuable par défaut qu'aux Service Principals (par exemple les App Registrations) et permet de demander des certificats avec des sujets et des usages arbitraires.

Enrôlement via l'API

CSR Self Service

Ce rôle peut être attribué aux utilisateurs et permettra d'inscrire des certificats avec les restrictions suivantes :

  • Uniquement EKU ClientAuth

  • Les certificats utilisateur doivent correspondre au UPN de l'utilisateur, soit dans le sujet, soit dans le nom alternatif du sujet UPN

  • Les certificats d'appareil doivent avoir un sujet ou un SAN que SCEPman peut associer à un objet d'appareil appartenant à l'utilisateur authentifié

Enrôlement en libre-service

Exemples d'utilisation

Utiliser l'authentification Azure

Authentification interactive

Lors de la demande d'un nouveau certificat sans spécifier le mécanisme d'authentification, l'utilisateur sera authentifié de manière interactive par défaut. En utilisant le -SubjectFromUserContext paramètre, le sujet du certificat et le SAN UPN seront automatiquement renseignés en fonction du contexte de l'utilisateur connecté :

Connexion de l'appareil

Si vous souhaitez demander un nouveau certificat sur un système sans environnement de bureau, vous pouvez utiliser le -DeviceCode paramètre pour effectuer l'authentification réelle dans une autre session :

Authentification par Service Principal

Dans les scénarios entièrement automatisés, une inscription d'application peut être utilisée pour l'authentification. Dans ce cas, il ne sera pas possible de déduire le sujet à partir du contexte authentifié.

Le splatting de paramètres rendra également l'exécution plus lisible :

S'authentifier à l'aide de certificats

Une fois qu'un certificat a été émis à l'aide d'un contexte authentifié, nous pouvons l'utiliser pour le renouveler sans fournir à nouveau de contexte.

CertificateBySubject

L'interaction avec les magasins de clés n'est possible que sur Windows

Lorsque vous fournissez le CertificateBySubject paramètre, le module tentera automatiquement de trouver un certificat approprié à renouveler dans les magasins de clés CurrentUser et LocalMachine .

La valeur saisie sera comparée par expression régulière aux sujets de tous les certificats disponibles.

Fournir un certificat spécifique

CertificateFromFile

Sur les systèmes Linux, le renouvellement d'un certificat peut être effectué en fournissant les chemins d'un certificat existant et de sa clé privée.

Lorsque vous utilisez une clé privée chiffrée, on vous demandera le mot de passe. Vous pouvez également transmettre directement le mot de passe de la clé à l'aide du PlainTextPassword paramètre.

Utilisation de SCEPman avec un pare-feu d'application Web Azure

Avec les profils SSL activés, le WAF mettra fin aux connexions TLS. Cela rompra à son tour les renouvellements de certificats utilisant EST, car la procédure repose sur mTLS pour l'authentification. Dans ce cas, le UseSCEPRenewal paramètre peut être utilisé pour effectuer à la place un renouvellement de certificat conforme au protocole SCEP.

Veuillez noter que cela nécessite une configuration SCEPman supplémentaire concernant le point de terminaison SCEP statique :

  • AppConfig:StaticValidation:Enabled : true

  • AppConfig:StaticValidation:AllowRenewals : true

  • AppConfig:StaticValidation:ReenrollmentAllowedCertificateTypes: Static (en fonction des types destinés au renouvellement)

Mis à jour

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