> 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)

O RealmJoin LAPS gera palavras-passe fortes para contas locais armazenadas no seu próprio Azure Key Vault, auditadas via Application Insights ou Log Analytics.

A nossa Local Administrator Password Solution (LAPS) foi criada para resolver o problema de utilizar contas idênticas no seu ambiente para suporte ao utilizador ou escalonamento de privilégios. O LAPS cria palavras-passe fortes para contas locais, que são armazenadas de forma segura em *o seu próprio* [Azure Key Vault](/pt/agente-realmjoin/realmjoin-client/local-admin-password-solution-laps/keyvault.md). Para 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 poder começar com 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)
* Ativar explicitamente os tipos de conta LAPS através das definições de grupo (ou de utilizador)

Analisaremos ambos abaixo.

## Registo

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

Só precisa de ser escolhida 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 `true` para forçar esta funcionalidade a desligar-se. 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)) |

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 `Conta` objeto JSON acima.
{% endhint %}

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

## Palavra-passe **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 para a geração.

{% hint style="info" %}
O RealmJoin tratará automaticamente dos problemas com os requisitos de complexidade do Windows na 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 fará até três rondas de geração de palavras-passe até ser gerada uma palavra-passe viável. Existe uma probabilidade estatisticamente pequena 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 internas de configuração (ver definição `CheckInterval`).
{% endhint %}

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

* Preset 1 ⇒ `[1 upper][3 lower][4 digit]`
  * `Tuci9325`
  * `Lnso5050`
  * `Khwn2174`
* Preset 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)
* Preset 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 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 utilização — ainda 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 poderá ser eliminada. **Não pode ser criada uma nova conta enquanto a conta antiga não for eliminada.**
{% endhint %}

## Evitar conflitos

Apesar de o RealmJoin fazer o possível para evitar conflitos de nomes ao gerir as contas num dispositivo, existe sempre a possibilidade de já existirem contas 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 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 recurso ao dispositivo caso este falhe catastroficamente. 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, ver [definições de grupo](#group-settings))

```json
{
  "NamePattern": "ADM-Emergência-{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 no *RealmJoin Portal* (configuração do Tenant LAPS).

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

{% hint style="danger" %}
Ao usar o modo a pedido, 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 a pedido:

* 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 consegue alcançar o backend do RealmJoin

{% hint style="info" %}
Pode demorar até 30 minutos para o agente RealmJoin notar o pedido. O utilizador com sessão iniciada pode acelerar este processo escolhendo "Sync this device" no menu da bandeja do RealmJoin.
{% endhint %}

Quando não está em modo a pedido, será criada proativamente.

*Exemplo*

Chave `LocalAdminManagement.SupportAccount` (para definições comuns, ver [definições de 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 precisam de privilégios de administrador regulares, mas controlados, nos seus próprios dispositivos. Pode ser especificada uma data de expiração fixa 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 %}

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

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 pretende que os utilizadores configurem o Windows Hello para opções adicionais de início de sessão.
3. `Yearly`, `Monthly` ou `Weekly`: O intervalo mais curto tem prioridade (`Weekly` > `Monthly` > `Yearly`). Se não forem especificadas mais condições, os predefinidos são "1st day of month" para `Monthly` ou "monday" para `Weekly`. Além disso, `Yearly` predefinido para data da última definição da palavra-passe + 365 dias. Podem ser especificados os sete dias da semana. Assim, se `Wednesday` e `Weekly` forem especificados, a palavra-passe será alterada todas as quartas-feiras. Se `Wednesday` e `Monthly` forem especificados, a palavra-passe será alterada na primeira quarta-feira de cada mês. Combinar `Yearly` com dias da semana definirá o prazo para o último dia da semana especificado possível imediatamente antes de decorrerem 365 dias.

*Exemplo*

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

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

## Aceder às palavras-passe

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

<figure><img src="https://686519968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FnrPze5jW4F0Fdr83WluM%2Fimage.png?alt=media&amp;token=5c42cafc-c92a-4803-8ab7-254e0df392e0" alt=""><figcaption></figcaption></figure>

### Quem pode aceder às contas LAPS

O que um utilizador do portal pode fazer com as contas LAPS de um dispositivo depende da respetiva função RealmJoin:

| Função                          | Conta de emergência | Conta de suporte                | Conta privilegiada              |
| ------------------------------- | ------------------- | ------------------------------- | ------------------------------- |
| Administrador, Suporte avançado | Ler palavra-passe   | Ler palavra-passe, pedir acesso | Ler palavra-passe, pedir acesso |
| Auditor                         | Ver apenas a conta  | Ver apenas a conta              | Ver apenas a conta              |
| Utilizador de suporte           | Ler palavra-passe   | Ler palavra-passe, pedir acesso | —                               |

Os utilizadores que detenham várias funções obtêm o acesso combinado dessas funções.

{% hint style="info" %}
Em dispositivos sem um utilizador principal, apenas os Administradores Globais e os Administradores podem aceder às contas LAPS.
{% endhint %}

#### Funções personalizadas

[Funções personalizadas](/pt/administracao-e-definicoes/permission/custom-roles.md) podem conceder acesso LAPS com as seguintes permissões. Cada permissão concede exatamente o acesso LAPS da função incorporada correspondente da tabela acima. Não concede qualquer outra permissão dessa função.

| Permissão                             | Acesso LAPS como      |
| ------------------------------------- | --------------------- |
| `CanUseDeviceLapsAsAdvancedSupporter` | Suporte avançado      |
| `CanSeeDeviceLapsAsAuditor`           | Auditor               |
| `CanUseDeviceLapsAsSupporter`         | Utilizador de suporte |

Para [restrições de acesso](#restricting-access), um utilizador com uma destas permissões conta como um utilizador com a função correspondente. Por exemplo, um utilizador com `CanUseDeviceLapsAsSupporter` tem de estar num dos grupos listados em `Utilizador de suporte`.

### Restringir acesso

Use a `Restrict.LAPS` definição para limitar quais os utilizadores do portal que podem aceder às contas LAPS de dispositivos específicos, por exemplo, os dispositivos dos seus executivos. Ver [Restrições de acesso](/pt/ugd-management/user-and-group-settings/additional-settings.md#access-restrictions) para detalhes.

A *LAPS* secção de um dispositivo no RealmJoin Portal mostra quais funções LAPS possui e quais delas `Restrict.LAPS` concedem permissões para esse dispositivo.

## Ativar autosserviço

Os utilizadores podem aceder às contas criadas nos seus *próprios* dispositivos (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`. Esta definição pode ser definida em grupos e utilizadores. Tal como acontece com todas as definições prefixadas com `Allow.*` , são combinadas por AND entre o utilizador e todos os respetivos grupos.

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

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

{% hint style="info" %}
No passado, era recomendado definir esta definição como `true`. No entanto, à 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 trabalhadores remotos ou não.                  |
| Todos os formandos             | `false`                                                   | Os formandos nunca devem ter acesso a qualquer um dos três tipos de conta **e** todos os tipos futuros, mesmo que sejam trabalhadores remotos ou programadores |

{% hint style="info" %}
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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
