委托脚本中的权限定义

可以委托对 Active Directory 中存储的授权策略存储的管理。 可以在应用商店、应用程序或范围级别将管理委托给用户和组。

每个级别都有一个管理员和读者列表。 存储区、应用程序或范围的管理员可以在委托级别读取和修改策略存储。 读者可以在委托级别读取策略存储,但不能修改该存储区。

作为应用程序的管理员或读者的用户或组还必须添加为包含该应用程序的策略存储的委托用户。 同样,必须将作为作用域管理员或读取者的用户或组添加为包含该作用域的应用程序的委托用户。

委托范围的管理

  1. 通过调用包含作用域的 AzAuthorizationStore 对象的 AddDelegatedPolicyUser 方法,将用户或组添加到包含作用域的存储的委托用户列表中。
  2. 通过调用包含作用域的 IAzApplication 对象的 AddDelegatedPolicyUser 方法,将用户或组添加到包含作用域的应用程序的委托用户列表中。
  3. 通过调用 IAzScope 对象的 AddPolicyAdministrator 方法,将用户或组添加到范围的管理员列表中。

注意

基于 XML 的策略存储不支持任何级别的委派。

 

如果 Active Directory 中存储的授权存储中的作用域包含包含授权规则的任务定义或包含授权规则的角色定义,则不能委托该范围。

以下示例演示如何委托应用程序的管理。 该示例假定指定位置存在现有的 Active Directory 授权策略存储区,此策略存储区包含名为 Expense 的应用程序,并且此应用程序不包含具有业务规则脚本的任务。

'  Create the AzAuthorizationStore object.
Dim AzManStore
Set AzManStore = CreateObject("AzRoles.AzAuthorizationStore")

'  Initialize the authorization store.
AzManStore.Initialize 2, _
    "msldap://CN=MyStore,CN=Program Data,DC=authmanager,DC=com"

'  Create an application object in the store.
Dim expenseApp
Set expenseApp= AzManStore.OpenApplication("Expense")

'  Add a delegated policy user to the store.
AzManStore.AddDelegatedPolicyUserName("ExampleDomain\\UserName")

'  Add the user as an administrator of the application.
expenseApp.AddPolicyAdministratorName("ExampleDomain\\UserName")

'  Save changes to the store.
AzManStore.Submit