Получение лога аудита: различия между версиями
Lobanov (обсуждение | вклад) |
ENetrebin (обсуждение | вклад) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
Данная функция извлекает | API Ключ-АСТРОМ / Эндпойнты среды / Логи аудита / GET лога аудита | ||
Данная функция извлекает лог аудита вашей среды Ключ-АСТРОМ. | |||
Полный список может быть длинным, поэтому вы можете сузить его, указав параметры фильтра, такие как теги. См. раздел Параметры для более подробной информации. | Полный список может быть длинным, поэтому вы можете сузить его, указав параметры фильтра, такие как теги. См. раздел Параметры для более подробной информации. | ||
Строка 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 | ||
Строка 300: | Строка 302: | ||
] | ] | ||
}</code> | }</code> | ||
== Пример == | |||
В этом примере запрос извлекает все входы ( <code>filter=eventType(LOGIN)</code>) из лога аудита среды mySampleEnv за последнюю неделю ( <code>from=now-1w</code>). | |||
Маркер API передается в заголовке авторизации . | |||
Ответ усекается до первых трех записей. | |||
==== Curl ==== | |||
<code>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> | |||
==== Тело ответа ==== | |||
<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 |
Текущая версия на 14:27, 29 декабря 2022
API Ключ-АСТРОМ / Эндпойнты среды / Логи аудита / GET лога аудита
Данная функция извлекает лог аудита вашей среды Ключ-АСТРОМ.
Полный список может быть длинным, поэтому вы можете сузить его, указав параметры фильтра, такие как теги. См. раздел Параметры для более подробной информации.
Вы можете ограничить вывод, используя нумерацию страниц:
- Укажите количество результатов на странице в параметре запроса pageSize .
- Затем используйте курсор из поля nextPageKey предыдущего ответа в параметре запроса nextPageKey для получения последующих страниц.
GET | Managed | 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