默认特性访问控制预设了“激活访问控制”(Activateaccess control) 选项。可以使用分配的密码以及角色和功能权限对用户进行组态。下载到设备可在 CPU 处于 STOP 和RUN 模式时下载有关本地用户管理和访问控制的组态更改。Runtime timeout可在“安全设置 >用户和角色”(Security Settings > Users and Roles) 中为角色和用户设置运行系统超时。对于S7-1500 CPU,各种服务可采用这些设置,具体如下:• 例如,通过 Web API,可创建采用运行系统超时设置的 Web页面或应用。标准 Web页面不采用运行系统超时设置,并会使用默认值。• 其它服务(PG/HMI 通信和 OPC UA服务器)不使用运行系统超时;已登录用户在设定时间后不会退出。保护11.3 本地用户管理自动化系统系统手册, 11/2023,A5E03461186-AL 29111.3.2 本地用户管理和访问控制的优势下一节介绍了 S7-1500 CPU的新本地用户管理具备的优势,以及具体的变化。快速激活/禁用本地用户管理用户管理的选项位于“保护和安全 >访问控制”(Protection & Security > Access control) 选项卡中:•访问控制禁用:除了用于在线传送证书的 GDS推送功能外,每个用户都可以完全访问所有功能。危险禁用访问控制功能可能会发生未经授权的访问,从而造成人身伤害和财产损失。例如,在调试期间,仅在受保护的环境中使用此设置。•访问控制启用:已组态的用户及其分配的角色和附带的关联功能权限在下载后生效。PG/HMI访问的访问保护,现在采用用户身份验证对于固件版本低于 V3.1 的 S7-1500CPU,可分配访问级别的密码,而对于Zui新版本的CPU,可为用户组态相应的功能权限。这意味着,PG/HMI访问的身份验证选项对应于OPC UA 或 Web 服务器访问提供的选项。集中管理无论在 CPU中组态用户、角色和权限时使用何种服务:必须在同一个位置管理数据。无论是管理项目的工程组态权限还是项目中每个 CPU的本地运行系统权限,所有用户均可在用户和角色编辑器的项目导航中找到。保护11.3 本地用户管理自动化系统292 系统手册,11/2023, A5E03461186-AL强大的密码功能• 创建密码时对复杂性规则的遵守情况:从创建密码阶段开始,可以在 TIAPortal 中检查复杂性规则的遵守情况(例如密码长度、大写/小写字母)。(项目导航的“安全设置 > 设置”(Securitysettings > Settings)区域)。在下载用户管理时,复杂性规则也保存在 CPU 中。在线修改密码时,由 CPU判断是否遵守了这些规则。这可防止用户覆盖组态工程师设置的复杂性规则并分配不安全的密码。•密码的有效期可更改:为了防止用户继续长期使用已泄露的密码访问CPU,可设置密码的有效期。在有效期到期之前,登录时提示剩余的有效时间,以提醒用户及时更改密码。运行期间加载用户管理自固件版本V3.1 起,可在处于 STOP 和 RUN 系统状态时下载某些与安全相关的组态数据。这意味着下载硬件配置并不一定会导致 CPU 进入STOP 状态。可以在 STOP、RUN-Solo 或 Run-Redundant 系统状态中下载以下更改(下载到设备 >硬件配置):• 扩展/更改本地用户管理• 添加/修改 TIA Portal 组态的证书• 更改 Syslog组态如果对硬件配置进行其它更改(例如,添加模块、重新分配参数等),则 CPU 将在下载组态之前自动提示用户,CPU 将进入 STOP状态。因此,如果只是将一个修改过角色/功能权限的用户加载到 CPU,并不会导致 CPU 进入STOP状态。下载的预览对话框包含一个安全区域,以便用户确定具体的下载时间,CPU处理发生更改的用户数据的方式(非初始下载)。允许保留对用户数据的更改(例如,运行期间的密码更改)。将设备作为新站下载 -包含用户数据如果将已组态的 CPU 下载到新项目中,由于没有原始项目,用户数据将下载到此新项目中,并可用于进一步处理 CPU设置。保护11.3 本地用户管理自动化系统系统手册, 11/2023, A5E03461186-AL 293在操作期间更改密码通过Web 服务器 API编写的应用程序,每个用户均可在运行系统中更改密码,前提条件是正确输入了原始密码,并且新密码符合设置的密码准则。要求:已启用 CPU访问控制。用户可随时修改密码,不受密码已过期的影响。如果密码过期,用户必须更改密码。过期的密码将无法登录系统。使用的 API 方法:•Api.ChangePassword• Api.GetPasswordPolicy有关 API 方法的更多信息,请参见“Web服务器功能手册”。说明运行期间更改的密码优先于下载的密码如果在运行操作期间更改了密码并在随后下载了项目,则在运行期间分配的密码优先于项目中设置的密码(默认设置)。如果要通过下载项目来覆盖在运行期间更改的密码,则必须选择“下载所有用户管理数据(复位为项目数据)”(Loadall user administration data (reset to project data))选项。在这种情况下,运行期间更改的所有密码都将丢失。
从用户的访问级别到功能权限以下部分介绍了如何使用 CPU的新本地用户管理来实现访问保护。作为功能权限的访问级别对于固件版本不超过 V3.0 的 S7-1500CPU,只能通过密码控制访问。对于固件版本为V3.1 及更高版本的CPU,若要进行访问控制,可创建具有必要功能权限的相应用户和角色。访问级别和相关功能权限之间的分配基于已知的访问级别:•要拥有完全访问权限,用户必须具有功能权限“完全访问”的角色,对于F-CPU,必须具有功能权限“完全访问(包括故障安全)”的角色。只有当至少一个用户具有“完全访问”或“完全访问(故障安全)”功能权限时,才能编译和下载CPU 组态。• 要拥有只读访问权限,用户必须具有功能权限“只读访问”的角色。• 要拥有 HMI访问权限,用户必须具有功能权限“HMI 访问”的角色。如果用户不具备这些指定的功能权限,则该用户也没有 CPU的访问权限。访问级别的层级结构以及相应的功能权限保持不变:• 具有完全访问权限的用户仍具有“只读访问”和“HMI 访问”功能权限。•具有只读访问权限的用户仍具有“HMI访问”功能权限。说明“ENDIS_PW”指令的兼容性对于“ENDIS_PW”指令,仅可禁用或启用访问级别的密码。“ENDIS_PW”指令对已为用户或角色分配的权限无效。继续使用访问级别尽管新的本地用户管理通过用户的相应功能权限取代了常规访问保护,但访问保护功能仍然可用。例如,对于仅支持访问级别并且尚无法发挥新用户管理功能优势的HMI 设备而言,仍需要使用访问保护功能。例如,如果需要组态访问级别,以确保在没有用户或密码的情况下也可以访问 HMI 设备,则必须在CPU 属性中激活“通过访问级别使用传统访问控制”(Use legacy accesscontrol via accesslevels) 选项。说明OPC UA 和 Web 服务器的用户无论采用哪种访问保护方式,必须在项目导航中(“安全设置 >用户和角色”(Securitysettings > Users and roles) 区域)组态 Web 服务器和 OPC UA服务器的用户。继续使用访问级别的限制使用“传统访问控制”(Legacy access control)选项时,不能直接在访问级别设置表中选择访问级别。只能通过以下一种方式为新的本地用户管理设置此选项:通过“匿名”(Anonymous)用户的访问保护功能权限。系统默认在项目中创建本地用户“匿名”(Anonymous)。借助此用户,可以在没有用户名和密码的情况下进行登录时,确定项目中CPU的特性。基于安全原因考虑,匿名用户已取消激活,使用前需激活。访问级别设置区域通过链接跳转到该编辑器,以设置所需的“匿名”(Anonymous)用户权限。示例:• 如果“匿名”(Anonymous) 用户被禁用或者“匿名”(Anonymous)用户虽然激活但没有分配任何功能权限,则没有用户名和密码任何人都不能登录(对应于访问级别“不能访问(完全保护)”(No access(complete protection)))。• 如果“匿名”(Anonymous) 用户被激活并且 CPU的“完全访问”(Full access) 功能权限通过相应的角色分配给该用户,则此设置的结果为“无保护”(Noprotection)。通过在 CPU 属性的“保护和安全”(Protection & Security)区域中设置“不能访问保护”(No accessprotection),也可以到达此目的。保护11.3 本地用户管理自动化系统296系统手册, 11/2023, A5E03461186-AL操作步骤要激活“传统访问控制”(Legacy access control)并设置所需的访问级别,请按以下步骤进行操作:1. 在 CPU 属性中,转到“保护和安全 > 访问控制”(Protection &Security > Access control)。2. 选择“激活访问控制”(Activate accesscontrol) 选项,并选中“通过访问级别使用传统访问控制”(Use legacy access control viaaccess levels) 复选框。不能在此设置中使用访问级别选择。必须通过 CPU的“匿名”用户设置访问级别。在默认设置中“匿名”用户被禁用。这意味着,没有密码的用户的访问级别为“不能访问(完全保护)”(Noaccess (complete protection))(默认设置)。3. 在项目导航中,转至“安全设置 >用户和角色”(Security Settings > Users and roles)。4.如果要设置“不能访问(完全保护)”(No access (complete protection))之外的访问级别,请激活“匿名”(Anonymous) 用户。可为激活的“匿名”(Anonymous)用户分配一个具有功能权限的角色,该角色无需输入密码即可访问 CPU。5. CPU的功能权限不能直接分配给用户。必须先分配角色:因此,切换到“角色”(Roles)选项卡并添加新角色。分配一个有意义的名称,例如“PLC1只读访问角色”(PLC1-Read-Access-Role)。如果将此角色分配给某个用户,则该用户在运行期间具有PLC1 的只读访问权限。6. 将访问 CPU“PLC1”所需的功能权限分配给角色“PLC1只读访问角色”(PLC1-Read-AccessRole),在本例中为“只读访问”(Read access)。7.切换到“用户”(User) 选项卡,将“PLC1 只读访问角色”(PLC1-Read-Access-Role)角色分配给激活的“匿名”(Anonymous) 用户。结果:“匿名”(Anonymous) 用户具有 PLC1的只读访问权限。这意味着,项目中CPU“PLC1”的访问级别表被预设为“只读访问”(Readaccess)(无法更改),未登录的用户只有只读访问权限。对于完全访问或完全访问(故障安全),必须在表中组态完全访问密码,以实现访问保护。对于在运行期间需要获取CPU 完全访问的用户(例如,将项目下载到CPU上),必须使用此密码登录后才能执行此操作。提示为了便于识别用户权限,相应角色应使用有意义的名称。为整个项目创建用户和角色;必须为项目中的每个CPU 单独选择角色的功能权限。使用描述性名称,有助于快速识别哪些 CPU 具有只读访问权限,哪些 CPU 具有完全保护。