> 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/configuration-azure/split-tenancy.md).

# Fractionnement du Tenant

{% hint style="warning" %}
SCEPman Enterprise Edition uniquement
{% endhint %}

## Présentation <a href="#overview" id="overview"></a>

SCEPman peut être configuré pour fonctionner à partir d’un Azure Tenant distinct du Tenant Azure/Intune pour lequel il délivre des certificats aux utilisateurs et/ou aux appareils. Cette configuration, appelée split-tenancy, est particulièrement **utile pour les MSP** qui souhaitent mutualiser les coûts d’infrastructure Azure entre leurs clients tout en conservant un backend dédié et une AC unique pour chacun de ces clients.

Le split-tenancy s’accompagne d’un **inconvénient majeur**: [Identités managées](/fr/deploiement-de-scepman/permissions/post-installation-config.md) ne peut plus être utilisée. Cela signifie que l’authentification auprès de l’API Graph (Azure AD et Intune) est gérée à l’aide d’un enregistrement d’application et d’un secret client, qui doit être géré (par le MSP) car il expire.

Dans ce qui suit, nous désignons le Tenant d’hébergement comme **Tenant d’accueil,** et le Tenant du client comme **Tenant cible**. Les ressources SCEPman existeront dans le **Tenant d’accueil**, et les appareils gérés dans le **Tenant cible** comme dans le graphique ci-dessous :

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Ft8uOQQC6iNXE2XeveTgY%2Fscepman-split-graphic.png?alt=media&amp;token=edb7ed01-20e3-4a88-9927-01275e510d01" alt=""><figcaption></figcaption></figure>

## Étapes de configuration

1. Dans la **Tenant d’accueil**, effectuez un déploiement standard de SCEPman/Certificate Master comme décrit dans notre [Guide de démarrage](/fr/deploiement-de-scepman/deployment-guides.md).

### Dans SCEPman (Tenant d’accueil)

2. Accédez à la **App Service** puis à « Paramètres » --> « Variables d’environnement ». Repérez les paramètres suivants et **supprimez** les :

| Variables d’environnement                                       |
| --------------------------------------------------------------- |
| `AppConfig:AuthConfig:ManagedIdentityEnabledForWebsiteHostname` |
| `AppConfig:AuthConfig:ManagedIdentityEnabledOnUnixTime`         |
| `AppConfig:AuthConfig:ManagedIdentityPermissionLevel`           |

3. **Renommez** les paramètres suivants (**ne changez pas leurs valeurs**):

<table><thead><tr><th width="384">Nom d’origine</th><th>Nouveau nom</th></tr></thead><tbody><tr><td><code>AppConfig:AuthConfig:ApplicationId</code></td><td><code>AppConfig:AuthConfig:HomeApplicationId</code></td></tr><tr><td><code>AppConfig:AuthConfig:TenantId</code></td><td><code>AppConfig:AuthConfig:HomeTenantId</code></td></tr></tbody></table>

4. Créez une **enregistrement d’application** dans le **Tenant cible** comme décrit ici : [Enregistrement d’application Azure](/fr/deploiement-de-scepman/permissions/azure-app-registration.md). Cela **enregistrement d’application** permettra à SCEPman d’accéder aux annuaires Azure AD et Intune dans le **Tenant cible**.

{% hint style="warning" %}
Le **secret client** généré dans le cadre de cet **enregistrement d’application** a une date d’expiration et doit être renouvelé avant son expiration. Veuillez définir un rappel pour le renouvellement.
{% endhint %}

**Créer** les nouvelles variables d’environnement suivantes si vous ne l’avez pas déjà fait lors de la création de l’enregistrement d’application :

<table><thead><tr><th width="395">Nom</th><th>Value</th></tr></thead><tbody><tr><td><code>AppConfig:AuthConfig:ApplicationId</code></td><td>GUID de <strong>enregistrement d’application</strong> qui a été créé précédemment <strong>(Tenant cible).</strong></td></tr><tr><td><code>AppConfig:AuthConfig:TenantId</code></td><td>ID de locataire du <strong>Tenant cible</strong>.</td></tr><tr><td><code>AppConfig:AuthConfig:ApplicationKey</code></td><td><strong>Value</strong> de la <strong>secret client</strong> qui a été créé dans le cadre du <strong>enregistrement d’application</strong> dans le <strong>Tenant cible</strong>.</td></tr></tbody></table>

5. Appliquez les modifications.
6. Redémarrez le SCEPman **App Service**.

### Certificate Master

