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

Identités gérées

Cette fonctionnalité nécessite la version 2.0 ou supérieure.

SCEPman doit interagir avec les points de terminaison de votre répertoire Entra et d’Intune afin d’assurer la validation des certificats et de l’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 du SCEPman App Service et termine l’installation.

De plus, 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échargez et exécutez le module PowerShell d’installation de SCEPman

Que vous veniez d’installer une nouvelle installation de 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 général Compte pour le locataire sur lequel vous souhaitez installer SCEPman (ou un autre rôle AAD comme administrateur des rôles privilégiés et des autorisations d’écriture sur l’abonnement Azure). Il est possible d’utiliser un compte disposant uniquement du rôle administrateur d’applications et d’exécuter plus tard manuellement les commandes nécessitant les autorisations d’administrateur général.

  • Azure CLI (également appelée az) installé. Azure CLI est préinstallé dans le Azure Cloud Shell, la méthode privilégié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 PowerShell Gallery, puis exécuter le CMDlet pour terminer l’installation de SCEPman et de Certificate Master.

  1. Tout d’abord, vous devez accéder au SCEPman App Service et cliquer sur Default domain (voir capture d’écran ci-dessous). Cela vous amènera à la page d’accueil de SCEPman.

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

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 :

  1. Collez le code ci-dessous dans votre PowerShell ou Azure Cloud Shell :

  1. Renseignez les invites suivantes :

  • Dans quel abonnement Azure SCEPman s’exécute (s’il y en a plusieurs auxquels vous avez accès)

  • Le nom du SCEPman App Service (non requis si vous avez utilisé le code depuis la page d’accueil de SCEPman)

  1. (Pour les mises à niveau de SCEPman uniquement), vous devez fournir deux confirmations supplémentaires :

  • Le nom du nouveau SCEPman Certificate Master App Service (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 général

Utilisez le -SkipAppRoleAssignments l’option de Complete-SCEPmanInstallation pour exécuter le CMDlet sans les autorisations d’administrateur général. Cela ignorera l’attribution des App Roles requis aux Managed Identities des SCEPman et Certificate Master App Services. Vous pourrez ensuite attribuer manuellement les App Roles en tant qu’administrateur général. Le CMDlet affichera les commandes requises dans la console.

Considérations lors de l’utilisation des Deployment Slots

Le module SCEPman met à jour la configuration dans tous les emplacements de déploiement, sauf si vous lui indiquez d’utiliser un seul emplacement de déploiement spécifique avec le paramètre -DeploymentSlotName (qui ne peut pas être le principal, car techniquement ce n’est pas un emplacement de déploiement). La mise à jour de la configuration modifie les paramètres SCEPman pour utiliser l’authentification par Managed Identity au lieu de l’authentification par Enterprise App.

SCEPman 1.x ne prend pas en charge l’authentification par Managed Identity et, par conséquent, le CMDlet rend inutilisables les emplacements de déploiement qui exécutent encore une version 1.x. Ainsi, si vous avez plusieurs emplacements 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 emplacements de déploiement.

Pour les autres emplacements de déploiement, utilisez le -DeploymentSlotName paramètre pour cibler uniquement ces emplacements de déploiement individuels. C’est ce qu’affichent les commandes PowerShell sur la page d’accueil SCEPman de l’emplacement de déploiement, vous pouvez donc simplement copier les commandes.

Une fois que tous vos emplacements de déploiement fonctionnent en 2.x, exécutez simplement une fois de plus le CMDlet Complete-SCEPmanInstallation et ils utiliseront alors tous des Managed Identities.

Considérations lors de l’installation de SCEPman plusieurs fois dans un Tenant

Le CMDlet Complete-SCEPmanInstallation crée deux App Registrations : SCEPman-api et SCEPman-CertMaster. La section « Comment le CMDlet configure SCEPman Certificate Master» explique le rôle de ces App Registrations. Le CMDlet exige que leurs noms soient uniques ; ainsi, si vous avez plusieurs installations de SCEPman dans un locataire, elles partageront ces App Registrations 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 soumettre des demandes de certificat à n’importe quel SCEPman (même si cela ne se produit pas à moins de configurer SCEPman Certificate Master pour le faire).

Si vous ne souhaitez 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 multiniveau avec une SCEPman Root CA et une SCEPman Issuing CA, vous devez indiquer aux instances SCEPman d’utiliser d’autres app registrations.

À 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 App Registrations. Par exemple, vous pourriez appeler le CMDlet ainsi pour votre Root CA : Complete-SCEPmanInstallation -SCEPmanAppServiceName app-scepmanroot -SearchAllSubscriptions -AzureAdAppNameForSCEPman SCEPman-api-root -AzureAdAppNameForCertMaster -SCEPman-CertMaster-root 6>&1

Et 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 de fonctionnement du module PowerShell SCEPman

Cette section décrit le fonctionnement interne du module PowerShell. Cela peut vous aider si vous avez une configuration particulière nécessitant de modifier le script, si vous devez accorder une autorisation spéciale, si vous dépannez des problèmes liés à une installation de SCEPman, ou si vous souhaitez comprendre le fonctionnement interne afin d’écrire un script d’installation pour votre propre projet. Notez que le module PowerShell est un logiciel open source. Vous pouvez consulter le code source dans son dépôt GitHub. Les Pull Requests sont les bienvenues !

Nous recommandons d’exécuter le commandlet 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 le SCEPman App Service. L’App Service utilise une Managed Identity attribuée par le système, qui dispose déjà des droits d’accès au Key Vault Azure de SCEPman dans une installation normale. Le CMDlet ajoute des autorisations d’accès à Microsoft Graph pour 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 des droits à SCEPman, le module ajoute deux nouvelles ressources Azure lors d’une mise à niveau :

  • Le SCEPman Certificate Master App Service

  • Le Storage Account partagé par SCEPman et SCEPman Certificate Master pour les certificats créés manuellement

Même pour la Community Edition, qui n’utilise pas le composant SCEPman Certificate Master, les deux nouvelles ressources sont ajoutées. Cela permet de passer plus facilement à l’Enterprise Edition si vous le souhaitez, et n’ajoute aucun coût supplémentaire -- le Storage Account sera vide et Microsoft facture cela en fonction de la quantité de stockage, et le Certificate Master App Service partage un App Service Plan avec SCEPman, ce qui n’ajoute pas non plus de coût supplémentaire.

SCEPman 1.x utilisait une App Registration pour s’authentifier auprès de Microsoft Graph et d’Intune, tandis que SCEPman 2.x peut utiliser sa Managed Identity. Le CMDlet bascule vers la Managed Identity en modifiant ces paramètres :

  • AppConfig:AuthConfig:ApplicationId est défini sur une app registration nouvellement créée sans aucune autorisation. Il sert à authentifier auprès de SCEPman, et non pour authentifier SCEPman ailleurs. L’ancienne valeur est sauvegardée sous Backup:AppConfig:AuthConfig:ApplicationId.

  • AppConfig:AuthConfig:ApplicationKey est supprimé, l’ancienne valeur est sauvegardée sous Backup: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 n’obtient un jeton en utilisant la Managed Identity qu’après un court délai suivant l’exécution du CMDlet, car ce n’est qu’alors que les rôles du jeton reflètent les autorisations correctes ajoutées par le CMDlet.

Comment le CMDlet configure SCEPman Certificate Master

Le SCEPman App Service autorise l’accès anonyme à sa page d’accueil, car il n’affiche que des informations non sensibles en lecture seule. En revanche, le composant SCEPman Certificate Master permet aux utilisateurs d’émettre des certificats. Par conséquent, il n’autorise l’accès qu’aux utilisateurs authentifiés et seulement si vous disposez des autorisations adéquates. Cela nécessite une App Registration Azure avec des autorisations déléguées pour voir qui est connecté et avec la configuration d’URL de connexion appropriée. Le module enregistre cette App Registration sous SCEPman-CertMaster dans votre locataire Azure.

De plus, le SCEPman Certificate Master App Service a besoin d’une autorisation pour soumettre des Certificate Signing Requests (CSRs) au SCEPman App Service principal afin d’émettre des certificats. Le mécanisme d’authentification qui sous-tend cela repose sur une autre App Registration : 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 à la Managed Identity 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 PowerShell, vous pouvez supprimer l’App Registration utilisée dans SCEPman 1.x

SCEPman V2.x utilise deux nouvelles App Registrations : « SCEPman-api » et « SCEPman-CertMaster »

Mis à jour

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