ENetrebin (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 1: | Строка 1: | ||
Данная функция извлекает | API АппОптима / Эндпойнты среды / Логи аудита / GET лога аудита | ||
Данная функция извлекает лог аудита вашей среды АппОптима. | |||
Полный список может быть длинным, поэтому вы можете сузить его, указав параметры фильтра, такие как теги. См. раздел Параметры для более подробной информации. | Полный список может быть длинным, поэтому вы можете сузить его, указав параметры фильтра, такие как теги. См. раздел Параметры для более подробной информации. | ||
Строка 10: | Строка 12: | ||
{| class="wikitable" | {| class="wikitable" | ||
| rowspan="3" |GET | | rowspan="3" |GET | ||
| | |АппОптима | ||
|<code><nowiki>https://{your-domain}/e/{your-environment-id}/api/v2/auditlogs</nowiki></code> | |<code><nowiki>https://{your-domain}/e/{your-environment-id}/api/v2/auditlogs</nowiki></code> | ||
|- | |- | ||
Строка 16: | Строка 18: | ||
|<code><nowiki>https://{your-environment-id}.live.{server-name}.com/api/v2/auditlogs</nowiki></code> | |<code><nowiki>https://{your-environment-id}.live.{server-name}.com/api/v2/auditlogs</nowiki></code> | ||
|- | |- | ||
| | |Среда АктивногоШлюза | ||
|<code><nowiki>https://{your-activegate-domain}/e/{your-environment-id}/api/v2/auditlogs</nowiki></code> | |<code><nowiki>https://{your-activegate-domain}/e/{your-environment-id}/api/v2/auditlogs</nowiki></code> | ||
|} | |} | ||
== Аутентификация == | == Аутентификация == | ||
Чтобы выполнить этот запрос, вам необходимо разрешение на чтение | Чтобы выполнить этот запрос, вам необходимо разрешение на чтение логов аудита ( <code>auditLogs.read</code>) , назначенное вашему токену API . Чтобы узнать, как его получить и использовать, см. раздел [[Токены и аутентификация (API)|Токены и аутентификация]] . | ||
== Параметры == | == Параметры == | ||
Строка 43: | Строка 45: | ||
|pageSize | |pageSize | ||
|integer | |integer | ||
|Количество записей | |Количество записей лога в полезной нагрузке одного ответа. | ||
Максимально допустимый размер страницы — 5000. | Максимально допустимый размер страницы — 5000. | ||
Строка 53: | Строка 55: | ||
|filter | |filter | ||
|string | |string | ||
|Фильтрует | |Фильтрует лог аудита. Вы можете использовать следующие критерии: | ||
* Пользователь: <code>user("userIdentification")</code>. | * Пользователь: <code>user("userIdentification")</code>. Обращается оператор <code>EQUALS</code>. | ||
* Тип события: <code>eventType("value")</code>. | * Тип события: <code>eventType("value")</code>. Обращается оператор <code>EQUALS</code>. | ||
* Категория регистрируемой операции: <code>category("value")</code>. | * Категория регистрируемой операции: <code>category("value")</code>. Обращается оператор <code>EQUALS</code>. | ||
* Идентификатор объекта: <code>entityId("id")</code>. | * Идентификатор объекта: <code>entityId("id")</code>. Обращается оператор <code>CONTAINS</code>. | ||
Для каждого критерия можно указать несколько альтернатив со значениями, разделенными запятыми. В этом случае применяется логика ИЛИ. Например, <code>eventType("CREATE","UPDATE")</code>означает, что тип события может быть «СОЗДАТЬ» или «ОБНОВИТЬ». | Для каждого критерия можно указать несколько альтернатив со значениями, разделенными запятыми. В этом случае применяется логика ИЛИ. Например, <code>eventType("CREATE","UPDATE")</code>означает, что тип события может быть «СОЗДАТЬ» или «ОБНОВИТЬ». | ||
Строка 80: | Строка 82: | ||
* Человекочитаемый формат <code>2021-01-25T05:57:01.123+01:00</code>. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо <code>T</code>. Секунды и доли секунды не являются обязательными. | * Человекочитаемый формат <code>2021-01-25T05:57:01.123+01:00</code>. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо <code>T</code>. Секунды и доли секунды не являются обязательными. | ||
* Относительный таймфрейм, назад. Формат: <code>now-NU/A</code>, где <code>N</code>количество времени, <code>U</code>единица времени и <code>A</code>выравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, <code>now-1y/w</code>это один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: <code>now-NU</code>. Поддерживаемые единицы времени для относительного таймфрейма: | * Относительный таймфрейм, назад. Формат: <code>now-NU/A</code>, где <code>N</code>количество времени, <code>U</code>единица времени и <code>A</code>выравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, <code>now-1y/w</code>это один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: <code>now-NU</code>. Поддерживаемые единицы времени для относительного таймфрейма: | ||
** <code>m</code>: | ** <code>m</code>: минуты | ||
** <code>h</code>: часы | ** <code>h</code>: часы | ||
** <code>d</code>: | ** <code>d</code>: дни | ||
** <code>w</code>: недели | ** <code>w</code>: недели | ||
** <code>M</code>: месяцы | ** <code>M</code>: месяцы | ||
Строка 100: | Строка 102: | ||
* Человекочитаемый формат <code>2021-01-25T05:57:01.123+01:00</code>. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо <code>T</code>. Секунды и доли секунды не являются обязательными. | * Человекочитаемый формат <code>2021-01-25T05:57:01.123+01:00</code>. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо <code>T</code>. Секунды и доли секунды не являются обязательными. | ||
* Относительный таймфрейм, назад. Формат: <code>now-NU/A</code>, где <code>N</code>количество времени, <code>U</code>единица времени и <code>A</code>выравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, <code>now-1y/w</code>это один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: <code>now-NU</code>. Поддерживаемые единицы времени для относительного таймфрейма: | * Относительный таймфрейм, назад. Формат: <code>now-NU/A</code>, где <code>N</code>количество времени, <code>U</code>единица времени и <code>A</code>выравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, <code>now-1y/w</code>это один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: <code>now-NU</code>. Поддерживаемые единицы времени для относительного таймфрейма: | ||
** <code>m</code>: | ** <code>m</code>: минуты | ||
** <code>h</code>: часы | ** <code>h</code>: часы | ||
** <code>d</code>: | ** <code>d</code>: дни | ||
** <code>w</code>: недели | ** <code>w</code>: недели | ||
** <code>M</code>: месяцы | ** <code>M</code>: месяцы | ||
Строка 113: | Строка 115: | ||
|sort | |sort | ||
|string | |string | ||
|Сортировка записей | |Сортировка записей лога аудита: | ||
* <code>timestamp</code>: | * <code>timestamp</code>: сначала старые. | ||
* <code>-timestamp</code>: | * <code>-timestamp</code>: сначала новые. | ||
Если не установлено, применяется самая новая первая сортировка. | Если не установлено, применяется самая новая первая сортировка. | ||
Строка 132: | Строка 134: | ||
|- | |- | ||
|200 | |200 | ||
| | |Лог аудита | ||
|Успех | |Успех | ||
|} | |} | ||
Строка 138: | Строка 140: | ||
=== Объекты тела ответа === | === Объекты тела ответа === | ||
==== Объект | ==== Объект <code>AuditLog</code> ==== | ||
Лог аудита вашей среды. | |||
{| class="wikitable" | {| class="wikitable" | ||
!Элемент | !Элемент | ||
Строка 165: | Строка 167: | ||
|auditLogs | |auditLogs | ||
|AuditLogEntry[] | |AuditLogEntry[] | ||
|Список записей | |Список записей лога аудита, упорядоченных по отметке времени создания. | ||
Может быть <code>null</code>. | Может быть <code>null</code>. | ||
|} | |} | ||
==== Объект | ==== Объект <code>AuditLogEntry</code> ==== | ||
Запись | Запись лога аудита. | ||
{| class="wikitable" | {| class="wikitable" | ||
!Элемент | !Элемент | ||
Строка 179: | Строка 181: | ||
|logId | |logId | ||
|string | |string | ||
|Идентификатор записи | |Идентификатор записи лога. | ||
|- | |- | ||
|eventType | |eventType | ||
Строка 225: | Строка 227: | ||
|environmentId | |environmentId | ||
|string | |string | ||
|Идентификатор среды | |Идентификатор среды АппОптима, в которой произошла записанная операция. | ||
|- | |- | ||
|user | |user | ||
Строка 273: | Строка 275: | ||
=== JSON-модель тела ответа === | === JSON-модель тела ответа === | ||
< | <{ | ||
"totalCount": 10, | "totalCount": 10, | ||
"pageSize": 5, | "pageSize": 5, | ||
Строка 300: | Строка 302: | ||
] | ] | ||
}</code> | }</code> | ||
== Пример == | |||
В этом примере запрос извлекает все входы ( <code>filter=eventType(LOGIN)</code>) из лога аудита среды mySampleEnv за последнюю неделю ( <code>from=now-1w</code>). | |||
Маркер API передается в заголовке авторизации . | |||
Ответ усекается до первых трех записей. | |||
==== Curl ==== | |||
<curl -X GET \ | |||
'<nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/auditlogs?filter=eventType%28LOGIN%29&from=now-1w'</nowiki> \ | |||
-H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'</code> | |||
==== URL-адрес запроса ==== | |||
<code><nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/auditlogs?filter=eventType%28LOGIN%29&from=now-1w</nowiki></code> | |||
==== Тело ответа ==== | |||
<{ | |||
"totalCount": 5820, | |||
"nextPageKey": "vu8y3hPZ3q0AAAAAAi_neQJ8qUAAAAFu0T-ECgAAAW71TAgKAAAD6AAQZXZlbnRUeXBlKExPR0lOKQC-7zLeE9nerQ", | |||
"auditLogs": [ | |||
{ | |||
"logId": "157607341600050000", | |||
"eventType": "LOGIN", | |||
"category": "WEB_UI", | |||
"entityId": "240.204.62.255", | |||
"environmentId": "yasmuoujsw", | |||
"user": "Astromkey 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": "Astromkey 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": "Astromkey support user #765684830", | |||
"userType": "USER_NAME", | |||
"userOrigin": "Forwarded: 75.16.11.184", | |||
"timestamp": 1576073381543, | |||
"success": true | |||
} | |||
] | |||
}</code> | |||
==== Код ответа ==== | |||
200 |
Текущая версия от 09:38, 26 декабря 2024
API АппОптима / Эндпойнты среды / Логи аудита / GET лога аудита
Данная функция извлекает лог аудита вашей среды АппОптима.
Полный список может быть длинным, поэтому вы можете сузить его, указав параметры фильтра, такие как теги. См. раздел Параметры для более подробной информации.
Вы можете ограничить вывод, используя нумерацию страниц:
- Укажите количество результатов на странице в параметре запроса pageSize .
- Затем используйте курсор из поля nextPageKey предыдущего ответа в параметре запроса nextPageKey для получения последующих страниц.
GET | АппОптима | https://{your-domain}/e/{your-environment-id}/api/v2/auditlogs
|
SaaS | https://{your-environment-id}.live.{server-name}.com/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 | Фильтрует лог аудита. Вы можете использовать следующие критерии:
Для каждого критерия можно указать несколько альтернатив со значениями, разделенными запятыми. В этом случае применяется логика ИЛИ. Например, Вы можете указать несколько критериев, разделенных запятыми, например Укажите значение критерия в виде строки в кавычках. Следующие специальные символы должны быть экранированы тильдой (
|
запрос | необязательный |
from | string | Начало запрошенного таймфрейма.
Вы можете использовать один из следующих форматов:
Если не задано, используется относительный двухнедельный таймфрейм ( |
запрос | необязательный |
to | string | Конец запрошенного периода времени.
Вы можете использовать один из следующих форматов:
Если не установлено, используется текущая метка времени. |
запрос | необязательный |
sort | string | Сортировка записей лога аудита:
Если не установлено, применяется самая новая первая сортировка. |
запрос | необязательный |
Ответ
Коды ответов
Код | Тип | Описание |
---|---|---|
200 | Лог аудита | Успех |
Объекты тела ответа
Объект AuditLog
Лог аудита вашей среды.
Элемент | Тип | Описание |
---|---|---|
totalCount | integer | Общее количество записей в результате. |
pageSize | integer | Количество записей на странице.
Может быть |
nextPageKey | string | Курсор для следующей страницы результатов. Имеет значение null на последней странице.
Используйте его в параметре запроса nextPageKey для получения последующих страниц результата. Может быть |
auditLogs | AuditLogEntry[] | Список записей лога аудита, упорядоченных по отметке времени создания.
Может быть |
Объект AuditLogEntry
Запись лога аудита.
Элемент | Тип | Описание |
---|---|---|
logId | string | Идентификатор записи лога. |
eventType | string | Тип записываемой операции.
Элемент может содержать эти значения
|
category | string | Категория записываемой операции.
Элемент может содержать эти значения
|
entityId | string | ID объекта из категории .
Например, это может быть идентификатор конфигурации для Может быть |
environmentId | string | Идентификатор среды АппОптима, в которой произошла записанная операция. |
user | string | Идентификатор пользователя, выполнившего записанную операцию. |
userType | string | Тип аутентификации пользователя .
Элемент может содержать эти значения
|
userOrigin | string | Происхождение и IP-адрес пользователя .
Может быть |
timestamp | integer | Отметка времени создания записи в миллисекундах UTC. |
success | boolean | Записанная операция выполнена успешно ( true ) или неудачно ( false ).
|
message | string | Зарегистрированное сообщение.
Может быть |
patch | object | Патч записанной операции в виде JSON-представления.
Формат представляет собой расширенный RFC 6902. Патч также содержит предыдущее значение в поле oldValue . Может быть |
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.ruscomtech.ru/api/v2/auditlogs?filter=eventType%28LOGIN%29&from=now-1w' \ -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'
URL-адрес запроса
https://mySampleEnv.live.ruscomtech.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": "Astromkey 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": "Astromkey 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": "Astromkey support user #765684830", "userType": "USER_NAME", "userOrigin": "Forwarded: 75.16.11.184", "timestamp": 1576073381543, "success": true } ] }
Код ответа
200