AllowCreateUserGrant: Boolean;
AllowCreateUserGrant: System.Boolean;
Свойство AllowCreateUserGrant позволяет при сохранении политики безопасности создавать две роли:
первая роль включает в себя системные привилегии «Create user» и «Drop user»;
вторая роль включает в себя системную привилегию «Alter user».
Свойство по умолчанию не установлено и становится доступным, когда активирован режим разделения ролей между прикладным администратором и АИБ’ом.
В создаваемые роли будет включен администратор информационной безопасности. На присвоение свойство будет доступно только для него. При установке AllowCreateUserGrant значения False роли будут удаляться.
При обновлении пользователя в зависимости от привилегий, пользователь будет либо добавляться в роль, либо исключаться из роли.
Свойство доступно только для репозиториев, созданных на базе СУБД Oracle.
Выполнение указанного примера предполагается в репозитории, созданном на базе СУБД Oracle.
Sub UserProc;
Var
MB: IMetabase;
MS: IMetabaseSecurity;
Isa: IMetabaseUser;
Policy: IMetabasePolicy;
Begin
MB := MetabaseClass.Active;
MS := MB.Security;
Isa := MS.ResolveName(MB.Id + "_ISA") As IMetabaseUser;
Policy := MS.Policy;
//Включение распределения ролей между АИБ'ом и прикладным администратором
Policy.PromoteToIsaMode(Isa, IsaModePromoteOptions.RestrictAdminAccess Or IsaModePromoteOptions.RestrictIsaAccess);
//Создание двух ролей
Policy.AllowCreateUserGrant := True;
MS.Apply;
End Sub UserProc;
При выполнении примера будет активирован режим разделения ролей между АИБ'ом и прикладным администратором. Для АИБ'а будут созданы две роли, которые будут использоваться при администрировании пользователей.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Metabase;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MS: IMetabaseSecurity;
Isa: IMetabaseUser;
Policy: IMetabasePolicy;
Begin
MB := Params.Metabase;
MS := MB.Security;
Isa := MS.ResolveName(MB.Id + "_ISA") As IMetabaseUser;
Policy := MS.Policy;
//Включение распределения ролей между АИБ'ом и прикладным администратором
Policy.PromoteToIsaMode(Isa, IsaModePromoteOptions.ismopropRestrictAdminAccess Or IsaModePromoteOptions.ismopropRestrictIsaAccess);
//Создание двух ролей
Policy.AllowCreateUserGrant := True;
MS.Apply();
End Sub;
См. также: