程序员

首页 » 常识 » 问答 » 如何管理放疗过程中的那些人来,来,来,看
TUhjnbcbe - 2024/3/26 17:08:00

放射治疗过程是一个复杂的过程,多种设备、具备不同背景的人员协同配合才能安全、有效、保质、保量地完成放射治疗的任务。使用放射治疗计划系统(TPS)、放疗信息系统(RTIS),以及放疗软件的用户具有不同的专业背景和职责分工,这些用户主要包括管理者(比如,院长,放疗科主任),肿瘤医生(又细分为高年资和低年资),放射治疗物理师(又细分为高年资和低年资),计划员,操作技师,放疗护士等。这些用户对于系统的功能需求有很大的不同,为保证系统的使用安全,非常有必要对使用系统的用户进行角色的分配和权限的划分,以避免功能的非授权使用。因此,用户权限管理技术的应用是保证放疗软件能够被安全使用的首要前提。

一图全面了解放射治疗过程

放射治疗设备之放疗信息系统

本文以放射治疗计划系统(TPS)为例,阐述访问控制技术在放疗软件中的应用。

访问控制技术简介

访问控制是指防止对资源的未授权使用,包括防止以未授权方式使用某一资源。访问控制就是实施允许被授权的主体对某些客体的访问,同时拒绝向非授权的主体提供服务的策略。

TPS中的主体就是使用计划系统的用户,也就是人。TPS要提供对这些用户使用治疗计划系统功能的授权,从而使用户能够正常地,并且按照预期使用目的使用治疗计划系统。通过对用户的访问授权,可以使TPS软件在一个合理的范围内使用,保证了数据和系统的安全。

三种主要的访问控制策略

二十世纪七十年代以来,专家学者们依次提出了三种访问控制策略:自主访问控制(DAC);强制访问控制(MAC);基于角色的访问控制(RBAC)。

自主访问控制模型的优点是具有相当的灵活性,但是安全级别相对较低。

强制访问控制的优点是管理集中,但是实现工作量太大,管理不便,不适用于主体或客体经常更新的应用环境。

RBAC发展简史

年,DavidFerraiole和RickKuhn在综合了大量的实际研究之后,率先提出了基于角色的访问控制模型框架,并给出了RBAC模型的一种形式化定义。

RaviSandhu和他领导的位于GeorgeMason大学的信息安全技术实验室于年提出了著名的RBAC96模型,并于年提出了一种分布式RBAC管理模型ARBAC97,实现了在RBAC模型基础上的分布式管理。

这两个模型清晰地表征了RBAC概念并且成为RBAC的经典模型。年,RBAC领域的领军人物DavidFerraiolo和RaviSandhu等人联合拟定了一个RBAC模型的美国国家标准草案,并对所有RBAC的基本操作都给出了伪码定义。

美国国家标准与技术研究所已经于年将RBAC模型作为访问控制的国家标准,标准号为-。

RBAC模型的基本原理

在RBAC模型中,角色是实现访问控制策略的基本语义实体。系统管理员可以根据职能或机构的需求策略来创建角色、给角色分配权限和给用户分配角色等。

基于角色访问控制的核心思想是将权限同角色关联起来,而用户的授权则通过赋予相应的角色来完成,用户所能访问的权限就由该用户所拥有的所有角色的权限集合的并集决定。

角色之间可以有继承、限制等逻辑关系,并通过这些关系影响用户和权限的实际对应。

从以上三种访问控制方式的对比来看,基于角色的访问控制模型更适合于TPS软件。

因为,在使用治疗计划系统的机构中,用户包括肿瘤医生,计划员,物理师,主任物理师,系统管理员等。

系统管理员可以根据实际的需要添加使用治疗计划系统的角色,对角色授予相应的权限。

增加用户时,只要选择他所对应的角色(医生,计划员,物理师,主任物理师)就可以了。这种管理方式非常适合于用户管理。

基于角色访问控制的RBAC模型

1.RBAC模型的基本思想

RBAC(角色访问控制)的基本思想可简单地用图下表示。

RBAC模型的基本思想

RBAC是把整个访问控制过程分成两步:访问权限与角色相关联,角色再与用户关联,从而实现了用户与访问权限的逻辑分离。

由于RBAC实现了用户与访问权限的逻辑分离,因此它极大的方便了权限管理。

例如,如果一个用户的职位发生变化,只要将用户当前的角色去掉,加入代表新职务或新任务的角色即可。

角色权限之间的变化比角色用户关系之间的变化相对要慢得多,并且委派用户到角色不需要很多技术,可以由行政管理人员来执行,而配置权限到角色的工作比较复杂,需要一定的技术,可以由专门的技术人员来承担,但不给他们委派用户的权限,这与现实中情况正好一致。

放疗加速器操作间

2.RBAC中的术语

用户(User)是一个访问计算机系统中的数据或者用数据表示的其它资源的主体。我们用U表示全体用户的集合。用户一般情况下指人,也可为Agent,程序,进程,或者其他的设备等等。

权限(Permission)是对计算机系统中的数据或者用数据表示的其它资源进行访问的许可。我们用P表示全体权限的集合。权限一般是一种抽象概念,表示对于某种客体资源的某种操作许可。因此有的模型中将权限细化为二元组(操作,对象),其中对象是访问控制系统中的真正客体,操作是作用在该对象上的一种访问方式。

角色(Role)是指一个组织或任务中的工作或位置,代表了一种资格、权力和责任。我们用R表示全体角色的集合。角色是一种语义综合体,可以是一种抽象概念,也可以对应于具体应用领域内的职位和权利。

管理员角色(AdministratorRole)是一种特定的角色,用来对角色的访问权限进行设置和管理。在集中式管理控制模型中,管理员角色由一个系统安全管理员来完成;而在分布式管理控制模型中,可以采用制定区域管理员来对系统进行分布式管理,每个管理员可以管理该区域内的角色权限的配置情况。当然区域管理员的创建和权限授予则统一由顶级的系统安全管理员完成。

用户指派(UserAssignment)是用户集U到角色集R的一种多对多的关系,即有UA(U×R),也称为角色授权(RoleAuthorization)。(u,r)∈UA表示用户u拥有角色r,从语义上来说就表示u拥有r所具有的权限。

权限指派(PermissionAssignment)是权限集P到角色集R的一种多对多的关系,即有PA(P×R)。(p,r)∈PA表示权限P被赋予角色r,从语义上来说就表示拥有r的用户用有限p。

角色激活(RoleActivation)是指用户从被授权的角色中选择一组角色的过程。用户访问的时候实际具有的角色只包含激活后的角色,未激活的角色在访问中不起作用。相对于静态的角色授权来说,角色激活是一种动态的过程,提供了相当的灵活性。

会话(Session)对应于一个用户和一组激活的角色,表征用户进行角色激活的过程。一个用户可以进行几次会话,在每次会话中激活不同的角色,这样用户也将具有不同的访问权限。用户必须通过会话才能激活角色。

3.CoreRBAC

CoreRBAC包含了RBAC标准的最基本的内容,RBAC的基本思想是用户被设置为某个角色,角色被授予权限,用户通过被设置为某个角色来获得该角色所拥有的权限。CoreRBAC模型的定义如下图所示。

CoreRBAC模型

CoreRBAC包括五个基本数据元素,即用户,角色,资源,控制,授权。它们之间的关系为:用户被分配一定角色,角色被分配一定的许可权,会话是用户与激活的角色集合之间的映射,用户角色的关系定义和角色权限的关系定义无关。根据实际的调研,CoreRBAC的模型完全能够满足目前TPS系统功能需求。因此,在TPS的研发中可采用CoreRBAC模型,同时该模型又很容易扩展,能够很好的支持将来需求变更。

RBAC模型的应用和实现

在TPS中采用RBAC模型的一个最大的好处就是将用户和权限分离开来,管理员可以将用户的授权和权限的划分分别处理,将权限授予角色,将用户授予某个角色,从而完成授权的操作。这种权限分离的思想充分体现了面向对象的思想,使得开发出来的权限管理模块的通用性和可复用性更强,最大限度地避免了开发人员的重复性工作。在开发放射治疗计划系统的时候,访问控制模块可以作为一个独立的模块开发,它与整个放射治疗计划系统的关系如下图所示。

访问控制模块与TPS系统之间的关系

1.角色的划分

结合与放射临床医生交流的结果和基于系统设计角度的考虑,在实现访问控制模块的时候定义了超级系统管理员,系统管理员,主任物理师,物理师,临床医生,计划师等角色。每个角色所具备的权限由系统事先约定,同时访问控制模块还提供了用户界面接口,系统管理员可以根据实际的临床使用需要对用户进行角色的分配和权限的授予。

2.数据库表结构的设计

为了实现RBAC访问控制模型,在数据库的设计上采用以下四个与权限控制相关的表。

RABC数据库表结构

下面简要分析数据库的基本表和相关操作。

(1)用户信息表1是系统中的个体用户集,随用户的添加与删除动态变化。

(2)角色信息表2是系统角色集,随着角色的添加与删除动态变化。

(3)用户角色信息表3存储了用户所对应的角色信息,随着用户角色的改变而变化。

(4)角色权限信息表4存储了角色所对应的权限信息。随着角色对应权限的变化动态变化。

3.访问控制模块系统结构

访问控制模块由数据库操作模块、身份认证模块、系统管理模块、会话管理模块组成,每个模块具体的功能和与数据库的关系如下:

(1)数据库管理模块负责完成与数据库相关的操作。

(2)身份认证模块通过用户标识、用户口令确认用户身份,使用用户信息表。

(3)会话管理模块管理当前被激活的用户信息,使用用户角色信息表。

(4)系统管理模块主要完成用户增减、角色增减、用户角色的分配、角色权限的分配,分别使用用户信息表,角色信息表,用户角色信息表,角色权限信息表。

在放射治疗中增加访问控制模块后,TPS系统的运行流程见下图。`

访问控制模块运行流程图

4.访问控制模块在VC6.0下的实现

访问控制模块中的类主要包括如下几个:

NAdminofRBAC:基于RBAC访问控制的管理类,封装了系统管理模块的相关属性和方法。这个类的主要方法包括

AddUser(),DropUser(),ActiveUser(),增加/删除/激活用户AddRole(),DropRole(),ActiveRole(),增加/删除/激活角色AssignPermissiontoRole(),DropPermissionofRole(),给角色增加/取消许可AssignUserasRole(),DropUserasRole(),为用户分配/取消角色SetRoleDimension(),设置角色基数NSessionofRBAC:基于RBAC访问控制的会话类,封装了会话管理模块的相关属性和方法。

NIdentifyofRBAC:基于RBAC访问控制的身份认证类,封装了身份认证模块的相关属性和方法。

NDataBaseProc:数据库操作类,封装了与数据相关的属性和方法。

结论

依据放射治疗过程的特点,基于角色访问控制的RBAC模型是最适合在放疗软件中应用的访问控制技术。放疗行业的领军企业,美国瓦里安公司的ARIA放疗信息系统产品中的用户权限管理使用的就是RBAC技术。

END

1
查看完整版本: 如何管理放疗过程中的那些人来,来,来,看