Получение лога аудита

Материал из Документация Ключ-АСТРОМ

Данная функция извлекает журнал аудита вашей среды Ключ-АСТРОМ.

Полный список может быть длинным, поэтому вы можете сузить его, указав параметры фильтра, такие как теги. См. раздел Параметры для более подробной информации.

Вы можете ограничить вывод, используя нумерацию страниц:

  1. Укажите количество результатов на странице в параметре запроса pageSize .
  2. Затем используйте курсор из поля nextPageKey предыдущего ответа в параметре запроса nextPageKey для получения последующих страниц.
GET Managed https://{your-domain}/e/{your-environment-id}/api/v2/auditlogs
SaaS https://{your-environment-id}.live.dynatrace.com/api/v2/auditlogs
Environment Ключ-АСТРОМ https://{your-activegate-domain}/e/{your-environment-id}/api/v2/auditlogs

Аутентификация

Чтобы выполнить этот запрос, вам необходимо разрешение на чтение журналов аудита ( auditLogs.read) , назначенное вашему токену API. Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .

Параметры

Параметр Тип Описание In Необходимость
nextPageKey string Курсор для следующей страницы результатов. Вы можете найти его в поле nextPageKey предыдущего ответа.

Первая страница всегда возвращается, если вы не укажете параметр запроса nextPageKey .

Когда nextPageKey настроен на получение последующих страниц, вы должны опустить все остальные параметры запроса.

запрос необязательный
pageSize integer Количество записей журнала в полезной нагрузке одного ответа.

Максимально допустимый размер страницы — 5000.

Если не установлено, используется 1000.

запрос необязательный
filter string Фильтрует журнал аудита. Вы можете использовать следующие критерии:
  • Пользователь: user("userIdentification"). Оператор EQUALSобращается.
  • Тип события: eventType("value"). Оператор EQUALSобращается.
  • Категория регистрируемой операции: category("value"). Оператор EQUALSобращается.
  • Идентификатор объекта: entityId("id"). Оператор CONTAINSобращается.

Для каждого критерия можно указать несколько альтернатив со значениями, разделенными запятыми. В этом случае применяется логика ИЛИ. Например, eventType("CREATE","UPDATE")означает, что тип события может быть «СОЗДАТЬ» или «ОБНОВИТЬ».

Вы можете указать несколько критериев, разделенных запятыми, например eventType("CREATE","UPDATE"),category("CONFIG"). В ответ включаются только результаты, соответствующие всем критериям.

Укажите значение критерия в виде строки в кавычках. Следующие специальные символы должны быть экранированы тильдой ( ~) внутри кавычек:

  • Тильда~
  • Цитировать"
запрос необязательный
from string Начало запрошенного таймфрейма.

Вы можете использовать один из следующих форматов:

  • Отметка времени в миллисекундах UTC.
  • Человекочитаемый формат 2021-01-25T05:57:01.123+01:00. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо T. Секунды и доли секунды не являются обязательными.
  • Относительный таймфрейм, назад. Формат: now-NU/A, где Nколичество времени, Uединица времени и Aвыравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, now-1y/wэто один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: now-NU. Поддерживаемые единицы времени для относительного таймфрейма:
    • m: минут
    • h: часы
    • d: дней
    • w: недели
    • M: месяцы
    • y: годы

Если не задано, используется относительный двухнедельный таймфрейм ( now-2w).

запрос необязательный
to string Конец запрошенного периода времени.

Вы можете использовать один из следующих форматов:

  • Отметка времени в миллисекундах UTC.
  • Человекочитаемый формат 2021-01-25T05:57:01.123+01:00. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо T. Секунды и доли секунды не являются обязательными.
  • Относительный таймфрейм, назад. Формат: now-NU/A, где Nколичество времени, Uединица времени и Aвыравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, now-1y/wэто один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: now-NU. Поддерживаемые единицы времени для относительного таймфрейма:
    • m: минут
    • h: часы
    • d: дней
    • w: недели
    • M: месяцы
    • y: годы

Если не установлено, используется текущая метка времени.

запрос необязательный
sort string Сортировка записей журнала аудита:
  • timestamp: Старейший первый.
  • -timestamp: Новички вперед.

Если не установлено, применяется самая новая первая сортировка.

запрос необязательный

Ответ

Коды ответов

Код Тип Описание
200 Журнал аудита Успех

Объекты тела ответа

Объект _ AuditLog

Журнал аудита вашей среды.

Элемент Тип Описание
общее количество целое число Общее количество записей в результате.
размер страницы целое число Количество записей на странице.

Может быть null.

ключ следующей страницы нить Курсор для следующей страницы результатов. Имеет значение nullна последней странице.

Используйте его в параметре запроса nextPageKey для получения последующих страниц результата.

Может быть null.

журналы аудита Запись в журнале аудита [ ] Список записей журнала аудита, упорядоченных по отметке времени создания.

Может быть null.

Объект _ AuditLogEntry

Запись журнала аудита.

Элемент Тип Описание
logId нить Идентификатор записи журнала.
тип события нить Тип записываемой операции.

Элемент может содержать эти значения

  • CREATE
  • DELETE
  • GENERAL
  • GET
  • LOGIN
  • LOGOUT
  • PATCH
  • POST
  • PUT
  • READ
  • REVOKE
  • TAG_ADD
  • TAG_REMOVE
  • TAG_UPDATE
  • UPDATE
категория нить Категория записываемой операции.

Элемент может содержать эти значения

  • CONFIG
  • DEBUG_UI
  • MANUAL_TAGGING_SERVICE
  • TOKEN
  • WEB_UI
идентификатор сущности нить ID объекта из категории .

Например, это может быть идентификатор конфигурации для CONFIGкатегории или идентификатор токена для TOKENкатегории.

Может быть null.

идентификатор среды нить Идентификатор среды Ключ-АСТРОМ, в которой произошла записанная операция.
Пользователь нить Идентификатор пользователя, выполнившего записанную операцию.
тип пользователя нить Тип аутентификации пользователя .

Элемент может содержать эти значения

  • PUBLIC_TOKEN_IDENTIFIER
  • REQUEST_ID
  • SERVICE_NAME
  • TOKEN_HASH
  • USER_NAME
пользователь Origin нить Происхождение и IP-адрес пользователя .

Может быть null.

отметка времени целое число Отметка времени создания записи в миллисекундах UTC.
успех логический Записанная операция выполнена успешно ( true) или неудачно ( false).
сообщение нить Зарегистрированное сообщение.

Может быть null.

пластырь объект Патч записанной операции в виде JSON-представления.

Формат представляет собой расширенный RFC 6902. Патч также содержит предыдущее значение в поле oldValue .

Может быть null.

JSON-модель тела ответа

{
  "totalCount": 10,
  "pageSize": 5,
  "nextPageKey": "___a7acX3q0AAAAAACJidWlsdGluOnNlcnZpY2lUVEJCUzBaNVIxVjJOSGt6Y3oyLTcwMUZWRkxlclH__9rtpxferQ",
  "auditLogs": [
    {
      "logId": "197425568800060000",
      "eventType": "UPDATE",
      "category": "CONFIG",
      "entityId": "MOBILE_RUM: MOBILE_APPLICATION-752C223D59734CD2",
      "environmentId": "prod-env-13",
      "user": "test.user@company.com",
      "userType": "USER_NAME",
      "userOrigin": "webui (192.168.0.2)",
      "timestamp": 1974255688445,
      "success": true,
      "patch": [
        {
          "op": "replace",
          "path": "/refreshTimeIntervalMillis",
          "value": 30000,
          "oldValue": 20000
        }
      ]
    }
  ]
}

Пример

В этом примере запрос извлекает все входы ( filter=eventType(LOGIN)) из журнала аудита среды mySampleEnv за последнюю неделю ( from=now-1w).

Маркер API передается в заголовке авторизации .

Ответ усекается до первых трех записей.

Завиток

curl -X GET \
  'https://mySampleEnv.live.dynatrace.com/api/v2/auditlogs?filter=eventType%28LOGIN%29&from=now-1w' \
  -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'

URL-адрес запроса

https://mySampleEnv.live.dynatrace.com/api/v2/auditlogs?filter=eventType%28LOGIN%29&from=now-1w

Тело ответа

{
  "totalCount": 5820,
  "nextPageKey": "vu8y3hPZ3q0AAAAAAi_neQJ8qUAAAAFu0T-ECgAAAW71TAgKAAAD6AAQZXZlbnRUeXBlKExPR0lOKQC-7zLeE9nerQ",
  "auditLogs": [
    {
      "logId": "157607341600050000",
      "eventType": "LOGIN",
      "category": "WEB_UI",
      "entityId": "240.204.62.255",
      "environmentId": "yasmuoujsw",
      "user": "Dynatrace support user #877988415",
      "userType": "USER_NAME",
      "userOrigin": "Forwarded: 240.204.62.255",
      "timestamp": 1576073415531,
      "success": true
    },
    {
      "logId": "157607338800050000",
      "eventType": "LOGIN",
      "category": "WEB_UI",
      "entityId": "55.199.177.119",
      "environmentId": "yasmuoujsw",
      "user": "Dynatrace support user #490812376",
      "userType": "USER_NAME",
      "userOrigin": "Forwarded: 55.199.177.119",
      "timestamp": 1576073388150,
      "success": true
    },
    {
      "logId": "157607338300060000",
      "eventType": "LOGIN",
      "category": "WEB_UI",
      "entityId": "75.16.11.184",
      "environmentId": "umsaywsjuo",
      "user": "Dynatrace support user #765684830",
      "userType": "USER_NAME",
      "userOrigin": "Forwarded: 75.16.11.184",
      "timestamp": 1576073381543,
      "success": true
    }
  ]
}

Код ответа

200