Аудит-операции 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": "Devplatform Oathkeeper <spirit_iam>/dev",
"x-request-id": "c1e6411b-52f2-4b43-8f22-316f5bb4c623"
}
},
"http_response": {
"status": 200,
"headers": {
"x-kratos-authenticated-identity-id": "c68a073d-8ef9-41e2-ae3d-9c421ddc067a"
}
}
}
}
Операции 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": "01870072-177f-40e4-af14-9541daa8207c",
"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": "01870072-177f-40e4-af14-9541daa8207c",
"subject_kind": "User",
"serviceaccount_id": "cc1405bd-b07c-4724-9007-b28e5f45f610",
"tenant_id": "15a92a36-8021-4cf7-8bbc-bc344b357a79",
"role_id": []
}
DeleteTenantGroup — Удаление группы тенанта
{
"@timestamp": "2026-06-24T07:09:13.093Z",
"group": "spirit-iam",
"system": "tenant-manager",
"level": "INFO",
"logger": "tenant-manager",
"msg": "audit log",
"env": "stage",
"id": "0bcc5bfe-1536-449d-b931-9b807e35605d",
"created_at": "2026-06-24T07:09:13.093Z",
"error": "",
"extra": {"audience": "audit"},
"operation_id": "DeleteTenantGroup",
"object_id": "ced768c7-a70a-4ecf-84bb-0ad6d10c58bb",
"result": "success",
"subject_id": "dd389b12-6f50-421e-9b29-d6d2eda3bb6e",
"subject_kind": "User",
"group_id": "817d2636-9a38-49ae-8739-2a5a86344000",
"tenant_id": "ced768c7-a70a-4ecf-84bb-0ad6d10c58bb"
}
CreateUser — Создание пользователя
{
"@timestamp": "2026-06-24T07:36:49.309Z",
"group": "spirit-iam",
"system": "tenant-manager",
"level": "INFO",
"logger": "tenant-manager",
"msg": "audit log",
"env": "prod",
"id": "7bf56344-a127-405d-8367-d6bd88bbaec1",
"created_at": "2026-06-24T07:36:49.309Z",
"error": "",
"extra": {"audience": "audit"},
"operation_id": "CreateUser",
"object_id": "11e50dbf-153c-4a58-89d0-dd6a349d5cb3",
"result": "success",
"subject_id": "",
"subject_kind": ""
}
DeleteRole — Удаление роли
{
"@timestamp": "2026-06-24T08:06:42.145Z",
"group": "spirit-iam",
"system": "tenant-manager",
"level": "INFO",
"logger": "tenant-manager",
"msg": "audit log",
"env": "prod",
"id": "7ec868a1-4cf0-416d-b878-e5057b556d71",
"created_at": "2026-06-24T08:06:42.145Z",
"error": "",
"extra": {"audience": "audit"},
"operation_id": "DeleteRole",
"object_id": "3c89d96b-18f2-4b4d-a084-7c4c72735f9e",
"result": "success",
"subject_id": "01870072-177f-40e4-af14-9541daa8207c",
"subject_kind": "User"
}
Операции Tenant Manager API v1
| OperationId | Описание | Тип | Объект |
|---|---|---|---|
CreateProject | Создание нового проекта (тенанта) | CREATE | project |
UpdateProject | Обновление атрибутов проекта | EDIT | project |
DeleteProject | Удаление проекта | DELETE | project |
CreateGroup | Создание новой группы пользователей | CREATE | group |
UpdateGroup | Изменение атрибутов группы | EDIT | group |
DeleteGroup | Удаление группы пользователей | DELETE | group |
AddGroupUser | Добавление пользователя в группу | EDIT | group+user |
CreateRole | Создание новой роли с полномочиями | CREATE | role |
EditRole | Изменение атрибутов роли | EDIT | role |
DeleteRole | Удаление роли | DELETE | role |
AddAdmin | Добавление пользователя в администраторы | EDIT | user |
DeleteAdmin | Удаление из администраторов | EDIT | user |
AddUserToProject | Добавление пользователя в проект | EDIT | project+user |
DeleteUserFromProject | Удаление пользователя из проекта | EDIT | project+user |
AddUserProjectRole | Назначение роли пользователю в проекте | EDIT | user+role+project |
DeleteUserProjectRole | Отзыв роли у пользователя в проекте | EDIT | user+role+project |
AddUserGlobalRole | Назначение глобальной роли пользователю | EDIT | user+role |
DeleteUserGlobalRole | Отзыв глобальной роли у пользователя | EDIT | user+role |
CreatePermission | Создание нового полномочия | CREATE | permission |
UpdatePermission | Обновление атрибутов полномочия | EDIT | permission |
DeletePermission | Удаление полномочия | DELETE | permission |
Операции Tenant Manager API V2
| OperationId | Описание | Тип | Объект |
|---|---|---|---|
CreateRole | Создание новой роли с набором полномочий | CREATE | role |
UpdateRole | Изменение атрибутов роли (название, описание, полномочия) | EDIT | role |
DeleteRole | Удаление роли из системы | DELETE | role |
AddRoleMember | Добавление участника (пользователя, группы или СА) в роль | EDIT | role+member |
DeleteRoleUser | Удаление конкретного пользователя из роли | EDIT | role+user |
DeleteUserGroupRole | Удаление группы пользователей из роли | EDIT | role+group |
CreateUser | Создание нового пользователя в системе | CREATE | user |
UpdateUser | Обновление атрибутов пользователя (email, имя, статус) | EDIT | user |
DeleteUser | Удаление пользователя из системы | DELETE | user |
CreateUserGroup | Создание новой группы пользователей | CREATE | group |
UpdateUserGroup | Изменение атрибутов группы (название, описание) | EDIT | group |
DeleteUserGroup | Удаление группы пользователей | DELETE | group |
CreateTenant | Создание нового тенанта (проекта/пространства) | CREATE | tenant |
UpdateTenant | Обновление атрибутов тенанта | EDIT | tenant |
UpdateTenantUser | Изменение прав пользователя в тенанте | EDIT | tenant+user |
DeleteTenantUser | Удаление пользователя из тенанта | EDIT | tenant+user |
CreateUpdateTenantGroup | Создание или обновление группы пользователей тенанта | EDIT | tenant+group |
DeleteTenantGroup | Удаление группы пользователей из тенанта | DELETE | tenant+group |
CreateServiceAccount | Создание сервисного аккаунта для автоматизации | CREATE | sa |
UpdateServiceAccount | Обновление атрибутов сервисного аккаунта | EDIT | sa |
DeleteServiceAccount | Удаление сервисного аккаунта | DELETE | sa |
CreateServiceAccountKey | Создание ключа аутентификации для СА | CREATE | sa+key |
DeleteServiceAccountKey | Отзыв (удаление) ключа сервисного аккаунта | DELETE | sa+key |
ServiceAccountsEditRoleInTenant | Назначение роли сервисному аккаунту в тенанте | EDIT | sa+role+tenant |
RevokeRoleFromServiceAccount | Отзыв роли у сервисного аккаунта | EDIT | sa+role |
CreateUpdatePermissions | Массовое обновление списка полномочий | EDIT | permissions[] |
DeletePermission | Удаление полномочия из системы | DELETE | permission |
VaultTokenExchange | Обмен токена на Vault токен для доступа к секретам | ACCESS | token |
ArbocrateTokenExchange | Обмен токена на Arbocrate токен | ACCESS | token |
IAM JWK
Примеры логов
RevokeAPIKey — Отзыв API ключа
{
"@timestamp": "2026-06-24T07:09:23.749Z",
"group": "spirit-iam",
"system": "iam-jwk",
"level": "INFO",
"logger": "iam-jwk",
"msg": "audit log",
"env": "prod",
"id": "8c65be77-a994-4190-810c-06f30da3ca68",
"created_at": "2026-06-24T07:09:23.749Z",
"error": "",
"extra": {"audience": "audit"},
"operation_id": "RevokeAPIKey",
"object_id": "2b58175a-f082-4e7d-b49f-b7d154298b92",
"result": "success",
"subject_id": "01870072-177f-40e4-af14-9541daa8207c",
"subject_kind": "User"
}
SystemPatch — Обновление системы
{
"@timestamp": "2026-06-24T07:36:57.491Z",
"group": "spirit-iam",
"system": "iam-jwk",
"level": "INFO",
"logger": "iam-jwk",
"msg": "audit log",
"env": "stage",
"id": "4a3d8c82-f6ed-497e-8122-537c3b4ec435",
"created_at": "2026-06-24T07:36:57.491Z",
"error": "",
"extra": {"audience": "audit"},
"operation_id": "SystemPatch",
"object_id": "0ce8a21d-6d41-4e63-b489-cd4d37e7e440",
"result": "success",
"subject_id": "dd389b12-6f50-421e-9b29-d6d2eda3bb6e",
"subject_kind": "User"
}
SystemDelete — Удаление системы
{
"@timestamp": "2026-06-24T08:06:52.138Z",
"group": "spirit-iam",
"system": "iam-jwk",
"level": "INFO",
"logger": "iam-jwk",
"msg": "audit log",
"env": "prod",
"id": "0e00cbb8-9488-4b02-b877-a1de23015659",
"created_at": "2026-06-24T08:06:52.138Z",
"error": "",
"extra": {"audience": "audit"},
"operation_id": "SystemDelete",
"object_id": "a150240b-fa1f-440a-8029-623f7b97c0ad",
"result": "success",
"subject_id": "01870072-177f-40e4-af14-9541daa8207c",
"subject_kind": "User"
}
Операции IAM JWK
| OperationId | Описание | Тип | Объект |
|---|---|---|---|
SystemCreate | Создание новой интегрированной системы | CREATE | system |
SystemPatch | Обновление атрибутов системы (описание, настройки) | EDIT | system |
SystemDelete | Удаление интегрированной системы | DELETE | system |
SystemCryptoKeyCreate | Создание криптографического ключа для системы (JWKS) | CREATE | jwk |
SystemCryptoKeyDelete | Удаление криптограф ического ключа системы | DELETE | jwk |
CreateAPIKey | Создание API ключа для доступа к системе | CREATE | api_key |
UpdateAPIKey | Обновление атрибутов API ключа (срок действия, описание) | EDIT | api_key |
RevokeAPIKey | Отзыв (блокировка) API ключа | DELETE | api_key |
LoadPermissionsToWhiteList | Загрузка списка полномочий в белый список системы | EDIT | permissions[] |
Hydra
Пример лога
{
"@timestamp": "2026-06-24T07:09:09.371508058Z",
"group": "spirit-iam",
"system": "spirit-iam-hydra",
"level": "INFO",
"msg": "started handling request",
"env": "prod",
"extra": {
"http_request": {
"method": "POST",
"path": "/admin/oauth2/introspect",
"headers": {
"content-type": "application/x-www-form-urlencoded",
"user-agent": "tenant-manager/release-5.151.3",
"x-request-id": "6737a0af-e34d-4d85-8f80-1cbcb0bbf04a"
},
"remote": "10.158.213.35:57884"
}
}
}
Операции Hydra
| OperationId | Описание | Тип | Объект |
|---|---|---|---|
create_oauth2_client | Создание нового OAuth2 клиента (приложение) | CREATE | oauth2_client |
change_oauth2_client | Изменение настроек OAuth2 клиента (redirect URI, scope) | EDIT | oauth2_client |
delete_oauth2_client | Удаление OAuth2 клиента | DELETE | oauth2_client |