Где найти журнал доступа для доступа к мастекам в Azure Cosmos DB
Можете ли вы помочь мне понять, где я могу найти журналы всех действий, используя мастер-ключ для доступа к CosmosDB/ DocumentDB azure.
Предыстория: Все, что я могу найти в журналах, - это ID пользователя, который обращался к документу db в Azure. У нас также есть скрипт на python с использованием Pydocumentdb, который использует masterkey для доступа к данным из Azure Cosmos DB. Но ничего из этого не видно в журналах.
Спасибо
1 ответ
Diagnostic logging
в Azure Cosmos DB позволяет выполнять этот мониторинг, как и когда осуществляется доступ к вашим базам данных.
Пожалуйста, нажмите Diagnostic logs
в левой навигации, а затем нажмите Turn on diagnostics
в вашем лазурном космосе дб.
Вы можете хранить файлы журналов в azure account
, поток в eventhub
или отправить azure analytics
Журналы доступны в вашем аккаунте two hours
с момента выполнения операции Azure Cosmos DB. Вы можете управлять своими журналами в своей учетной записи хранения.
Отдельные капли хранятся в виде текста, отформатированного как JSON
клякса.
{
"records":
[
{
"time": "Fri, 23 Jun 2017 19:29:50.266 GMT",
"resourceId": "contosocosmosdb",
"category": "DataPlaneRequests",
"operationName": "Query",
"resourceType": "Database",
"properties": {"activityId": "05fcf607-6f64-48fe-81a5-f13ac13dd1eb",`
"userAgent": "documentdb-dotnet-sdk/1.12.0 Host/64-bit MicrosoftWindowsNT/6.2.9200.0 AzureSearchIndexer/1.0.0",`
"resourceType": "Database","statusCode": "200","documentResourceId": "",`
"clientIpAddress": "13.92.241.0","requestCharge": "2.260","collectionRid": "",`
"duration": "9250","requestLength": "72","responseLength": "209", "resourceTokenUserRid": ""}
}
]
}
Пожалуйста, обратитесь к более подробной информации здесь.
Обновить ответ:
Согласно моим наблюдениям, журналы в базе данных Azure Cosmos не различают запросы с помощью Master key
или же Resource Token
,
Тем не менее, я хотел бы предоставить вам обходной путь.
Ты знаешь, Python Document DB SDK
на самом деле это REST API.
Таким образом, вы можете отправить свои HTTP-запросы на сервер Azure через reverse proxy
, такие как Nginx.
Вы можете судить, какой метод доступа по формату URL-адреса запроса, и записать его в reverse proxy
слой.
Надеюсь, это поможет вам.