Interaktiv guide

Din opsætning, forudfyldt

Skriv dine værdier én gang, så omskriver hver kommando nedenfor sig selv — appnavnet, adgangspolitikken, verifikationstestene og pre-flight-mailen. Kopiér hver blok direkte ind i PowerShell.

Dine syv værdier

Værdierne ryddes om 15:00

Værten, din Matomo kører på. Den afleder navnet på Entra-appen og beskrivelsen af hemmeligheden.

Fra Overview-siden i din appregistrering. En identifikator, ikke en hemmelighed.

Fra den samme Overview-side.

Kolonnen Value, der kun vises én gang, når hemmeligheden oprettes — ikke Secret ID. Bruges kun i pre-flight-blokken nedenfor; den optræder aldrig i opsummeringen.

Den delte postkasse, Matomo sender som.

Din tenants indbyggede domæne — forudfyldt ud fra afsenderadressen; ret det, hvis dit er anderledes.

Den konto, du bruger på admin.microsoft.com — ofte en admin@…onmicrosoft.com-konto, ikke din daglige e-mail.

Afledte navne

Navn på Entra-appen
missivus-matomo-analytics.example.com
Beskrivelse af klienthemmeligheden
missivus-matomo-analytics.example.com
Sikkerhedsgruppens adresse
noreply-apps@yourcompany.onmicrosoft.com

Installér modulet og log ind

Der åbnes et browservindue; log ind med administratorkontoen. Windows har PowerShell indbygget; på macOS kør `brew install --cask powershell` og derefter `pwsh`.

Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser
Connect-ExchangeOnline -UserPrincipalName {{admin}}

Opret gruppen

Dens eneste medlem er din delte postkasse. Notér den PrimarySmtpAddress, PowerShell udskriver — den ligger som regel på tenantens indbyggede domæne, og det er præcis den, den næste kommando skal bruge.

New-DistributionGroup -Name "NoReply Apps" -Alias noreply-apps -Type Security -Members "{{sender}}"

Lås appen til gruppen

Én linje. Det er dette trin, der forvandler "en app, der kunne sende som hvem som helst" til "en app, der kan sende som præcis én adresse".

New-ApplicationAccessPolicy -AppId "{{clientId}}" -PolicyScopeGroupId "{{group}}" -AccessRight RestrictAccess -Description "Missivus (Matomo) may only send as {{sender}}"

Verificér — vent 5 minutter først

Den første linje skal vise AccessCheckResult Granted, den anden skal vise Denied. Den anden linje bruger en pladsholder — udskift den med en hvilken som helst anden rigtig postkasse i din tenant, din egen adresse er fin. Gå ikke videre, før den siger Denied.

Test-ApplicationAccessPolicy -Identity "{{sender}}" -AppId "{{clientId}}"
Test-ApplicationAccessPolicy -Identity "{{other}}" -AppId "{{clientId}}"

Pre-flight, send én rigtig e-mail fra PowerShell

Valgfrit, men stærkt anbefalet — det beviser tenant, app, hemmelighed og politik fra ende til anden, før Matomo overhovedet er involveret. Hvis den første del udskriver 20 tegn, virker godkendelsen. StatusCode 202 plus en e-mail i din indbakke betyder, at Microsoft-siden er færdig. Udskift pladsholderen for modtager med din egen indbakke.

$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 StatusCode

Ryd op og log ud

Hemmeligheden blev tastet ind i dette vindue, så ryd den, og luk derefter PowerShell.

Remove-Variable Secret,tok,body
Disconnect-ExchangeOnline

Til din adgangskodemanager

Kopiér denne blok ind i noterne på en post i din adgangskodemanager. Den indeholder de identifikatorer, du får brug for, når hemmeligheden skal roteres — hemmeligheden selv står der bevidst ikke.

{{summaryAppName}}: {{appName}}
{{summaryTenantId}}: {{tenantId}}
{{summaryClientId}}: {{clientId}}
{{summaryGroup}}: {{group}}
{{summarySender}}: {{sender}}

{{summaryExpiry}}

Afslut derefter i Matomo

Indtast tenant-ID, klient-ID, hemmelighed og afsender under Administration → System → General settings → Missivus, sæt flueben i "Send email through Microsoft Graph", gem, og tryk på "Send test email".

Reference for pluginets konfiguration