|

Sentinel RMS 是一个授权设计、实现和管理的完整系统。该系统加入了 Sentinel LM 8.0 所不具备的重要新功能,其中包括:
- 设计
- 在授权生命周期的多个阶段都可以修改授权模板
- 可以通过网络生成授权模板和授权代码
- RMS 支持将多个授权模板捆绑为一个组和单个“逻辑授权”
- 实现
- 可以通过可定制的核准代码来核准授权申请。
- 包括授权模板和授权代码在内的相关授权管理信息存储在数据库中
- 基于网络的授权部署可以让客户和应用程序通过互联网发出授权申请
- 嵌入式客户端激活可以无需用户参与即可完成在线授权
- 可与订单登记和客户服务系统轻松整合
- 管理
- 基于角色的系统,针对授权管理功能,可控制访问和决定安全权限级别
- 可创建具有不同权限的角色:Developer(开发者)、Clerk(职员)和User(用户)。
- 基于组件的架构可以实现授权功能的定制和伸缩性
- 可用于审核的系统日志功能
技术概况
所有的 Sentinel RMS 操作都围绕着授权的创建、存储和交付。RMS 具备 License Generation Service(授权生成服务)和 RMS Management Console(RMS 管理控制台)。.这两个组件可用于访问验证用户和生成授权的后端组件。
Sentinel RMS 采用分布式架构,可以将多个组件安装在不同的地点。请注意其中主要涉及三个逻辑环节:
- 最终用户——这可以是通过 RMS 客户端申请 API 发出申请的受保护应用程序本身,或者通过电子邮件、互联网或电话与实现中心联系的最终用户。
- 授权控制中心——这是处理授权申请并将提交申请以实现授权的地方。这可以通过RMS Management Console 或 License Generation Service 来完成。此功能充当的是最终用户应用程序与公司的办公系统之间的中介。
- 数据访问服务——这些服务构成了实现授权申请所需功能的办公系统。数据访问服务包括:
- Secure Access Manager(安全访问管理器)
- Data Access Manager(数据访问管理器)
- License Generator(授权生成器)
RMS管理控制台(RMS Management Console)
RMS Management Console 为 Sentinel RMS 的所有组件都提供了图形化界面。可通过 RMS Management Console 管理的组件有:
- Secure Access(安全访问)
- Logging(日志记录)
- Templates(模板)
- Authorization(核准)
- License Generation(授权生成)
RMS Management Console 通过 Secure Access Manager 验证用户身份,执行各种管理任务。。通过验证后,申请将转发到Log Manager 进行记录或 Template Manager 执行任何授权或模板命令。
RMS 使用客户端/服务器架构,RMS Management Console 通过 TCP 连接到数据库服务。RMS Management Console 负责执行各种操作。以下为这些操作的简要列表:
- 登录到数据库服务
- Data Access Manager配置
- 可以让管理用户修改Data Access Manager的配置
- 用户和角色
- 添加用户
- 编辑用户
- 删除用户
- 启用或禁用用户帐户
- 定义用户角色(Admin、Developer、Clerk、Guest/User或以上角色的组合)
- 模板和组
- 添加模板
- 编辑模板
- 删除模板
- 创建组
- 编辑组
- 删除组
- 将模板添加到组
- 从组中删除模板
- 申请核准
- 申请授权
- 向服务器申请锁定选择器
- 申请授权生成
- 查询授权计费情况
在执行任何功能前,必须使用 RMS Management Console 登录到数据库服务。此步骤实际上是通过对远程Secure Access Manager 进行身份验证来完成的。Secure Access Manager 对用户进行身份验证并对该特定用户会话提供一个会话 ID。
授权生成服务(License Generation Service)
License Generation Service(LGS)是 Sentinel RMS 授权分发和实现系统的核心组成部分。通过 LGS,开发者可以自动管理授权申请的实现,并能拓宽其销售渠道。
LGS 会执行申请的核准与授权申请功能,这些功能也可以通过 RMS Management Console 来实现。执行这些功能的目的是可以让应用程序能自动发出申请并自动实现授权。LGS 的组件与 RMS Management Console 相同。
下图显示了受保护的应用程序申请并获取授权的两种可能方法。其中的不同之处在于,RMS Management Console 需要人工操作,而 LGS 则是自动进行的。
下面详细说明了RMS Management Console 和 LGS 使用的组件。

