# Gestão de palavras-passe de administrador local

## Vista geral

A Local Administrator Password Solution (LAPS) resolve o problema de usar credenciais administrativas idênticas em todos os computadores Windows para fins de suporte e emergência. Por si só, o LAPS cria uma senha gerada aleatoriamente para uma conta de administrador local.

Com o RealmJoin, é possível gerenciar contas administrativas seguras e individualizadas, seja para suporte local ou suporte remoto em grande escala. O RealmJoin armazena senhas criptografadas no Azure Key Vault dentro do tenant do cliente e guarda registros de auditoria de cada acesso a essas credenciais.

A API do RealmJoin permite solicitar uma "Support Account" (administrador local) para um dispositivo específico no seu tenant. Veja [a descrição Swagger do RealmJoin](https://customer-api.realmjoin.com/swagger/index.html) para ver em detalhes quais operações são atualmente suportadas. O uso do LAPS com o RealmJoin requer a implantação do RealmJoin Windows Client.

Parte-se do princípio de que você configurou corretamente o LAPS no seu ambiente e implantou o RealmJoin Windows Client nos seus dispositivos. Além disso, certifique-se de [autenticar ](https://docs.realmjoin.com/pt/dev-reference/realmjoin-api/authentication)cada requisição à API do RealmJoin usando um cabeçalho HTTP Authorization apropriado.

## Solicitando uma Support Account

Instrua o RealmJoin a criar uma Support Account local no dispositivo de destino usando o endpoint `/laps/request`. A requisição é colocada em fila usando o Application insights e será processada pelo RealmJoin Backend e pelo RealmJoin Windows Client assim que possível. Quando a conta for criada/estiver utilizável.

O endpoint retornará uma estimativa de quanto tempo a criação da conta levará. Quando a conta estiver pronta, veja [aqui](#retrieve-support-account-credentials) como consultar as credenciais.

### Exemplo

Vamos supor a seguinte situação:

* Você tem suas credenciais da API do RealmJoin e as codificou em `dC0xMjM0MTIzNDpteVMzY3JldCE=` (Base64)
* O deviceId `Entra` do dispositivo de destino é `9999dab9-f946-40ee-9a17-2500c8d00878`. Esteja ciente de que este não é o id do objeto Entra (atributo diferente)!

Atualmente não existe nenhuma Support Account no dispositivo de destino.

![Contas locais - antes de solicitar uma Support Account](https://686519968-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)

Vamos montar os **solicitação**:

Cabeçalhos:

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

Requisição / URI:

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

Este endpoint não espera um corpo de requisição.

**Resposta**

Status HTTP: `200` (OK)

Corpo (em notação JSON):

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

A resposta contém o tempo aproximado até que o RealmJoin Windows Client crie a Support Account local. Neste exemplo, espere aguardar pelo menos 12 minutos. Se o cliente não tiver sido visto por muito tempo, você pode receber `null` como estimativa em vez de um número.

O RealmJoin Windows Client verificará tarefas a cada 30 min por padrão. A aproximação fornecida pela API é baseada no último check-in do Windows Client.

## Recuperar credenciais da Support Account

O endpoint `/laps/retrieve` é usado para consultar se uma Support Account já foi criada, bem como para coletar as credenciais reais da Support Account.

Vamos consultar o mesmo `Entra` de `9999dab9-f946-40ee-9a17-2500c8d00878` como no exemplo [acima](#requesting-a-support-account).

No nosso exemplo, uma Support Account (Nome completo: "Local Support Admin Account") foi criada no dispositivo de destino pelo RealmJoin Windows Client:

![Contas locais - Support Account criada com sucesso](https://686519968-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)

**Pedido**

Cabeçalhos:

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

Requisição / URI:

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

Este endpoint não espera um corpo de requisição.

**Resposta**

Se as credenciais ainda não estiverem disponíveis, o endpoint retornará o Status HTTP: `404` (Não Encontrado) e alguns detalhes técnicos no corpo:

Corpo (JSON)

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

Você pode continuar consultando até que as credenciais estejam prontas.&#x20;

Se as credenciais estiverem prontas, o endpoint retornará o Status HTTP: `200` (OK) e as credenciais:

Corpo (JSON)

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

Você pode usar essas credenciais para prestar suporte a um usuário, por exemplo, conectando-se por meio do AnyDesk Supporter Client.&#x20;

Como você pode ver, por padrão uma Support Account tem vida útil limitada e precisará ser recriada se o acesso for necessário após a data de expiração. Isso serve para garantir que nenhuma credencial de alto privilégio permaneça de um dia para o outro nas tarefas operacionais.
