第1节 – 安全模型
本节目标:
定义安全模型
了解InTouch安全性
本章主要讲述了InTouch开发环境中使用的三种安全模式。重点是基于InTouch的安全
模型。
简介
本章内容主要讲述了InTouch开发环境中使用的三种安全模式(“None”选项不再赘述)。
重点是基于InTouch的安全模型。
所有的InTouch安全方法都可以在应用层配置,意味着您可以在同一台计算机上操作两
个使用不同安全级别的应用程序。
所有三种安全方式都和应用程序分配的网络应用程序开发(NAD)兼容。基于InTouch
的安全性与以往的版本一样使用NAD。需要NAD的更多信息,请查看InTouch用户手册的网
络应用程序开发。
InTouch开发者可以在三种安全模式中选择:
ArchestrA Security: 基于ArchestrA安全性的工业应用程序服务器(IAS)不论是否使
用NAD都采用集中式管理。
IAS安全性关系的行为可以在集成开发环境(IDE)中进行配置。要获得IDE的更多信
息,请查看Wonderware ArchestrAIDE用户手册。
在选择了ArchestrA身份验证和授权后,在配置/安全性中的修改密码、登陆、配置用户
和退出选项菜单均不可用。
关于IAS的详细信息会在单独的课程中介绍。
InTouch Security:通过给您的应用程序使用安全性设置,您可以将各功能链接到内部
标记,以控制操作员被允许执行哪些功能。可以创建审核跟踪把操作员在登录期间系统中所
有的报警和事件联系起来。
安全性是建立在操作者登录到应用程序的基础上的,输入他/他的用户名和密码。您必
须给每个操作者配置一个用户名,密码和访问级别。
微软操作系统安全性和InTouch安全性之间没有联系。
注:本文档为萨美特科技有限公司独家翻译,仅允许内部人员使用,不得作任何商业用途,违者必究。
Operating System Security:如果身份验证方式是基于操作系统,用户名是Windows域
名/用户名对。用户名可以从与用户关联的Windows网络域/工作组列表中选取。每个用户名
都被分配了一个访问级别以确定用户的给定行为权限。
因为操作系统内部管理这些密码,InTouch不会存储密码。
基于操作系统的安全性使用InTouch脚本功能AddPermission来维持用户列表和他们相
应的访问级别。这个列表,是在完成AddPermission()命令后创建并写入磁盘的。这个包
含了用户详细身份验证的文件是不能被拷贝到NAD客户机的。
操作系统安全性方案使InTouch能满足管制性行业的安全要求。这些规范由美国食品药
品管理局(FDA)在CFR21中的第十一部分规定。
InTouch 安全性
InTouch的安全性意味着不同的人对应着不同的事:应用程序设计者可能想要操作系统
安全,审核操作者的行为,或者使InTouch应用程序自身安全。为了适应不同的需要,InTouch
安全方案包括了不同的应用程序有不同的选项。
在某些情况下,安全性最重要的一方面,是限制操作者在本地节点访问其他节点的
Windows应用程序或操作系统。
使用脚本功能可以锁住像
之类的键。可以配置WindowViewer一直最大化
运行或隐藏其菜单让操作者不能关闭它。
其他的实例安全性可以包括审计操作者的行为(保持追踪何时做过何事)。Intuouch
事件和系统静态标记能追踪这些行为。
在另一些情况下安全性意味着通过事先为当前用户(像用户名)或当前用户所属的组(类
似于角色)进行特别设定来限制应用程序的一些重要功能。
这些功能通过使用限定的访问级别给对象设置visibility和disable链接来实现(例如,一
个按钮来打开一个窗口)。
InTouch保留了传统的InTouch安全性,基于包含应用程序的用户及密码和访问级别的
二进制文件。InTouch还包含了其他的安全性脚本功能和系统标记。
注:本文档为萨美特科技有限公司独家翻译,仅允许内部人员使用,不得作任何商业用途,违者必究。
InTouch应用程序安全性
InTouch应用程序的安全性工具意味着必须创建用户,并为这些用户指定一个可以登录
到应用程序窗口的方式。
当创建好一个新的应用程序,默认状况下用户名设置为访问级别为0用户名为NONE(无
权访问安全命令)。这个级别阻止在WindowMaker和WindowViewer中访问“配置用户”。
因此,您必须为系统配置一个访问级别大于或等于9000的用户名,以便日后访问这些安
全用户列表。
一旦某个操作者登录到应用程序,访问任何受保护功能时,链接到这些功能的内部安全
标记就会按照指定的值验证操作者的密码和访问级别。
比如,您可以指定当登录的操作者访问级别大于2000时便可访问一个窗口、某个对象的
可见性等等。
备注:操作者可以通过执行在WindowViewer中的特殊→安全性→登陆命令登录到应用
程序,(假如Special按钮显示的话)或者创建一个自定义的带有链接到内部安全标记的触
控对象的登录窗口。
建立应用程序安全性的命令位于WindowMaker和WindowViewer下面的特殊→安全命
令。
这个安全命令用于登入或退出应用程序,修改密码和配置正确的用户名、密码和访问级
别。
InTouch 的安全功能
当使用InTouch时必须考虑三个主要方面的安全性:
操作系统的安全性
审核
应用程序的安全性
注:本文档为萨美特科技有限公司独家翻译,仅允许内部人员使用,不得作任何商业用途,违者必究。
操作系统的安全性
许多InTouch应用程序要求操作者全天24小时监测过程。在这种情况下,通常要求操作
员只能访问Windows应用程序中的InTouch。如果对View进行正确的配置,操作系统的工具
栏、系统文件和其他Windows应用程序(像纸牌游戏)将难以访问。
操作系统安全性是从WindowViewer 属性 – 窗口配置(特殊→配置→WindowViewer)
中进行配置。
InTouch包含了脚本功能EnableDisableKeys()在运行时用来启用或禁用ALT、TAB或
WIN键。禁用这些键来阻止用户从Windows应用程序和访问工具栏之间切换。这个功能和
WindowViewer设置配合起来使窗口永远最大化并隐藏菜单栏和Windows控制选项,能有效
的保护操作系统的安全。
另一种常见的方式是在View中的隐藏/显示菜单栏,创建一个弹出风格的窗口,X、Y坐
标设置为0,-38像素。宽度等于显示器的分辨率(如1280×1024)。本实验使用Windows2003
操作系统,屏幕分辨率为1280×1024。操作系统不同,分辨率值也可能发生相应的变化。如
果使用XP外观效果,坐标值为-48和+48.
注:本文档为萨美特科技有限公司独家翻译,仅允许内部人员使用,不得作任何商业用途,违者必究。
审核
保持追踪操作者并不能使InTouch应用程序更加安全,但它是InTouch安全性中重要的
一部分。
当用户和组(或者角色)创建并用于InTouch应用程序,审计跟踪能够将操作者在登录
系统期间所有的报警和时间联系起来。报警和时间从本质上来讲非常相似,它们都要求一个
条件发生并将其记录下来。不同的是事件不像报警,不需要确认。
这个报警控制窗口包含了指向链接OS/ArchestrA的安全标记。分布式报警对象则没有。
备注:要学习更多关于Alarm Viewer Control,我们建议您参加InTouch高级应用程序
开发课程。
应用程序安全性
InTouch提供了大量的系统标记和脚本功能,让InTouch开发者可以去配置单个的应用
程序的安全性。
备注:给应用程序应用安全性时可选。InTouch应用程序默认的安全设置时None。
但是,通过给应用程序使用安全性功能,您可以通过内在的标记链接到这些功能,控制
操 作 者 能 执 行 的 操 作 。 一 旦 一 个 用 户 有 效 并 登 录 到InTouch 应 用 程 序 ,$Operator 和
$AccessLevel系统标记包含了关于用户和访问级别的信息。
备注:如需完整的系统标记和脚本功能文件,请查看InTouch参考指南。
$AccessLevel是一个用于InTouch应用程序安全性的标记。它是一个用来修改用户
($Operator)能做什么的主要标记。例如,要使一个按钮失去作用只需要在它上面设置一
个表达式为$AccessLevel < 9000的"不可用" 或"可视化"类型链接。
注:本文档为萨美特科技有限公司独家翻译,仅允许内部人员使用,不得作任何商业用途,违者必究。
InTouch身份验证方案
用户对照一个包含了用户名、密码和访问级别的二进制文件进行身份验证,就是所说的
InTouch身份验证。除了这种模式,InTouch程序设计员还能使用操作系统身份验证、
ArchestrA身份验证、或者根本不进行身份验证。
在应用程序中建立安全性的命令也可以选择WindowMaker主菜单的特殊→安全性。这
个安全命令可用于登入或退出应用程序、修改密码和配置有正确用户名、密码和访问级别的
列表。
您也可以链接到用户输入 – 离散按钮,使用$ConfigureUsers标记来允许一个已有的且
访问级别大于等于9000的操作者来显示配置用户对话框。这个对话框用来编辑安全用户名列
表。
当操作者单击这个按钮,$ConfigureUsers标记的值置为1,配置用户对话框出现。当操
作者关闭这个对话框,这个系统标记重新为0(这是一个仅用来写操作的系统离散标记)。
如果在WindowViewer中特殊菜单没有显示,您可以创建一个自定义的用户登录窗口用
来让操作者登录到应用程序。
您同样也可以链接到一个用户输入-离散按钮,使用$ChangePassword标记名来显示修
改密码对话框并允许操作者修改其密码。当操作者单击这个按钮,$ChangePassword的值置
为1,修改密码对话框出现。
当操作者关闭这个对话框,系统重新将值置为0(这是一个仅用来进行写操作的系统离
散标记名)。
“None”和“Administrator”名称一直保留。只有Administrator的密码能修改。一旦
您 为 应 用 程 序 配 置 用 户 名 , 您 应 该 在 使 用 这 个 系 统 的 大 多 数 用 户 知 道 之 前 修 改
Administrator的密码。Administrator默认的访问级别为(9999)最高,允许访问任何东西
包括配置用户菜单命令。
注:本文档为萨美特科技有限公司独家翻译,仅允许内部人员使用,不得作任何商业用途,违者必究。
创建一个自定义的安全登录窗口
$OperatorDomainEntered, $OperatorEntered, 和 $PasswordEntered是在这个自定义
的登录对话框中要求使用的三个标记。给这些标记创建一个弹出窗口,并设置用户触动链接
( 用 户 输 入 字 符 串 ) 。 如 果 提 供 的 credentials 是 有 效 的 , $Operator,$AccessLevel,
$OperatorName, $OperatorDomain将会开始更新。
备注:$OperatorDomainEntered标记只在OS安全性中使用。
如果Windoeviewer中的特殊菜单没有显示,可以创建一个自定义登录窗口让操作者登
录到应用程序。
链接$OperatorEntered, $PasswordEntered 和 $OperatorDomainEntered系统标记到
用户输入项目或者在QuickScript中使用它们来设置用户名、密码和域名。这些内部的消息
类型变量只提供写操作。
例如:
设置用户名字符串到 ->$OperatorEntered
设置用户密码字符串到 ->$PasswordEntered
$OperatorDomainEntered只有当安全模式基于操作系统时才被要求。同样,如果安全
模式是基于操作系统而且$OperatorDomainEntered值是无效的,那么它被视为指向本地机
器。
当一个操作者登录到应用程序中,访问任何受保护的功能时,都会通过内部安全标记链
接的功能指定的值来验证操作者的密码和访问级别。
系统标记安全关系
$Operator、$AccessLevel和$OperatorName三个内部安全标记被用于按钮、动态链接
表达式或QuickScripts等。这些标记控制了登录的操作者是否被允许使用特定的功能。
下表中列出了所有系统标记的安全关系。
标记名
$AccessLevel
$ChangePassword
$ConfigureUsers
$InactivityTimeout
$InactivityWarning
$Operator
$OperatorName
$OperatorDomain
$OperatorDomainEntered
$OperatorEntered
$PasswordEntered
$VerifiedUserName
类型
系统整型
系统离散
系统离散
系统离散
系统离散
系统消息
系统消息
系统消息
系统消息
系统消息
系统消息
系统消息
有效值
0-9999
1或0
1或0
1或0
1或0
最多16个字符
最多131个字符
最多16个字符
最多16个字符
最多16个字符
最多16个字符
最多16个字符
访问权限
只读
读写
读写
读写
读写
只读
只读
只读
只写
只写
只写
只读
例如,使一个对象根据登录者的访问级别决定是否可见,则使用下述可视化动态链接表
达式:
$AccessLevel >= 2000
或者由使用了IF语句的QuickScript来限定:
IF $Operator == "DayShift" THEN
Show "Control Panel Window";
{and other lines that only execute for the DayShift Operator}
注:本文档为萨美特科技有限公司独家翻译,仅允许内部人员使用,不得作任何商业用途,违者必究。
ENDIF;
您同样可以通过使用了Disable动态链接的内部安全标记的值来控制一个对象的触动功
能。例如:
如果没有人登录且使用了上述表达式,则可防止对象或按钮内容被篡改。
配置安全等级
a. 选择特殊→安全→选择安全类型→InTouch。
b. 如 果 您 第 一 次 使 用 安 全 性 功 能 , 您 必 须 使 用 用 户 名 Administrator 和 密 码
Wonderware登录。使用特殊→安全性→登录。
c. 选择特殊→安全性→配置用户。
配置用户对话框出现:
用户名:给用户指定一个名称。
口令:输入一个口令(最多32个字符)。
访问级别:输入一个值(最小=0,最大=9999)。
d. 单击添加按钮来添加这个用户名到安全列表中。
要修改一个已经存在的用户名,选择此用户名。
输入您的修改然后单击更新来接受修改。要删除一个用户名,在列表中选择它并单击删
除按钮。
注:本文档为萨美特科技有限公司独家翻译,仅允许内部人员使用,不得作任何商业用途,违者必究。