Product SiteDocumentation Site

51.5.4. Атрибуты событий, связанных с изменениями в базе данных (dsdbChange)

События dsdbChange регистрируются, когда клиент вызывает существенные изменения в базе данных домена (известной как DSDB внутри Samba). Некоторые конкретные изменения, а именно изменения пароля, группы и изменения репликации, регистрируются отдельно как события «passwordChange», «groupChange» и «replicationUpdate».
В таблице События dsdbChange приведен набор атрибутов, который используется для регистрации событий, связанных с внесением значимых изменений в базу данных службы каталогов.

Таблица 51.5. События dsdbChange

Атрибут
Значение
attributes
Список изменяемых атрибутов
dn
Уникальное составное имя (DN) изменяемого объекта
operation
Операция LDAP, соответствующая выполняемому действию по изменению данных:
  • «Modify»
  • «Add»
  • «Delete»
performedAsSystem
Признак системного или пользовательского действия:
  • «true» — действие выполняется Samba с использованием системной учетной записи;
  • «false» — действие выполняется от имени пользователя
remoteAddress
Удаленный адрес пользователя, инициировавшего операцию
sessionId
Уникальный идентификатор (GUID) сессии аутентификации
status
Строка, указывающая на успешное завершение действия или невозможность его выполнения по той или иной причине; выводимая информация соответствует кодам ответа LDAP, которые фиксируются в атрибуте statusCode.
Примеры значений:
  • «Success»
  • «Operations error»
  • «Protocol error»
  • «Time limit exceeded»
  • «Size limit exceeded»
  • «Unsupported critical extension»
  • «No such attribute»
  • «Undefined attribute type»
  • «Constraint violation»
  • «Attribute or value exists»
  • «Invalid attribute syntax»
  • «No such object»
  • «Alias problem»
  • «Invalid DN syntax»
  • «Insufficient access rights»
  • «Unwilling to perform»
  • «Naming violation»
  • «Object class violation»
  • «Not allowed on non-leaf»
  • «Not allowed on RDN»
  • «Entry already exists»
Числовой код, соответствующий статусу в атрибуте status
В общем случае в качестве значения атрибута приводится код ответа LDAP в соответствии с RFC 4511
transactionId
Уникальный идентификатор (GUID) транзакции, в рамках которой выполняется операция (если операция является частью транзакции)
userSid
Идентификатор безопасности (SID) пользователя, инициировавшего операцию
version
См. описание в таблице Общие атрибуты.
Текущая версия:
{"major": 1, "minor": 2}
Значение поля attributes может рассматриваться в качестве аналога описания изменения в формате LDIF.
Например, следующий JSON:
"dsdbChange": {
"operation": "Modify",
"dn": "@SAMBA_DSDB",
"attributes": {
"backupDate": {"actions": [
{"action": "add",
    "values": [
    {"value": "2024-05-29T15:32:39.282334+0200"}
    ]
  }
 ]
}}}
описывает изменение, выполненное этим LDIF:
dn: @SAMBA_DSDB
changetype: modify
add: backupDate
backupDate:  2024-05-29T15:32:39.282334+0200
Для секретных атрибутов вместо каких-либо значений указывается тег redacted: true.
Если значение очень длинное (> 1024 байт), оно будет усечено с добавлением «…» и флагом truncated: true, например:
"values": [
    {truncated: true,
                "value": "It was the best of times, it was the worst of times, it was the age…"
    }
]
Пример записи о внесении изменений в базу данных:
{"timestamp": "2024-05-29T09:52:14.813697+0200", "type": "dsdbChange",
"dsdbChange": {"version": {"major": 1, "minor": 0}, "statusCode": 0,
"status": "Success", "operation": "Modify",
"remoteAddress": "ipv6:fd47:d11e:43c1:0:a00:27ff:fe9d:4de0:38500", "performedAsSystem": false,
"userSid": "S-1-5-21-578923263-1107570656-1287136478-500",
"dn": "CN=Марков Кирилл,CN=Users,DC=test,DC=alt", "transactionId": "ce759566-8bf9-46ce-95a1-0d632232a220",
"sessionId": "48c760f6-6cdc-4fba-b16d-1689f2cfad33",
"attributes": {"unicodePwd": {"actions": [{"action": "replace", "redacted": true}]}}}}