Identités gérées

circle-info

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

SCEPman doit interagir avec votre annuaire Entra et les points de terminaison Intune pour fournir les certificats et la validation OCSP des utilisateurs et des appareils. Après le déploiement, SCEPman n'a pas encore les autorisations requises pour accéder à ces services. Le module PowerShell décrit dans cet article ajoute les autorisations nécessaires à l'identité gérée du service d'application SCEPman et complète 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.

Acquérir et exécuter le module d'installation SCEPman PowerShell

Que vous veniez d'installer une nouvelle instance SCEPman 2.x ou que vous veniez de passer de SCEPman 1.x à SCEPman 2.x, et dans certains cas après des modifications de l'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 qui doit être fait et complète 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(e) Administrateur Global Compte pour le locataire dans lequel vous souhaitez installer SCEPman (ou un autre rôle AAD comme Administrateur de rôles privilégiés et des autorisations d'écriture sur l'abonnement Azure). Il existe une option pour utiliser un compte disposant uniquement du rôle Administrateur d'application et exécuter ultérieurement manuellement les commandes nécessitant des autorisations d'administrateur global.

  • Azure CLIarrow-up-right (également connu sous le nom az) installé. Azure CLI est préinstallé dans le Azure Cloud Shellarrow-up-right, la manière recommandée d'exécuter le module.

Exécution du CMDlet d'installation SCEPman

Page d'accueil activée

Une fois les prérequis remplis, vous pouvez installer le module d'installation 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 service d'application SCEPman et cliquer sur Domaine par défaut (voir capture d'écran ci-dessous). Cela vous dirigera vers 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 Azure Cloud Shell (voir capture d'écran ci-dessous). Elle inclut un paramètre pour identifier votre instance SCEPman, afin que le code puisse s'exécuter idéalement sans interaction de l'utilisateur.

circle-exclamation

Page d'accueil désactivée

Si vous avez désactivé la page d'accueil SCEPman ou si vous devez exécuter de nouveau le CMDlet, procédez comme suit :

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

  1. Répondez aux invites pour :

  • Dans quel abonnement Azure SCEPman s'exécute (si vous avez accès à plus d'un abonnement)

  • Le nom du service d'application SCEPman (non requis si vous avez utilisé le code de la page d'accueil SCEPman)

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

  • Le nom du nouveau service d'application SCEPman Certificate Master (vous pouvez confirmer la suggestion en appuyant sur Entrée ou en saisissant un nouveau nom pour la ressource)

  • Le nom de la nouvelle ressource de compte de stockage (là encore, vous pouvez confirmer la suggestion en appuyant sur Entrée ou en saisissant un nouveau nom pour la ressource)

Exécution du CMDlet d'installation SCEPman sans le rôle d'administrateur global

Utilisez le -SkipAppRoleAssignments indicateur de Complete-SCEPmanInstallation pour exécuter le CMDlet sans autorisations d'administrateur global. Cela sautera l'attribution des rôles d'application requis aux identités gérées des services d'application SCEPman et Certificate Master. Vous pouvez 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 des emplacements de déploiement

Le module SCEPman met à jour la configuration dans tous les emplacements de déploiement à moins que vous ne lui indiquiez 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 identité gérée au lieu de l'authentification par application d'entreprise.

SCEPman 1.x ne prend pas en charge l'authentification par identité gérée et par conséquent le CMDlet rend les emplacements de déploiement inutilisables s'ils 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 l'emplacement 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 que les commandes PowerShell affichées sur la page d'accueil SCEPman de l'emplacement de déploiement affichent, vous pouvez donc simplement copier les commandes.

Une fois que tous vos emplacements de déploiement exécutent la version 2.x, exécutez simplement à nouveau le CMDlet Complete-SCEPmanInstallation et alors tous utiliseront des identités gérées.

triangle-exclamation

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, donc 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 soumettre 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 souhaitez pas ce comportement, par exemple parce que les installations SCEPman appartiennent à différentes parties de votre organisation, ou qu'une installation SCEPman est un environnement de pré-production, ou que vous voulez une PKI à plusieurs niveaux avec une CA racine SCEPman et une CA émettrice SCEPman, 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 CA racine : Complete-SCEPmanInstallation -SCEPmanAppServiceName app-scepmanroot -SearchAllSubscriptions -AzureAdAppNameForSCEPman SCEPman-api-root -AzureAdAppNameForCertMaster -SCEPman-CertMaster-root 6>&1

