身份标识管理

构建单步设置工作流

Aung Oo

 

概览:

  • 使用 MIISWorkflow
  • 实施和配置
  • 扩展 MIISWorkflow

如果您一直在寻找基于 Web 的帐户请求和审批界面,而且贵组织采用了 Microsoft Identity Lifecycle Manager 2007(ILM 2007,以前称为 Microsoft Identity Integration Server 2003),

MIISWorkflow 应用程序可以为您提供简单有效的解决方案。MIISWorkflow 是 MIIS 2003 Resource Tool Kit 2.0 的一部分,已于 2004 年 12 月投入使用。虽然它未必是每个环境的完整解决方案,但对于构建适合贵组织需求的自定义应用程序而言,却是一个好的开始。

MIISWorkflow 通过集成 Web 应用程序为 ILM 2007 提供基于审批的设置功能。这是一个单步的、工作流驱动的设置系统,可以接受用户请求并将其传送给有权对特定请求做出决定的审批者(通常是经理)。根据审批者的决定,ILM 继续使用在 ILM 中定义的业务规则在连接的目录中设置用户帐户。

此应用程序只能用于单步工作流,不能创建复杂的工作流功能,例如使用平行路径的多步审批过程或使用图形界面的工作流过程。如果贵组织不需要这些复杂的工作流功能,您可以使用由 MIIS Resource Tool Kit 提供的 MIISWorkflow 示例来实施解决方案。

我将着重介绍一家虚构公司的人力资源部门的解决方案。通常,HR 系统是组织内所有员工信息的正式信息源。但是,这些系统通常具有正式员工的详细数据,但往往缺少临时员工(比如,合同工和学生实习生)的信息。HR 系统中包含的数据可能不会跟踪用户可以访问哪些系统(包括用户帐户信息)。我会介绍如何为组织内的临时员工建立简单的跟踪系统。

基于 MIISWorkflow 进行构建

以创建与现有 HR 系统协同使用的应用程序为例,了解组织可以如何利用 MIISWorkflow。在雇佣新员工时,会将用户信息添加到 HR 系统中。您可以设计执行以下操作的 ILM 流:将信息发送到 MIISWorkflow 数据库,然后在 ILM 在连接的目录中设置帐户之前,利用工作流应用程序将用户信息传送给审批者。

如果贵组织不使用 HR 系统来跟踪临时员工,则可以将 MIISWorkflow 应用程序用作正式数据源,来管理企业目录中临时员工的帐户。由于该工作流应用程序减少了获得批准所需的基于纸张的管理工作,用户不必等待数日就可以访问目录和应用程序中的帐户。还可以使用 MIISWorkflow 来快速吊销访问权限,从而增强了组织的安全性。

MIISWorkflow 也可用作审核工具来跟踪用户可以访问的系统数量、每个帐户的请求和终止日期以及每个帐户的请求者和审批者。生成具有详细帐户历史记录的报告的功能有助于组织遵守各种法规,如萨班斯 — 奥克斯利法案 (Sarbanes-Oxley) 和 HIPAA 法案。

MIISWorkflow 应用程序在 IIS 上运行,并使用 ILM 2007 的目录集成和设置功能在连接的目录中设置和取消设置帐户。该工作流应用程序的组件包括一个 ASP.NET 网页集合、一个 SQL Server™ 数据库、一个管理代理和一个授权策略存储(参见图 1)。该应用程序使用 SQL Server 进行数据存储、使用 Active Directory® 进行身份验证、使用策略存储(带 Windows® 授权管理器,通常称为 AzMan)进行授权。

图 1 MIISWorkflow 应用程序体系结构

图 1** MIISWorkflow 应用程序体系结构 **(单击该图像获得较大视图)

可以使用 C# 和 ASP.NET 来扩展和自定义该应用程序。MIISWorkflow 由下列五个 .aspx 页面构成:ContractorApproval、ContractorHistory、ContractorRequest、ContractorStatus 和 ContractorUpdate。使用这些页面,管理员可以请求、更新、批准和跟踪系统中每个用户帐户的状态。请注意,默认情况下,MIISWorkflow 应用程序被设置为通过使用与 IIS 集成的 Windows 身份验证来利用 Kerberos。

