IMetabasePolicy.PromoteToIsaMode

Синтаксис

PromoteToIsaMode(Isa: IMetabaseUser; [Options: IsaModePromoteOptions = 0]);

PromoteToIsaMode(Prognoz.Platform.Interop.Metabase.IMetabaseUser, Prognoz.Platform.Interop.Metabase.IsaModePromoteOptions);

Параметры

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;

После выполнения примера будет активирован режим разделения ролей между АИБ и ПА. Пользователи, имеющие привилегии как у АИБ и ПА, не смогут открывать объекты репозитория, будет выдаваться сообщение о том, что недостаточно прав для выполнения операции.

См. также:

IMetabasePolicy | Разделение ролей администраторов