ACL 实施示例
为了阐明管理员在特定站点实施策略和权限的方式,下面以 xyzBusiness 公司为例,该公司现有两个重要软件开发项目。
xyzBusiness DemoApp 团队是一个成熟团队,负责开发对公司健康状况至关重要的应用程序。而 DemoDotCom 项目是试验性研究团队,负责研究新的在线产品和未来多元化的领域。这两个项目需要不同的管理方法和操作策略:
DemoApp 作为主要收入来源,管理层必须确保 DemoApp 的开发按计划进行并按时交付。对于 DemoApp 的管理必须相对严格。
因为 DemoDotCom 项目旨在研究未知领域,所以其策略无需太过严格。实际上,更正错误和进行开发更改需要便利的方式。
以下各节将介绍 xyzBusiness 中的管理员如何设置用于配置管理的 ACL,并将 DemoApp 的关键方面纳入考虑,同时给予 DemoDotCom 所需的自由度和创新性。
XyzBusiness 环境支持两组不同的开发实践。管理员必须首先为整个站点建立控制参数。但是,xyzBusiness 的管理团队希望将严格锁定应用到其开发环境,以便更好地保护重要数据。这样所有成员文件都受写保护,以保持修订版本控制过程的完整性。
要实施这些规则,管理员可在全局配置管理策略选项中启用并强制执行排他锁策略。有关详细信息,请参阅配置管理策略选项
下一步是为每个项目的开发人员提供适当权限,并确保不会出现重叠而导致安全漏洞。
在研究了各种用户的需求后,管理员决定应允许所有已注册用户执行以下操作:
打开项目、沙盒和成员历史记录
检出项目成员或存档修订版本的只读副本
查看项目和存档活动的汇总报告
要实现此目的,管理员首先在 mks:si ACL 上定义 everyone 组中的以下 ACL 权限集,从而限制全站点权限。
Login
FetchRevision
OpenProject
通过此权限,管理员可确保在站点注册的用户只能执行所需的操作,除非项目 ACL 为其分配其他权限。未注册的用户无法访问 Windchill RV&S 的配置管理功能。
最后一步是为每个项目团队的成员分配合适权限。
xyzBusiness 大多数程序员参与了其中一个项目,也有一些程序员同时参与两个项目。管理员面临的困难是通过建立 ACL 条目为每个团队的程序员提供不同权限,同时避免重叠。
由于一些程序员同时参与两个项目,因此管理员决定在网络身份验证系统中创建名为 DemoApp Developer 的角色和名为 DemoDotCom Developer 的角色。通过在每个项目的 ACL 中为角色定义不同的权限,管理员可以为每个项目中对同一程序员分配不同权限。
在 xyzBusiness,管理员为每个项目的 Developer 组定义允许的权限。
DemoApp Developermks:si:project:id:DemoApp
DemoDotCom Developermks:si:project:id:DemoDotCom
CheckIn
ApplyLabel
FetchRevision
AddMember
Lock
CheckIn
Login
Checkpoint
OpenProject
CreateProject
CreateSubproject
Demote
DropMember
FetchRevision
Lock
Login
OpenProject
Promote
接下来,管理员给每个角色分配用户。DemoApp 团队中的程序员只会收到在 DemoApp 项目的 Developer 角色中定义的权限,而 DemoDotCom 的程序员则只会收到 DemoDotCom 项目中定义的权限。
这样 DemoApp 程序员可以针对其项目及成员文件自由展开工作。他们可以创建沙盒、检入、检出等,但无法执行以下操作:
升级或降级项目成员
添加或删除成员
创建新项目或存档
添加标签
这些权限满足管理的控制需求,同时使程序员可以根据需要自由更新文件。
有关配置管理权限的详细说明,请参阅配置管理权限
DemoDotCom 项目的 Developer 组则有所不同。所有团队成员拥有更开放的项目访问权限。因为在本质上,DemoDotCom 项目是探索性和创造性的,所以不需要为 DemoApp 设置更保守的限制。
这对您有帮助吗?