该工作流应用程序根据审批者的操作触发 ILM,而 ILM 使用已定义的规则设置或取消设置连接的目录中的用户帐户。在对请求采取操作之后,该应用程序立即触发 ILM,而请求不必等待下一个 ILM 同步周期就可以在连接的目录中进行设置和取消设置。

该工作流应用程序需要使用 MIISWorkflow 数据库来存储用户的帐户信息。这与 ILM 存储 Metaverse 信息的数据库是相互独立的,但在同一 SQL Server 实例上进行配置。当授权用户通过该工作流应用程序请求帐户时,信息由 MIISWorkflow 进行保存。然后,在审批者访问 ASP.NET 网页时,通过该页面呈现此信息。MIISWorkflow 还存储操作的历史记录和有关数据库中帐户的其他信息。ILM 使用该应用程序提供的 SQL Server 管理代理从 MIISWorkflow 数据库导入信息,并根据需要设置和取消设置帐户。

MIISWorkflow 使用 AzMan 进行授权,AzMan 提供基于角色的访问控制 (RBAC) 来管理允许用户根据其分配的角色在应用程序中执行的任务。(有关 RBAC 的详细信息,请参阅 go.microsoft.com/fwlink/?LinkId=85825。)在 Active Directory 中对用户进行身份验证(即可允许其进行相关访问)后,该工作流应用程序将检查在 AzMan 授权存储中定义的角色,以便对用户可以执行的操作进行授权。该应用程序有两个预定义的角色:合同工请求者和合同工审批者。具有合同工请求者角色的用户或组只能通过该应用程序提出请求,但具有合同工审批者角色的用户或组可以创建请求以及批准或拒绝请求。

MIISWorkflow 应用程序授权策略存储在一个 XML 文件中。可以将 Windows 用户和组或者应用程序组分配给定义的角色。应用程序组允许 LDAP 查询根据属性值对用户的 Active Directory 或 Active Directory 应用程序模式 (ADAM) 帐户对象执行运行时查询;例如,如果用户位于(部门 =“营销”)组中,则返回 true。

应用程序演练

应用程序管理员使用 AzMan 控制对应用程序的访问。根据在贵组织中利用应用程序的方式,您可以为所有域用户或者仅为选定的组授予合同工请求者角色。合同工审批者角色应仅授予有权批准或拒绝请求的用户和组。选定的 HR 管理员,以及系统管理员和组管理员通常具有该角色。默认情况下,MIISWorkflow 应用程序使用与 IIS 集成的 Windows 身份验证作为其身份验证方法,因此该应用程序将通过用户的 Windows 桌面登录凭据来验证用户身份 - 这意味着将不会再次提示用户输入凭据来验证应用程序。

具有合同工请求者角色的用户可以将浏览器指向应用程序中的“合同工请求”页面,并提供有关合同工的信息以便为该合同工请求帐户。图 2 显示了“合同工请求”页面。

图 2 “新合同工请求”页面

图 2** “新合同工请求”页面 **(单击该图像获得较大视图)

具有请求者角色的人员填写相关的合同工信息并提交请求。页面上有一个批准请求的链接和一个检查状态的链接,但除非请求者也具有合同工审批者角色,否则他们无法访问审批者页面。请求者可以通过单击“合同工状态”链接来查看自己的请求,但无法查看其他人所提交请求的状态。

只有合同工审批者对应用程序中的“合同工审批”页面具有访问权限,并可以在查看信息后批准或拒绝请求。图 3 显示了“合同工审批”网页的界面。

图 3 “合同工审批”页面

图 3** “合同工审批”页面 **(单击该图像获得较大视图)

合同工审批者可以查看所有请求者提交的请求。任何合同工审批者都可以批准请求,并且只需要一次批准或拒绝操作就可以进入请求的下一个阶段。在审批者采取操作后,请求会立即从“合同工审批”页面中消失。这样可以最大程度地减少多余的审批者操作。

如果要查看新请求并根据组织需求对未决的请求采取操作,审批者需要定期访问“合同工审批”页面,因为该应用程序中没有通知机制可以告知审批者是否出现新请求或请求积压情况。审批者在页面中批准或拒绝请求后,应用程序将立即触发 ILM,并且根据审批者的操作在连接的目录中设置或取消设置帐户。

