# Solução de Palavra-passe de Administrador Local (LAPS)

Nossa Solução de Senha de Administrador Local (LAPS) foi criada para resolver o problema de usar contas idênticas no seu ambiente para suporte ao usuário ou elevação de privilégios. O LAPS cria senhas fortes para contas locais, que são armazenadas com segurança em *sua própria* [Azure Key Vault](/pt/agente-realmjoin/realmjoin-client/local-admin-password-solution-laps/keyvault.md). Para auditoria, você tem a opção de fornecer uma [Application Insights](/pt/agente-realmjoin/realmjoin-client/local-admin-password-solution-laps/application-insights.md) instância ou um [Log Analytics Workspace](/pt/registos/log-analytics.md).

## Pré-requisitos

Antes de começar com o LAPS, você precisa atender aos seguintes pré-requisitos:

* Configurar [Application Insights](#application-insights) OU [Log Analytics Workspace](/pt/registos/log-analytics.md)
* Habilitar explicitamente os tipos de conta do LAPS usando configurações de grupo (ou de usuário)

Veremos ambos abaixo.

## Registo

O Application Insights e o Log Analytics desempenham um papel importante ao usar o LAPS. As solicitações de senha acionadas pelo LAPS são registradas pelo RealmJoin e enviadas para a instância do Application Insights ou para o Log Analytics Workspace configurado. Dessa forma, você tem visibilidade completa de quem está recuperando as senhas.

Apenas um formato de registo precisa ser escolhido — Application Insights ou Log Analytics. O registo é opcional ao configurar o LAPS e pode ser ignorado se a sua organização não precisar dessa informação.

Mais detalhes podem ser encontrados em nossos [Application Insights](/pt/agente-realmjoin/realmjoin-client/local-admin-password-solution-laps/application-insights.md) e [Log Analytics](/pt/registos/log-analytics.md) artigos.

## Configurações de grupo

O LAPS suporta as seguintes configurações globais.

| Chave de configuração              | Valor padrão | Descrição                                                                                                                                                    |
| ---------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| LocalAdminManagement.Inactive      | `false`      | Defina como `true` para forçar o desligamento deste recurso. Isso irá limpar e **excluir** todas as contas locais.                                           |
| LocalAdminManagement.CheckInterval | `"01:00"`    | Intervalo para verificações internas de configuração ([HH:mm](https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-timespan-format-strings)) |

Os seguintes tipos de conta são suportados.

| Chave de configuração                  | Valor padrão            |
| -------------------------------------- | ----------------------- |
| LocalAdminManagement.EmergencyAccount  | `undefined` (*inativo*) |
| LocalAdminManagement.SupportAccount    | `undefined` (*inativo*) |
| LocalAdminManagement.PrivilegedAccount | `undefined` (*inativo*) |

Cada tipo de conta pode ser configurado independentemente usando as seguintes configurações comuns. Alguns tipos têm configurações especiais descritas na respetiva seção.

{% hint style="info" %}
Na tabela a seguir `$` representa qualquer um dos três `JSON object` JSON object acima.
{% endhint %}

| Chave de configuração | Valor padrão                                                         | Descrição                                                                                     |
| --------------------- | -------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| $.NamePattern         | `"ADM-{HEX:8}"`                                                      | Especial. Veja [conta privilegiada](#privileged-account). Precisa ter 20 caracteres ou menos. |
| $.DisplayName         | `"RealmJoin Local Administrator"`                                    | Nome de exibição                                                                              |
| $.PasswordCharSet     | `"!#%+23456789:=?@ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnopqrstuvwxyz"` | Conjunto de caracteres para o gerador de senhas (exclui caracteres semelhantes)               |
| $.PasswordLength      | 20                                                                   | Comprimento da senha                                                                          |
| $.PasswordPreset      | 0                                                                    | Modelos predefinidos de senha, veja [Geração de senha](#password-generation).                 |
| $.MaxStaleness        | Especial. Veja [Recriação da conta](#account-recreation).            | Modelos predefinidos de senha, veja [Geração de senha](#password-generation).                 |
| $.OnDemand            | Especial. Veja [conta de suporte](#support-account).                 | Criar conta apenas quando solicitado.                                                         |
| $.Expiration          | Especial. Veja [conta de suporte](#support-account).                 | Data fixa de expiração da conta (formato ISO-8601)                                            |
| $.PasswordRenewals    | Especial. Veja [conta privilegiada](#privileged-account).            | Data fixa de expiração da conta (formato ISO-8601)                                            |

## Senha **geração**

Por padrão, senhas verdadeiramente aleatórias serão geradas com base nas configurações `PasswordCharSet` e `PasswordLength`. O conjunto de caracteres padrão foi escolhido para excluir caracteres parecidos, como `I1l` e `O0`. O gerador de números aleatórios criptográficos do Windows é usado para fornecer aleatoriedade de alta qualidade para a geração.

{% hint style="info" %}
O RealmJoin tratará automaticamente problemas com os requisitos de complexidade do Windows ao criar contas. Como acontece com todas as senhas verdadeiramente aleatórias, às vezes as senhas geradas podem não satisfazer aos requisitos de complexidade. Se isso acontecer, o RealmJoin fará até três rodadas de geração de senhas até que uma senha viável seja gerada. Ainda existe uma pequena probabilidade estatística de que todas as novas tentativas sejam excedidas. Nesse caso, você verá uma mensagem no arquivo de registo do serviço semelhante a `Todas as novas tentativas foram excedidas`. O processo completo será reiniciado na próxima execução das verificações internas de configuração (veja a configuração `CheckInterval`).
{% endhint %}

Senhas verdadeiramente aleatórias podem ser difíceis de usar, por isso também são suportados modelos predefinidos especiais.

* Predefinição 1 ⇒ `[1 maiúscula][3 minúsculas][4 dígitos]`
  * `Tuci9325`
  * `Lnso5050`
  * `Khwn2174`
* Predefinição 2 ⇒ `Key-[6 dígitos]-[6 dígitos]-[6 dígitos]-[6 dígitos]-[6 dígitos]-[6 dígitos]-[6 dígitos]-[6 dígitos]`
  * A configuração PasswordLength é suportada! A configuração determina o número de blocos 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` (padrão)
* Predefinição 3 ⇒ `[word]-[word]-[word]-[word]-[word]-[word]` gerado a partir de [Eff Long List](https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt)​
  * A configuração PasswordLength é suportada! A configuração determina o número de palavras.
  * `Exciting-Unearth-Cried-87` (PasswordLength = 3)
  * `Neurology-Astute-Debate-Marshy-15` (PasswordLength = 4)
  * `Marshy-Darkened-Undertake-Reset-Shrouded-Wise-26` (padrão)

## Recriação da conta

Depois que uma conta é usada, o RealmJoin pode ser configurado para excluir e recriar a conta usando a configuração `MaxStaleness` . Dessa forma, as contas estarão sempre limpas. Se não for configurado, as contas nunca serão recriadas e permanecerão indefinidamente.

{% hint style="danger" %}
O RealmJoin excluirá a conta e o seu perfil. **Todos os arquivos serão excluídos permanentemente.**

Se uma conta ainda estiver em uso — ainda com sessão iniciada, sessão aberta, aplicativo iniciado com ela como ADM e ainda em execução — a conta ainda atingirá o tempo limite, mas não poderá ser excluída. **Não é possível criar uma nova conta enquanto a conta antiga não for excluída.**
{% endhint %}

## Evitar conflitos

Embora o RealmJoin faça o possível para evitar conflitos de nome ao gerir as contas em um dispositivo, sempre existe a possibilidade de as contas já existirem em um dispositivo, causando conflitos. É por isso que a configuração `NamePattern` suporta estes tokens com significado especial para o RealmJoin. Os tokens serão transformados pela função especificada e pelo seu parâmetro de comprimento após os dois pontos.

* `{HEX:8}` ⇒ `F4D027EF`, `B3C4F74E`, ... (caracteres hexadecimais aleatórios)
* `{DEC:6}` ⇒ `506453`, `066946`, ... (caracteres decimais aleatórios)
* `{COUNT:2}` ⇒ `01`, `02`, ... (contador, permanecerá `01` se não existirem conflitos)

## Conta de emergência

Esse tipo de conta é o seu acesso de reserva ao dispositivo, caso ele falhe catastroficamente. Ela será criada proativamente. Dessa forma, você sempre terá acesso para recuperação. Recomendamos configurá-la para [recriação da conta](#account-recreation).

*Exemplo*

Chave `LocalAdminManagement.EmergencyAccount` (para configurações comuns, veja [definições de grupo](#group-settings))

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

## conta de suporte

Esse tipo de conta pode ser configurado para criação sob demanda. Ele foi projetado para uso em uma janela de tempo limitada de 12 horas no modo sob demanda.

{% hint style="danger" %}
As contas de suporte e os seus perfis serão excluídos 12 horas após a solicitação da conta, independentemente do uso (depois que o usuário de suporte tiver encerrado a sessão). **Todos os arquivos serão excluídos permanentemente.**
{% endhint %}

{% hint style="danger" %}
Ao usar a recriação de conta no modo sob demanda (`MaxStaleness`) *não deve ser usado*. Pode interferir no seu fluxo de trabalho de suporte.
{% endhint %}

Requisitos para o fluxo de trabalho sob demanda:

* O modo é ativado definindo `"OnDemand": true`.
* Um usuário está autenticado
* O agente RealmJoin está em execução
* O dispositivo está conectado à internet
* O dispositivo pode alcançar o backend do RealmJoin

{% hint style="info" %}
Pode levar até 30 minutos para o agente RealmJoin perceber a solicitação. O usuário autenticado pode acelerar esse processo escolhendo "Sincronizar este dispositivo" no menu da bandeja do RealmJoin.
{% endhint %}

Quando não está no modo sob demanda, ele será criado proativamente.

*Exemplo*

Chave `LocalAdminManagement.SupportAccount` (para configurações comuns, veja [definições de grupo](#group-settings))

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

## conta privilegiada

Esse tipo de conta foi projetado para ser usado por utilizadores avançados que precisam de privilégios de administrador regulares, porém controlados, em seus próprios dispositivos. Pode ser especificada uma data fixa de expiração da conta (`Expiration`).

{% hint style="danger" %}
Para este tipo, a recriação da conta (`MaxStaleness`) *não deve ser usado*. O objetivo é ter uma conta persistente para os seus usuários.
{% endhint %}

Rotações forçadas de senha são suportadas:

1. `2021-11-20T12:34:56+01:00`: Qualquer marcação de data e hora explícita em ISO-8601. Várias marcações de data e hora podem ser especificadas.
2. `DayAfterCreate`: Depois que a conta for criada, a senha da conta será alterada. Isso é útil quando os usuários devem configurar o Windows Hello para opções adicionais de início de sessão.
3. `Anual`, `Mensal` ou `Semanal`: O intervalo mais curto tem preferência (`Semanal` > `Mensal` > `Anual`). Se nenhuma condição adicional for especificada, os padrões são "1º dia do mês" para `Mensal` ou "segunda-feira" para `Semanal`. Além disso, `Anual` é padronizado para a data da última definição da senha + 365 dias. Todos os sete dias da semana podem ser especificados. Portanto, se `Wednesday` e `Semanal` forem especificados, a senha será alterada todas as quartas-feiras. Se `Wednesday` e `Mensal` forem especificados, a senha será alterada na primeira quarta-feira de cada mês. Combinar `Anual` com dias da semana definirá o prazo para o dia útil especificado mais tardio possível, pouco antes de se completarem 365 dias.

*Exemplo*

Chave `LocalAdminManagement.PrivilegedAccount` (para configurações comuns, veja [definições de grupo](#group-settings))

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

## Acessar senhas

Use o RealmJoin Portal para acessar as senhas.<br>

<figure><img src="/files/910889518fae0185a3ab76c40ffd3e49e0dca81a" alt=""><figcaption></figcaption></figure>

## Ativar self-service

Os usuários podem aceder às contas criadas nos seus *próprios* dispositivos (eles são "PrimaryUser") quando ativado usando o *RealmJoin Portal* a partir da versão `2022.5.1`. Para ativar, defina uma configuração usando a chave `Allow.SelfLAPS`. Essa configuração pode ser definida em grupos e usuários. Como acontece com todas as configurações prefixadas com `Allow.*` , elas são combinadas por AND entre o usuário e todos os seus grupos.

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

O valor também pode ser um booleano puro `true`/`false`. Isso pode ser usado como curinga e abrange todos os tipos de conta atuais e futuros. Observe que isso é recomendado apenas para desativar o acesso (`false`).

{% hint style="info" %}
No passado, era recomendado definir essa configuração como `true`. No entanto, à medida que continuamos a expandir o RealmJoin, novos tipos de conta serão adicionados. Portanto, é fortemente recomendado migrar todos os valores `true` para a notação de objeto mais explícita
{% endhint %}

Uma configuração de exemplo pode ser assim:

| Grupo                          |                                                           | Comentário                                                                                                                                                    |
| ------------------------------ | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Todos os trabalhadores remotos | `{ "EmergencyAccount": true }`                            | Os trabalhadores remotos podem acessar a conta de emergência dos seus próprios dispositivos.                                                                  |
| Todos os desenvolvedores       | `{ "EmergencyAccount": true, "PrivilegedAccount": true }` | Os desenvolvedores podem acessar sua conta de emergência e sua conta privilegiada — independentemente de serem trabalhadores remotos ou não.                  |
| Todos os estagiários           | `false`                                                   | Os estagiários nunca devem ter acesso a nenhum dos três tipos de conta **e** todos os tipos futuros, mesmo que sejam trabalhadores remotos ou desenvolvedores |

{% hint style="info" %}
SelfLAPS é mais forte do que a função LAPS regular. Dito isso, se um utilizador administrador estiver administrando o LAPS com a sua conta de utilizador regular, não conseguirá administrar o seu próprio LAPS.

Mitigação: ative o SelfLAPS para essas contas de administrador ou use contas de administrador separadas.
{% 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/pt/agente-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.
