Microsoft365
## Sbírání logů z Microsoft 365
TeskaLabs LogMan.io může sbírat logy z [Microsoft 365](https://en.wikipedia.org/wiki/Microsoft_365), dříve známého jako Microsoft Office 365.
Existují následující třídy logů Microsoft 365:
* **Audit logy**: Obsahují informace o různých uživatelských, administrátorských, systémových a politikových akcích a událostech z Azure Active Directory, Exchange a SharePoint.
* **Message Trace**: Umožňuje získat přehled o e-mailovém provozu procházejícím přes Microsoft Office 365 Exchange mail server.
## Aktivace auditu Microsoft 365
Ve výchozím nastavení je auditní logování aktivováno pro podnikovou organizaci Microsoft 365 a Office 365.
Při nastavování logování pro organizaci Microsoft 365 nebo Office 365 byste však měli ověřit stav auditu Office 365.
**1) Přejděte na [https://compliance.microsoft.com/](https://compliance.microsoft.com) a přihlaste se**
**2) V levém navigačním panelu Microsoft 365 compliance centra klikněte na Audit**
**3) Klikněte na banner Spustit záznam uživatelské a administrátorské aktivity**
Změna může trvat až 60 minut, než se projeví.
Pro více informací, viz [Zapnout nebo vypnout audit](https://docs.microsoft.com/en-us/microsoft-365/compliance/turn-audit-log-search-on-or-off?view=o365-worldwide).
## Konfigurace Microsoft 365
Než budete moci sbírat logy z Microsoft 365, musíte konfigurovat Microsoft 365. Uvědomte si, že konfigurace zabere značné množství času.
**1) Nastavte si předplatné na Microsoft 365 a předplatné na Azure**
Potřebujete předplatné na Microsoft 365 a předplatné na Azure, které je přidruženo k vašemu předplatnému na Microsoft 365.
Můžete využít zkušební předplatné na obojí, Microsoft 365 a Azure, pro začátek.
Pro více informací, viz [Vítejte v Office 365 Developer Program](https://docs.microsoft.com/en-us/office/developer-program/office-365-developer-program).
**2) Zaregistrujte TeskaLabs LogMan.io kolektor v Azure AD**
To vám umožní vytvořit identitu pro TeskaLabs LogMan.io a přiřadit specifická oprávnění, která potřebuje pro sbírání logů z Microsoft 365 API.
Přihlaste se do [Azure portálu](https://portal.azure.com/) pomocí přihlašovacích údajů z vašeho předplatného na Microsoft 365, které chcete použít.
**3) Navigujte do Azure Active Directory**
<img src="../msoffice-azureportal1.jpg" width="500" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**4) Na stránce Azure Active Directory vyberte "App registrations" (1) a poté "New registration" (2)**
<img src="../msoffice-azureportal2.jpg" width="436" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**5) Vyplňte registrační formulář pro TeskaLabs LogMan.io aplikaci**
* Název: "TeskaLabs LogMan.io"
* Podporované typy účtů: "Účet v tomto organizačním adresáři"
* URL přesměrování: Žádné
Stiskněte "Register" pro dokončení procesu.
<img src="../msoffice-azureportal3.jpg" width="518" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**6) Sbírejte důležité informace**
Uložte následující informace ze stránky registrované aplikace v Azure portálu:
* Application (client) ID aka `client_id`
* Directory (tenant) ID aka `tenant_id`
<img src="../msoffice-azureportal4.jpg" width="656" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**7) Vytvořte klientské tajemství**
Klientské tajemství se používá pro bezpečné autorizování a přístup TeskaLabs LogMan.io.
Po zobrazení stránky vaší aplikace, vyberte v levém panelu záložku Certifikáty & tajemství (1).
Pak vyberte záložku "Client secrets" (2).
Na této záložce vytvořte nové klientské tajemství (3).
<img src="../msoffice-azureportal5.jpg" width="594" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**8) Vyplňte informace o novém klientském tajemství**
* Popis: "TeskaLabs LogMan.io Client Secret"
* Vyprší: 24 měsíců
Stiskněte "Add" pro pokračování.
<img src="../msoffice-azureportal6.jpg" width="390" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**9) Klikněte na ikonu se schránkou, aby se hodnota klientského tajemství zkopírovala do schránky**
<img src="../msoffice-azureportal7.jpg" width="900" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
Uložte *Value* (ne Secret ID) pro konfiguraci TeskaLabs LogMan.io, bude použito jako `client_secret`.
**10) Určete oprávnění pro TeskaLabs LogMan.io, aby mohlo přistupovat k Microsoft 365 Management API**
Přejděte na App registrations > All applications v Azure portálu a vyberte "TeskaLabs LogMan.io".
<img src="../msoffice-azureportal8.jpg" width="656" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**11) Vyberte API Permissions (1) v levém panelu a potom klikněte na Add a permission (2)**
<img src="../msoffice-azureportal9.jpg" width="575" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**12) Na záložce Microsoft APIs vyberte Microsoft 365 Management APIs**
<img src="../msoffice-azureportal10.jpg" width="567" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**13) Na rozbalovací stránce vyberte všechny typy oprávnění**
* Delegovaná oprávnění
* `ActivityFeed.Read`
* `ActivityFeed.ReadDlp`
* `ServiceHealth.Read`
* Aplikační oprávnění
* `ActivityFeed.Read`
* `ActivityFeed.ReadDlp`
* `ServiceHealth.Read`
Klikněte na "Add permissions" pro dokončení.
<img src="../msoffice-azureportal11.jpg" width="565" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
<img src="../msoffice-azureportal12.jpg" width="570" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**14) Přidejte oprávnění "Microsoft Graph"**
* Delegovaná oprávnění
* `AuditLog.Read.All`
* Aplikační oprávnění
* `AuditLog.Read.All`
Vyberte "Microsoft Graph", "Delegovaná oprávnění", najděte a vyberte "AuditLog.Read.All" v "Audit Log".
Pak znovu vyberte "Microsoft Graph", "Aplikační oprávnění", najděte a vyberte "AuditLog.Read.All" v "Audit Log".
<img src="../msoffice-azureportal12.jpg" width="571" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**15) Přidejte oprávnění "Office 365 Exchange online" pro sbírání Message Trace reportů**
Klikněte na "Add a permission" znovu.
Pak přejděte na "APIs my organization uses".
Zadejte "Office 365 Exchange Online" do vyhledávacího pole.
Nakonec vyberte položku "Office 365 Exchange Online".
<img src="../msoffice-azureportal-exchange1.jpg" width="570" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
Vyberte "Aplikační oprávnění".
Zadejte "ReportingWebService" do vyhledávacího pole.
Zaškrtněte políčko "ReportingWebService.Read.All".
Nakonec klikněte na tlačítko "Add permissions".
<img src="../msoffice-azureportal-exchange2.jpg" width="570" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**16) Udělte souhlas admina**
<img src="../msoffice-azureportal13.jpg" width="904" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**17) Navigujte zpět do Azure Active Directory**
<img src="../msoffice-azureportal1.jpg" width="500" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**18) Navigujte na Role a administrátory**
<img src="../msoffice-azureportal15.jpg" width="500" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
**19) Přidělte TeskaLabs LogMan.io roli Global Reader**
Zadejte "Global Reader" do vyhledávacího pole.
Pak klikněte na položku "Global Reader".
<img src="../msoffice-azureportal16.jpg" width="500" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
Vyberte "Add assignments".
Zadejte "TeskaLabs LogMan.io" do vyhledávacího pole. Alternativně použijte "Application (client) ID" z předchozích kroků.
Vyberte položku "TeskaLabs LogMan.io"; položka se objeví v "Selected items".
Stiskněte tlačítko "Add".
<img src="../msoffice-azureportal17.jpg" width="904" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);" />
__Gratulujeme!__ Vaše Microsoft 365 je nyní připravena pro sběr logů.
## Konfigurace TeskaLabs LogMan.io
### Příklad
```yaml
connection:MSOffice365:MSOffice365Connection:
client_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
tenant_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
client_secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Sbírání Microsoft 365 Audit.General
input:MSOffice365:MSOffice365Source1:
connection: MSOffice365Connection
content_type: Audit.General
output: ms-office365-01
# Sbírání Microsoft 365 Audit.SharePoint
input:MSOffice365:MSOffice365Source2:
connection: MSOffice365Connection
content_type: Audit.SharePoint
output: ms-office365-01
# Sbírání Microsoft 365 Audit.Exchange
input:MSOffice365:MSOffice365Source3:
connection: MSOffice365Connection
content_type: Audit.Exchange
output: ms-office365-01
# Sbírání Microsoft 365 Audit.AzureActiveDirectory
input:MSOffice365:MSOffice365Source4:
connection: MSOffice365Connection
content_type: Audit.AzureActiveDirectory
output: ms-office365-01
# Sbírání Microsoft 365 DLP.All
input:MSOffice365:MSOffice365Source5:
connection: MSOffice365Connection
content_type: DLP.All
output: ms-office365-01
output:XXXXXX:ms-office365-01: {}
# Sbírání Microsoft 365 Message Trace logů
input:MSOffice365MessageTraceSource:MSOffice365MTSource1:
connection: MSOffice365Connection
output: ms-office365-message-trace-01
output:XXXXXX:ms-office365-message-trace-01: {}
Připojení¶
Připojení k Microsoft 365 musí být nakonfigurováno jako první v sekci connection:MSOffice365:....
connection:MSOffice365:MSOffice365Connection:
client_id: # Application (client) ID z Azure Portálu
tenant_id: # Directory (tenant) ID z Azure Portálu
client_secret: # Hodnota klientského tajemství z Azure Portálu
resources: # (volitelné) zdroje, ze kterých chcete získávat data, oddělené čárkou (,) (výchozí: https://manage.office.com,https://outlook.office365.com)
Danger
Pole client id, tenant_id a client secret MUSÍ být zadaná pro úspěšné připojení k Microsoft 365.
Sbírání z Microsoft 365 activity logs¶
Konfigurační možnosti pro nastavení sběru Audit logů (Audit.AzureActiveDirectory, Audit.SharePoint, Audit.Exchange, Audit.General a DLP.All):
input:MSOffice365:MSOffice365Source1:
connection: # ID MSOffice365 připojení
output: # Kam posílat příchozí události
content_type: # (volitelné, ale doporučené) Typ obsahu získávaných logů (výchozí: Audit.AzureActiveDirectory Audit.SharePoint Audit.Exchange Audit.General DLP.All)
refresh: # (volitelné) Interval obnovování v sekundách pro získání zpráv z API (výchozí: 600)
last_value_storage: # (volitelné) Perzistentní úložiště pro aktuální poslední hodnotu (výchozí: ./var/last_value_storage)
Sbírání z Microsoft 365 Message Trace¶
Konfigurační možnosti pro nastavení zdroje dat pro Microsoft 365 Message Trace:
input:MSOffice365MessageTraceSource:MSOffice365MessageTraceSource1:
connection: # ID MSOffice365 připojení
output: # Kam odesílat příchozí události
refresh: # (volitelné) Interval obnovení v sekundách (výchozí: 600)
last_value_storage: # (volitelné) Trvalé úložiště last value (výchozí: ./var/last_value_storage)
Throttling
Microsoft Graph Message Trace API má limit 100 požadavků za 5 minut na tenant,
sdílený pro Message Trace a Message Trace Detail.
Výchozí refresh drží TeskaLabs LogMan.io v limitu.
Při kratším refresh sledujte celkovou frekvenci požadavků.
Obnovení client secret¶
Client secret vyprší po 24 měsících a je třeba ho periodicky obnovovat.
1) Přejděte do Microsoft Entra ID.
2) Otevřete „App registrations“ a vyberte „TeskaLabs LogMan.io“.
3) Vytvořte nový client secret.
Přejděte na „Certificates & secrets“.
V záložce „Client secrets“ klikněte na „New client secret“.
Do Description zadejte „TeskaLabs LogMan.io Client Secret 2“ (čísla navyšujte).
Expiration „730 days (24 months)“.
Klikněte na „Add“.
4) Překonfigurujte TeskaLabs LogMan.io na nový client secret.
5) Smažte starý client secret.
Vysvětlení atributů Microsoft 365¶
| Attribute | Description | Values as an example | Notes | Full list (ext) | |
|---|---|---|---|---|---|
| o365.audit.ActorContextId | ID of the user or service account that performed the action. | 571c8d2c-1ae2-486d-a17c-81bf54cbaa15 | |||
| o365.audit.ApplicationId | Application identifier (unique letter+number string) | 89bee1f7-5e6e-4d8a-9f3d-ecd601259da7 | |||
| o365.audit.AzureActiveDirectoryEventType | The type of Azure Active Directory event. The following values indicate the type of event. | 0 - Indicates an account login event. 1 - Indicates an Azure application security event. |
|||
| o365.audit.DeviceProperties | Source device properties such as OS, browser type etc. | Name:"OS" Value:"Linux" } {2 items Name:"BrowserType" Value:"Firefox" } {2 items Name:"IsCompliantAndManaged" Value:"False" } {2 items Name:"SessionId" Value:"e94ad17c-354f-4009-a9ee-34900770e997" |
Parcing of these properties is still in progress | ||
| o365.audit.ErrorNumber | An error code string that can be used to classify types of errors that occur, and should be used to react to errors. | 0, 50140, 501314 ... | https://learn.microsoft.com/en-us/azure/active-directory/develop/reference-aadsts-error-codes | ||
| o365.audit.ExtraProperties | Not defined yet | // | |||
| o365.audit.FileSizeBytes | FIle size in bytes | 23301 | |||
| o365.audit.InterSystemsId | Unique inter system ID string | acc33436-ee63-4d81-b6ee-544998a1c7d9 | |||
| o365.audit.IntraSystemId | Unique intra system ID string | 01dd20c0-edb9-4aaa-a51b-2bf38e1a8900 | |||
| o365.audit.ItemName | Unique item name | b1379a75-ce5e-4fa3-80c6-89bb39bf646c | |||
| o365.audit.LogonError | Error message displayed after failed login | InvalidUserNameOrPassword, TriggerBrowserCapabilitiesInterrupt, InvalidPasswordExpiredPassword | |||
| o365.audit.ObjectId | URL path to accesed file | https://telescopetest.sharepoint.com/sites/Shared Documents/Docs/o365 - logs.xlsx | |||
| o365.audit.RecordType | The type of operation indicated by the record. This property indicates the service or feature that the operation was triggered in. | 6 | https://learn.microsoft.com/en-us/office/office-365-management-api/office-365-management-activity-api-schema#auditlogrecordtype | ||
| o365.audit.ResultStatus | Triggered response | Success, Fail | |||
| o365.audit.SourceFileExtension | Accessed file extension (format type). | .xlsx, .pdf, .doc etc. | |||
| o365.audit.SourceFileName | Name of file user accessed | "o365.attributesexplained.xlsx" | |||
| o365.audit.SupportTicketId | ID of the potential Support ticket, after user opened a support request in Azure Active Directory. | // | The customer support ticket ID for the action in "act-on-behalf-of" situations. | ||
| o365.audit.TargetContextId | The GUID of the organization that the targeted user belongs to. | 571c8d2c-1ae2-486d-a17c-81bf54cbaa15 | |||
| o365.audit.UserKey | An alternative ID for the user identified in the UserID property. For example, this property is populated with the passport unique ID (PUID) for events performed by users in SharePoint. This property also might specify the same value as the UserID property for events occurring in other services and events performed by system accounts. | i:0h.f|membership|1003200224fe6604@live.com | |||
| o365.audit.UserType | The type of user that performed the operation. The following values indicate the user type. | 0 - A regular user. 2 - An administrator in your Microsoft 365 organization.1 3 - A Microsoft datacenter administrator or datacenter system account. 4 - A system account. 5 - An application. 6 - A service principal. 7 - A custom policy. 8 - A system policy. |
|||
| o365.audit.Version | Indicates the version number of the activity (identified by the Operation property) that's logged. | 1 | |||
| o365.audit.Workload | The Microsoft 365 service where the activity occurred. | AzureActiveDirectory | |||
| o365.message.id | This is the Internet message ID (also known as the Client ID) found in the message header in the Message-ID: header field. | 08f1e0f6806a47b4ac103961109ae6ef@server.domain | This ID should be unique; however, not all sending mail systems behave the same way. As a result, there's a possibility that you may get results for multiple messages when querying upon a single Message ID. | ||
| o365.message.index | Value of MessageTrace Index | 1, 2, 3 ... | |||
| o365.message.size | Size of the sent/received message in bytes. | 33489 | |||
| o365.message.status | Following action after sending the message. | Delivered, FilteredAsSpam, Expanded | https://learn.microsoft.com/en-us/exchange/monitoring/trace-an-email-message/run-a-message-trace-and-view-results | ||
| o365.message.subject | Message subject; can be written uniquely. | "Binding Offer Letter for Ms. Smith" | |||
URL používané touto integrací¶
LogMan.io Collector se připojuje na tyto URL:
- https://manage.office.com
- https://outlook.office365.com
- https://login.microsoftonline.com


