Правилами авторизации называются сценарии, написанные на языках VBScript или JScript, которые можно включать в определения ролей и в определения задач. Правило авторизации определяет, разрешена ли роль или задача.

С помощью правил авторизации можно производить авторизацию на основании любого условия, которое может проверить сценарий. В том числе: права и разрешения, время суток, ограничения затрат, остатки на счетах или другие критерии.

Диспетчер авторизации не предназначен для написания или отладки правил авторизации. Создавать сценарии можно в любом текстовом редакторе (например, в программе «Блокнот»), в интегрированной среде разработки, например, в Visual Studio .NET, или в другом подходящем приложении. Правила авторизации обычно создаются профессиональными разработчиками.

Дополнительные сведения о создании правил авторизации и использовании API диспетчера авторизации см. на веб-сайте Модель диспетчера авторизации (страница может быть на английском языке) (http://go.microsoft.com/fwlink/?linkid=64027). Дополнительные ссылки см. в разделе Ресурсы для диспетчера авторизации.

Контроль использования бизнес-правил и правил авторизации

Контроль использования на каждом клиенте

Начиная с версии Windows Server 2008, использование бизнес-правил и правил авторизации может управляться параметром реестра. По умолчанию правила отключены. Предыдущие версии Windows не поддерживали данную возможность.

Как правило, для включения правил авторизации и бизнес-правил, если они используются в данной среде, нужно использовать программу установки или сценарий, выполняемый операционной системой.

Важно!

Этот параметр управляется отдельно для каждого приложения диспетчера авторизации на каждом клиенте.

Ниже приведен пример сценария, который включает или выключает рабочие правила и правила авторизации для приложения:

'

' Enabling or disabling BizRules for an application

' This script uses Authorization Manager Administrative interfaces to enable or disable

' BizRules for a specified Authorization Manager application in a specified Authorization Manager policy store

On Error Resume Next

Set objArgs = WScript.Arguments

If objArgs.count <> 3 then

wscript.echo "Usage: SetBizRule ""AzManStoreURL"" ""AzApplicaitonName"" True/False"

wscript.echo "Example: SetBizRule ""msxml://d:\inetpub\wwwroot\AzStore.xml"" ""MyApp"" True"

wscript.echo "Run with 'cscript' command in cmd.exe to avoid msg boxes"

Else

' VBScript source code

Dim AzStoreObj

Dim AzManStoreURL : AzManStoreURL = objArgs(0)

Dim AzManAppName : AzManAppName = objArgs(1)

Dim BizRulesEnabled : BizRulesEnabled = objArgs(2)

' create azman object

Set AzStoreObj = CreateObject("AzRoles.AzAuthorizationStore")

If Err.Number > 0 Then

WScript.Echo "Can not create AzRoles.AzAuthorizationStore. Check Authorization Manager installation"

WScript.Quit

End If

' initialize store for Administration

' assumes store exists - if store is being created (e.g. an installing applicaion)

' use the value 3 instead of 2 in the call to IAzAuthorizationStore::initialize

Err.Clear

AzStoreObj.Initialize 2, AzManStoreURL

If Err.Number <> 0 Then

WScript.Echo "AzRoles.AzAuthorizationStore failed to initialize. Check store URL"

WScript.Quit

End If

' open applicaion

set AzApp = AzStoreObj.OpenApplication(AzManAppName)

If Err.Number <> 0 Then

WScript.Echo "AzRoles.AzAuthorizationStore failed to open application: " + AzManAppName + ". Check application Name."

WScript.Quit

End If

' set BizRulesEnabled property

WSCript.Echo "App BizRule Before:" & AzApp.BizRulesEnabled

AzApp.BizRulesEnabled = BizRulesEnabled

WSCript.Echo "App BizRule After:" & AzApp.BizRulesEnabled

If Err.Number = 0 Then

WScript.Echo "BizRulesEnabled is updated successfully."

Else

WScript.Echo "BizRulesEnabled is NOT updated successfully."

End If

End if

Контроль использования для всего хранилища данных авторизации

Настроив ограничения правил авторизации на вкладке Ограничения на странице свойств хранилища данных авторизации, можно:

  • отключать правила авторизации и бизнес-правила для хранилища;

  • задавать время ожидания, чтобы ограничить максимальное время выполнения сценария;

  • разрешить выполнение сценария в течение неограниченного времени.

Дополнительные сведения см. в разделе Общее представление об ограничениях хранилища диспетчера авторизации.

Пример сценария VBScript

Ниже приведен пример правила авторизации на языке VBScript, которое всегда дает разрешение:

AzBizRuleContext.BusinessRuleResult = True

Дополнительные сведения о языке сценариев VBScript см. на веб-странице VBScript (может быть на английском языке) (http://go.microsoft.com/fwlink/?linkid=65964).

Пример сценария JScript

Ниже приведен пример правила авторизации на языке JScript, которое всегда дает разрешение:

AzBizRuleContext.BusinessRuleResult = true;

Дополнительные сведения о языке сценариев JScript см. на веб-странице JScript (может быть на английском языке) (http://go.microsoft.com/fwlink/?linkid=65963).