7. Accédez au Certificate Master **App Service** puis à « Paramètres » > « Variables d’environnement ».
8. Vous avez maintenant deux options :
   1. Si vous souhaitez que les utilisateurs de votre **Tenant d’accueil** se connectent à Certificate Master et émettent des certificats, ce qui inclut les utilisateurs invités dans votre Tenant d’accueil, par exemple depuis votre Tenant cible.

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FXqlVQSz8vRMLpm9ijTb3%2Fscepman-split-graphic2.png?alt=media&amp;token=18945a73-dc3b-416e-85da-a4f8cf267c61" alt=""><figcaption><p>Option 1 : Les utilisateurs du Tenant d’accueil se connectent à Certificate Master</p></figcaption></figure>

Dans ce cas, **renommez** les paramètres suivants (**ne changez pas leurs valeurs**):

<table><thead><tr><th width="385">Nom d’origine</th><th>Nouveau nom</th></tr></thead><tbody><tr><td><code>AppConfig:AuthConfig:TenantId</code></td><td><code>AppConfig:AuthConfig:HomeTenantId</code></td></tr><tr><td><code>AppConfig:AuthConfig:ApplicationId</code></td><td><code>AppConfig:AuthConfig:HomeApplicationId</code></td></tr></tbody></table>

b. Vous souhaitez que les utilisateurs de votre **Tenant cible** se connectent à Certificate Master et émettent des certificats, ce qui inclut les utilisateurs invités dans votre Tenant cible, par exemple depuis votre Tenant d’accueil.

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FOKLaoNuGHkWV7zvScKvi%2Fscepman-split-graphic3.png?alt=media&amp;token=ed862008-d054-4a16-8912-07d578bc582c" alt=""><figcaption><p>Option 2 : Les utilisateurs du Tenant cible se connectent à Certificate Master</p></figcaption></figure>

Dans ce cas, procédez comme suit :

* Ouvrez une **PowerShell** ou **Azure Cloud Shell** dans votre **Tenant cible** et exécutez les commandes suivantes :

```
Install-Module SCEPman -Scope CurrentUser -Force
Register-SCEPmanCertMaster -CertMasterBaseURL <url>
```

Remplacez `<url>` par l’URL de votre Certificate Master

* Le **Cmdlet** renverra un **ID d’application** et un **ID de locataire** (celui de la **Tenant cible**). Saisissez ces deux valeurs comme
  * `AppConfig:AuthConfig:HomeApplicationId` et
  * `AppConfig:AuthConfig:HomeTenantId` dans les paramètres de votre Certificate Master.
* Maintenant **créez** les nouveaux paramètres d’application suivants, en remplaçant éventuellement les existants, avec les mêmes valeurs que dans SCEPman :

<table><thead><tr><th width="393">Nom</th><th>Value</th></tr></thead><tbody><tr><td><code>AppConfig:AuthConfig:ApplicationId</code></td><td>GUID de <strong>enregistrement d’application</strong> qui a été créé auparavant.</td></tr><tr><td><code>AppConfig:AuthConfig:TenantId</code></td><td>ID de locataire du <strong>Tenant cible</strong>.</td></tr><tr><td><code>AppConfig:AuthConfig:ApplicationKey</code></td><td><strong>Value</strong> de la <strong>secret client</strong> qui a été créé dans le cadre du <strong>enregistrement d’application</strong> auparavant.<br>Vous pouvez créer un nouveau secret client distinct pour Certificate Master si vous le souhaitez.</td></tr></tbody></table>

