Identités managées
Cette fonctionnalité nécessite la version 2.0 ou supérieure.
SCEPman doit interagir avec vos points de terminaison Entra Directory et Intune pour fournir la validation des certificats et OCSP des utilisateurs et des appareils. Après le déploiement, SCEPman ne dispose pas encore des autorisations requises pour accéder à ces services. Le module PowerShell décrit dans cet article ajoute les autorisations nécessaires à l’identité managée de l’App Service SCEPman et termine l’installation.
En outre, le module PowerShell ajoute le câblage d’arrière-plan requis pour le composant SCEPman Certificate Master introduit avec SCEPman 2.0. Si vous avez effectué une mise à niveau de SCEPman 1.x vers SCEPman 2.x, le module PowerShell ajoute même deux nouvelles ressources Azure pour le composant SCEPman Certificate Master.
Télécharger et exécuter le module PowerShell d’installation de SCEPman
Que vous veniez d’installer une nouvelle installation SCEPman 2.x ou que vous veniez de mettre à niveau SCEPman 1.x vers SCEPman 2.x, et dans certains cas après des changements d’architecture de déploiement, les étapes d’installation sont les mêmes. Vous téléchargez et exécutez le module PowerShell SCEPman, qui détecte ce qu’il faut faire et termine l’installation. Vous pouvez exécuter le module SCEPman aussi souvent que vous le souhaitez, il n’ajoutera que ce qui manque encore.
Prérequis
Un Administrateur global Compte pour le locataire sur lequel vous souhaitez installer SCEPman (ou un autre rôle AAD comme Administrateur de rôle privilégié et les autorisations d’écriture sur l’abonnement Azure). Il est possible d’utiliser un compte disposant uniquement du rôle Administrateur d’application et d’exécuter plus tard manuellement les commandes nécessitant les autorisations d’Administrateur global.
Azure CLI (également appelé az) installé. Azure CLI est préinstallé dans Azure Cloud Shell, la méthode recommandée pour exécuter le module.
Exécution du CMDlet d’installation de SCEPman
Page d’accueil activée
Une fois les prérequis remplis, vous pouvez installer le module d’installation de SCEPman depuis la PowerShell Gallery, puis exécuter le CMDlet pour terminer l’installation de SCEPman et de Certificate Master.
Commencez par accéder à l’App Service SCEPman et cliquez sur Domaine par défaut (voir capture d’écran ci-dessous). Cela vous mènera à la page d’accueil de SCEPman.

Exécutez la commande PowerShell affichée sur la page d’accueil de votre instance SCEPman dans votre PowerShell ou Azure Cloud Shell (voir capture d’écran ci-dessous). Cela inclut un paramètre permettant d’identifier votre instance SCEPman, afin que le code puisse s’exécuter idéalement sans aucune interaction utilisateur.

