> 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/pt/realmjoin-agent/realmjoin-client/local-admin-password-solution-laps.md).

# Solução de palavra-passe de administrador local (LAPS)

A nossa solução Local Administrator Password Solution (LAPS) foi criada para resolver o problema de usar contas idênticas no seu ambiente para suporte a utilizadores ou escalada de privilégios. O LAPS cria palavras-passe fortes para contas locais que são armazenadas de forma segura em *no seu próprio* [Azure Key Vault](/pt/realmjoin-agent/realmjoin-client/local-admin-password-solution-laps/keyvault.md). Para auditoria, tem a opção de fornecer uma [Application Insights](/pt/realmjoin-agent/realmjoin-client/local-admin-password-solution-laps/application-insights.md) ou uma [Log Analytics Workspace](/pt/monitorizacao-e-registos/log-analytics.md).

## Pré-requisitos

Antes de poder começar com o LAPS, tem de cumprir os seguintes pré-requisitos:

* Configuração [Application Insights](#application-insights) OU [Log Analytics Workspace](/pt/monitorizacao-e-registos/log-analytics.md)
* Ative explicitamente os tipos de conta LAPS usando definições de grupo (ou de utilizador)

Veremos ambos abaixo.

## Registo

Application Insights e Log Analytics desempenham um papel importante quando se usa LAPS. Os pedidos de palavra-passe acionados pelo LAPS são registados pelo RealmJoin e encaminhados para a instância configurada de Application Insights ou para o Log Analytics Workspace. Desta forma, tem uma visão completa de quem está a obter palavras-passe.

Só é necessário escolher uma forma de registo — Application Insights ou Log Analytics. O registo é opcional ao configurar o LAPS e pode ser ignorado se a sua organização não precisar desta informação.

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

## Definições de grupo

O LAPS suporta as seguintes definições globais.

| Chave da definição                 | Valor predefinido | Descrição                                                                                                                                                    |
| ---------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| LocalAdminManagement.Inactive      | `false`           | Defina como `true` para forçar esta funcionalidade a ficar desligada. Isto irá limpar e **eliminar** todas as contas locais.                                 |
| LocalAdminManagement.CheckInterval | `"01:00"`         | Intervalo para verificações de configuração internas ([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 da definição                     | Valor predefinido        |
| -------------------------------------- | ------------------------ |
| LocalAdminManagement.EmergencyAccount  | `indefinido` (*inativo*) |
| LocalAdminManagement.SupportAccount    | `indefinido` (*inativo*) |
| LocalAdminManagement.PrivilegedAccount | `indefinido` (*inativo*) |

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

{% hint style="info" %}
Na tabela seguinte `$` representa qualquer um dos três `Account` objetos JSON acima.
{% endhint %}

| Chave da definição | Valor predefinido                                                    | Descrição                                                                                        |
| ------------------ | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| $.NamePattern      | `"ADM-{HEX:8}"`                                                      | Especial. Veja [conta privilegiada](#privileged-account). Precisa de ter 20 caracteres ou menos. |
| $.DisplayName      | `"RealmJoin Local Administrator"`                                    | Nome de apresentação                                                                             |
| $.PasswordCharSet  | `"!#%+23456789:=?@ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnopqrstuvwxyz"` | Conjunto de caracteres para o gerador de palavras-passe (exclui caracteres semelhantes)          |
| $.PasswordLength   | 20                                                                   | Comprimento da palavra-passe                                                                     |
| $.PasswordPreset   | 0                                                                    | Modelos predefinidos de palavras-passe, veja [Geração de palavras-passe](#password-generation).  |
| $.MaxStaleness     | Especial. Veja [Recriação da conta](#account-recreation).            | Modelos predefinidos de palavras-passe, veja [Geração de palavras-passe](#password-generation).  |
| $.OnDemand         | Especial. Veja [Conta de suporte](#support-account).                 | Criar a 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)                                               |

## Palavra-passe **geração**

Por defeito, serão geradas palavras-passe verdadeiramente aleatórias com base nas definições `PasswordCharSet` e `PasswordLength`. O conjunto de caracteres predefinido foi escolhido para excluir caracteres visualmente semelhantes como `I1l` e `O0`. É utilizado o gerador criptográfico de números aleatórios do Windows para fornecer aleatoriedade de alta qualidade para a geração.

{% hint style="info" %}
O RealmJoin tratará automaticamente dos problemas com os requisitos de complexidade do Windows aquando da criação da conta. Tal como acontece com todas as palavras-passe verdadeiramente aleatórias, por vezes as palavras-passe geradas podem não satisfazer os requisitos de complexidade. Se isso acontecer, o RealmJoin efetuará até três rondas de geração de palavras-passe até ser gerada uma palavra-passe viável. Permanece uma pequena probabilidade estatística de que todas as novas tentativas sejam excedidas. Nesse caso, verá uma mensagem no ficheiro de registo do serviço semelhante a `Todas as tentativas esgotadas`. O processo completo será reiniciado na próxima execução das verificações de configuração internas (veja a definição `CheckInterval`).
{% endhint %}

As palavras-passe verdadeiramente aleatórias podem ser difíceis de usar, pelo que também são suportados modelos predefinidos especiais.

* Predefinição 1 ⇒ `[1 upper][3 lower][4 digit]`
  * `Tuci9325`
  * `Lnso5050`
  * `Khwn2174`
* Predefinição 2 ⇒ `Key-[6 digit]-[6 digit]-[6 digit]-[6 digit]-[6 digit]-[6 digit]-[6 digit]-[6 digit]`
  * A definição PasswordLength é suportada! A definiçã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` (predefinição)
* Predefinição 3 ⇒ `[palavra]-[palavra]-[palavra]-[palavra]-[palavra]-[palavra]` gerado a partir de [Eff Long List](https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt)
  * A definição PasswordLength é suportada! A definiçã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` (predefinição)

## Recriação da conta

Depois de uma conta ser usada, o RealmJoin pode ser configurado para eliminar e recriar a conta usando a definição `MaxStaleness` Desta forma, as contas estarão sempre impecáveis. Se não for configurado, as contas nunca serão recriadas e permanecerão indefinidamente.

{% hint style="danger" %}
O RealmJoin eliminará a conta e o respetivo perfil. **Todos os ficheiros serão eliminados permanentemente.**

Se uma conta ainda estiver em uso — com sessão iniciada, com a sessão aberta, com uma aplicação iniciada como ADM com ela e ainda em execução — a conta continuará a expirar, mas não poderá ser eliminada. **Não pode ser criada uma nova conta enquanto a conta antiga não for eliminada.**
{% endhint %}

## Evitar conflitos

Embora o RealmJoin faça o melhor possível para evitar conflitos de nomes ao gerir as contas num dispositivo, existe sempre a possibilidade de as contas já existirem num dispositivo, causando conflitos. É por isso que a definição `NamePattern` suporta estes tokens com um significado especial para o RealmJoin. Os tokens serão transformados pela função especificada e pelo respetivo 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

Este tipo de conta é o seu acesso de reserva ao dispositivo caso este sofra uma falha catastrófica. Será criada proativamente. Desta forma, terá sempre acesso para recuperação. Recomendamos configurá-la para [recriação da conta](#account-recreation).

*Exemplo*

Chave `LocalAdminManagement.EmergencyAccount` (para definiçõ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

Este tipo de conta pode ser configurado para criação on-demand. Foi concebido para uso numa janela de tempo limitada—12 horas por defeito—no modo on-demand. A janela de expiração pode ser ajustada por tenant no *Portal RealmJoin* (configuração do tenant LAPS).

{% hint style="danger" %}
As contas de suporte e os respetivos perfis serão eliminados após decorrido o prazo de expiração configurado (12 horas por defeito) desde o pedido da conta, independentemente da utilização (depois de o utilizador de suporte ter terminado a sessão). **Todos os ficheiros serão eliminados permanentemente.**
{% endhint %}

{% hint style="danger" %}
Ao usar o modo on-demand, a recriação da conta (`MaxStaleness`) *não deve ser usada*. Pode interferir com o seu fluxo de trabalho de suporte.
{% endhint %}

Requisitos para o fluxo de trabalho on-demand:

* O modo é ativado definindo `"OnDemand": true`.
* Um utilizador tem sessão iniciada
* O agente RealmJoin está em execução
* O dispositivo está ligado à internet
* O dispositivo pode contactar o backend do RealmJoin

{% hint style="info" %}
Pode demorar até 30 minutos até o agente RealmJoin detetar o pedido. O utilizador com sessão iniciada pode acelerar este processo escolhendo "Sincronizar este dispositivo" no menu da área de notificação do RealmJoin.
{% endhint %}

Quando não estiver no modo on-demand, será criada proativamente.

*Exemplo*

Chave `LocalAdminManagement.SupportAccount` (para definiçõ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

Este tipo de conta foi concebido para ser usado por utilizadores avançados que precisam de privilégios de administrador regulares, mas controlados, nos seus próprios dispositivos. Pode ser especificada uma data fixa de expiração da conta (`Expiração`).

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

São suportadas rotações forçadas da palavra-passe:

1. `2021-11-20T12:34:56+01:00`: Qualquer carimbo de data/hora explícito em ISO-8601. Podem ser especificados vários carimbos de data/hora.
2. `DayAfterCreate`: Depois de a conta ser criada, a palavra-passe da conta será alterada. Isto é útil quando se espera que os utilizadores configurem Windows Hello para opções adicionais de início de sessão.
3. `Anualmente`, `Mensalmente` ou `Semanalmente`: O intervalo mais curto tem prioridade (`Semanalmente` > `Mensalmente` > `Anualmente`). Se não forem especificadas mais condições, os padrões são "1.º dia do mês" para `Mensalmente` ou "segunda-feira" para `Semanalmente`. Além disso, `Anualmente` por defeito, corresponde à data da última definição da palavra-passe + 365 dias. Podem ser especificados todos os sete dias da semana. Assim, se `Quarta-feira` e `Semanalmente` forem especificadas, a palavra-passe será alterada todas as quartas-feiras. Se `Quarta-feira` e `Mensalmente` forem especificadas, a palavra-passe será alterada na primeira quarta-feira de cada mês. A combinação `Anualmente` com dias da semana definirá o prazo para o último dia da semana especificado possível, imediatamente antes de se completarem 365 dias.

*Exemplo*

Chave `LocalAdminManagement.PrivilegedAccount` (para definiçõ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
}
```

## Aceder às palavras-passe

Use o Portal RealmJoin para aceder às palavras-passe.<br>

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

## Ativar self-service

Os utilizadores podem aceder a contas criadas nos seus *próprios* dispositivos (são "PrimaryUser") quando ativado usando o *Portal RealmJoin* a partir da versão `2022.5.1`. Para ativar, defina uma definição usando a chave `Allow.SelfLAPS`. Esta definição pode ser definida em grupos e utilizadores. Tal como acontece com todas as definições prefixadas com `Allow.*` elas são combinadas com AND entre o utilizador e todos os seus grupos.

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

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

{% hint style="info" %}
No passado, era recomendado definir esta definição como `true`. Contudo, à medida que continuamos a expandir o RealmJoin, novos tipos de conta serão adicionados. Por isso, é fortemente recomendado migrar todos os `true` valores 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 aceder à conta de emergência dos seus próprios dispositivos.                                                                      |
| Todos os programadores         | `{ "EmergencyAccount": true, "PrivilegedAccount": true }` | Os programadores podem aceder à sua conta de emergência e à sua conta privilegiada—independentemente de serem ou não trabalhadores remotos.                      |
| Todos os formandos             | `false`                                                   | Os formandos nunca devem ter acesso a qualquer um dos três tipos de conta **e** a todos os tipos futuros, mesmo que sejam trabalhadores remotos ou programadores |

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

Mitigação: ative o SelfLAPS para estas contas de administrador ou use contas 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
