PromoteToIsaMode(Isa: IMetabaseUser; [Options: IsaModePromoteOptions = 0]);
Isa. Пользователь, который будет выполнять роль администратора информационной безопасности (АИБ). В качестве значения необходимо передавать пользователя с учетной записью *_ISA ( где * - имя схемы);
Options. Определяет параметры активации разделения ролей между АИБ и прикладным администратором (ПА). По умолчанию АИБ после активации не будет иметь прав на обновление пользователей.
Метод PromoteToIsaMode осуществляет включение режима распределения ролей между администратором информационной безопасности и прикладным администратором.
Для выполнения примера убедитесь, что в менеджере безопасности содержится пользователь с учетной записью *_ISA ( где * - имя схемы). Режим разделения ролей между администраторами не используется.
Добавьте ссылки на системные сборки: Metabase, ForeSystem (для примера на Fore.NET).
Sub UserProc;
Var
MB: IMetabase;
MS: IMetabaseSecurity;
Isa: IMetabaseUser;
Policy: IMetabasePolicy;
Lic: Object;
Begin
MB := MetabaseClass.Active;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
MS := MB.Security;
// Активируем режим разделения ролей
Isa := MS.ResolveName(MB.Id + "_ISA") As IMetabaseUser;
Policy := MS.Policy;
Policy.PromoteToIsaMode(Isa, IsaModePromoteOptions.RestrictAdminAccess Or IsaModePromoteOptions.RestrictIsaAccess);
// Сохраним изменения
MS.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;
MS: IMetabaseSecurity;
Isa: IMetabaseUser;
Policy: IMetabasePolicy;
Lic: Object;
Begin
MB := Params.Metabase;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
MS := MB.Security;
// Активируем режим разделения ролей
Isa := MS.ResolveName(MB.Id + "_ISA") As IMetabaseUser;
Policy := MS.Policy;
Policy.PromoteToIsaMode(Isa, IsaModePromoteOptions.ismopropRestrictAdminAccess Or IsaModePromoteOptions.ismopropRestrictIsaAccess);
// Сохраним изменения
MS.Apply();
// Освободим лицензию
Lic := Null;
End Sub;
После выполнения примера будет активирован режим разделения ролей между АИБ и ПА. Пользователи, имеющие привилегии как у АИБ и ПА, не смогут открывать объекты репозитория, будет выдаваться сообщение о том, что недостаточно прав для выполнения операции.
См. также: