Аудит-операции Spirit IAM
В статье приведен каталог операций аудит-логирования с реальными примерами из Sage.
Структура аудит-лога
Обязательные поля
| Поле | Описание |
|---|---|
@timestamp | Дата и время операции в формате ISO 8601 (UTC) |
operation_id | Идентификатор операции |
subject_id | UUID субъекта, который выполнил действие |
subject_kind | Тип субъекта: User, Service, System |
object_id | UUID объекта, над которым выполнено действие |
result | Результат операции: success / failure |
extra.audience | Маркер: "audit" |
Дополнительные поля
| Поле | Когда |
|---|---|
error | При ошибке |
id | UUID события аудита |
created_at | Время создания |
tenant_id | Для multi-tenant операций |
role_id, group_id, serviceaccount_id | Для операций с соответствующими объектами |
Kratos
Пример лога
{
"@timestamp": "2026-06-24T08:06:20.875739762Z",
"group": "spirit-iam",
"system": "spirit-iam-kratos",
"level": "INFO",
"msg": "completed handling request",
"env": "prod",
"extra": {
"http_request": {
"method": "GET",
"path": "/sessions/whoami",
"headers": {
"user-agent": "Oathkeeper <iam_proxy>/dev",
"x-request-id": "1201c0a8-5fef-40f2-a85e-32463d098e11"
}
},
"http_response": {
"status": 200,
"headers": {
"x-kratos-authenticated-identity-id": "4486401e-f735-4772-be3c-bab32f70ca5a"
}
}
}
}
Операции Kratos
| OperationId | Описание | Тип | Объект |
|---|---|---|---|
login | Аутентификация пользователя и создание сессии | LOGIN | session |
logout | Завершение сессии пользователя (инвалидация) | LOGOUT | session |
edit_kratos_user | Изменение атрибутов пользователя в Kratos (профиль, данные) | EDIT | user |
Tenant Manager
Примеры логов
CreateRole — Создание роли
{
"@timestamp": "2026-06-24T07:08:52.080Z",
"group": "spirit-iam",
"system": "tenant-manager",
"level": "INFO",
"logger": "tenant-manager",
"msg": "audit log",
"env": "prod",
"id": "d364387d-55a4-4fc3-80a2-2657edb84ecd",
"created_at": "2026-06-24T07:08:52.080Z",
"error": "",
"extra": {"audience": "audit"},
"operation_id": "CreateRole",
"object_id": "18635326-3930-4c08-9181-780282c337cf",
"result": "success",
"subject_id": "e5369674-c42e-4ea1-9239-bdf56445d96e",
"subject_kind": "User"
}
ServiceAccountsEditRoleInTenant — Роль сервисного аккаунта
{
"@timestamp": "2026-06-24T08:06:23.803Z",
"group": "spirit-iam",
"system": "tenant-manager",
"level": "INFO",
"logger": "tenant-manager",
"msg": "audit log",
"env": "prod",
"id": "ab291432-3d4a-4a07-970c-c389417ea838",
"created_at": "2026-06-24T08:06:23.803Z",
"error": "",
"extra": {"audience": "audit"},
"operation_id": "ServiceAccountsEditRoleInTenant",
"object_id": "cc1405bd-b07c-4724-9007-b28e5f45f610",
"result": "success",
"subject_id": "e5369674-c42e-4ea1-9239-bdf56445d96e",
"subject_kind": "User",
"serviceaccount_id": "cc1405bd-b07c-4724-9007-b28e5f45f610",
"tenant_id": "15a92a36-8021-4cf7-8bbc-bc344b357a79",
"role_id": []
}