# Administración de contraseñas de administrador local

## Información general

La solución Local Administrator Password Solution (LAPS) resolverá el problema de usar credenciales administrativas idénticas en cada equipo Windows para fines de soporte y emergencia. Por sí solo, LAPS crea una contraseña generada aleatoriamente para una cuenta de administrador local.

Con RealmJoin es posible administrar cuentas administrativas seguras e individualizadas, ya sea para soporte local o soporte remoto a gran escala. RealmJoin guarda contraseñas cifradas en Azure Key Vault dentro del tenant del cliente y almacena registros de auditoría de cada acceso a estas credenciales.

La API de RealmJoin le permite solicitar una "Support Account" (administrador local) para un dispositivo determinado en su tenant. Consulte [la descripción Swagger de RealmJoin](https://customer-api.realmjoin.com/swagger/index.html) para ver qué operaciones están actualmente soportadas en detalle. El uso de LAPS con RealmJoin requiere la implementación del cliente de Windows de RealmJoin.

Se asume que ha configurado correctamente LAPS en su entorno y ha implementado el cliente de Windows de RealmJoin en sus dispositivos. Además, asegúrese de [autenticar ](https://docs.realmjoin.com/es/dev-reference/realmjoin-api/authentication)cada solicitud contra la API de RealmJoin utilizando un encabezado HTTP Authorization adecuado.

## Solicitar una Support Account

Indique a RealmJoin que cree una cuenta de soporte local en el dispositivo de destino usando el endpoint `/laps/request`. La solicitud se encola usando Application insights y será procesada por RealmJoin Backend y RealmJoin Windows Client lo antes posible. Cuando la cuenta se cree/pueda usarse.

El endpoint devolverá una estimación de cuánto tiempo tardará en crearse la cuenta. Cuando la cuenta esté lista, consulte [aquí](#retrieve-support-account-credentials) para saber cómo consultar las credenciales.

### Ejemplo

Supongamos la siguiente situación:

* Tiene sus credenciales de la API de RealmJoin y las ha codificado en `dC0xMjM0MTIzNDpteVMzY3JldCE=` (Base64)
* El deviceId de Entra del dispositivo de destino `deviceId` es `9999dab9-f946-40ee-9a17-2500c8d00878`. Tenga en cuenta que este no es el id de objeto de Entra (¡atributo diferente!).

Actualmente no existe ninguna Support Account en el dispositivo de destino.

![Cuentas locales - antes de solicitar una Support Account](https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FFlbUzySBT9dqV4nrm6kx%2FLaps-before.png?alt=media\&token=e5e95f49-1293-4696-ad1f-a245bb6b42e6)

Construyamos los **solicitar**:

Encabezados:

```http
Authorization: Basic dC0xMjM0MTIzNDpteVMzY3JldCE=
Content-Type: application/json
```

Solicitud / URI:

```http
POST https://customer-api.realmjoin.com/laps/request?deviceID=9999dab9-f946-40ee-9a17-2500c8d00878
```

Este endpoint no espera un cuerpo de la solicitud.

**Respuesta**

Estado HTTP: `200` (Correcto)

Cuerpo (en notación JSON):

```json
{
    "estimatedWaitTime": "00:12:31.8215813"
}
```

La respuesta contiene el tiempo aproximado hasta que el cliente de Windows de RealmJoin cree la cuenta de soporte local. En este ejemplo, espere al menos 12 minutos. Si el cliente no se ha visto durante mucho tiempo, podría obtener `null` como estimación en lugar de un número.

El cliente de Windows de RealmJoin consultará trabajos cada 30 min de forma predeterminada. La aproximación ofrecida por la API se basa en la última vez que el cliente de Windows se conectó.

## Obtener las credenciales de la Support Account

El endpoint `/laps/retrieve` se usa para consultar si ya se ha creado una Support Account, así como para obtener las credenciales reales de la Support Account.

Consultemos el mismo `deviceId` de `9999dab9-f946-40ee-9a17-2500c8d00878` que en el ejemplo [anterior](#requesting-a-support-account).

En nuestro ejemplo, el cliente de Windows de RealmJoin ha creado en el dispositivo de destino una Support Account (Nombre completo: "Local Support Admin Account"):

![Cuentas locales - la Support Account se creó correctamente](https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2F8ePPJ2SxA29zcJsmGKX7%2FLaps-after.png?alt=media\&token=2d24e9ce-fa68-4499-a597-f0789f0a6115)

**Solicitud**

Encabezados:

```http
Authorization: Basic dC0xMjM0MTIzNDpteVMzY3JldCE=
Content-Type: application/json
```

Solicitud / URI:

```http
POST https://customer-api.realmjoin.com/laps/retrieve?deviceID=9999dab9-f946-40ee-9a17-2500c8d00878
```

Este endpoint no espera un cuerpo de la solicitud.

**Respuesta**

Si las credenciales aún no están disponibles, el endpoint devolverá el estado HTTP: `404` (No encontrado) y algunos detalles técnicos en el cuerpo:

Cuerpo (JSON)

```json
{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4",
    "title": "No encontrado",
    "status": 404,
    "traceId": "00-4c56c3cb0f9b394abf934b107b148613-1234b2497e261649-00"
}
```

Puede seguir consultando hasta que las credenciales estén listas.&#x20;

Si las credenciales están listas, el endpoint devolverá el estado HTTP: `200` (Correcto) y las credenciales:

Cuerpo (JSON)

```json
{
    "password": "Upji1234",
    "username": "ADM-5A2F2169",
    "accountExpirationDate": "2021-12-21T02:14:07+00:00"
}
```

Puede usar estas credenciales para ofrecer soporte a un usuario, por ejemplo, conectándose a través del cliente AnyDesk Supporter.&#x20;

Como puede ver, por defecto una Support Account tiene una vida útil limitada y deberá volver a crearse si se necesita acceso después de la fecha de expiración. Esto es para asegurarse de que no persistan credenciales de alto privilegio de un día para otro en las tareas operativas.
