IMetabaseAuditPolicy.FilterClass

Синтаксис

FilterClass(ClassID: Integer): Integer;

Параметры

ClassId. Числовой идентификатор класса объекта.

Описание

Свойство FilterClass определяет маску операций, для которых будет вестись аудит доступа.

Комментарии

Для указания класса объекта в параметре ClassId используйте значения перечислимого типа MetabaseObjectClass.

Аудит доступа по указанным операциям будет вестись для всех объектов указанного класса. Аудит операций, включенных для классов, имеет больший приоритет, чем аудит операций, отключенных для конкретного объекта. Для настройки доступа аудита операций для конкретного объекта используется метод AddAce и свойство AccessMask.

Для формирования и проверки значения маски необходимо использовать значения перечислимого типа MetabaseObjectPredefinedRights. В этом перечислении содержатся основные и дополнительные операции, на которые можно раздавать права и вести аудит доступа. Для определенных классов объектов доступны специфические операции. В зависимости от класса объекта, в маске можно использовать значения следующих перечислений:

Основные, дополнительные и специфические операции, доступные для определенных типов объектов, представлены в разделе «Протоколируемые операции».

Для разбора значения маски необходимо реализовать пользовательскую функцию, которая позволит сопоставить отдельные биты маски соответствующим значениям перечислений. Пример работы с маской доступа представлен в разделе «Работа с маской доступа».

Пример

Для выполнения примера добавьте ссылку на системную сборку Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    AuditPolicy: IMetabaseAuditPolicy;
    Mask: Integer;
    Lic: Object;
Begin
    MB := MetabaseClass.Active;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
    MS := MB.Security;
    
// Изменим аудит типа объектов «Ярлык»
    AuditPolicy := MS.Policy.AuditPolicy;
    AuditPolicy.FilterClass(MetabaseObjectClass.KE_CLASS_SHORTCUT_AUDIT) := MetabaseObjectPredefinedRights.Write;
    
// Сохраним изменения
    MS.Apply;
    
// Освободим лицензию
    Lic := Null;
End Sub UserProc;

После выполнения примера будет включен аудит типа объектов «Ярлык» только на изменение.

См. также:

IMetabaseAuditPolicy