Ваше налаштування, вже заповнене
Введіть свої значення один раз — і кожна команда нижче перепише себе: назва застосунку, політика доступу, перевірочні тести та передпольотний лист. Копіюйте кожен блок просто у PowerShell.
Ваші сім значень
Значення очистяться через
Очищено — Ваші значення видалено після 15 хвилин без активності. Введіть їх знову, щоб продовжити.
Хост, на якому працює ваш Matomo. З нього виводяться назва застосунку Entra й опис секрета.
Зі сторінки Overview вашої реєстрації застосунку. Це ідентифікатор, а не секрет.
З тієї самої сторінки Overview.
Стовпець Value, показаний один раз під час створення секрета, — не Secret ID. Використовується лише в передпольотному блоці нижче; у підсумку він ніколи не з’являється.
Спільна поштова скринька, від імені якої надсилатиме Matomo.
Вбудований домен вашого тенанта — заповнюється з адреси відправника; змініть його, якщо у вас інший.
Обліковий запис, яким ви користуєтеся на admin.microsoft.com — часто це запис admin@…onmicrosoft.com, а не ваша щоденна пошта.
Похідні назви
- Назва застосунку Entra
missivus-matomo-analytics.example.com- Опис секрета клієнта
missivus-matomo-analytics.example.com- Адреса групи безпеки
noreply-apps@yourcompany.onmicrosoft.com
Встановіть модуль і увійдіть
Відкриється вікно браузера; увійдіть обліковим записом адміністратора. У Windows PowerShell вбудований; у macOS виконайте `brew install --cask powershell`, потім `pwsh`.
Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser
Connect-ExchangeOnline -UserPrincipalName {{admin}}Створіть групу
Її єдиний учасник — ваша спільна поштова скринька. Занотуйте PrimarySmtpAddress, який виведе PowerShell — зазвичай вона у вбудованому домені тенанта, і саме вона потрібна наступній команді.
New-DistributionGroup -Name "NoReply Apps" -Alias noreply-apps -Type Security -Members "{{sender}}"Замкніть застосунок на групу
Один рядок. Саме цей крок перетворює «застосунок, який міг би надсилати від імені будь-кого» на «застосунок, який може надсилати рівно з однієї адреси».
New-ApplicationAccessPolicy -AppId "{{clientId}}" -PolicyScopeGroupId "{{group}}" -AccessRight RestrictAccess -Description "Missivus (Matomo) may only send as {{sender}}"Перевірка — спершу зачекайте 5 хвилин
Перший рядок має показати AccessCheckResult Granted, другий — Denied. У другому рядку використано заповнювач — замініть його будь-якою іншою реальною скринькою у вашому тенанті, ваша власна адреса підійде. Не рухайтеся далі, доки не побачите Denied.
Test-ApplicationAccessPolicy -Identity "{{sender}}" -AppId "{{clientId}}"
Test-ApplicationAccessPolicy -Identity "{{other}}" -AppId "{{clientId}}"Передпольотна перевірка — надішліть один справжній лист із PowerShell
Необов’язково, але наполегливо рекомендовано — це перевіряє тенант, застосунок, секрет і політику від початку до кінця ще до того, як залучено Matomo. Якщо перша частина виводить 20 символів, автентифікація працює. StatusCode 202 плюс лист у вашій скриньці означають, що бік Microsoft готовий. Замініть заповнювач одержувача на власну скриньку.
$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Приберіть за собою й вийдіть
Секрет було введено в цьому вікні, тож очистіть його, а потім закрийте PowerShell.
Remove-Variable Secret,tok,body
Disconnect-ExchangeOnlineДля вашого менеджера паролів
Скопіюйте цей блок у нотатки запису в менеджері паролів. Він містить ідентифікатори, які знадобляться під час ротації секрета — самого секрета в ньому свідомо немає.
{{summaryAppName}}: {{appName}}
{{summaryTenantId}}: {{tenantId}}
{{summaryClientId}}: {{clientId}}
{{summaryGroup}}: {{group}}
{{summarySender}}: {{sender}}
{{summaryExpiry}}Далі завершіть у Matomo
Введіть ID тенанта, ID клієнта, секрет і відправника в Administration → System → General settings → Missivus, позначте «Send email through Microsoft Graph», збережіть і натисніть «Send test email».