スクリプトでタスクをロールにグループ化する
承認マネージャーでは、ロールはユーザーのカテゴリと、ユーザーが実行を許可されているタスクを表します。 タスクはグループ化され、ロール定義に割り当てられます。これは、IsRoleDefinition プロパティが True に設定された IAzTask オブジェクトによって表されます。 その後、ロール定義を IAzRole オブジェクトに割り当てることができ、その後、ユーザーまたはユーザーのグループがそのオブジェクトに割り当てられます。 タスクとロールの詳細については、「 ロール」を参照してください。
次の例では、ロール定義にタスクを割り当て、ロール オブジェクトを作成し、ロール定義をロール オブジェクトに割り当てる方法を示します。 この例では、ドライブ C のルート ディレクトリに MyStore.xml という名前の既存の XML ポリシー ストアがあり、このストアには Expense という名前のアプリケーションが含まれており、このアプリケーションには [経費の送信] と [経費の承認] という名前のタスクが含まれていることを前提としています。
' Create the AzAuthorizationStore object.
Dim AzManStore
Set AzManStore = CreateObject("AzRoles.AzAuthorizationStore")
' Initialize the authorization store.
AzManStore.Initialize 2, "msxml://C:\MyStore.xml"
' Create an application object in the store.
Dim expenseApp
Set expenseApp = AzManStore.OpenApplication("Expense")
' Create a task object to act as a role definition.
Dim roleTask
Set roleTask = expenseApp.CreateTask("Expense Admin")
' Set the IsRoleDefinition property of roleTask to True.
roleTask.IsRoleDefinition = True
' Add two tasks to the role definition.
roleTask.AddTask CStr("Submit Expense")
roleTask.AddTask CStr("Approve Expense")
' Save the role definition to the store.
roleTask.Submit
' Create a role object.
Dim role1
Set role1 = expenseApp.CreateRole("Expense Administrator")
' Add the role definition to the role object.
role1.AddTask(roleTask.Name)
' Save the role object to the store.
role1.Submit