Et ensuite l'appeler une autre fois pour votre CA subordonnée comme ceci :

Complete-SCEPmanInstallation -SCEPmanAppServiceName app-scepmansub -SearchAllSubscriptions -AzureAdAppNameForSCEPman SCEPman-api-sub -AzureAdAppNameForCertMaster -SCEPman-CertMaster-sub 6>&1

Détails en arrière-plan du module PowerShell SCEPman

Cette section décrit le fonctionnement interne du module PowerShell. Cela peut aider si vous avez une configuration spéciale qui nécessite de modifier le script, si vous devez accorder une permission particulière, si vous dépannez des problèmes d'installation de 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 source dans son dépôt GitHubarrow-up-right. Les demandes de tirage sont les bienvenues !

Nous recommandons d'exécuter le cmdlet avec 6>&1, qui redirige le flux d'information 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 service d'application SCEPman. Le service d'application utilise une identité gérée attribuée par le système, qui possède déjà des droits d'accès au coffre de clés Azure de SCEPman dans une installation standard. Le CMDlet ajoute des autorisations d'accès à Microsoft Graph pour rechercher des utilisateurs et des appareils dans AAD et Intune pour les demandes OCSP entrantes et à Intune lui-même pour vérifier les demandes 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 :

  • Le service d'application SCEPman Certificate Master

  • Le compte de stockage partagé par SCEPman et SCEPman Certificate Master pour les certificats créés manuellement

Même pour l'édition communautaire, qui n'utilise pas le composant SCEPman Certificate Master, les deux nouvelles ressources sont ajoutées. Cela facilite la transition vers l'édition Entreprise si vous le souhaitez, et n'ajoute aucun coût supplémentaire -- le compte de stockage sera vide et Microsoft facture en fonction de la quantité de stockage, et le service d'application Certificate Master partage un plan App Service avec SCEPman, ce qui n'entraîne pas non plus de coût supplémentaire.

SCEPman 1.x utilisait un enregistrement d'application pour s'authentifier auprès de Microsoft Graph et Intune, tandis que SCEPman 2.x peut utiliser son identité gérée. Le CMDlet passe à l'identité géré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 contre SCEPman, et non pour que SCEPman s'authentifie ailleurs. L'ancienne valeur est sauvegardée en tant que Sauvegarde:AppConfig:AuthConfig:ApplicationId.

  • AppConfig:AuthConfig:ApplicationKey est supprimé, l'ancienne valeur est sauvegardée en tant que Sauvegarde:AppConfig:AuthConfig:ApplicationKey. Elle n'est plus nécessaire, car SCEPman ne s'authentifie plus en tant qu'application.

  • AppConfig:AuthConfig:ManagedIdentityEnabledOnUnixTime contient l'heure à laquelle le CMDlet a été exécuté. SCEPman acquiert un jeton en utilisant l'identité gérée seulement après un court délai suivant l'exécution du CMDlet, car ce n'est qu'alors que les rôles dans le jeton reflètent les autorisations correctes ajoutées par le CMDlet.

Comment le CMDlet configure SCEPman Certificate Master

Le service d'application SCEPman permet l'accès anonyme à sa page d'accueil, car elle n'affiche que des informations en lecture seule non sensibles. En revanche, le composant SCEPman Certificate Master permet aux utilisateurs de délivrer des certificats. Par conséquent, il n'autorise que l'accès authentifié et seulement si vous disposez des bonnes autorisations. Cela nécessite un enregistrement d'application Azure avec des autorisations déléguées pour voir qui est connecté et avec la bonne configuration d'URL de connexion. Le module enregistre cet enregistrement d'application en tant que SCEPman-CertMaster dans votre locataire Azure.

De plus, le service d'application SCEPman Certificate Master a besoin de l'autorisation d'envoyer des demandes de signature de certificat (CSR) au service d'application SCEPman principal pour délivrer des certificats. Le mécanisme d'authentification derrière cela repose sur un autre enregistrement d'application : SCEPman-api. SCEPman utilise SCEPman-api pour gérer les autorisations de soumission de CSR. Le script enregistre SCEPman-api et ajoute la permission de soumission à l'identité gérée du SCEPman Certificate Master.

circle-info

En cas de mise à niveau de SCEPman de 1.x à 2.x et après avoir exécuté avec succès le script PS, vous pouvez supprimer l'enregistrement d'application qui était 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 ?