> 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/automacao/runbooks/runbook-references/user/mail/delegate-full-access.md).

# Delegar acesso total

### Descrição

Concede ou remove a permissão Exchange Online FullAccess na caixa de correio de um utilizador selecionado para um ou mais utilizadores delegados, com configuração opcional de AutoMapping no Outlook. O runbook apresenta as permissões da caixa de correio antes e depois da alteração e continua com os delegados restantes se um falhar, fornecendo um resumo de todos os êxitos e falhas.

### Como funciona

Em cada execução, o runbook:

1. Liga-se ao Exchange Online com a identidade gerida da conta de Automação.
2. Verifica se o proprietário da caixa de correio selecionado (`Nome de usuário`) realmente tem uma caixa de correio - se não tiver, a execução é interrompida antes de qualquer alteração.
3. Resolve cada delegado selecionado para o respetivo endereço SMTP principal e elimina duplicados e o próprio proprietário da caixa de correio.
4. Lê e apresenta o atual **FullAccess** delegações na caixa de correio (o *estado atual*).
5. Concede ou remove FullAccess para cada delegado restante, um de cada vez.
6. Volta a ler as permissões da caixa de correio e apresenta o estado resultante, além de um resumo por execução.

O runbook apenas afeta a **FullAccess** permissão na única caixa de correio selecionada. Send As, Send on Behalf e permissões ao nível de pasta não são afetados.

#### Seleção de delegados

O **Delegate access to** campo é um **seletor de utilizadores de múltipla seleção** Selecione tantos delegados quantos forem necessários - todos recebem a mesma ação (*Conceder acesso* ou *Remover acesso*) e a mesma definição de AutoMapping do formulário numa única execução.

O seletor está restrito a contas de membro (`userType eq 'Member'`), pelo que contas convidadas não são oferecidas. Passa cada delegado selecionado como um **nome principal do utilizador**, pelo que a primeira linha de registo já aparece como uma lista de UPNs em vez de IDs de objeto em bruto. Cada valor é então resolvido no Exchange Online e, a partir da etapa de pré-verificação, toda a saída mostra o endereço SMTP principal do delegado.

Duas entradas do seletor que resolvem para a mesma caixa de correio são deduplicadas, e um delegado que resolve para o proprietário da caixa de correio é removido com um aviso - não se pode delegar uma caixa de correio a si própria.

#### O que é alterado

* **Conceder acesso (`Remover` = falso):** `Add-MailboxPermission` com `-AccessRights FullAccess` para cada delegado.
* **Remover acesso (`Remover` = verdadeiro):** `Remove-MailboxPermission` com `-AccessRights FullAccess -InheritanceType All` para cada delegado.

#### AutoMapping

**`AutoMapping`** só é avaliado ao conceder acesso; o portal oculta o campo quando *Remover acesso* está selecionado. Com o AutoMapping ativado, o Outlook adiciona automaticamente a caixa de correio delegada ao perfil do delegado - mas apenas depois de o cliente recriar a associação, o que pode demorar. As concessões existentes não são reescritas para alterar o respetivo valor de AutoMapping; remova a delegação e conceda-a novamente se o comportamento de mapeamento tiver de mudar.

#### Concebido para ser idempotente

Nada é feito duas vezes e nada falha só porque já era verdade:

* Conceder acesso a um delegado que já possui FullAccess é reportado como *inalterado*, e não como um erro.
* Remover acesso de um delegado que não tem uma entrada FullAccess é reportado como *inalterado*, e não como um erro.
* Quando o instantâneo pré-alteração não consegue classificar uma entrada de permissão existente, o runbook não **não** toma o atalho - chama o Exchange Online e deixa a respetiva resposta decidir, pelo que uma delegação removível nunca é ignorada silenciosamente.

#### Resultados parciais

Os delegados são processados independentemente:

* Um delegado **sem caixa de correio** é ignorado durante a verificação prévia e contado como *ignorado*; os restantes delegados continuam a ser processados. Se nenhum dos delegados selecionados tiver uma caixa de correio, a execução é interrompida.
* Uma alteração de um delegado **falha** é reportada com um motivo específico (atraso de replicação do diretório, permissões insuficientes do Exchange Online na identidade gerida, uma permissão herdada de um grupo ou uma caixa de correio partilhada/não licenciada) e o ciclo continua com o resto.

