开源RBAC产品的不足
尽管上述的诸多优势使开源RBAC产品魅力四射,但企业必须知道,使用开源RBAC产品也需要花费一定的开销,其中首当其冲的是聘用顶级专业人员的费用。虽然开源RBAC产品功能众多,但要求使用者必须深入了解RBAC系统。通常情况下,开源RBAC产品的管理接口是命令行方式,而且很少提供技术文档,即使提供,也是基于维基百科的文档。因此,开源RBAC产品的管理人员必须是该领域的行家里手,精通RBAC产品的安装、配置和执行。
开源RBAC产品的技术支持方式也是一个需要考虑的因素。商业化RBAC产品一般是通过800电话、人工咨询等形式为用户提供技术支持,支持人员可以协助用户部署产品或者识别和解决产品出现的问题。虽然开源RBAC产品的开发人员可能聪明能干,但其技术支持形式与商业化RBAC产品不同,一般是通过论坛、邮件列表、维基百科和IRC(互联网中继聊天)等形式提供的。也就是说,尽管开源RBAC产品可能提供了更强大的技术能力,但使用起来普遍不太方便。
开源RBAC产品的一大优势就是专注于特定的问题领域,因此企业可以针对要部署RBAC产品的系统(例如Active Directory、Unix、LDAP等)量身打造RBAC产品。如果部署开源RBAC产品的系统在一段时间内相对稳定,则开源RBAC产品的效果很好。但是,一旦企业需要增加一个新系统,而已部署的开源RBAC产品又不支持该新系统,则必须引入其他的开源RBAC产品或商业RBAC产品,以便将新系统整合到现有的RBAC体系结构中。在这种情况下,对企业来说,商业化的RBAC产品可能是更好的选择,因为商业化的RBAC产品可以更广泛地兼容价格昂贵、具有战略意义的重要系统。
有一种错误的观点认为,开源RBAC产品的许可是免费的。实际上,尽管开源RBAC产品不要求强制性的财政义务,但有些开源RBAC产品(例如grsecurity)要求使用者提供捐助。而对企业来说,向自己使用的开源RBAC产品提供资金支持是一个明智之举,因为这样将更有可能使聪明能干的开发人员继续致力于该项目的开发。但是,即使企业捐助了一个开源RBAC产品项目,开发人员也照样可以终止该项目的开发和向用户社区提供的产品支持。
最后,无论企业考虑部署开源RBAC产品还是商业化的RBAC产品,实施RBAC的体系结构仍然是一门艺术而不是一门科学。通常情况下,商业化的RBAC产品提供人工技术支持,可以帮助企业规划RBAC授权模型的体系结构,而开源RBAC产品则不提供此类支持。
哪些企业应该考虑开源RBAC产品?
要判断开源RBAC产品是否为可行的选择,企业必须先弄清楚下列问题:
我们是否对自己的RBAC体系结构的正确性充满信心?
我们是否拥有精通RBAC技术的专业人员,可以驾驭这项工作?
我们考虑部署RBAC是否只是为了重要的端点系统?
我们是否追求RBAC的基础功能而不是那些华而不实的功能?
我们已经部署了基于标准的企业RBAC产品吗?如果没有,我们是否将要部署这样的产品?
如果对上述全部问题的回答都是“是”,则说明企业非常适合考虑部署开源RBAC产品。不然的话,即使开源RBAC产品符合企业的要求,企业也要悉心研究以确保成功。无论如何,商业化的RBAC产品都不可能扼杀开源RBAC产品。但是,开源RBAC产品应该用于什么地方,能够提供什么样的价值将取决于其部署的环境。