图 4 “合同工状态”页面

图 4** “合同工状态”页面 **(单击该图像获得较大视图)

可以从“合同工状态”页面中跟踪未决请求的状态和已完成请求的记录(参见图 4)。请求者可以在此页面上采取几种操作。您可以查看自己的请求,包括员工 ID、名字、姓氏、部门、状态和上次修改日期等信息。还可以编辑现有信息、查看历史记录和终止合同工的帐户。可以修改名字和姓氏以及部门信息,并重新提交这些信息进行审批。最后,您可以从“合同工历史记录”页面中查看对请求所采取的操作,以及每个操作的日期和时间(参见图 5)。

图 5 “合同工历史记录”页面

图 5** “合同工历史记录”页面 **(单击该图像获得较大视图)

MIISWorkflow 应用程序允许请求者从“合同工状态”页面终止合同工帐户,从而可以无缝地终止帐户。请求者可以通过单击终止链接来立即禁用或删除连接的目录中的合同工帐户。从工作流应用程序中终止合同工帐户的优点是:此功能使系统管理员无须在每个目录中搜索合同工帐户并手动删除帐户。由于 MIISWorkflow 应用程序会立即触发 ILM 来取消设置已连接目录中的那些帐户,因此在删除那些帐户时不存在延迟时间。

配置应用程序

MIISWorkflow 应用程序的配置涉及设置服务帐户、设置该应用程序的数据库、配置 ILM 与该工作流应用程序一起使用、配置 IIS 以及配置策略存储。该应用程序包含预构建的脚本和配置文件,以便简化此过程。

MIISWorkflow 应用程序提供了一个 T-SQL 查询文件,使得创建 MIISWorkflow 数据库的过程更加简单。您可以通过在查询分析器中加载该查询文件并执行查询来自动创建数据库。

IIS 配置涉及创建新的 IIS 应用程序池和虚拟目录,以及设置对 ASP.NET 主机页面的身份验证和访问控制。该应用程序还提供了具有预定义角色的 XML 文件来配置授权策略存储。可以使用 AzMan MMC 将用户和组分配到现有角色和创建新角色。

最后的步骤是配置 ILM 中的管理代理,以便将 MIISWorkflow 数据库中的数据导入 ILM。可以通过以下方式完成此操作:导入 XML 文件中的管理代理配置,然后复制 SQL Server 管理代理的预构建扩展文件。该应用程序同时提供了 XML 文件和管理代理扩展文件。自述文件中包含如何配置其中每个步骤的分步说明。

扩展应用程序

MIISWorkflow 应用程序为开发与 MIIS 集成的简单工作流提供了一个起点,您可能需要进行一些自定义设置来扩展该应用程序。除了更改网页等简单的修改之外,还可以通过许多其他方式来扩展该应用程序。

您可以添加通知功能,这样审批者可以在存在未决请求时收到电子邮件。如果未对该请求采取操作,此功能还可以在指定的天数内向审批者发送提醒消息。如果默认页面无法提供您所需要的用户信息,则可以向“合同工请求”页面和“合同工更新”页面中添加字段。可以向该应用程序添加更多角色,如审核员角色,具有该角色的用户可以查看每个请求的历史记录,而非只查看该用户所提交请求的历史记录。

对于复杂的工作流功能,如多步工作流和使用图形设计器设计工作流的功能,它们超出了本应用程序的范围。但是,您可以使用 Windows Workflow Foundation 来开发具有复杂工作流功能的更强大的应用程序。

可以在 go.microsoft.com/fwlink/?LinkId=85829 上找到 MIIS Resource Tool Kit。立即下载,并开始构建您自己的身份标识工作流解决方案。

Aung Oo是 Microsoft 咨询服务 (MCS) 的身份标识管理的项目问题专家。自首次发布 Microsoft Identity Management 以来,Aung 就一直为商业和政府客户设计、开发和部署企业目录及身份标识管理解决方案。

© 2008 Microsoft Corporation 与 CMP Media, LLC.保留所有权利;不得对全文或部分内容进行复制.