# Authentification basée sur les certificats pour Entra ID

L’authentification basée sur un certificat offre une alternative de sécurité robuste pour accéder aux ressources Entra ID. Cet article propose un guide pas à pas pour configurer cette méthode, en utilisant SCEPman comme autorité de certification afin de simplifier la gestion des certificats.

## Activer le CRL de SCEPman

{% content-ref url="../../../gestion-des-certificats/manage-certificates/enabling-crl" %}
[enabling-crl](https://docs.scepman.com/fr/gestion-des-certificats/manage-certificates/enabling-crl)
{% endcontent-ref %}

Entra ID nécessitera un CRL pour valider les certificats. Assurez-vous de définir les variables d’environnement suivantes dans votre service d’application pour que le CRL soit disponible :

[AppConfig:CRL:RequestToken](https://docs.scepman.com/scepman-configuration/application-settings/crl#appconfig-crl-requesttoken)

Définissez ceci sur une chaîne personnalisée qui sera utilisée dans l’URL pour permettre le téléchargement du CRL.

[AppConfig:CRL:Source](https://docs.scepman.com/scepman-configuration/application-settings/crl#appconfig-crl-source)

C’est la source à partir de laquelle SCEPman génère le CRL. Assurez-vous que cela soit défini sur `Stockage`

## Configurer Entra ID

{% stepper %}
{% step %}

### Créer une PKI dans Entra Security Center

Dans Entra ID, accédez à **Protection** > **Security Center** > [**Public Key Infrastructure**](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/SecurityMenuBlade/~/PublicKeyInfrastructure/menuId/SecurityCenter/fromNav/)**,** cliquez sur *Create PKI* et sélectionnez un nom d’affichage correspondant.
{% endstep %}

{% step %}

### Ajouter une autorité de certification

Accédez à la PKI nouvellement créée et cliquez sur *Add certificate authority* pour téléverser le certificat CA de votre instance SCEPman. Ce certificat peut être obtenu depuis sa page d’accueil dans le menu à droite (*Get CA Certificate*).

Pour l’URL de la liste de révocation des certificats, vous pouvez saisir l’URL dans le format suivant :

```
https://scepman.contoso.com/crl/pem/{YourCrlRequestToken}
```

{% hint style="warning" %}
Assurez-vous d’inclure le `/pem/` chemin dans votre URL, car Entra peut rencontrer des problèmes de compatibilité lors de l’utilisation du format DER par défaut.
{% endhint %}

Vous devriez maintenant obtenir une autorité de certification similaire à ce qui suit :

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FJ8NIUb0d7eyJ6VLQboOr%2Fimage.png?alt=media&#x26;token=9db3a6e0-f62a-4b5d-9225-3fd9df3d00cd" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Activer CBA dans les méthodes d’authentification

Une fois l’AC en place, nous pouvons poursuivre et activer l’authentification basée sur un certificat dans **Protection** > **méthodes d’authentification** > [**Stratégies**](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods/fromNav/)

Accédez à la *authentification basée sur un certificat* stratégie, activez-la et autorisez tous les utilisateurs ou des groupes spécifiques à utiliser cette méthode :

![](https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FA5JQWoky2wn9xy7BK384%2Fimage.png?alt=media\&token=be93a02a-0a8d-4e54-a816-d003d6b05c41)
{% endstep %}

{% step %}

### Configurer l’authentification basée sur un certificat

Passez à l’onglet *Configurer* et parcourez les options :

**Exiger la validation du CRL**: ✅

Il s’agit d’un élément essentiel de la sécurité offerte par cette méthode, car le CRL indiquera à Entra ID quels certificats ont été révoqués et ne doivent donc pas être autorisés pour l’authentification.

**Indications d’émetteur** : ✅

L’activation des indications d’émetteur n’affichera lors de l’authentification que les certificats délivrés par l’AC configurée.

Conservez les paramètres par défaut pour la liaison d’authentification et créez une règle permettant d’autoriser l’autorité de certification créée précédemment :

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FE8UtFEErL3Into71bGui%2Fimage.png?alt=media&#x26;token=17f860ed-2f4d-492d-b574-dd56f7cff9b4" alt=""><figcaption></figcaption></figure>

**Force d’authentification**:

Cela définit le poids de l’authentification à l’aide de cette AC. Si vous sélectionnez *Authentification à facteur unique*, une autre méthode d’authentification peut être nécessaire selon l’application à laquelle on accède.

**Liaison d’affinité**:

La liaison d’affinité définit les détails requis dans le certificat, qui doivent correspondre aux données associées dans l’objet utilisateur pour que l’authentification soit autorisée. Comme SCEPman ne peut actuellement ajouter aucune information de certificat dans l’objet utilisateur, nous recommandons de définir cela sur **Faible** sauf si vous configurez manuellement les informations requises.

{% hint style="warning" %}
Les paramètres de force d’authentification et de liaison d’affinité dépendent fortement du cas d’usage spécifique et du type de comptes que vous souhaitez protéger avec cette méthode d’authentification. Si vous souhaitez sécuriser des utilisateurs hautement privilégiés, vous devriez envisager d’ajouter manuellement les informations du certificat dans leurs comptes utilisateur pour obtenir une forte affinité.
{% endhint %}
{% endstep %}
{% endstepper %}

## Utilisation

Une fois la configuration en place, un utilisateur peut sélectionner *Utiliser un certificat ou une carte à puce*:

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FadOI8hZm2kOoKAOvi0vq%2Fimage.png?alt=media&#x26;token=bba5bfbd-6577-48b6-adc7-66a49edbdf35" alt=""><figcaption></figcaption></figure>

Ce qui demandera ensuite de choisir le certificat à utiliser pour l’authentification.

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FsNh5rtPY52gnNZCkq9X4%2Fimage.png?alt=media&#x26;token=85568bc1-3daa-4691-827d-f002b0701bf2" alt=""><figcaption></figcaption></figure>

## Ajout manuel du mappage de certificat pour une liaison à forte affinité

Si vous souhaitez activer la CBA uniquement avec une liaison à forte affinité, vous pouvez saisir manuellement les détails du certificat dans les informations autorisées de l’utilisateur.

Accédez aux propriétés des utilisateurs dans Entra ID, modifiez-les puis modifiez maintenant les **IDs utilisateur de certificat**:

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FyGzQlmHC4nv6yzEKBwZG%2Fimage.png?alt=media&#x26;token=9ab1a272-df75-46c0-b2ca-51c18420e823" alt=""><figcaption></figcaption></figure>

Le format requis de ces IDs dépend des champs qui ont été configurés dans la liaison utilisateur des méthodes d’authentification. Une liste de formats peut être trouvée dans le [documentation Microsoft](https://learn.microsoft.com/en-us/entra/identity/authentication/concept-certificate-based-authentication-certificateuserids#supported-patterns-for-certificate-user-ids).

Exemple pour la liaison *SHA1PublicKey* :

```
X509:<SHA1-PUKEY>9600e49d740011187e5c734bab4a3d5d18d2a87a
```

Cela utilise l’empreinte du certificat pour associer fortement l’identité de l’utilisateur.
