Где найти журнал доступа для доступа к мастекам в 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 слой.

Надеюсь, это поможет вам.

Другие вопросы по тегам