ESKMode: Boolean;
ESKMode: Boolean;
Свойство ESKMode определяет возможность использования режима совместимости для работы с доменными группами в СУБД Oracle.
Свойство актуально только при работе в репозитории на базе СУБД Oracle. По умолчанию свойству установлено значение False, при этом в менеджере безопасности из домена можно добавить только пользователей. При установке значения True будет включен режим совместимости, позволяющий в менеджере безопасности добавлять доменные группы и особым образом настраивать права доступа для них. Более подробно о раздаче прав читайте в подразделе «Доменная авторизация при работе с сервером Oracle». Необходимым требованием для включения режима совместимости также является включение распределения ролей между администратором информационной безопасности и прикладным администратором и использование метода разграничения доступа по уровням.
Sub UserProc;
Var
MB: IMetabase;
Security: IMetabaseSecurity;
Police: IMetabasePolicy;
MandatoryAccess: IMetabaseMandatoryAccess;
Category: ISecurityCategory;
Begin
MB := MetabaseClass.Active;
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;
End Sub UserProc;
При выполнении примера будут выполнены следующие изменения в политике безопасности текущего репозитория:
включен режим распределения ролей между администратором информационной безопасности и прикладным администратором;
включен режим совместимости, необходимый для работы с доменными группами;
включен режим разграничения доступа по уровням и созданы два уровня безопасности.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Metabase;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Security: IMetabaseSecurity;
Police: IMetabasePolicy;
MandatoryAccess: IMetabaseMandatoryAccess;
Category: ISecurityCategory;
Begin
MB := Params.Metabase;
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();
End Sub;
См. также: