ENetrebin (обсуждение | вклад) (Новая страница: «Данная функция извлекает журнал аудита вашей среды Ключ-АСТРОМ. Полный список может быт...») |
Нет описания правки |
||
(не показано 7 промежуточных версий 2 участников) | |||
Строка 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> | ||
|- | |- | ||
|SaaS | |SaaS | ||
|<code><nowiki>https://{your-environment-id}.live. | |<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>означает, что тип события может быть «СОЗДАТЬ» или «ОБНОВИТЬ». | ||
Строка 71: | Строка 73: | ||
|необязательный | |необязательный | ||
|- | |- | ||
| | |from | ||
| | |string | ||
|Начало запрошенного таймфрейма. | |Начало запрошенного таймфрейма. | ||
Строка 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>: месяцы | ||
Строка 91: | Строка 93: | ||
|необязательный | |необязательный | ||
|- | |- | ||
| | |to | ||
| | |string | ||
|Конец запрошенного периода времени. | |Конец запрошенного периода времени. | ||
Строка 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>: месяцы | ||
Строка 111: | Строка 113: | ||
|необязательный | |необязательный | ||
|- | |- | ||
| | |sort | ||
| | |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" | ||
!Элемент | !Элемент | ||
Строка 145: | Строка 147: | ||
!Описание | !Описание | ||
|- | |- | ||
| | |totalCount | ||
| | |integer | ||
|Общее количество записей в результате. | |Общее количество записей в результате. | ||
|- | |- | ||
| | |pageSize | ||
| | |integer | ||
|Количество записей на странице. | |Количество записей на странице. | ||
Может быть <code>null</code>. | Может быть <code>null</code>. | ||
|- | |- | ||
| | |nextPageKey | ||
| | |string | ||
|Курсор для следующей страницы результатов. Имеет значение <code>null</code>на последней странице. | |Курсор для следующей страницы результатов. Имеет значение <code>null</code>на последней странице. | ||
Строка 163: | Строка 165: | ||
Может быть <code>null</code>. | Может быть <code>null</code>. | ||
|- | |- | ||
| | |auditLogs | ||
| | |AuditLogEntry[] | ||
|Список записей | |Список записей лога аудита, упорядоченных по отметке времени создания. | ||
Может быть <code>null</code>. | Может быть <code>null</code>. | ||
|} | |} | ||
==== Объект | ==== Объект <code>AuditLogEntry</code> ==== | ||
Запись | Запись лога аудита. | ||
{| class="wikitable" | {| class="wikitable" | ||
!Элемент | !Элемент | ||
Строка 178: | Строка 180: | ||
|- | |- | ||
|logId | |logId | ||
| | |string | ||
|Идентификатор записи | |Идентификатор записи лога. | ||
|- | |- | ||
| | |eventType | ||
| | |string | ||
|Тип записываемой операции. | |Тип записываемой операции. | ||
Строка 203: | Строка 205: | ||
* <code>UPDATE</code> | * <code>UPDATE</code> | ||
|- | |- | ||
| | |category | ||
| | |string | ||
|Категория записываемой операции. | |Категория записываемой операции. | ||
Строка 215: | Строка 217: | ||
* <code>WEB_UI</code> | * <code>WEB_UI</code> | ||
|- | |- | ||
| | |entityId | ||
| | |string | ||
|ID объекта из категории . | |ID объекта из категории . | ||
Строка 223: | Строка 225: | ||
Может быть <code>null</code>. | Может быть <code>null</code>. | ||
|- | |- | ||
| | |environmentId | ||
| | |string | ||
|Идентификатор среды | |Идентификатор среды АппОптима, в которой произошла записанная операция. | ||
|- | |- | ||
| | |user | ||
| | |string | ||
|Идентификатор пользователя, выполнившего записанную операцию. | |Идентификатор пользователя, выполнившего записанную операцию. | ||
|- | |- | ||
| | |userType | ||
| | |string | ||
|Тип аутентификации пользователя . | |Тип аутентификации пользователя . | ||
Строка 243: | Строка 245: | ||
* <code>USER_NAME</code> | * <code>USER_NAME</code> | ||
|- | |- | ||
| | |userOrigin | ||
| | |string | ||
|Происхождение и IP-адрес пользователя . | |Происхождение и IP-адрес пользователя . | ||
Может быть <code>null</code>. | Может быть <code>null</code>. | ||
|- | |- | ||
| | |timestamp | ||
| | |integer | ||
|Отметка времени создания записи в миллисекундах UTC. | |Отметка времени создания записи в миллисекундах UTC. | ||
|- | |- | ||
| | |success | ||
| | |boolean | ||
|Записанная операция выполнена успешно ( <code>true</code>) или неудачно ( <code>false</code>). | |Записанная операция выполнена успешно ( <code>true</code>) или неудачно ( <code>false</code>). | ||
|- | |- | ||
| | |message | ||
| | |string | ||
|Зарегистрированное сообщение. | |Зарегистрированное сообщение. | ||
Может быть <code>null</code>. | Может быть <code>null</code>. | ||
|- | |- | ||
| | |patch | ||
| | |object | ||
|Патч записанной операции в виде JSON-представления. | |Патч записанной операции в виде JSON-представления. | ||
Строка 273: | Строка 275: | ||
=== JSON-модель тела ответа === | === JSON-модель тела ответа === | ||
< | <{ | ||
"totalCount": 10, | "totalCount": 10, | ||
"pageSize": 5, | "pageSize": 5, | ||
Строка 302: | Строка 304: | ||
== Пример == | == Пример == | ||
В этом примере запрос извлекает все входы ( <code>filter=eventType(LOGIN)</code>) из | В этом примере запрос извлекает все входы ( <code>filter=eventType(LOGIN)</code>) из лога аудита среды mySampleEnv за последнюю неделю ( <code>from=now-1w</code>). | ||
Маркер API передается в заголовке авторизации . | Маркер API передается в заголовке авторизации . | ||
Строка 308: | Строка 310: | ||
Ответ усекается до первых трех записей. | Ответ усекается до первых трех записей. | ||
==== | ==== Curl ==== | ||
< | <curl -X GET \ | ||
'<nowiki>https://mySampleEnv.live. | '<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> | -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'</code> | ||
==== URL-адрес запроса ==== | ==== URL-адрес запроса ==== | ||
<code><nowiki>https://mySampleEnv.live. | <code><nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/auditlogs?filter=eventType%28LOGIN%29&from=now-1w</nowiki></code> | ||
==== Тело ответа ==== | ==== Тело ответа ==== | ||
< | <{ | ||
"totalCount": 5820, | "totalCount": 5820, | ||
"nextPageKey": "vu8y3hPZ3q0AAAAAAi_neQJ8qUAAAAFu0T-ECgAAAW71TAgKAAAD6AAQZXZlbnRUeXBlKExPR0lOKQC-7zLeE9nerQ", | "nextPageKey": "vu8y3hPZ3q0AAAAAAi_neQJ8qUAAAAFu0T-ECgAAAW71TAgKAAAD6AAQZXZlbnRUeXBlKExPR0lOKQC-7zLeE9nerQ", | ||
Строка 327: | Строка 329: | ||
"entityId": "240.204.62.255", | "entityId": "240.204.62.255", | ||
"environmentId": "yasmuoujsw", | "environmentId": "yasmuoujsw", | ||
"user": " | "user": "Astromkey support user #877988415", | ||
"userType": "USER_NAME", | "userType": "USER_NAME", | ||
"userOrigin": "Forwarded: 240.204.62.255", | "userOrigin": "Forwarded: 240.204.62.255", | ||
Строка 339: | Строка 341: | ||
"entityId": "55.199.177.119", | "entityId": "55.199.177.119", | ||
"environmentId": "yasmuoujsw", | "environmentId": "yasmuoujsw", | ||
"user": " | "user": "Astromkey support user #490812376", | ||
"userType": "USER_NAME", | "userType": "USER_NAME", | ||
"userOrigin": "Forwarded: 55.199.177.119", | "userOrigin": "Forwarded: 55.199.177.119", | ||
Строка 351: | Строка 353: | ||
"entityId": "75.16.11.184", | "entityId": "75.16.11.184", | ||
"environmentId": "umsaywsjuo", | "environmentId": "umsaywsjuo", | ||
"user": " | "user": "Astromkey support user #765684830", | ||
"userType": "USER_NAME", | "userType": "USER_NAME", | ||
"userOrigin": "Forwarded: 75.16.11.184", | "userOrigin": "Forwarded: 75.16.11.184", |
Текущая версия от 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