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

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

A nossa Local Administrator Password Solution (LAPS) foi criada para resolver o problema de usar contas idênticas no seu ambiente para suporte a utilizadores ou escalonamento de privilégios. O LAPS cria palavras-passe fortes para contas locais, que são armazenadas em segurança em *o seu próprio* [Azure Key Vault](/pt/agente-realmjoin/realmjoin-client/local-admin-password-solution-laps/keyvault.md). Para fins de auditoria, 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/monitorizacao-e-registos/log-analytics.md).

## Pré-requisitos

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

* Configurar [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)

Vamos analisar ambos abaixo.

## Registo

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

Só precisa de 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/agente-realmjoin/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 `verdadeiro` para desativar esta funcionalidade. Isto irá limpar e **eliminar** 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)) |

São suportados os seguintes tipos de conta.

| Chave da definição                     | Valor predefinido       |
| -------------------------------------- | ----------------------- |
| LocalAdminManagement.EmergencyAccount  | `undefined` (*inativo*) |
| LocalAdminManagement.SupportAccount    | `undefined` (*inativo*) |
| LocalAdminManagement.PrivilegedAccount | `undefined` (*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 uma das três `Conta` objetos JSON acima.
{% endhint %}

| Chave da definição | Valor predefinido                                                    | Descrição                                                                                          |
| ------------------ | -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| $.NamePattern      | `"ADM-{HEX:8}"`                                                      | Especial. Consulte [Conta privilegiada](#privileged-account). Tem de ter 20 caracteres ou menos.   |
| $.DisplayName      | `"RealmJoin Local Administrator"`                                    | Nome de exibiçã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 palavra-passe, consulte [Geração de palavras-passe](#password-generation). |
| $.MaxStaleness     | Especial. Consulte [Recriação da conta](#account-recreation).        | Modelos predefinidos de palavra-passe, consulte [Geração de palavras-passe](#password-generation). |
| $.OnDemand         | Especial. Consulte [Conta de suporte](#support-account).             | Criar a conta apenas quando solicitada.                                                            |
| $.Expiration       | Especial. Consulte [Conta de suporte](#support-account).             | Data fixa de expiração da conta (formato ISO-8601)                                                 |
| $.PasswordRenewals | Especial. Consulte [Conta privilegiada](#privileged-account).        | Data fixa de expiração da conta (formato ISO-8601)                                                 |

## Senha **geração**

Por predefinição, 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`. O gerador criptográfico de números aleatórios do Windows é usado para fornecer aleatoriedade de alta qualidade na geração.

{% hint style="info" %}
O RealmJoin irá 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 tal acontecer, o RealmJoin fará até três rondas de geração de palavras-passe até ser gerada uma palavra-passe viável. Resta uma pequena probabilidade estatística de que todas as tentativas sejam excedidas. Nesse caso, verá uma mensagem semelhante no ficheiro de registo do serviço, como `Todas as tentativas excedidas`. O processo completo será reiniciado na próxima execução das verificações internas de configuração ( `CheckInterval`).
{% endhint %}

Trabalhar com palavras-passe verdadeiramente aleatórias pode ser doloroso, razão pela qual 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 ⇒ `Chave-[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 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 `MaxStaleness` definição. Desta 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 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, sessão aberta, aplicação iniciada com ela como ADM e ainda em execução - a conta continuará a expirar, mas não pode ser eliminada. **Não é possível criar uma nova conta enquanto a conta antiga não for eliminada.**
{% endhint %}

## Evitar conflitos

Embora o RealmJoin faça o 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 `NamePattern` definição suporta estes tokens com significado especial para o RealmJoin. Os tokens serão transformados pela função especificada e pelo respetivo parâmetro de comprimento a seguir aos 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 falhe catastroficamente. Será criado de forma proativa. Desta forma, terá sempre acesso para recuperação. Recomendamos configurá-lo para [recriação da conta](#account-recreation).

*Exemplo*

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

```json
{
  "NamePattern": "ADM-Emergency-{HEX:4}",
  "DisplayName": "Acesso de emergência",
  "MaxStaleness": "04:00",
  "PasswordPreset": 2
}
```

## Conta de suporte

Este tipo de conta pode ser configurado para criação a pedido. Foi concebido para ser usado numa janela de tempo limitada — 12 horas por predefinição — no modo a pedido. A janela de expiração pode ser ajustada por tenant na *Portal do RealmJoin* (configuração do tenant do LAPS).

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

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

Requisitos para o fluxo de trabalho a pedido:

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

{% hint style="info" %}
Pode demorar até 30 minutos até o agente do 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 a pedido, será criado de forma proativa.

*Exemplo*

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

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

## Conta privilegiada

Este tipo de conta foi concebido para ser usado por utilizadores avançados que necessitam de privilégios de administrador regulares, mas controlados, nos 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 utilizadores.
{% endhint %}

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

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

*Exemplo*

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

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

## Aceder às palavras-passe

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

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

## Ativar self-service

Os utilizadores podem aceder às contas criadas nos seus *própria* dispositivos (são "PrimaryUser") quando ativado usando o *Portal do 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.*` 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 `verdadeiro`/`false`. Isto pode ser usado como um carácter curinga e abrange todos os tipos de conta atuais e futuros. Tenha em atenção que isto só é recomendado para desativar o acesso (`false`).

{% hint style="info" %}
No passado, era recomendado definir esta definição como `verdadeiro`. No entanto, à medida que continuamos a expandir o RealmJoin, serão adicionados novos tipos de conta. Por conseguinte, é fortemente recomendado migrar todos os `verdadeiro` 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 à respetiva conta de emergência e à respetiva 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. Ainda assim, 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/agente-realmjoin/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.
