> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/es/agente-de-realmjoin/realmjoin-client/local-admin-password-solution-laps.md).

# Solución de contraseñas de administrador local (LAPS)

RealmJoin LAPS genera contraseñas fuertes de cuentas locales almacenadas en tu propio Azure Key Vault, auditadas mediante Application Insights o Log Analytics.

Nuestra solución de contraseñas de administrador local (LAPS) se creó para resolver el problema de usar cuentas idénticas en tu entorno para soporte a usuarios o elevación de privilegios. LAPS crea contraseñas seguras para las cuentas locales que se almacenan de forma segura en *tu propia* [Azure Key Vault](/es/agente-de-realmjoin/realmjoin-client/local-admin-password-solution-laps/keyvault.md). Para auditoría, tienes la opción de proporcionar una [Application Insights](/es/agente-de-realmjoin/realmjoin-client/local-admin-password-solution-laps/application-insights.md) instancia o un [Log Analytics Workspace](/es/supervision-y-registros/log-analytics.md).

## Requisitos previos

Antes de poder empezar con LAPS, debes cumplir los siguientes requisitos previos:

* Configuración [Application Insights](#application-insights) O [Log Analytics Workspace](/es/supervision-y-registros/log-analytics.md)
* Habilita explícitamente los tipos de cuenta de LAPS mediante la configuración de grupos (o usuarios)

Veremos ambas a continuación.

## Registro

Application Insights y Log Analytics desempeñan un papel importante al usar LAPS. Las solicitudes de contraseña activadas por LAPS son registradas por RealmJoin y enviadas a la instancia de Application Insights o al Log Analytics Workspace configurado. De este modo, tienes una visión completa de quién está recuperando contraseñas.

Solo es necesario elegir una forma de registro: Application Insights o Log Analytics. El registro es opcional al configurar LAPS y puede omitirse si tu organización no necesita esta información.

Encontrarás más detalles en nuestros [Application Insights](/es/agente-de-realmjoin/realmjoin-client/local-admin-password-solution-laps/application-insights.md) y [Log Analytics](/es/supervision-y-registros/log-analytics.md) artículos.

## Configuración de grupo

LAPS admite las siguientes configuraciones globales.

| Clave de configuración             | Valor predeterminado | Descripción                                                                                                                                                     |
| ---------------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| LocalAdminManagement.Inactive      | `false`              | Establécelo en `true` para forzar la desactivación de esta función. Esto limpiará y **eliminará** todas las cuentas locales.                                    |
| LocalAdminManagement.CheckInterval | `"01:00"`            | Intervalo para comprobaciones internas de configuración ([HH:mm](https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-timespan-format-strings)) |

Se admiten los siguientes tipos de cuenta.

| Clave de configuración                 | Valor predeterminado     |
| -------------------------------------- | ------------------------ |
| LocalAdminManagement.EmergencyAccount  | `undefined` (*inactivo*) |
| LocalAdminManagement.SupportAccount    | `undefined` (*inactivo*) |
| LocalAdminManagement.PrivilegedAccount | `undefined` (*inactivo*) |

Cada tipo de cuenta puede configurarse de forma independiente mediante las siguientes configuraciones comunes. Algunos tipos tienen configuraciones especiales descritas en su sección correspondiente.

{% hint style="info" %}
En la siguiente tabla `$` representa cualquiera de los tres `cuenta` objetos JSON anteriores.
{% endhint %}

| Clave de configuración | Valor predeterminado                                                 | Descripción                                                                                         |
| ---------------------- | -------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| $.NamePattern          | `"ADM-{HEX:8}"`                                                      | Especial. Consulta [Cuenta privilegiada](#privileged-account). Debe tener 20 caracteres o menos.    |
| $.DisplayName          | `"RealmJoin Administrador local"`                                    | Nombre para mostrar                                                                                 |
| $.PasswordCharSet      | `"!#%+23456789:=?@ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnopqrstuvwxyz"` | Conjunto de caracteres para el generador de contraseñas (excluye caracteres similares)              |
| $.PasswordLength       | 20                                                                   | Longitud de la contraseña                                                                           |
| $.PasswordPreset       | 0                                                                    | Plantillas de contraseñas predefinidas, consulta [Generación de contraseñas](#password-generation). |
| $.MaxStaleness         | Especial. Consulta [Recreación de la cuenta](#account-recreation).   | Plantillas de contraseñas predefinidas, consulta [Generación de contraseñas](#password-generation). |
| $.OnDemand             | Especial. Consulta [Cuenta de soporte](#support-account).            | Crear la cuenta solo cuando se solicite.                                                            |
| $.Expiration           | Especial. Consulta [Cuenta de soporte](#support-account).            | Fecha fija de expiración de la cuenta (formato ISO-8601)                                            |
| $.PasswordRenewals     | Especial. Consulta [Cuenta privilegiada](#privileged-account).       | Fecha fija de expiración de la cuenta (formato ISO-8601)                                            |

## Contraseña **generación**

De forma predeterminada, se generarán contraseñas verdaderamente aleatorias basadas en las configuraciones `PasswordCharSet` y `PasswordLength`. El conjunto de caracteres predeterminado se eligió para excluir caracteres de aspecto similar como `I1l` y `O0`. El generador criptográfico de números aleatorios de Windows se utiliza para proporcionar una aleatoriedad de alta calidad en la generación.

{% hint style="info" %}
RealmJoin gestionará automáticamente los problemas con los requisitos de complejidad de Windows al crear la cuenta. Como ocurre con todas las contraseñas verdaderamente aleatorias, a veces las contraseñas generadas podrían no cumplir los requisitos de complejidad. Si esto sucede, RealmJoin realizará hasta tres rondas de generación de contraseñas hasta que se genere una contraseña viable. Sigue existiendo una pequeña probabilidad estadística de que se superen todos los reintentos. En este caso, verás un mensaje en el archivo de registro del servicio similar a `Todos los reintentos superados`. El proceso completo se reiniciará en la siguiente ejecución de las comprobaciones internas de configuración (consulta la configuración `CheckInterval`).
{% endhint %}

Las contraseñas verdaderamente aleatorias pueden ser difíciles de manejar, por lo que también se admiten plantillas predefinidas especiales.

* Predefinido 1 ⇒ `[1 mayúscula][3 minúsculas][4 dígitos]`
  * `Tuci9325`
  * `Lnso5050`
  * `Khwn2174`
* Predefinido 2 ⇒ `Clave-[6 dígitos]-[6 dígitos]-[6 dígitos]-[6 dígitos]-[6 dígitos]-[6 dígitos]-[6 dígitos]-[6 dígitos]`
  * ¡Se admite la configuración PasswordLength! La configuración determina el número de bloques de dígitos.
  * `Key-012993-230956-976475` (PasswordLength = 3)
  * `Key-497254-679158-631224-278319` (PasswordLength = 4)
  * `Key-506179-861369-706482-613244-730371-097689-404350-340073` (predeterminado)
* Predefinido 3 ⇒ `[palabra]-[palabra]-[palabra]-[palabra]-[palabra]-[palabra]` generado a partir de [Eff Long List](https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt)​
  * ¡Se admite la configuración PasswordLength! La configuración determina el número de palabras.
  * `Exciting-Unearth-Cried-87` (PasswordLength = 3)
  * `Neurology-Astute-Debate-Marshy-15` (PasswordLength = 4)
  * `Marshy-Darkened-Undertake-Reset-Shrouded-Wise-26` (predeterminado)

## Recreación de la cuenta

Después de usar una cuenta, se puede configurar RealmJoin para eliminar y recrear la cuenta usando la `MaxStaleness` configuración. De este modo, las cuentas estarán siempre limpias. Si no se configura, las cuentas nunca se recrearán y permanecerán indefinidamente.

{% hint style="danger" %}
RealmJoin eliminará la cuenta y su perfil. **Todos los archivos se eliminarán permanentemente.**

Si una cuenta sigue en uso —todavía con sesión iniciada, con la sesión abierta, con una aplicación iniciada con ella como ADM y aún en ejecución— la cuenta seguirá caducando, pero no se podrá eliminar. **No se puede crear una nueva cuenta mientras la cuenta anterior no se elimine.**
{% endhint %}

## Evitación de conflictos

Aunque RealmJoin hace todo lo posible por evitar conflictos de nombres al gestionar las cuentas en un dispositivo, siempre existe la posibilidad de que las cuentas ya existan en un dispositivo y provoquen conflictos. Por eso la `NamePattern` configuración admite estos tokens con un significado especial para RealmJoin. Los tokens se transformarán mediante la función especificada y su parámetro de longitud después de los dos puntos.

* `{HEX:8}` ⇒ `F4D027EF`, `B3C4F74E`, ... (caracteres hexadecimales aleatorios)
* `{DEC:6}` ⇒ `506453`, `066946`, ... (caracteres decimales aleatorios)
* `{COUNT:2}` ⇒ `01`, `02`, ... (contador, permanecerá `01` si no existen conflictos)

## Cuenta de emergencia

Este tipo de cuenta es tu acceso de respaldo al dispositivo en caso de que falle catastróficamente. Se creará de forma proactiva. Así siempre tendrás acceso para la recuperación. Recomendamos configurarlo para [recreación de la cuenta](#account-recreation).

*Ejemplo*

Clave `LocalAdminManagement.EmergencyAccount` (para la configuración común, consulta [configuraciones de grupo](#group-settings))

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

## Cuenta de soporte

Este tipo de cuenta puede configurarse para creación bajo demanda. Está diseñado para usarse en una ventana de tiempo limitada —12 horas por defecto— en modo bajo demanda. La ventana de expiración puede ajustarse por Tenant en la *Portal de RealmJoin* (configuración de Tenant de LAPS).

{% hint style="danger" %}
Las cuentas de soporte y sus perfiles se eliminarán una vez transcurrida la ventana de expiración configurada (12 horas por defecto) desde la solicitud de la cuenta, independientemente del uso (después de que el usuario de soporte haya cerrado sesión). **Todos los archivos se eliminarán permanentemente.**
{% endhint %}

{% hint style="danger" %}
Al usar la recreación de cuentas en modo bajo demanda (`MaxStaleness`) *no debe usarse*. Puede interferir con tu flujo de trabajo de soporte.
{% endhint %}

Requisitos para el flujo de trabajo bajo demanda:

* El modo se habilita estableciendo `"OnDemand": true`.
* Un usuario ha iniciado sesión
* El agente de RealmJoin está en ejecución
* El dispositivo está conectado a Internet
* El dispositivo puede acceder al backend de RealmJoin

{% hint style="info" %}
Puede tardar hasta 30 minutos en que el agente de RealmJoin detecte la solicitud. El usuario con sesión iniciada puede acelerar este proceso seleccionando "Sincronizar este dispositivo" en el menú de la bandeja de RealmJoin.
{% endhint %}

Cuando no está en modo bajo demanda, se creará de forma proactiva.

*Ejemplo*

Clave `LocalAdminManagement.SupportAccount` (para la configuración común, consulta [configuraciones de grupo](#group-settings))

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

## Cuenta privilegiada

Este tipo de cuenta está diseñado para ser usado por usuarios avanzados que necesitan privilegios de administrador regulares pero controlados en sus propios dispositivos. Se puede especificar una fecha fija de expiración de la cuenta (`Expiration`).

{% hint style="danger" %}
Para este tipo, la recreación de la cuenta (`MaxStaleness`) *no debe usarse*. La idea principal es tener una cuenta persistente para tus usuarios.
{% endhint %}

Se admiten rotaciones forzadas de contraseñas:

1. `2021-11-20T12:34:56+01:00`: Cualquier marca de tiempo explícita en ISO-8601. Se pueden especificar varias marcas de tiempo.
2. `DayAfterCreate`: Después de que la cuenta se haya creado, la contraseña de la cuenta cambiará. Esto es útil cuando se supone que los usuarios configuren Windows Hello para opciones adicionales de inicio de sesión.
3. `Anual`, `Mensual` o `Semanal`: El intervalo más corto tiene prioridad (`Semanal` > `Mensual` > `Anual`). Si no se especifican más condiciones, los valores predeterminados son «primer día del mes» para `Mensual` o «lunes» para `Semanal`. Además, `Anual` tiene como valor predeterminado la fecha de última configuración de la contraseña + 365 días. Se pueden especificar los siete días de la semana. Así, si `miércoles` y `Semanal` se especifican, la contraseña se cambiará cada miércoles. Si `miércoles` y `Mensual` se especifican, la contraseña se cambiará el primer miércoles de cada mes. Combinarlos `Anual` con días de la semana establecerá la fecha límite en el último día de la semana especificado posible justo antes de que se cumplan 365 días.

*Ejemplo*

Clave `LocalAdminManagement.PrivilegedAccount` (para la configuración común, consulta [configuraciones de grupo](#group-settings))

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

## Acceso a las contraseñas

Usa el Portal de RealmJoin para acceder a las contraseñas.<br>

<figure><img src="https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FnrPze5jW4F0Fdr83WluM%2Fimage.png?alt=media&amp;token=5c42cafc-c92a-4803-8ab7-254e0df392e0" alt=""><figcaption></figcaption></figure>

### Quién puede acceder a las cuentas de LAPS

Lo que un usuario del portal puede hacer con las cuentas LAPS de un dispositivo depende de su rol de RealmJoin:

| Rol                             | Cuenta de emergencia | Cuenta de soporte                 | Cuenta privilegiada               |
| ------------------------------- | -------------------- | --------------------------------- | --------------------------------- |
| Administrador, Soporte avanzado | Leer contraseña      | Leer contraseña, solicitar acceso | Leer contraseña, solicitar acceso |
| Auditor                         | Ver solo la cuenta   | Ver solo la cuenta                | Ver solo la cuenta                |
| Supporter                       | Leer contraseña      | Leer contraseña, solicitar acceso | —                                 |

Los usuarios que tienen varios roles obtienen el acceso combinado de esos roles.

{% hint style="info" %}
En dispositivos sin usuario principal, solo los administradores globales y los administradores pueden acceder a las cuentas LAPS.
{% endhint %}

#### Roles personalizados

[Roles personalizados](/es/administracion-y-configuracion/permission/custom-roles.md) pueden dar acceso a LAPS con los siguientes permisos. Cada permiso otorga exactamente el acceso a LAPS del rol integrado correspondiente de la tabla anterior. No otorga ningún otro permiso de ese rol.

| Permiso                               | Acceso a LAPS como |
| ------------------------------------- | ------------------ |
| `CanUseDeviceLapsAsAdvancedSupporter` | Soporte avanzado   |
| `CanSeeDeviceLapsAsAuditor`           | Auditor            |
| `CanUseDeviceLapsAsSupporter`         | Supporter          |

Para [restricciones de acceso](#restricting-access), un usuario con uno de estos permisos cuenta como un usuario con el rol correspondiente. Por ejemplo, un usuario con `CanUseDeviceLapsAsSupporter` debe estar en uno de los grupos enumerados en `Supporter`.

### Restricción de acceso

Use la `Restrict.LAPS` para limitar qué usuarios del portal pueden acceder a las cuentas LAPS de dispositivos específicos, por ejemplo los dispositivos de tus ejecutivos. Consulta [Restricciones de acceso](/es/ugd-management/user-and-group-settings/additional-settings.md#access-restrictions) para obtener más detalles.

El *LAPS* la sección de un dispositivo en el Portal de RealmJoin muestra qué roles de LAPS tienes y cuáles de ellos `Restrict.LAPS` se permiten para ese dispositivo.

## Habilitar autoservicio

Los usuarios pueden acceder a cuentas creadas en sus *propia* dispositivos (son "PrimaryUser") cuando se habilita usando la *Portal de RealmJoin* a partir de la versión `2022.5.1`. Para habilitarlo, define una configuración usando la clave `Allow.SelfLAPS`. Esta configuración puede definirse en grupos y usuarios. Como ocurre con todas las configuraciones con prefijo `Allow.*` se combinan con AND entre el usuario y todos sus grupos.

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

El valor también puede ser un booleano puro `true`/`false`. Puede usarse como comodín y abarca todos los tipos de cuenta actuales y futuros. Ten en cuenta que esto solo se recomienda para deshabilitar el acceso (`false`).

{% hint style="info" %}
Antes se recomendaba establecer esta configuración en `true`. Sin embargo, a medida que seguimos ampliando RealmJoin, se añadirán nuevos tipos de cuenta. Por lo tanto, se recomienda encarecidamente migrar todos los `true` valores a la notación de objeto más explícita
{% endhint %}

Una configuración de ejemplo podría verse así:

| Grupo                          |                                                           | Comentario                                                                                                                                                           |
| ------------------------------ | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Todos los trabajadores remotos | `{ "EmergencyAccount": true }`                            | Los trabajadores remotos pueden acceder a la cuenta de emergencia de sus propios dispositivos.                                                                       |
| Todos los desarrolladores      | `{ "EmergencyAccount": true, "PrivilegedAccount": true }` | Los desarrolladores pueden acceder a su cuenta de emergencia y a su cuenta privilegiada, independientemente de si son trabajadores remotos o no.                     |
| Todos los aprendices           | `false`                                                   | Los aprendices nunca deben tener acceso a ninguno de los tres tipos de cuenta **y** a todos los tipos futuros, incluso si son trabajadores remotos o desarrolladores |

{% hint style="info" %}
SelfLAPS es más potente que el rol LAPS normal. Dicho esto, si un usuario administrador está administrando LAPS con su cuenta de usuario normal, no podrá administrar su propio LAPS.

Mitigación: habilita SelfLAPS para estas cuentas de administrador o usa cuentas de administrador separadas.
{% 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 by asking a question.

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

```
GET https://docs.realmjoin.com/es/agente-de-realmjoin/realmjoin-client/local-admin-password-solution-laps.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.
