Перейти к основному содержимому
Версия: 1.12

Аудит-операции Spirit IAM

В статье приведен каталог операций аудит-логирования с реальными примерами из Sage.

Структура аудит-лога​

Обязательные поля​

ПолеОписание
@timestampДата и время операции в формате ISO 8601 (UTC)
operation_idИдентификатор операции
subject_idUUID субъекта, который выполнил действие
subject_kindТип субъекта: User, Service, System
object_idUUID объекта, над которым выполнено действие
resultРезультат операции: success / failure
extra.audienceМаркер: "audit"

Дополнительные поля​

ПолеКогда
errorПри ошибке
idUUID события аудита
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Аутентификация пользователя и создание сессииLOGINsession
logoutЗавершение сессии пользователя (инвалидация)LOGOUTsession
edit_kratos_userИзменение атрибутов пользователя в Kratos (профиль, данные)EDITuser

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": []
}

DeleteTenantGroup — Удаление группы тенанта​

{
"@timestamp": "2026-06-24T07:09:13.093Z",
"group": "spirit-iam",
"system": "tenant-manager",
"level": "INFO",
"logger": "tenant-manager",
"msg": "audit log",
"env": "prod",
"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": "3b361dbe-e8dd-4539-b37e-6a9d0f173836",
"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": "e5369674-c42e-4ea1-9239-bdf56445d96e",
"subject_kind": "User"
}

Операции Tenant Manager API v1​

OperationIdОписаниеТипОбъект
CreateProjectСоздание нового проекта (тенанта)CREATEproject
UpdateProjectОбновление атрибутов проектаEDITproject
DeleteProjectУдаление проектаDELETEproject
CreateGroupСоздание новой группы пользователейCREATEgroup
UpdateGroupИзменение атрибутов группыEDITgroup
DeleteGroupУдаление группы пользователейDELETEgroup
AddGroupUserДобавление пользователя в группуEDITgroup+user
CreateRoleСоздание новой роли с полномочиямиCREATErole
EditRoleИзменение атрибутов ролиEDITrole
DeleteRoleУдаление ролиDELETErole
AddAdminДобавление пользователя в администраторыEDITuser
DeleteAdminУдаление из администраторовEDITuser
AddUserToProjectДобавление пользователя в проектEDITproject+user
DeleteUserFromProjectУдаление пользователя из проектаEDITproject+user
AddUserProjectRoleНазначение роли пользователю в проектеEDITuser+role+project
DeleteUserProjectRoleОтзыв роли у пользователя в проектеEDITuser+role+project
AddUserGlobalRoleНазначение глобальной роли пользователюEDITuser+role
DeleteUserGlobalRoleОтзыв глобальной роли у пользователяEDITuser+role
CreatePermissionСоздание нового полномочияCREATEpermission
UpdatePermissionОбновление атрибутов полномочияEDITpermission
DeletePermissionУдаление полномочияDELETEpermission

Операции Tenant Manager API V2​

OperationIdОписаниеТипОбъект
CreateRoleСоздание новой роли с набором полномочийCREATErole
UpdateRoleИзменение атрибутов роли (название, описание, полномочия)EDITrole
DeleteRoleУдаление роли из системыDELETErole
AddRoleMemberДобавление участника (пользователя, группы или СА) в рольEDITrole+member
DeleteRoleUserУдаление конкретного пользователя из ролиEDITrole+user
DeleteUserGroupRoleУдаление группы пользователей из ролиEDITrole+group
CreateUserСоздание нового пользователя в системеCREATEuser
UpdateUserОбновление атрибутов пользователя (email, имя, статус)EDITuser
DeleteUserУдаление пользователя из системыDELETEuser
CreateUserGroupСоздание новой группы пользователейCREATEgroup
UpdateUserGroupИзменение атрибутов группы (название, описание)EDITgroup
DeleteUserGroupУдаление группы пользователейDELETEgroup
CreateTenantСоздание нового тенанта (проекта/пространства)CREATEtenant
UpdateTenantОбновление атрибутов тенантаEDITtenant
UpdateTenantUserИзменение прав пользователя в тенантеEDITtenant+user
DeleteTenantUserУдаление пользователя из тенантаEDITtenant+user
CreateUpdateTenantGroupСоздание или обновление группы пользователей тенантаEDITtenant+group
DeleteTenantGroupУдаление группы пользователей из тенантаDELETEtenant+group
CreateServiceAccountСоздание сервисного аккаунта для автоматизацииCREATEsa
UpdateServiceAccountОбновление атрибутов сервисного аккаунтаEDITsa
DeleteServiceAccountУдаление сервисного аккаунтаDELETEsa
CreateServiceAccountKeyСоздание ключа аутентификации для САCREATEsa+key
DeleteServiceAccountKeyОтзыв (удаление) ключа сервисного аккаунтаDELETEsa+key
ServiceAccountsEditRoleInTenantНазначение роли сервисному аккаунту в тенантеEDITsa+role+tenant
RevokeRoleFromServiceAccountОтзыв роли у сервисного аккаунтаEDITsa+role
CreateUpdatePermissionsМассовое обновление списка полномочийEDITpermissions[]
DeletePermissionУдаление полномочия из системыDELETEpermission
VaultTokenExchangeОбмен токена на Vault токен для доступа к секретамACCESStoken
ArbocrateTokenExchangeОбмен токена на Arbocrate токенACCESStoken

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": "e5369674-c42e-4ea1-9239-bdf56445d96e",
"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": "prod",
"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": "3b361dbe-e8dd-4539-b37e-6a9d0f173836",
"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": "e5369674-c42e-4ea1-9239-bdf56445d96e",
"subject_kind": "User"
}

Операции IAM JWK​

OperationIdОписаниеТипОбъект
SystemCreateСоздание новой интегрированной системыCREATEsystem
SystemPatchОбновление атрибутов системы (описание, настройки)EDITsystem
SystemDeleteУдаление интегрированной системыDELETEsystem
SystemCryptoKeyCreateСоздание криптографического ключа для системы (JWKS)CREATEjwk
SystemCryptoKeyDeleteУдаление криптографического ключа системыDELETEjwk
CreateAPIKeyСоздание API ключа для доступа к системеCREATEapi_key
UpdateAPIKeyОбновление атрибутов API ключа (срок действия, описание)EDITapi_key
RevokeAPIKeyОтзыв (блокировка) API ключаDELETEapi_key
LoadPermissionsToWhiteListЗагрузка списка полномочий в белый список системыEDITpermissions[]

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-x.y.z",
"x-request-id": "c6a92d2a-1944-481d-8bdd-a74f3080a578"
},
"remote": "10.0.0.1:[mac]"
}
}
}

Операции Hydra​

OperationIdОписаниеТипОбъект
create_oauth2_clientСоздание нового OAuth2 клиента (приложение)CREATEoauth2_client
change_oauth2_clientИзменение настроек OAuth2 клиента (redirect URI, scope)EDIToauth2_client
delete_oauth2_clientУдаление OAuth2 клиентаDELETEoauth2_client

PQL-запросы для Sage​

Tenant Manager: аудит-логи
group="sage" system="tenant-manager" extra.audience="audit"
Tenant Manager: конкретная операция
group="sage" system="tenant-manager" operation_id="CreateRole"
IAM JWK: аудит-логи
group="sage" system="iam-jwk" extra.audience="audit"