9. Enregistrez les modifications
10. Redémarrez le SCEPman Certificate Master **App Service**.
11. Accordez les droits de demande de certificats via l’ **Certificate Master** application web, voir [ici](/fr/deploiement-de-scepman/permissions/post-installation-config.md#granting-the-rights-to-request-certificates-via-the-certificate-master-website).

À titre de vue d’ensemble, voici les comptes utilisés par **Certificate Master** et à quoi ils servent :

| Compte                                                                      | À quoi sert-il ?                                                                                                                                                                                                                            | Remarques                                                                         |
| --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| Identité gérée                                                              | <ul><li>Autoriser les CSR soumis à SCEPman</li><li>Accès au Storage Account</li></ul>                                                                                                                                                       | Sans objet                                                                        |
| Enregistrement d’application avec l’ID d’application de `ApplicationId`     | Certificate Master accède à Microsoft Graph dans ce contexte pour voir quels certificats ont été enregistrés via Intune                                                                                                                     | Si `ApplicationKey` n’est pas présent, l’Identité gérée est utilisée à la place.  |
| Enregistrement d’application avec l’ID d’application de `HomeApplicationId` | Les utilisateurs s’authentifient **à** à cette application. Elle doit se trouver dans le Tenant où résident les utilisateurs accédant à Certificate Master (mais les utilisateurs invités d’autres Tenant peuvent également être autorisés) | Si `HomeApplicationId` n’est pas présent, `ApplicationId` est utilisé à la place. |

Maintenant que la configuration du split-tenancy est terminée, vous pouvez procéder à la configuration de vos profils SCEP en fonction de votre MDM.

## Considérations lorsqu’on dispose de plusieurs Tenant cibles

Si vous souhaitez avoir plusieurs instances SCEPman pour émettre des certificats à différents Tenant cibles, vous devrez effectuer des étapes de configuration supplémentaires pour isoler ces instances les unes des autres.

Un concept possible pourrait inclure un groupe de ressources de gestion qui contient un seul App Service Plan fournissant la ressource de calcul pour tous vos App Services SCEPman. Les points suivants doivent être pris en compte lors de la réalisation de cela pour plusieurs Tenant :

* Chaque instance devrait avoir son propre groupe de ressources pour les distinguer
* Vous devriez créer des enregistrements d’application pour chaque instance afin d’isoler les autorisations
* L’App Service Plan devrait être créé dans un groupe de ressources de gestion indépendant car il sert plusieurs instances

Dans ce diagramme, un Tenant de gestion et ses deux instances SCEPman fournissent des certificats aux Tenant de Contoso et de Tailwind :

```mermaid
graph LR
  subgraph t0[Tenant de gestion]
  subgraph rg0[rg-scepman-mgmt]
    asp[asp-scepman-mgmt]
  end

  subgraph rg1[rg-scepman-contoso]
    app1[app-scepman-contoso]
    appreg1[scepman-api-contoso]
  end

  subgraph rg2[rg-scepman-tailwind]
    app2[app-scepman-tailwind]
    appreg2[scepman-api-tailwind]
  end
  end

  subgraph t1[Tenant Contoso]
    i1[Intune]
    e1[Entra ID]
  end

  subgraph t2[Tenant Tailwind]
    i2[Intune]
    e2[Entra ID]
  end

  classDef rg stroke:#6dc3d1, fill:#d5ecf2
  classDef asp stroke:#2962FF, fill:#e0e7ff
  classDef app stroke:#fcd116, fill:#FFF8D8
  classDef appreg stroke:#6DD185, fill:#ddffd8
  classDef tenant stroke:#4d93c0, fill:#d0e2f0
  classDef entra color:#ffffff, stroke:#0b58a4, fill:#0078d6
  classDef intune stroke:#2ebddd, fill:#d9f4fa

  class rg0,rg1,rg2 rg
  class asp asp
  class app1,app2 app
  class appreg1,appreg2 appreg
  class t0,t1,t2 tenant
  class e1,e2 entra
  class i1,i2 intune

  asp --serves--> app1
  asp --serves--> app2

  app1 --> appreg1
  appreg1 -- reads data--> i1
  appreg1 -- reads data--> e1
  i1 --requests certificates--> app1

  app2 --> appreg2
  appreg2 --reads data--> i2
  appreg2 --reads data--> e2
  i2 --requests certificates--> app2
```

### Ajoutez une nouvelle instance SCEPman à un App Service Plan existant

Lors du déploiement d’une nouvelle instance SCEPman à l’aide de la [méthode de déploiement d’entreprise](https://docs.scepman.com/scepman-deployment/deployment-options/enterprise-deployment) il vous est proposé de saisir l’ID de ressource d’un App Service Plan existant auquel cette instance doit être ajoutée.

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FxHUNSYYW9FleCHCmxiGB%2Fimage.png?alt=media&amp;token=dd7885b4-fe66-444a-b507-eaa0c2d0880d" alt=""><figcaption></figcaption></figure>

Cet ID de ressource se trouve dans les propriétés de l’App Service Plan existant :

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FvfeVKRZqRbm4U4BcRTCE%2Fimage.png?alt=media&amp;token=f7304314-93f5-4c50-8ae9-b8809407adeb" alt=""><figcaption></figcaption></figure>

### Créez des enregistrements d’application spécifiques au client

Pour isoler les autorisations de l’application, vous devrez ajuster la commande post-déploiement afin de spécifier des enregistrements d’application personnalisés :

{% code overflow="wrap" %}

```powershell
Complete-SCEPmanInstallation -SCEPmanAppServiceName "app-scepman-contoso" -AzureADAppNameForSCEPman "scepman-api-contoso" -AzureADAppNameForCertMaster "certmaster-contoso" -SearchAllSubscriptions 6>&1
```

{% endcode %}

Cette commande aboutira à une instance SCEPman entièrement configurée, isolée des instances précédentes. Vous pouvez maintenant poursuivre la configuration du split-tenancy pour cette instance.

La section ci-dessus concernant Certificate Master peut désormais être appliquée facultativement si vous souhaitez que ce service soit accessible depuis le Tenant du client.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.scepman.com/fr/configuration-azure/split-tenancy.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