授权控制中心(License Control Center)
A.授权模板
我们可以大致将模板管理的功能划分为四个部分:
- 模板管理
模板管理指所有与授权模板相关的管理。授权模板包含了授权的所有属性,授权模板中授权尚未保护为授权代码。模板管理可以提供创建新模板、修改模板和删除模板的方法。 这样,开发者可以随意定义所需的内容,同时还能具备相当的灵活性,可以让最终用户选择特定授权范围并生成所需的授权。
- 组管理
“组”指的是一些模板的集合。开发者可以创建组来放置由其定义的模板。组管理指Template Manger 所提供的与组相关的功能。其中可以包括创建新组、更新组、删除组、将模板添加或关联到组以及从组中删除模板。
- 核准代码申请管理
在生成授权前,最终用户需要申请核准代码。在核准代码与组之间存在着一一对应的关系。也就是说,一个核准代码将对应一个组。但是,一个组也可能有多个对应的核准代码。在收到申请代码申请时,授权生成服务器将在验证了客户端身份后把申请发送到Template Manager。Template Manager 随后将把申请提供给 Authorization Manager 来生成核准代码。然后它会返回核准代码或相应的错误信息。
- 授权生成申请管理
来自最终用户的授权生成申请将发送到Template Manager。Template Manager 随后将执行必要的数据库操作,提取所需的信息并把授权生成申请提供给 License Generation Manager。 实际上,授权生成是通过两个步骤实现的。首先,客户端向服务器发送消息请求锁定选择程序,这里的服务器是指与指定核准代码关联的组所在的服务器。然后,在收到服务器响应第一条消息提供的锁定选择程序选项后,客户端将向服务器发送锁定信息和真正的授权生成申请。
B.用户核准
License Generation Server (LGS) 支持两种授权申请客户端角色。
第一种角色是Clerk,该角色负责根据所选的产品组(由授权模板组成)生成核准代码。
第二种角色是Guest 或 User,此角色负责根据 Clerk 角色生成的核准码生成授权。
用户核准是 RMS 的重要组成部分。RMS Management Console 可用于生成核准代码,并维护与核准代码关联的保护类型的相关信息。
日志记录
日志记录功能会记录所有的 RMS 活动。日志记录功能使用Data Access Manage 在数据库中获取和存储日志信息。日志记录的内容包括用户登录、用户注销、核准代码申请、授权生成申请和授权模板管理等活动。
数据访问
- 安全访问管理器(Secure Access Manager)
Secure Access Manager 控制着用户的访问并管理会话对象。它还负责生成并维护客户端申请的会话有效期。它将管理与用户相关的各种操作,例如添加、删除、更新、登录和注销等。Secure Access Manager 会与 Data Access Manager 进行通信以获取数据库的访问权。
- 数据访问接口
数据访问接口提供了访问相关数据的方法——无论数据在普通文件还是数据库中。为了保证整体安全性和一致性,将数据访问权集中到一点是非常重要的。为了在 Data Access Manager 中提供最大限度的灵活性,开发者可以自行开发数据访问插件。数据访问接口可以管理不同的插件类型并将后续数据传送到正确的插件。数据访问接口存在于一个基于服务的管理程序,该程序利用.NET 远程接口来与其他相关组件/管理程序进行通信。
- 授权发生器(License Generator)
此组件主要负责使用模板管理程序提供的模板生成授权代码。License Generator 会使用授权生成客户端库来进行所有的授权生成工作。 |