Cada execução termina com uma linha de resumo no formato `Resumo: <alterados>, <inalterados>, <falhados>, <ignorados (sem caixa de correio)>`, seguido pelas delegações FullAccess resultantes na caixa de correio.

Se **qualquer** delegado falhar, o próprio runbook reporta uma falha. Isto é deliberado: com um seletor de múltipla seleção, um êxito parcial reportado como uma execução limpa ocultaria delegados que nunca receberam acesso.

#### Limitações

* **As permissões herdadas não podem ser removidas.** Um direito FullAccess que vem de um grupo de funções ou da associação a um Security Group é apresentado como *herdado* mas não pode ser revogado aqui - ajuste, em vez disso, a associação ao grupo ou a atribuição da função.
* **Apenas concessões explícitas Allow são geridas.** Uma entrada explícita **Deny** na caixa de correio é apresentada para transparência, mas o runbook nunca adiciona nem remove uma.

#### Pré-requisitos

A identidade gerida da conta de Automação liga-se ao Exchange Online via `Connect-RjRbExchangeOnline` e precisa de:

* a `Exchange.ManageAsApp` permissão de aplicação em *Office 365 Exchange Online*, e
* a **Administrador do Exchange** função (ou uma função Exchange Online RBAC equivalente que inclua `Add-MailboxPermission` e `Remove-MailboxPermission`).

O runbook não faz chamadas ao Microsoft Graph - o seletor de utilizadores é apenas uma anotação do lado do portal, pelo que não são necessárias permissões de aplicação do Graph.

### Localização

Utilizador → Correio → Delegar Acesso Total

**Nome completo do runbook**

rjgit-user\_mail\_delegate-full-access

### Detalhes

| Propriedade         | Valor                                                                            |
| ------------------- | -------------------------------------------------------------------------------- |
| Versão              | 1.1.2                                                                            |
| Módulos necessários | <p>RealmJoin.RunbookHelper (>= 0.8.9)<br>ExchangeOnlineManagement (>= 3.9.2)</p> |
| Agendável           | não                                                                              |

### Permissões

#### Permissões de aplicação

* **Tipo**: Office 365 Exchange Online
  * Exchange.ManageAsApp
    * *Gere delegações FullAccess de caixa de correio na sessão Exchange Online apenas para aplicação*

#### funções RBAC

* Administrador do Exchange
  * *Necessário para a sessão Exchange Online apenas para aplicação que gere permissões FullAccess*

### Parâmetros

#### Nome de usuário

Nome principal do utilizador do proprietário da caixa de correio.

| Propriedade      | Valor                                           |
| ---------------- | ----------------------------------------------- |
| Obrigatório      | verdadeiro                                      |
| Valor padrão     |                                                 |
| Tipo             | String                                          |
| Oculto no portal | sim (predefinido via personalização do runbook) |

#### delegateTo

Um ou mais utilizadores aos quais pretende conceder ou revogar o acesso total à caixa de correio. Pode selecionar vários delegados para aplicar a mesma ação a todos eles simultaneamente.

| Propriedade                | Valor              |
| -------------------------- | ------------------ |
| Obrigatório                | verdadeiro         |
| Valor padrão               |                    |
| Tipo                       | String\[]          |
| Nome de exibição no portal | Delegate access to |

#### Remover

Se definido como verdadeiro, o script removerá a permissão FullAccess. Se falso, concederá a permissão.

| Propriedade                | Valor    |
| -------------------------- | -------- |
| Obrigatório                | falso    |
| Valor padrão               | Falso    |
| Tipo                       | Booleano |
| Nome de exibição no portal | Ação     |

**Opções do portal**

| Opção do portal | Valor |
| --------------- | ----- |
| Conceder acesso |       |
| Remover acesso  |       |

#### AutoMapping

Se definido como verdadeiro, o Outlook mapeará automaticamente a caixa de correio delegada no cliente Outlook do delegado. Esta opção só se aplica quando se concede acesso (Remover = falso).

| Propriedade  | Valor    |
| ------------ | -------- |
| Obrigatório  | falso    |
| Valor padrão | Falso    |
| Tipo         | Booleano |

[Voltar à visão geral da referência do runbook](/pt/automacao/runbooks/runbook-references.md)


---

# 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/automacao/runbooks/runbook-references/user/mail/delegate-full-access.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.
