A sua configuração, pré-preenchida
Escreva os seus valores uma vez e cada comando abaixo reescreve-se sozinho — o nome da aplicação, a política de acesso, os testes de verificação e o e-mail de pré-verificação. Copie cada bloco diretamente para o PowerShell.
Tudo fica no seu browser. Nada do que escreve aqui é guardado ou enviado para lado nenhum — sem cookies, sem localStorage, sem pedidos de rede. Os valores desaparecem ao atualizar a página e são apagados após 15 minutos sem atividade.
Esta página espelha a Parte 5 do guia de instalação completo, que percorre primeiro os cliques no portal Entra.Guia de instalação completo no GitHub
Os seus sete valores
Os valores apagam-se dentro de
Apagados — Os seus valores foram removidos após 15 minutos sem atividade. Escreva-os de novo para continuar.
O host onde o seu Matomo corre. Dele derivam o nome da aplicação Entra e a descrição do segredo.
Da página Overview do seu registo de aplicação. É um identificador, não um segredo.
Da mesma página Overview.
A coluna Value, mostrada uma única vez quando o segredo é criado — não o Secret ID. É usado apenas no bloco de pré-verificação abaixo; nunca aparece no resumo.
A caixa de correio partilhada a partir da qual o Matomo vai enviar.
O domínio incorporado do seu tenant — pré-preenchido a partir do endereço do remetente; edite-o se o seu for diferente.
A conta que usa em admin.microsoft.com — frequentemente uma conta admin@…onmicrosoft.com, não o seu e-mail do dia a dia.
Nomes derivados
- Nome da aplicação Entra
missivus-matomo-analytics.example.com- Descrição do segredo de cliente
missivus-matomo-analytics.example.com- Endereço do grupo de segurança
noreply-apps@yourcompany.onmicrosoft.com
1 — Instalar o módulo e iniciar sessão
Abre-se uma janela do browser; inicie sessão com a conta de administrador. O Windows já traz o PowerShell; no macOS execute `brew install --cask powershell` e depois `pwsh`.
Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser
Connect-ExchangeOnline -UserPrincipalName {{admin}}2 — Criar o grupo
O seu único membro é a sua caixa de correio partilhada. Anote o PrimarySmtpAddress que o PowerShell imprime — normalmente está no domínio incorporado do tenant, e é exatamente aquilo de que o comando seguinte precisa.
New-DistributionGroup -Name "NoReply Apps" -Alias noreply-apps -Type Security -Members "{{sender}}"3 — Restringir a aplicação ao grupo
Uma linha. É este o passo que transforma «uma aplicação que podia enviar como qualquer pessoa» em «uma aplicação que só pode enviar como um único endereço».
New-ApplicationAccessPolicy -AppId "{{clientId}}" -PolicyScopeGroupId "{{group}}" -AccessRight RestrictAccess -Description "Missivus (Matomo) may only send as {{sender}}"4 — Verificar — espere primeiro 5–10 minutos
A primeira linha tem de mostrar AccessCheckResult Granted; a segunda tem de mostrar Denied. A segunda linha usa um placeholder — substitua-o por qualquer outra caixa de correio real do seu tenant; o seu próprio endereço serve. Não avance enquanto não aparecer Denied.
Test-ApplicationAccessPolicy -Identity "{{sender}}" -AppId "{{clientId}}"
Test-ApplicationAccessPolicy -Identity "{{other}}" -AppId "{{clientId}}"5 — Pré-verificação, enviar um e-mail real a partir do PowerShell
Opcional mas fortemente recomendado — prova tenant, aplicação, segredo e política de ponta a ponta antes de o Matomo entrar em cena. Se a primeira parte imprimir 20 caracteres, a autenticação funciona. StatusCode 202 mais um e-mail na sua caixa de entrada significa que o lado da Microsoft está concluído. Substitua o placeholder do destinatário pela sua própria caixa de entrada.
$TenantId = "{{tenantId}}"
$ClientId = "{{clientId}}"
$Secret = "{{secret}}"
$tok = Invoke-RestMethod -Method Post -Uri "https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token" -Body @{ client_id=$ClientId; client_secret=$Secret; scope="https://graph.microsoft.com/.default"; grant_type="client_credentials" }
$tok.access_token.Substring(0,20)$body = '{"message":{"subject":"Missivus pre-flight","body":{"contentType":"Text","content":"Graph app-only send OK"},"toRecipients":[{"emailAddress":{"address":"{{other}}"}}]},"saveToSentItems":false}'
Invoke-WebRequest -Method Post -Uri "https://graph.microsoft.com/v1.0/users/{{sender}}/sendMail" -Headers @{ Authorization = "Bearer $($tok.access_token)" } -ContentType "application/json" -Body $body | Select-Object StatusCode6 — Limpar e terminar sessão
O segredo foi escrito nesta janela, por isso limpe-a e depois feche o PowerShell.
Remove-Variable Secret,tok,body
Disconnect-ExchangeOnlinePara o seu gestor de palavras-passe
Copie este bloco para as notas de uma entrada do gestor de palavras-passe. Contém os identificadores de que vai precisar ao rodar o segredo — o segredo em si fica deliberadamente de fora.
{{summaryAppName}}: {{appName}}
{{summaryTenantId}}: {{tenantId}}
{{summaryClientId}}: {{clientId}}
{{summaryGroup}}: {{group}}
{{summarySender}}: {{sender}}
{{summaryExpiry}}Depois, conclua no Matomo
Introduza o ID do tenant, o ID de cliente, o segredo e o remetente em Administration → System → General settings → Missivus, marque «Send email through Microsoft Graph», guarde e prima «Send test email».