Après l’exécution du CMDlet, vous pouvez obtenir « Service non disponible » ou « Erreur serveur 502 » sur la page d’accueil de SCEPman ; veuillez patienter 2 à 3 minutes puis actualiser la page.
Page d’accueil désactivée
Si vous avez désactivé la page d’accueil de SCEPman ou si vous devez exécuter à nouveau le CMDlet, procédez comme suit :
Collez le code ci-dessous dans votre PowerShell ou Azure Cloud Shell :
Renseignez les invites pour :
Quel abonnement Azure héberge SCEPman (s’il y en a plus d’un auquel vous avez accès)
Le nom de l’App Service SCEPman (non requis si vous avez utilisé le code de la page d’accueil SCEPman)
(Pour les mises à niveau SCEPman uniquement), vous devez fournir deux confirmations supplémentaires :
Le nom du nouvel App Service SCEPman Certificate Master (vous pouvez confirmer la suggestion en appuyant sur Entrée ou saisir un nouveau nom pour la ressource)
Le nom de la nouvelle ressource Storage Account (là encore, vous pouvez confirmer la suggestion en appuyant sur Entrée ou saisir un nouveau nom pour la ressource)
Exécution du CMDlet d’installation de SCEPman sans rôle d’Administrateur global
Utilisez l’indicateur -SkipAppRoleAssignments de Complete-SCEPmanInstallation pour exécuter le CMDlet sans autorisations d’Administrateur global. Cela ignorera l’attribution des rôles d’application requis aux identités managées des App Services SCEPman et Certificate Master. Vous pourrez ensuite attribuer les rôles d’application manuellement en tant qu’Administrateur global. Le CMDlet affichera les commandes requises dans la console.
Considérations lors de l’utilisation de slots de déploiement
Le module SCEPman met à jour la configuration dans tous les slots de déploiement, sauf si vous lui indiquez d’utiliser uniquement un slot de déploiement spécifique avec le paramètre -DeploymentSlotName (qui ne peut pas être le principal, car techniquement ce n’est pas un slot de déploiement). La mise à jour de la configuration modifie les paramètres SCEPman pour utiliser l’authentification par identité managée au lieu de l’authentification par application d’entreprise.
SCEPman 1.x ne prend pas en charge l’authentification par identité managée et le CMDlet rend donc inutilisables les slots de déploiement qui exécutent encore une version 1.x. Ainsi, si vous avez plusieurs slots de déploiement et que vous ne souhaitez pas tous les mettre à niveau en même temps, vous devriez mettre à jour le slot de production en dernier -- sa mise à niveau affecte également tous les autres slots de déploiement.
Pour les autres slots de déploiement, utilisez le -DeploymentSlotName paramètre pour cibler uniquement ces slots de déploiement individuels. C’est ce qu’affichent les commandes PowerShell indiquées sur la page d’accueil SCEPman du slot de déploiement, vous pouvez donc simplement copier les commandes.
Une fois que tous vos slots de déploiement fonctionnent en 2.x, exécutez simplement une fois de plus le CMDlet Complete-SCEPmanInstallation et ils utiliseront tous des identités managées.
Si vous avez accidentellement mis à jour un slot de déploiement vers l’authentification par identité managée alors qu’il exécute encore SCEPman 1.x, veuillez consulter le guide de retour en arrière pour le faire fonctionner à nouveau.
Considérations lors de l’installation de SCEPman plusieurs fois dans un même locataire
Le CMDlet Complete-SCEPmanInstallation crée deux enregistrements d’application : SCEPman-api et SCEPman-CertMaster. La section « Comment le CMDlet configure SCEPman Certificate Master» explique ce que font ces enregistrements d’application. Le CMDlet exige que leurs noms soient uniques ; ainsi, si vous avez plusieurs installations SCEPman dans un même locataire, elles partageront ces enregistrements d’application par défaut. Cela signifie que les utilisateurs ont les mêmes rôles sur tous les Certificate Masters et que, techniquement, chaque instance de Certificate Master peut envoyer des demandes de certificats à n’importe quel SCEPman (bien que cela ne se produise pas à moins que vous ne configuriez SCEPman Certificate Master pour le faire).
Si vous ne voulez pas ce comportement, par exemple parce que les installations SCEPman appartiennent à différentes parties de votre organisation, ou parce qu’une installation SCEPman est un environnement de préproduction, ou parce que vous souhaitez une PKI à plusieurs niveaux avec une racine SCEPman Root CA et une SCEPman Issuing CA, vous devez indiquer aux instances SCEPman d’utiliser d’autres enregistrements d’application.
À cette fin, le CMDlet Complete-SCEPmanInstallation propose les deux paramètres -AzureADAppNameForSCEPman et -AzureADAppNameForCertMaster. Ces paramètres vous permettent de définir des noms différents pour vos enregistrements d’application. Par exemple, vous pourriez appeler le CMDlet comme ceci pour votre Root CA :
Complete-SCEPmanInstallation -SCEPmanAppServiceName app-scepmanroot -SearchAllSubscriptions -AzureAdAppNameForSCEPman SCEPman-api-root -AzureAdAppNameForCertMaster -SCEPman-CertMaster-root 6>&1
Puis vous l’appelez une autre fois pour votre Subordinate CA comme ceci :
Complete-SCEPmanInstallation -SCEPmanAppServiceName app-scepmansub -SearchAllSubscriptions -AzureAdAppNameForSCEPman SCEPman-api-sub -AzureAdAppNameForCertMaster -SCEPman-CertMaster-sub 6>&1
Détails techniques du module PowerShell SCEPman en arrière-plan
Cette section décrit le fonctionnement interne du module PowerShell. Cela peut être utile si vous avez une configuration spéciale qui nécessite de modifier le script, si vous devez accorder une autorisation particulière, si vous dépannez des problèmes liés à une installation SCEPman, ou si vous souhaitez comprendre le fonctionnement interne pour écrire un script d’installation pour votre propre projet. Notez que le module PowerShell est un logiciel open source. Vous pouvez consulter le code स्रोत dans son dépôt GitHub. Les pull requests sont les bienvenues !
Nous recommandons d’exécuter le cmdlet avec 6>&1, ce qui redirige le flux d’informations et l’affiche à l’écran, ce qui donne plus d’informations sur l’état du programme que si vous omettez la redirection. Si vous ajoutez -Verbose, il y aura encore plus d’informations sur ce que fait le script.
Comment le CMDlet configure SCEPman
Le CMDlet PowerShell recherche l’App Service SCEPman. L’App Service utilise une identité managée attribuée par le système, qui dispose déjà des droits d’accès au Key Vault Azure de SCEPman dans une installation standard. Le CMDlet ajoute des autorisations pour accéder à Microsoft Graph afin de rechercher des utilisateurs et des appareils dans AAD et Intune pour les requêtes OCSP entrantes, ainsi qu’à Intune lui-même pour vérifier les requêtes SCEP entrantes.
Comment le CMDlet gère les mises à jour depuis SCEPman 1.x
En plus d’accorder les droits à SCEPman, le module ajoute deux nouvelles ressources Azure lors d’une mise à niveau :
L’App Service SCEPman Certificate Master
Le Storage Account partagé par SCEPman et SCEPman Certificate Master pour les certificats créés manuellement
Même pour l’édition Community, qui n’utilise pas le composant SCEPman Certificate Master, les deux nouvelles ressources sont ajoutées. Cela permet de passer plus facilement à l’édition Enterprise si vous le souhaitez, et n’ajoute aucun coût supplémentaire — le Storage Account sera vide et Microsoft facture cela au volume de stockage, et l’App Service Certificate Master partage un App Service Plan avec SCEPman, ce qui n’ajoute également aucun coût supplémentaire.
SCEPman 1.x utilisait un enregistrement d’application pour s’authentifier auprès de Microsoft Graph et d’Intune, tandis que SCEPman 2.x peut utiliser son identité managée. Le CMDlet bascule vers l’identité managée en modifiant ces paramètres :
AppConfig:AuthConfig:ApplicationId est défini sur un enregistrement d’application nouvellement créé, sans aucune autorisation. Il est utilisé pour s’authentifier auprès de SCEPman, et non pour que SCEPman s’authentifie ailleurs. L’ancienne valeur est sauvegardée sous
Sauvegarde:AppConfig:AuthConfig:ApplicationId.AppConfig:AuthConfig:ApplicationKey est supprimé, l’ancienne valeur est sauvegardée sous
Sauvegarde:AppConfig:AuthConfig:ApplicationKey. Elle n’est plus nécessaire, car SCEPman ne s’authentifie pas en tant qu’application.AppConfig:AuthConfig:ManagedIdentityEnabledOnUnixTime contient l’heure à laquelle le CMDlet a été exécuté. SCEPman obtient un jeton en utilisant l’identité managée seulement après un court délai après l’exécution du CMDlet, car ce n’est qu’à ce moment-là que les rôles dans le jeton reflètent les autorisations correctes ajoutées par le CMDlet.
Comment le CMDlet configure SCEPman Certificate Master
L’App Service SCEPman autorise l’accès anonyme à sa page d’accueil, car il n’affiche que des informations en lecture seule non sensibles. En revanche, le composant SCEPman Certificate Master permet aux utilisateurs d’émettre des certificats. Il n’autorise donc l’accès qu’aux utilisateurs authentifiés et uniquement s’ils disposent des bonnes autorisations. Cela nécessite un enregistrement d’application Azure avec des autorisations déléguées pour voir qui est connecté et une configuration correcte de l’URL de connexion. Le module enregistre cet enregistrement d’application en tant que SCEPman-CertMaster dans votre locataire Azure.
En outre, l’App Service SCEPman Certificate Master a besoin d’une autorisation pour envoyer des demandes de signature de certificats (CSR) à l’App Service SCEPman principal afin d’émettre des certificats. Le mécanisme d’authentification sous-jacent repose sur un autre enregistrement d’application : SCEPman-api. SCEPman utilise SCEPman-api pour gérer les autorisations de soumission des CSR. Le script enregistre SCEPman-api et ajoute l’autorisation de soumission à l’identité managée de SCEPman Certificate Master.
En cas de mise à niveau de SCEPman de 1.x vers 2.x et après exécution réussie du script PS, vous pouvez supprimer l’enregistrement d’application utilisé dans SCEPman 1.x
SCEPman V2.x utilise deux nouveaux enregistrements d’application : « SCEPman-api » et « SCEPman-CertMaster »
Mis à jour
Ce contenu vous a-t-il été utile ?