Получение лога аудита: различия между версиями
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