# Local Admin Password Solution (LAPS)

Notre solution Local Administrator Password Solution (LAPS) a été conçue pour résoudre le problème de l’utilisation de comptes identiques dans votre environnement pour l’assistance aux utilisateurs ou l’élévation de privilèges. LAPS crée des mots de passe robustes pour les comptes locaux qui sont stockés de manière sécurisée dans *votre propre* [Azure Key Vault](/fr/agent-realmjoin/realmjoin-client/local-admin-password-solution-laps/keyvault.md). Pour l’audit, vous avez la possibilité de fournir une [Application Insights](/fr/agent-realmjoin/realmjoin-client/local-admin-password-solution-laps/application-insights.md) instance ou un [Log Analytics Workspace](/fr/journaux/log-analytics.md).

## Pré-requis

Avant de pouvoir commencer avec LAPS, vous devez remplir les pré-requis suivants :

* Configurer [Application Insights](#application-insights) OU [Log Analytics Workspace](/fr/journaux/log-analytics.md)
* Activer explicitement les types de comptes LAPS à l’aide des paramètres de groupe (ou d’utilisateur)

Nous examinerons les deux ci-dessous.

## Journalisation

Application Insights et Log Analytics jouent un rôle important lors de l’utilisation de LAPS. Les demandes de mot de passe déclenchées par LAPS sont journalisées par RealmJoin et transmises à l’instance Application Insights configurée ou au Log Analytics Workspace. Vous avez ainsi une visibilité complète sur qui récupère les mots de passe.

Une seule forme de journalisation doit être choisie - soit Application Insights, soit Log Analytics. La journalisation est facultative lors de la configuration de LAPS et peut être ignorée si votre organisation n’a pas besoin de cette information.

Vous trouverez plus de détails dans nos [Application Insights](/fr/agent-realmjoin/realmjoin-client/local-admin-password-solution-laps/application-insights.md) et [Log Analytics](/fr/journaux/log-analytics.md) articles.

## Paramètres de groupe

LAPS prend en charge les paramètres globaux suivants.

| Clé du paramètre                   | Valeur par défaut | Description                                                                                                                                                         |
| ---------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| LocalAdminManagement.Inactive      | `false`           | Définir sur `true` pour désactiver cette fonctionnalité de force. Cela nettoiera et **supprimera** tous les comptes locaux.                                         |
| LocalAdminManagement.CheckInterval | `"01:00"`         | Intervalle pour les vérifications de configuration internes ([HH:mm](https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-timespan-format-strings)) |

Les types de comptes suivants sont pris en charge.

| Clé du paramètre                       | Valeur par défaut        |
| -------------------------------------- | ------------------------ |
| LocalAdminManagement.EmergencyAccount  | `non défini` (*inactif*) |
| LocalAdminManagement.SupportAccount    | `non défini` (*inactif*) |
| LocalAdminManagement.PrivilegedAccount | `non défini` (*inactif*) |

Chaque type de compte peut être configuré indépendamment à l’aide des paramètres communs suivants. Certains types disposent de paramètres spéciaux décrits dans leur section respective.

{% hint style="info" %}
Dans le tableau suivant `$` représente l’un des trois `Compte` objet JSON ci-dessus.
{% endhint %}

| Clé du paramètre   | Valeur par défaut                                                    | Description                                                                                    |
| ------------------ | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| $.NamePattern      | `"ADM-{HEX:8}"`                                                      | Spécial. Voir [Compte privilégié](#privileged-account). Doit comporter 20 caractères ou moins. |
| $.DisplayName      | `"RealmJoin Local Administrator"`                                    | Nom d’affichage                                                                                |
| $.PasswordCharSet  | `"!#%+23456789:=?@ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnopqrstuvwxyz"` | Jeu de caractères pour le générateur de mots de passe (exclut les caractères similaires)       |
| $.PasswordLength   | 20                                                                   | Longueur du mot de passe                                                                       |
| $.PasswordPreset   | 0                                                                    | Modèles de mots de passe prédéfinis, voir [Génération de mots de passe](#password-generation). |
| $.MaxStaleness     | Spécial. Voir [Recréation du compte](#account-recreation).           | Modèles de mots de passe prédéfinis, voir [Génération de mots de passe](#password-generation). |
| $.OnDemand         | Spécial. Voir [Compte de support](#support-account).                 | Créer le compte uniquement lorsqu’il est demandé.                                              |
| $.Expiration       | Spécial. Voir [Compte de support](#support-account).                 | Date d’expiration fixe du compte (format ISO-8601)                                             |
| $.PasswordRenewals | Spécial. Voir [Compte privilégié](#privileged-account).              | Date d’expiration fixe du compte (format ISO-8601)                                             |

## Mot de passe **génération**

Par défaut, des mots de passe véritablement aléatoires seront générés sur la base des paramètres `PasswordCharSet` et `PasswordLength`. Le jeu de caractères par défaut a été choisi pour exclure les caractères visuellement similaires comme `I1l` et `O0`. Le générateur de nombres aléatoires cryptographique de Windows est utilisé pour fournir une aléa de haute qualité pour la génération.

{% hint style="info" %}
RealmJoin gérera automatiquement les problèmes liés aux exigences de complexité de Windows lors de la création du compte. Comme pour tous les mots de passe véritablement aléatoires, il peut arriver que les mots de passe générés ne satisfassent pas aux exigences de complexité. Si cela se produit, RealmJoin effectuera jusqu’à trois cycles de génération de mots de passe jusqu’à ce qu’un mot de passe viable soit généré. Il reste une faible probabilité statistique que toutes les tentatives soient dépassées. Dans ce cas, vous verrez un message dans le fichier journal du service similaire à `Toutes les tentatives ont été dépassées`. Le processus complet redémarrera lors de la prochaine exécution des vérifications de configuration internes (voir le paramètre `CheckInterval`).
{% endhint %}

Les mots de passe véritablement aléatoires peuvent être difficiles à utiliser, c’est pourquoi des modèles prédéfinis spéciaux sont également pris en charge.

* Préréglage 1 ⇒ `[1 majuscule][3 minuscule][4 chiffre]`
  * `Tuci9325`
  * `Lnso5050`
  * `Khwn2174`
* Préréglage 2 ⇒ `Key-[6 chiffres]-[6 chiffres]-[6 chiffres]-[6 chiffres]-[6 chiffres]-[6 chiffres]-[6 chiffres]-[6 chiffres]`
  * Le paramètre PasswordLength est pris en charge ! Ce paramètre détermine le nombre de blocs de chiffres.
  * `Key-012993-230956-976475` (PasswordLength = 3)
  * `Key-497254-679158-631224-278319` (PasswordLength = 4)
  * `Key-506179-861369-706482-613244-730371-097689-404350-340073` (par défaut)
* Préréglage 3 ⇒ `[mot]-[mot]-[mot]-[mot]-[mot]-[mot]` généré à partir de [Eff Long List](https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt)​
  * Le paramètre PasswordLength est pris en charge ! Ce paramètre détermine le nombre de mots.
  * `Exciting-Unearth-Cried-87` (PasswordLength = 3)
  * `Neurology-Astute-Debate-Marshy-15` (PasswordLength = 4)
  * `Marshy-Darkened-Undertake-Reset-Shrouded-Wise-26` (par défaut)

## Recréation du compte

Après qu’un compte a été utilisé, RealmJoin peut être configuré pour supprimer puis recréer le compte à l’aide du paramètre `MaxStaleness` . Ainsi, les comptes seront toujours propres. Si ce paramètre n’est pas configuré, les comptes ne seront jamais recréés et resteront présents indéfiniment.

{% hint style="danger" %}
RealmJoin supprimera le compte et son profil. **Tous les fichiers seront supprimés définitivement.**

Si un compte est toujours utilisé - encore connecté, session ouverte, application lancée avec lui en tant qu’ADM et toujours en cours d’exécution - le compte expirera quand même, mais ne pourra pas être supprimé. **Un nouveau compte ne peut pas être créé tant que l’ancien compte n’est pas supprimé.**
{% endhint %}

## Évitement des conflits

Même si RealmJoin fait de son mieux pour éviter les conflits de nommage lors de la gestion des comptes sur un appareil, il existe toujours la possibilité que des comptes existent déjà sur un appareil, ce qui provoque des conflits. C’est pourquoi le `NamePattern` le paramètre prend en charge ces jetons ayant une signification spéciale pour RealmJoin. Les jetons seront transformés par la fonction spécifiée et sa longueur, indiquée après les deux-points.

* `{HEX:8}` ⇒ `F4D027EF`, `B3C4F74E`, ... (caractères hexadécimaux aléatoires)
* `{DEC:6}` ⇒ `506453`, `066946`, ... (caractères décimaux aléatoires)
* `{COUNT:2}` ⇒ `01`, `02`, ... (compteur, restera `01` si aucun conflit n’existe)

## Compte d’urgence

Ce type de compte est votre accès de secours à l’appareil en cas de défaillance catastrophique. Il sera créé de manière proactive. De cette façon, vous disposerez toujours d’un accès pour la récupération. Nous recommandons de le configurer pour [la recréation du compte](#account-recreation).

*Exemple*

Clé `LocalAdminManagement.EmergencyAccount` (pour les paramètres communs, voir [paramètres de groupe](#group-settings))

```json
{
  "NamePattern": "ADM-Emergency-{HEX:4}",
  "DisplayName": "Emergency Access",
  "MaxStaleness": "04:00",
  "PasswordPreset": 2
}
```

## Compte de support

Ce type de compte peut être configuré pour une création à la demande. Il est conçu pour être utilisé dans une fenêtre de temps limitée de 12 heures en mode à la demande.

{% hint style="danger" %}
Les comptes de support et leurs profils seront supprimés 12 heures après la demande du compte, quelle que soit l’utilisation (après la déconnexion de l’utilisateur de support). **Tous les fichiers seront supprimés définitivement.**
{% endhint %}

{% hint style="danger" %}
Lors de l’utilisation du mode à la demande, la recréation du compte (`MaxStaleness`) *ne doit pas être utilisée*. Cela peut interférer avec votre flux de travail de support.
{% endhint %}

Exigences pour le flux de travail à la demande :

* Le mode est activé en définissant `"OnDemand": true`.
* Un utilisateur est connecté
* L’agent RealmJoin est en cours d’exécution
* L’appareil est connecté à Internet
* L’appareil peut joindre le backend RealmJoin

{% hint style="info" %}
Il peut s’écouler jusqu’à 30 minutes avant que l’agent RealmJoin ne remarque la demande. L’utilisateur connecté peut accélérer ce processus en choisissant « Synchroniser cet appareil » dans le menu de la barre d’état RealmJoin.
{% endhint %}

Lorsqu’il n’est pas en mode à la demande, il sera créé de manière proactive.

*Exemple*

Clé `LocalAdminManagement.SupportAccount` (pour les paramètres communs, voir [paramètres de groupe](#group-settings))

```json
{
  "NamePattern": "ADM-Support-User-{HEX:2}",
  "DisplayName": "Support User",
  "OnDemand": true,
  "PasswordPreset": 1
}
```

## Compte privilégié

Ce type de compte est conçu pour être utilisé par des utilisateurs avancés qui ont besoin de privilèges administratifs réguliers mais contrôlés sur leurs propres appareils. Une date d’expiration fixe du compte peut être spécifiée (`Expiration`).

{% hint style="danger" %}
Pour ce type, la recréation du compte (`MaxStaleness`) *ne doit pas être utilisée*. Le but est d’avoir un compte persistant pour vos utilisateurs.
{% endhint %}

Les rotations forcées de mot de passe sont prises en charge :

1. `2021-11-20T12:34:56+01:00`: Tout horodatage explicite au format ISO-8601. Plusieurs horodatages peuvent être spécifiés.
2. `DayAfterCreate`: Après la création du compte, le mot de passe du compte sera modifié. C’est utile lorsque les utilisateurs sont censés configurer Windows Hello pour des options de connexion supplémentaires.
3. `Annuel`, `Mensuel` ou `Hebdomadaire`: L’intervalle le plus court est prioritaire (`Hebdomadaire` > `Mensuel` > `Annuel`). Si aucune autre condition n’est spécifiée, les valeurs par défaut sont « 1er jour du mois » pour `Mensuel` ou « lundi » pour `Hebdomadaire`. De plus, `Annuel` par défaut la date du dernier changement de mot de passe + 365 jours. Les sept jours de la semaine peuvent être spécifiés. Donc si `Mercredi` et `Hebdomadaire` sont spécifiés, le mot de passe sera modifié chaque mercredi. Si `Mercredi` et `Mensuel` sont spécifiés, le mot de passe sera modifié le premier mercredi de chaque mois. Combiner `Annuel` avec les jours de la semaine fixera l’échéance au jour de semaine spécifié le plus tard possible juste avant l’expiration des 365 jours.

*Exemple*

Clé `LocalAdminManagement.PrivilegedAccount` (pour les paramètres communs, voir [paramètres de groupe](#group-settings))

```json
{
  "NamePattern": "Privileged-User-{COUNT:1}",
  "DisplayName": "Privileged User",
  "PasswordRenewals": ["DayAfterCreate", "Monthly", "Thursday"],
  "PasswordPreset": 3,
  "PasswordLength": 3
}
```

## Accès aux mots de passe

Utilisez le portail RealmJoin pour accéder aux mots de passe.<br>

<figure><img src="/files/584ff8215c6f363a9f67e81dce4ed3386fe514ea" alt=""><figcaption></figcaption></figure>

## Activer le libre-service

Les utilisateurs peuvent accéder aux comptes créés sur leurs *propres* appareils (ils sont « PrimaryUser ») lorsque cette option est activée à l’aide du *RealmJoin Portal* à partir de la version `2022.5.1`. Pour l’activer, définissez un paramètre en utilisant la clé `Allow.SelfLAPS`. Ce paramètre peut être défini sur des groupes et des utilisateurs. Comme pour tous les paramètres préfixés par `Allow.*` , ils sont combinés par ET entre l’utilisateur et tous ses groupes.

```json
{
  "EmergencyAccount": true,
  "SupportAccount": true,
  "PrivilegedAccount": true
}
```

La valeur peut également être un simple booléen `true`/`false`. Cela peut être utilisé comme joker et englobe tous les types de comptes actuels et futurs. Veuillez noter que cela n’est recommandé que pour désactiver l’accès (`false`).

{% hint style="info" %}
Dans le passé, il était recommandé de définir ce paramètre sur `true`. Cependant, à mesure que nous continuons à étendre RealmJoin, de nouveaux types de comptes seront ajoutés. Il est donc fortement recommandé de migrer toutes les `true` valeurs vers la notation objet plus explicite
{% endhint %}

Un exemple de configuration peut ressembler à ceci :

| Groupe                    |                                                           | Commentaire                                                                                                                                                          |
| ------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tous les télétravailleurs | `{ "EmergencyAccount": true }`                            | Les télétravailleurs peuvent accéder au compte d’urgence de leurs propres appareils.                                                                                 |
| Tous les développeurs     | `{ "EmergencyAccount": true, "PrivilegedAccount": true }` | Les développeurs peuvent accéder à leur compte d’urgence et à leur compte privilégié, qu’ils soient télétravailleurs ou non.                                         |
| Tous les stagiaires       | `false`                                                   | Les stagiaires ne doivent jamais avoir accès à aucun des trois types de comptes **et** ni à aucun des futurs types, même s’ils sont télétravailleurs ou développeurs |

{% hint style="info" %}
SelfLAPS est plus puissant que le rôle LAPS habituel. Cela dit, si un utilisateur admin gère LAPS avec son compte utilisateur habituel, il ne pourra pas administrer son propre LAPS.

Atténuation : activez SelfLAPS pour ces comptes admin ou utilisez des comptes admin séparés.
{% endhint %}


---

# Agent Instructions: 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:

```
GET https://docs.realmjoin.com/fr/agent-realmjoin/realmjoin-client/local-admin-password-solution-laps.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
