> For the complete documentation index, see [llms.txt](https://docs.scepman.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scepman.com/fr/deploiement-scepman/permissions/post-installation-config.md).

# Les identités managées

{% hint style="info" %}
Cette fonctionnalité nécessite la version **2.0** ou supérieure.
{% endhint %}

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 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é managée de l'App Service de SCEPman et termine l'installation.

En outre, le module PowerShell ajoute la configuration sous-jacente nécessaire 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 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 qui doit être fait 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 Tenant dans 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 *Administrateur d'applications* rôle et d'exécuter plus tard manuellement les commandes nécessitant les autorisations d'Administrateur général.
* [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) (également connu sous le nom de *az*) installé. Azure CLI est préinstallé dans le [Azure Cloud Shell](https://docs.microsoft.com/en-us/azure/cloud-shell/overview), la méthode recommandée pour exécuter le module.

### Exécution de la CMDlet d'installation de 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 la CMDlet pour terminer l'installation de SCEPman et de Certificate Master.

1. Tout d'abord, vous devez accéder à l'App Service SCEPman et cliquer sur Default domain (voir la capture d'écran ci-dessous). Cela vous dirigera vers la page d'accueil de SCEPman.

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FOpFw5ty3cTxb27sfldRx%2F2024-04-17%2016_16_16.png?alt=media&amp;token=ee0ac055-4107-494d-9990-8a610fbec7f7" alt=""><figcaption></figcaption></figure>

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

![](https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-9189fc6b1b39a7ba68b3add0dfe55427083ef43e%2F2022-04-07SCEPmanV2.0AfterNewInstallation.png?alt=media)

{% hint style="warning" %}
Après l'exécution de la CMDlet, il se peut que vous obteniez « Service not available » ou « 502 Server Error » sur la page d'accueil de SCEPman ; veuillez attendre 2 à 3 minutes, puis actualiser la page.
{% endhint %}

#### Page d'accueil désactivée

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

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

```
Install-Module SCEPman -Scope CurrentUser -Force
Complete-SCEPmanInstallation 6>&1
```

2. Renseignez les invites suivantes :

* Dans quel abonnement Azure SCEPman s'exécute (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)

3. (Pour les mises à niveau de SCEPman uniquement), vous devez confirmer deux éléments supplémentaires :

* Le nom du nouvel App Service 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 Storage Account (là encore, vous pouvez confirmer la suggestion en appuyant sur Entrée ou en saisissant un nouveau nom pour la ressource)

### Exécution de la CMDlet d'installation de SCEPman sans rôle d'Administrateur général

Utilisez l' *-SkipAppRoleAssignments* indicateur de Complete-SCEPmanInstallation pour exécuter la CMDlet sans les autorisations d'Administrateur général. Cela omettra l'attribution des rôles d'application requis aux identités managées des App Services SCEPman et Certificate MasterApp. Vous pourrez ensuite attribuer manuellement les rôles d'application en tant qu'Administrateur général. La CMDlet affichera les commandes requises dans la console.

### Points à prendre en compte lors de l'utilisation des 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 un seul slot de déploiement spécifique avec le paramètre `-DeploymentSlotName` (qui ne peut pas être le slot principal, car techniquement il ne s'agit pas d'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, par conséquent, la CMDlet rend inutilisables les slots de déploiement qui exécutent encore une version 1.x. Ainsi, si vous avez plusieurs slots de déploiement et ne souhaitez pas tous les mettre à niveau en même temps, vous devez 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 que montrent les commandes PowerShell affichées sur la page d'accueil SCEPman du slot de déploiement, afin que vous puissiez simplement copier les commandes.

Une fois que tous vos slots de déploiement exécutent 2.x, exécutez simplement une fois de plus la CMDlet Complete-SCEPmanInstallation, et ils utiliseront alors tous des identités managées.

{% hint style="danger" %}
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 rétrogradation](https://docs.scepman.com/fr/deploiement-scepman/permissions/pages/86f1f511b9da26254c6f72e17ea430e7b357268a#downgrade-from-2.x-to-1.x) pour le faire fonctionner à nouveau.
{% endhint %}

### Points à prendre en compte lors de l'installation de SCEPman plusieurs fois dans un Tenant

La CMDlet Complete-SCEPmanInstallation crée deux inscriptions d'application : `SCEPman-api` et `SCEPman-CertMaster`. [La section « Comment la CMDlet configure SCEPman Certificate Master](#how-the-cmdlet-configures-scepman-certificate-master)» explique ce que font ces inscriptions d'application. La CMDlet exige que leurs noms soient uniques, donc si vous avez plusieurs installations SCEPman dans un Tenant, elles partageront ces inscriptions 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 certificat à n'importe quel SCEPman (bien que cela ne se produise pas, sauf si vous configurez 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 encore que vous souhaitez une PKI multiniveau avec une AC racine SCEPman et une AC émettrice SCEPman, vous devez indiquer aux instances SCEPman d'utiliser d'autres inscriptions d'application.

À cette fin, la 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 inscriptions d'application. Par exemple, vous pourriez appeler la CMDlet comme ceci pour votre AC racine :\
`Complete-SCEPmanInstallation -SCEPmanAppServiceName app-scepmanroot -SearchAllSubscriptions -AzureAdAppNameForSCEPman SCEPman-api-root -AzureAdAppNameForCertMaster -SCEPman-CertMaster-root 6>&1`

Et ensuite, vous l'appelez une autre fois pour votre AC subordonnée comme ceci :

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

## Détails de fond du module PowerShell SCEPman

Cette section décrit le fonctionnement interne du module PowerShell. Cela peut être utile 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 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 GitHub](https://github.com/scepman/scepman-psmodule). Les pull requests sont les bienvenues !

Nous recommandons d'exécuter la cmdlet avec `6>&1`, qui redirige le flux d'informations et l'affiche à l'écran, ce qui fournit davantage 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 la CMDlet configure SCEPman

La 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. La 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 la 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 facilite le passage à l'édition Enterprise si vous le souhaitez, sans coût supplémentaire -- le Storage Account sera vide et Microsoft facture cela en fonction de la quantité de stockage, et l'App Service Certificate Master partage un plan App Service avec SCEPman, ce qui n'ajoute également aucun coût supplémentaire.

SCEPman 1.x utilisait une inscription d'application pour s'authentifier auprès de Microsoft Graph et Intune, tandis que SCEPman 2.x peut utiliser son identité managée. La CMDlet passe à l'identité managée en modifiant ces paramètres :

* [AppConfig:AuthConfig:ApplicationId](/fr/configuration-scepman/application-settings/dependencies-azure-services/azure-ad.md#appconfigauthconfigapplicationid) est défini sur une inscription d'application nouvellement créée sans aucune autorisation. Elle est utilisée pour s'authentifier *auprès de* SCEPman, et non pour que SCEPman s'authentifie ailleurs. La valeur précédente est sauvegardée sous `Backup:AppConfig:AuthConfig:ApplicationId`.
* [AppConfig:AuthConfig:ApplicationKey](/fr/configuration-scepman/application-settings/dependencies-azure-services/azure-ad.md#appconfigauthconfigapplicationkey) est supprimé, la valeur précédente 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](/fr/configuration-scepman/application-settings/dependencies-azure-services/azure-ad.md#appconfigauthconfigmanagedidentityenabledonunixtime) contient l'heure à laquelle la CMDlet a été exécutée. SCEPman obtient un jeton en utilisant l'identité managée seulement après un court délai suivant l'exécution de la CMDlet, car ce n'est qu'à ce moment-là que les rôles dans le jeton reflètent les autorisations correctes ajoutées par la CMDlet.

### Comment la 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 seulement si vous disposez des bonnes autorisations. Cela nécessite une inscription 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 cette inscription d'application en tant que `SCEPman-CertMaster` dans votre tenant Azure.

En outre, l'App Service SCEPman Certificate Master a besoin d'une autorisation pour envoyer des demandes de signature de certificat (CSR) à l'App Service principal SCEPman afin d'émettre des certificats. Le mécanisme d'authentification sous-jacent repose sur une autre inscription d'application : `SCEPman-api`. SCEPman utilise *SCEPman-api* pour gérer les autorisations d'envoi des CSR. Le script enregistre SCEPman-api et ajoute l'autorisation d'envoi à l'identité managée de SCEPman Certificate Master.

{% hint style="info" %}
Dans le cas d'une mise à niveau de SCEPman de 1.x vers 2.x et après exécution réussie du script PS, vous pouvez supprimer l'inscription d'application utilisée dans SCEPman 1.x

SCEPman V2.x utilise deux nouvelles inscriptions d'application : "SCEPman-api" et "SCEPman-CertMaster"
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.scepman.com/fr/deploiement-scepman/permissions/post-installation-config.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
