ESKMode: Boolean;
ESKMode: System.Boolean;
Свойство ESKMode определяет возможность использования режима совместимости для работы с доменными группами в СУБД Oracle.
Свойство актуально только при работе в репозитории на базе СУБД Oracle. По умолчанию свойство принимает значение False, при этом в менеджере безопасности из домена можно добавить только пользователей. При установке значения True будет включен режим совместимости, позволяющий в менеджере безопасности добавлять доменные группы и особым образом настраивать права доступа для них. Для получения подробной информации о раздаче прав обратитесь к подразделу «Доменная авторизация при работе с сервером Oracle».
Для включения режима совместимости необходимо выполнение условий:
включено распределение ролей между администратором информационной безопасности и прикладным администратором;
используется метод разграничения доступа по уровням.
Для выполнения примера добавьте ссылки на системные сборки: Metabase, ForeSystem (для примера на Fore.NET).
Sub UserProc;
Var
MB: IMetabase;
Security: IMetabaseSecurity;
Police: IMetabasePolicy;
MandatoryAccess: IMetabaseMandatoryAccess;
Category: ISecurityCategory;
Lic: Object;
Begin
MB := MetabaseClass.Active;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
Security := MB.Security;
Police := Security.Policy;
// Включим режим совместимости
Police.ESKMode := True;
// Включим режим распределения ролей между администратором информационной безопасности и прикладным администратором
Police.PromoteToIsaMode(Security.ResolveName(MB.Id + "_ISA") As IMetabaseUser);
MandatoryAccess := Police.MandatoryAccess;
// Разграничим доступ по уровням
MandatoryAccess.IsSimple := True;
Category := MandatoryAccess.Category(0);
Category.AddLevel(1, "Guest");
Category.AddLevel(2, "AllAccess");
// Сохраним изменения
Security.Apply;
// Освободим лицензию
Lic := Null;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.ForeSystem;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Security: IMetabaseSecurity;
Police: IMetabasePolicy;
MandatoryAccess: IMetabaseMandatoryAccess;
Category: ISecurityCategory;
Lic: Object;
Begin
MB := Params.Metabase;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
Security := MB.Security;
Police := Security.Policy;
// Включим режим совместимости
Police.ESKMode := True;
// Включим режим распределения ролей между администратором информационной безопасности и прикладным администратором
Police.PromoteToIsaMode((Security.ResolveName(MB.Id + "_ISA") As IMetabaseUser), IsaModePromoteOptions.ismopropNone);
MandatoryAccess := Police.MandatoryAccess;
// Разграничим доступ по уровням
MandatoryAccess.IsSimple := True;
Category := MandatoryAccess.Category[0];
Category.AddLevel(1, "Guest");
Category.AddLevel(2, "AllAccess");
// Сохраним изменения
Security.Apply();
// Освободим лицензию
Lic := Null;
End Sub;
После выполнения примера будет изменена политика безопасности текущего репозитория:
включен режим распределения ролей между администратором информационной безопасности и прикладным администратором;
включен режим совместимости, необходимый для работы с доменными группами;
включен режим разграничения доступа по уровням и созданы два уровня безопасности.
См. также: