请选择 进入手机版 | 继续访问电脑版

ITIL,DevOps,ITSS,ITSM,IT运维管理-ITIL先锋论坛

 找回密码
 立即注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

查看: 228|回复: 0

[功能实施] 系统管理-扩展模块-人员信息遮盖

[复制链接]
匿名  发表于 2020-12-11 10:11:14 |阅读模式
本帖最后由 adminlily 于 2020-12-11 10:36 编辑

人员信息遮盖

名称:人员信息遮盖

描述:帮助程序扩展,可快速使iTop中的人员匿名。

版本:1.0.0

发布:2018-07-04

itop-version-min:2.4.0


代码:combodo-anonymizer

一个帮助程序扩展,可以快速匿名化iTop中的“Persons”。

特征
  • 从一个给定的人中删除该人的数据,而无需通过“匿名”该人来删除iTop中的该人对象。
  • 可以一个人或批量完成(来自“人员列表”)
  • 从此人员,其历史记录和该人员编写的案例日志中删除信息(不是该人员编写的实际文本,而是标题中提到此人员的信息)
  • 可以安排自动匿名处理在给定时间段(即60天)内被标记为过时的所有人员


修订记录

日期版本描述
2018-07-041.0.0首先公众版本解决了iTop 2.4.x菜单创建中的问题。
2018-06-070.0.3错误修复:修复了案例日志的匿名化。
2018-06-060.0.2第二个版本,兼容性扩展到iTop 2.4.0。
2018-05-310.0.1首款版本仅与2.5.x兼容


局限性
确保一个人的有效和完全匿名是非常困难的,因为可以使用该人的关系来(重新)发现该人的真实身份。

此扩展执行的操作实际上称为“假名”。除非您要处理敏感的数据(病历,信用卡号……),否则通常使用这样的假名来保护数据业务中的个人数据。

在iTop的上下文中,带有诸如邮件自动创建工单之类的扩展名,工单描述和案例日志条目可以包含人员签名,此扩展名不会清除该人员签名。

好的实践是归档,然后删除与匿名提交人相关的工单。

如果您有两个具有相同名称的人,并且您将其中一个匿名了,那么来自这两个人的历史记录条目将被匿名化。

如果一个人的名字改变了,那么与它以前的名字有关的历史和案例日志标题条目将不会被匿名化。

要求
此扩展需要iTop 2.4.0或更高版本

配置
您可以使用“管理工具配置Anonymization”菜单配置是否激活自动匿名化(由后台任务执行):


如果启用,匿名后台任务将每天运行一次,并根据配置定义的延迟自动使过时的联系人匿名,并删除所有通知,不仅删除那些已发送给该人的,超过天数的通知。

用法
此扩展在Person类的“其他操作活动”菜单中添加了新的自定义功能“匿名化”。


确认消息后,该人将被匿名化并显示结果:


人与其他对象之间的所有关系都被保留,但是:

  • 对象除(仅显示该人已被匿名的条目)
  • 对于任何引用,都会将案例日志标头(在所有包含案例日志的类中)清除为该人员的姓名
  • 历史记录条目(用于与该人员关联的用户账号所做的更改)将从该人员的姓名中清除。

可以在列表上执行相同的功能(但该列表必须仅是“人员”列表)


如果您已选择(在“偏好”菜单中)不显示过时的项目,则在执行匿名化之后,已匿名化的联系人列表将显示为空,因为现在所有联系人都处于“非活动状态”,因此标记为已过时。

匿名机制
对于给定的人,匿名化流程包含:

  • 清除所有非强制性字段
  • 用预定义值填充必填字段(名称设置为“联系人”,而first_name设置为“ Anonymous”)
  • 将联系人标记为“无效”
  • 将联系人保存在数据库中
  • 清除联系人的历史记录,仅剩一个历史记录条目表明该联系人已被匿名化。
  • 将所有案例日志标头中的联系人的友好名称替换为字符串“ *”(考虑到案例日志的设计,为每个案例日志标头保留完全相同的长度会更加简单快捷)
  • 用其匿名名称替换所有CMDBChange记录中的联系人的友好名称。


使匿名化适应您的数据模型

该扩展向Person类添加了几种方法。由于这些方法是在XML中定义的,因此您可以轻松地更改它们在XML中的重新定义。

  • Anonymize():这是匿名化扩展调用的职能。除非要完全重新定义匿名化机制,否则无需修改它。
  • SetAnonymousValues():使用匿名值填充当前Person的必填字段。如果通过在Person类上添加必填字段来更改标准数据模型,请采用此方法。默认实现如下:


/** * Fill the mandatory fields of the current Person with anonymous values. * * Adapt this method if you have altered the standard data model by adding * mandatory fields on the Person class. */ public function SetAnonymousValues() { // Put some more fancy values $this->Set('name', Dict::S('Anonymization:Person:name')); $this->Set('first_name', Dict::S('Anonymization:Person:first_name')); // Mark the contact as obsolete $this->Set('status', 'inactive'); }

  • PurgeHistory($ sOriginalName,$ sAnonymizedName):此函数从修改历史记录中删除对Person原始名称的所有引用,并将其替换为新的匿名名称。
  • CleanupCaseLogs($ sPersonFriendlyName):从此人输入的所有案例日志标题条目中删除给定的友好名称。

变更历史仅包含制作变更的人员的友好名称。结果,如果您有两个具有相同名称的人,并且您将其中一个匿名了,那么来自这两个人的历史记录条目将被匿名化。

如果一个人的名字改变了,那么与它以前的名字有关的历史和案例日志标题条目将不会被匿名化。






上一篇:系统管理-扩展模块-到期通知
下一篇:系统管理-扩展模块-预定义回复模型
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

参加 ITIL 4 基础和中级专家认证、v3专家升级、DevOps专家认证、ITSS服务经理认证报名
本站关键字: ITIL| ITSM| ISO20000| ITIL培训| ITIL认证| ITIL考试| ITSS| ITSS培训| ITSS认证| IT运维管理| DevOps| DevOps培训| DevOps认证| itop| itil4| sre| 开源ITSM软件

QQ|ITIL先锋论坛 ( 粤ICP备11099876号 )|appname

Baidu

GMT+8, 2021-11-27 13:19 , Processed in 0.126765 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表