有关写入和访问保护的一般信息
您可以通过访问和写保护来防止对项目进行无意更改。您还可以为其提供读取保护(知识保护)。
写保护:
以下选项可为整个项目提供简单的写保护:
-
打开项目时,选择“打开只读” 选项。
-
您可以在 “Project Information” 中设置 “Released” 状态。
-
在本地文件系统的项目文件属性中选择 "只读 "选项。
为了保护项目中的某些对象不被更改,或者只允许某些用户访问,可以使用用户和 访问权限管理(见下文)。一些目标设备同样支持用户和权限管理。因此,可以限制CODESYS 对目标设备对象和文件的访问。
不过,写入保护和访问保护并不能保护 POU 的专业知识。CODESYS 本身、自动化平台插件以及了解项目文件格式的人员都可以查看或修改用CODESYS 创建的功能块。
知识保护:
项目的知识保护是通过加密项目文件来实现的。可以使用项目密码、CODESYS 安全密钥(加密狗)或证书。我们建议使用密钥或证书进行保护,因为在这种情况下,授权用户之间无需共享秘密。所需的项目加密类型已在项目设置中启用。
您可以通过提供独立于目标系统的 "受保护库"(*.compiled-library
, *.compiled-library-v3
)来实现对库的知识保护。库文件不再包含这种格式的源代码,而只包含加密的预编译上下文。编译器仍能解释这些数据。其他CODESYS 组件或附加插件是否可以访问取决于它们的功能,具体情况具体分析。签名可以进一步加强保护。
启动程序的知识保护和复制保护可通过运行系统加密狗(简单或授权)或证书加密来实现。其中一个选项可在应用程序的对象属性中启用。
用证书加密
在CODESYS 中,可以使用证书对项目和应用程序进行加密和签名,以防止未经授权的访问。
为此,您可以为每个用户配置文件配置特定的安全设置。当用户使用CODESYS 项目时,这些设置总是自动使用。因此,不必为每个项目重新制作。用户配置文件安全功能的一般配置在 CODESYS 的“安全屏幕”视图中完成。请参见下面的个别说明。
您还可以直接使用证书对项目文件或供下载或在线更改的应用程序进行加密:
-
当前项目的用户独立加密在 “Project Settings” 的 “Security” 类别中配置。
-
应用程序与用户无关的加密在应用程序对象的“Properties” 对话框中配置。




注意

使用证书对项目、应用程序或在线代码进行加密后,要再次打开对象,始终需要证书和私钥。
如果安装了CODESYS Security Agent 附加产品,则“安全屏幕” 视图会提供一个附加选项卡:“设备”.这样就可以为与控制器的加密通信配置证书。
证书,Windows 证书库
所有可用证书都位于计算机上的 Windows 证书存储区 (“certmgr”)。钥匙有两种:
-
带私钥的证书
-
用于文件解密
-
用于数字签名
-
-
带公钥的证书
-
用于文件加密
-
用于验证数字签名
-
计算机的 IT 管理员通常会在本地 Windows 证书存储库中填入证书。证书要么使用特殊工具创建,要么由受信任的认证机构(CA)要求创建。
如果收到需要在 Windows 证书存储库中自行安装的证书文件,请双击存储库目录中的文件。根据类型(仅含私钥或公钥的证书),会出现相应的导入向导。
用户管理和密码管理器
可在CODESYS 中管理具有不同权限的用户账户。您可以为每个账户定义用户可以访问项目对象的操作。
用户管理在“项目设置” 的类别“用户和组” 中配置。
在创建用户和组之前,请注意以下几点:
-
权限只能分配给用户组。因此,必须为每个用户分配一个组。
-
组 "Everyone "总是自动存在的,默认情况下,每个用户和每个其他组最初都是该组的成员。因此,每个用户账户都会自动配备至少已定义的标准权限。
您不能删除 "Everyone "组,只能重新命名,也不能从该组中删除成员。
注意:默认情况下,"Everyone"(每个人)无权更改当前用户、组和权限配置!
-
总是自动存在一个包含用户 "Owner "的组 "Owner"。从 V3.5 版开始,最初只有 "所有者 "有权更改新项目中的当前用户、组和权限配置!因此,只有 "所有者 "才能将此权利分配给其他组。
最初,"所有者 "可以使用用户名 "所有者 "和空密码登录。您可以向 "所有者 "组添加更多用户,也可以从中删除用户,但必须至少保留一名成员。与 "Everyone "组一样,你不能删除 "Owner "组,它始终拥有所有访问权限。这可以防止因拒绝所有组的所有访问权限而导致项目无法使用。
您可以重命名组 "Owner "和用户 "Owner"。
-
如果重新启动编程系统或项目,最初不会有用户登录项目。不过,用户可以通过某个用户账户,使用用户名和密码登录,以获得为该账户定义的访问权限。
-
每个项目都有自己的用户管理!因此,例如,要获得集成到项目中的库的某些访问权限,用户必须明确登录到库项目。
即使名称相同,不同项目中定义的用户和组也不相同。
-
项目中的用户管理只有与访问项目和对象的相应权限分配相联系才有意义。项目权限一般在“用户管理”的对话框 “Rights” 中进行管理。您还可以在对象的 “Properties” 的 “Access control” 选项卡上更改单个项目对象的访问权限。
-
“项目 用户管理” 下有标准菜单命令,用于以定义的用户身份登录和退出项目。密码管理器允许管理计算机上的登录数据。
从 V3.5 版开始,最初只有 "所有者 "有权更改新项目中的当前用户、组和权限配置!因此,只有 "所有者 "才能将此权利分配给其他组。




