# General Translation Platform: Журнал аудита URL: https://generaltranslation.com/ru/docs/platform/dashboard/reference/audit-logs.mdx --- title: Журнал аудита description: Просматривайте действия, связанные с безопасностью, и экспортируйте записи событий в Amazon S3. Справочник по журналу аудита Dashboard и настройкам экспорта. --- Журнал аудита — функция Enterprise, доступная в области организации и Enterprise. Для её использования требуется разрешение на управление сущностью, которое по умолчанию есть у роли **Admin**. ## Обзор [#overview] | Область | Описание | | ---------------------------------------- | ----------------------------------------------------------------------------------------- | | [Доступ](#access) | Тарифный план, разрешения и область действия событий. | | [Скачивание](#downloads) | Ограничения по диапазону дат и вывод в формате JSON Lines. | | [Назначение S3](#destination) | Настройки и проверка непрерывной доставки. | | [Статусы назначений](#statuses) | Настроено ли назначение, активно ли оно, приостановлено или находится в состоянии ошибки. | | [Поведение доставки](#delivery-behavior) | Ключи объектов, загрузка исторических данных, повторные попытки и история доставок. | | [Записи событий](#event-records) | Поля, записываемые в каждой записи JSON Lines. | ## Доступ и скачивания [#access-downloads] ### Доступ Для Журнала аудита требуется план Enterprise и одно из следующих разрешений: * **Область организации:** `org:manage`. * **Область Enterprise:** `enterprise:manage`. Роль **Admin** по умолчанию имеет разрешение на управление. Пользователи без этого разрешения видят страницу с сообщением об отказе в доступе. Экспорт организации содержит события, относящиеся к этой организации. Экспорт Enterprise содержит события, относящиеся к Enterprise, включая события из управляемых им организаций. ### Скачивание **Путь для организации** **организация > Settings > Журнал аудита** **Путь для Enterprise** **Enterprise > Settings > Журнал аудита** Dashboard скачивает несжатый файл JSON Lines (`.jsonl`): * Выбранные начальная и конечная даты включаются в диапазон; используется локальный часовой пояс браузера. Будущие даты недоступны. * Выбранный диапазон может охватывать не более 366 дней. * Каждое скачивание содержит до 10 000 самых ранних событий в этом диапазоне. * Если совпадающих событий больше, Dashboard помечает результат как усечённый. Сузьте диапазон или используйте доставку через S3, чтобы получить всю доступную историю. * Если совпадающих событий нет, Dashboard сообщает о пустом результате вместо скачивания файла. При скачивании журналов после выбора содержимого файла создаётся событие аудита. Это событие отображается в последующих скачиваниях и доставках через S3, но не в скачиваемом файле. ## Доставка в S3 [#s3-delivery] ### Назначение Каждая организация или Enterprise может настроить одно назначение S3. General Translation использует указанную роль IAM с внешним идентификатором, который остаётся неизменным в течение всего срока существования назначения, и записывает объекты непосредственно в настроенный бакет. Ключи доступа AWS не хранятся. | Поле | Описание | Тип | Необязательно | По умолчанию | | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------- | ------------------------------ | | **Бакет** | Имя бакета S3, состоящее из строчных букв, цифр, точек и дефисов. Должно содержать от 3 до 63 символов, начинаться и заканчиваться буквой или цифрой и не содержать последовательных точек. | `string` | Нет | — | | **Регион бакета** | Регион AWS, в котором находится бакет, например `us-east-1`. | `string` | Нет | — | | **Префикс** | Префикс ключа объекта. Пустые сегменты пути и начальные и конечные косые черты удаляются; максимальная длина — 512 символов. | `string` | Да | Пусто | | **ARN роли IAM** | Роль AWS IAM, предоставляющая разрешение `s3:PutObject` для бакета и префикса. | `string` | Нет | — | | **ARN ключа KMS** | Ключ KMS, управляемый Клиентом, или алиас для серверного шифрования S3. Он должен находиться в регионе бакета. | `string` | Да | Шифрование бакета по умолчанию | | **Внешний идентификатор** | Значение только для чтения, которое должно быть предусмотрено политикой доверия роли. Оно остаётся неизменным в течение всего срока существования назначения. | `string` | Нет | Генерируется автоматически | | **Доверенный принципал** | ARN роли только для чтения, которой политика доверия разрешает вызывать `sts:AssumeRole`. | `string` | Нет | Зависит от среды | При сохранении назначения его поля сохраняются, а доставка немедленно проверяется. В ходе проверки используется роль и записывается JSON-объект для проверки через настроенные бакет, префикс и путь KMS. Если проверка не удалась, сохранённая конфигурация остаётся доступной для исправления. Объекты проверки используют следующую структуру ключа: ```text //verification/gt_audit_export_verification__.json ``` Раздел владельца — `org_id=` или `enterprise_id=`. Сведения о процессе настройки политики доверия см. в разделе [Управление журналами аудита](/docs/platform/dashboard/guides/managing-audit-logs). ### Статусы | Статус | Значение | | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `PENDING` | Предварительно созданное назначение, содержащее только внешний идентификатор, чтобы вы могли завершить настройку политики доверия IAM до первого сохранения. В этом состоянии доставка не выполняется. | | `ACTIVE` | Назначение включено. Успешное сохранение или проверка подключения устанавливает этот статус, если доставка не была отключена вручную. | | `DISABLED` | Доставка приостановлена. Проверки подключения сохраняют этот статус. | | `ERROR` | При последнем сохранении или проверке подключения не удалось записать объект проверки. Пока сохраняется этот статус, события не доставляются. | **Включить** меняет `DISABLED` или `ERROR` на `ACTIVE` без проверки подключения. **Удалить** прекращает будущую доставку, удаляет назначение и его историю **Recent Deliveries** из Dashboard, а при настройке другого назначения приводит к созданию нового внешнего идентификатора. Существующие объекты S3 не затрагиваются. ### Поведение доставки Активные назначения получают объекты JSON Lines, сжатые gzip, со следующей структурой ключей: ```text //year=YYYY/month=MM/day=DD/hour=HH/audit__.jsonl.gz ``` Активные назначения проверяются каждые три минуты. При каждой проверке исключаются события за последние 60 секунд, а в каждый объект записывается до 1 000 событий. Разделы по дате UTC и временная метка в имени файла отражают время доставки, а не значения `occurred_at` событий. Для каждого объекта задаются тип содержимого `application/jsonl` и кодировка содержимого `gzip`. Доставка гарантируется как минимум один раз. Для каждой попытки используется новый ключ объекта. Если загрузка прошла успешно, но не удалось подтвердить обновление контрольной точки, при последующей повторной попытке может быть создан ещё один объект с частично совпадающими событиями. Потребителям следует удалять дубликаты по `id` события. При первой активации обработка начинается с самого раннего доступного события в области. Изменение полей назначения сохраняет контрольную точку экспорта, поэтому ранее доставленные события не копируются в новый бакет или префикс. Удаление и повторное создание назначения сбрасывает контрольную точку, из-за чего может быть снова доставлена вся доступная история. **Recent Deliveries** содержит десять последних попыток: | Поле | Описание | | ----------- | -------------------------------------------------------------------------- | | **Статус** | `DELIVERED` или `FAILED`. | | **События** | Количество событий в объекте попытки. | | **Объект** | Ключ объекта S3. Для неудачных попыток также отображается ошибка доставки. | | **Создано** | Время регистрации попытки. | ## Записи событий [#event-records] Каждая строка содержит один JSON-объект. Необязательные объекты и поля опускаются, если для них не зафиксировано значение. | Поле | Описание | Тип | | ------------- | ------------------------------------------------------------------------------------------------- | -------- | | `id` | Стабильный идентификатор события. Используйте его для устранения дубликатов при доставке в S3. | `string` | | `occurred_at` | Время события в формате временной метки ISO 8601. | `string` | | `event_type` | Идентификатор действия с точечным разделителем, например `project.created` или `api_key.deleted`. | `string` | | `result` | Результат события: `SUCCESS`, `FAILURE` или `DENIED`. | `string` | | `actor` | `type` инициатора, а также, если доступны, `id`, `email` и `display`. | `object` | | `source` | `ip`, `user_agent` и `request_id` запроса, если доступны. | `object` | | `resource` | `type` и `id` затронутого ресурса, если доступны. | `object` | | `scope` | Связанные `org_id` и `enterprise_id`, если доступны. | `object` | | `metadata` | Контекст, относящийся к конкретному событию. | JSON | | `changes` | Значения, изменённые в рамках конкретного события. | JSON | Типы инициаторов: `USER`, `API_KEY`, `SYSTEM`, `GT_ADMIN` и `LOCADEX`. ### Типы событий | Категория | Значения `event_type` | | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Аутентификация | `auth.login.success`, `auth.access.denied`, `auth.access.bypass` | | Административный доступ | `admin.super_user.started`, `admin.super_user.stopped` | | Пользователи | `user.created`, `user.updated`, `user.deleted`, `user.joined`, `user.left` | | Проекты | `project.created`, `project.updated`, `project.deleted` | | Организации | `organization.created`, `organization.updated`, `organization.deleted`, `organization.member.invited`, `organization.member.invite_removed`, `organization.member.removed`, `organization.member.role_updated`, `organization.billing.details_updated`, `organization.billing.subscription_updated`, `organization.billing.subscription_deleted`, `organization.billing.auto_reload_updated`, `organization.billing.credits_purchased`, `organization.billing.credits_granted`, `organization.billing.recovery_payment_retried` | | Предприятия | `enterprise.created`, `enterprise.updated`, `enterprise.deleted`, `enterprise.member.invited`, `enterprise.member.invite_removed`, `enterprise.member.removed`, `enterprise.member.role_updated`, `enterprise.billing.details_updated`, `enterprise.billing.auto_reload_updated`, `enterprise.billing.credits_purchased`, `enterprise.billing.recovery_payment_retried` | | API-ключи | `api_key.created`, `api_key.updated`, `api_key.deleted`, `org_api_key.created`, `org_api_key.updated`, `org_api_key.deleted` | | Политики доступа | `access_policy.updated` | | Вебхуки | `dashboard.webhook.signing_secret.revealed` | | Журнал аудита | `audit_log.destination.created`, `audit_log.destination.updated`, `audit_log.destination.deleted`, `audit_log.destination.tested`, `audit_log.downloaded` | | SSO и SCIM | `sso.provider.created`, `sso.provider.updated`, `sso.provider.deleted`, `sso.enforcement.updated`, `sso.sp_signing_key.rotated`, `scim.token.created`, `scim.connection.deleted` | | Интеграции | `integration.created`, `integration.deleted`, `integration.translation.enqueued`, `account.integration.authorized`, `account.integration.revoked` | | Locadex | `locadex.settings.updated`, `locadex.workflow_settings.updated`, `locadex.secrets.updated`, `locadex.secrets.revealed`, `locadex.repository.disconnected` | ```json title="Audit event" { "id": "event_id", "occurred_at": "2026-08-13T15:19:02.000Z", "event_type": "project.created", "result": "SUCCESS", "actor": { "type": "USER", "id": "user_id", "email": "admin@example.com", "display": "admin@example.com" }, "source": { "ip": "203.0.113.10", "user_agent": "Mozilla/5.0", "request_id": "request_id" }, "resource": { "type": "PROJECT", "id": "project_id" }, "scope": { "org_id": "org_id", "enterprise_id": "enterprise_id" } } ```