При попытке получить журналы аудита Microsoft Purview с помощью msgraph-beta-sdk-python, объект AuditLogRecordCollectionResponse, содержащий первую страницу записей журнала, и ссылку AuditLogRecordCollectionResponse.odata_next_link ( возвращается ссылка ODATA на следующую страницу журналов).
Однако https://learn.microsoft.com/en-us/graph ... query-list -records?view=graph-rest-beta&tabs=python и код функций SDK (https://github.com/microsoftgraph/msgra ... g/queries/ item/records/records_request_builder.py) не определяют, как использовать эту AuditLogRecordCollectionResponse.odata_next_link в msgraph-sdk для получения всех страниц записей журнала (один запрос может вернуть более 10 000 записей журнала).
Есть ли в msgraph-beta-sdk-python функция разбиения на страницы для извлечения записей журнала аудита?
import asyncio
import datetime
import os
import time
from azure.identity.aio import ClientSecretCredential
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.security.audit_log_query import AuditLogQuery
from msgraph_beta.generated.models.security.audit_log_record import AuditLogRecord
from msgraph_beta.generated.models.security.audit_log_record_type import AuditLogRecordType
from msgraph_beta.generated.models.security.audit_log_record_type import AuditLogRecordType
from msgraph_beta.generated.models.security.audit_log_query_status import AuditLogQueryStatus
from msgraph_beta.generated.models.security.audit_log_record_collection_response import AuditLogRecordCollectionResponse
async def getPurviewLogs(msgraph_client, queryStartDate, queryEndDate):
request_body = AuditLogQuery(
odata_type = "#microsoft.graph.security.auditLogQuery",
display_name = "TestQuery",
filter_start_date_time = queryStartDate.isoformat(),
filter_end_date_time = queryEndDate.isoformat(),
record_type_filters = [
AuditLogRecordType.ExchangeAdmin,
AuditLogRecordType.AzureActiveDirectory,
AuditLogRecordType.AzureActiveDirectoryAccountLogon,
]
)
# Send Purview query and get query status
queryResult = await msgraph_client.security.audit_log.queries.post(request_body)
print(queryResult.id)
# Wait during query exec
while True:
queryStatus = await msgraph_client.security.audit_log.queries.by_audit_log_query_id(queryResult.id).get()
print(queryStatus.status)
if queryStatus.status == AuditLogQueryStatus.Succeeded:
break
else:
time.sleep(15)
# return query results
return await msgraph_client.security.audit_log.queries.by_audit_log_query_id(queryResult.id).records.get()
Подробнее здесь: https://stackoverflow.com/questions/786 ... aph-beta-s
Проблема с разбиением на страницы при доступе к журналам аудита Microsoft Purview с помощью msgraph-beta-sdk-python ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение