Открыть меню
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

GET лога аудита

Материал из Документация АппОптима

API АппОптима / Эндпойнты среды / Логи аудита / GET лога аудита

Данная функция извлекает лог аудита вашей среды АппОптима.

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

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

  1. Укажите количество результатов на странице в параметре запроса pageSize .
  2. Затем используйте курсор из поля nextPageKey предыдущего ответа в параметре запроса nextPageKey для получения последующих страниц.
GET АппОптима https://{your-domain}/e/{your-environment-id}/api/v2/auditlogs
Среда АктивногоШлюза 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

Лог аудита вашей среды.

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

Может быть null.

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

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

Может быть null.

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

Может быть null.

Объект AuditLogEntry

Запись лога аудита.

Элемент Тип Описание
logId string Идентификатор записи лога.
eventType string Тип записываемой операции.

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

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

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

  • CONFIG
  • DEBUG_UI
  • MANUAL_TAGGING_SERVICE
  • TOKEN
  • WEB_UI
entityId string ID объекта из категории .

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

Может быть null.

environmentId string Идентификатор среды АппОптима, в которой произошла записанная операция.
user string Идентификатор пользователя, выполнившего записанную операцию.
userType string Тип аутентификации пользователя .

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

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

Может быть null.

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

Может быть null.

patch object Патч записанной операции в виде 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

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

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

https://mySampleEnv.live.AppOptima.ru/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": "AppOptima 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": "AppOptima 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": "AppOptima support user #765684830",
      "userType": "USER_NAME",
      "userOrigin": "Forwarded: 75.16.11.184",
      "timestamp": 1576073381543,
      "success": true
    }
  ]
}

Код ответа

200