注意

CODESYS 以不可访问的方式存储用户密码。如果忘记密码,用户账户将无法使用。如果忘记了 "所有者 "密码,整个项目可能无法使用!
密码管理器
通过密码管理器,您可以保存在项目登录过程中输入的登录数据记录。可通过登录对话框中的一个按钮访问,并可快速访问当前所需的登录数据。例如,如果您同时在多个库项目中工作,而这些项目受不同密码的保护,这就会很有帮助。
密码管理器本身受个人主密码保护。如果您希望首次使用密码管理器,CODESYS 会要求您在密码管理器配置对话框中定义该密码。CODESYS 会保留主密码,直到您终止当前的CODESYS 会话。在新会话中首次登录密码管理器或更改密码后,必须始终输入密码。
权利管理
为了使用户管理更有意义,有必要对项目和项目中对象的访问权限进行管理。
项目的权限一般在“用户管理”的 “Rights” 编辑器中管理。您还可以在对象的 “Properties” 对话框的 “Access control” 选项卡上更改单个项目对象的访问权限。
在分配权利之前,请注意以下几点:
-
在新项目中,CODESYS ,总是将对象上执行操作的所有权限设置为默认值 "允许"(标准权限)。唯一的例外是更改当前用户、组和权限配置的权利。最初只有 "所有者 "组拥有这项权利。
-
如果你是允许更改权限的小组成员,你可以在进一步处理项目时随时更改每个权限。您可以通过在 "允许 "和 "禁止 "之间切换或重置为默认值来更改权限。
归档、保存
在将项目文件保存到文件系统之前,为其提供所需的保护;见上文。对于只读项目文件,您可以根据写保护的类型选择不同的选项,这样您仍然可以保存文件。
如果以后要在较旧的CODESYS 版本中打开项目,则应将项目保存为该版本(文件类型),因为CODESYS 也会立即通知您保存过程中可能丢失的数据。
如果您希望保存库项目,请遵守创建库的规则。还可以考虑直接在库资源库中安装库。
如果希望在另一台计算机上继续使用项目,不仅要保存项目文件,还要将所有相关辅助 文件创建成项目存档。
您可以进行设置,以便在每次保存项目时创建项目的备份副本。此外,您还可以配置CODESYS ,使项目一般在特定时间间隔自动保存。
如果希望将项目保存在源码控制系统中,请查看CODESYS 的相应插件。例如,支持指向 SVN 的链接。