2.5 SQL Server集成服务安全特性
SQL Server 2000有许多技术,很难准确理解其安全处理是怎么工作的。前面的数据转换服务(Data Transformation Service,DTS)就是其中之一。DTS依赖SQL Server代理来运行它的任务,你会发现自己被赋予了对服务器的全部权限,因为很难准确理解哪里产生了权限错误。因为提取、转换和加载(ETL)系统固有的复杂性,会部分地发生那些问题。数据从多个数据库、文件系统和其他商业资源中提取或者预提,每个都有自身的安全规则和挑战。除非你作为包开发者,已经深入理解底层系统,否则获取安全权限会很有挑战。在SQL Server 2005中,SQL Server集成服务(SSIS)已经整理了它的安全模型。集成服务现在提供任务级和包级安全基础设施,该设施充分利用Windows Server 2003和SQL Server 2005中的证书技术。
2.5.1 包级安全
SQL Server综合服务全新的内容是包安全这个概念。在SQL Server 2000中,数据库的任何用户都能够查看任意包,而SQL Server 2005提供一些保护包的方法。SQL Server 2005不仅有新方法保护包可见性,而且还有不同的包存储层次。这是指因为包能以XML文件形式部署,所以存在一种保护文件内容的机制。在包配置文件中,可以加密敏感数据,比如密码或者用户名,这使得可以在包操作上进行细粒度的控制。
可以用以下方式处理SSIS数据包的安全:
通过使用数据库级角色控制数据包的访问。
保护操作环境。
用证书给包签名,从而保证数据包的完整性。
在保存包之前加密或者删除敏感数据,从而保护敏感数据。
使用密码或者用户密钥加密数据包,从而保护数据包。
2.5.2 SSIS中的数据库级角色
SSIS包括3种可以与数据库和数据一起工作的数据库角色:db_dtsadmin,db_dtsltduser 和db_dtsoperator。这些角色可以应用到数据库,还能控制对存储在数据库中的包的访问。许可权可以根据角色级和读/写能力进行划分。
db_dtsadmin:最高级角色,拥有所有的读和写能力。
db_dtsltduser:能操作它自身创建的包。
db_dtsoperatior:能为所有没有任何操作能力的用户执行包。
要学习更多有关角色的内容,阅读SQL Server联机手册中的专题“集成服务的安全性思考:综合服务角色”。
2.5.3 保护操作环境
想起SSIS的操作环境时,通常它都是Windows服务器。在SQL Server 2000的数据转换服务(DTS)中,SQL Server代理负责运行任务。SQL Server 2005有一个新的服务SSIS,它的启/停都是使用SQL计算机管理器来实现的。SSIS服务默认是关闭的,因此在运行你的第一个任务之前,需要将它打开。SSIS服务调用dtexec程序运行包。另外,在使用其他包级安全选项(保护MSDB和文件系统的包存储)时,应该考虑如何保护Windows账户的设置。
SSIS能够使用SQL Server代理调度稍后执行的任务,在这种情况下,SQL Server代理需要具备适当的安全配置,也就是指SQL Server代理必须是db_dtsoperator数据库角色的一个成员。
2.5.4 用证书签署包
有了使用证书签署包的能力后,SSIS不仅创建了防止入侵的壁垒,而且还创建了一些新的管理任务(考虑到处理和备份证书)。签署一个包时,在签署期间,用户分配一个证书给这个包,该证书被存储在用户简档下的文件系统中。如果这个包被移动或者部署到另一个服务器,证书也必须一起移动。根据所处的环境,要用证书保护包也许得等待一段,直到它变成产品或者仅仅处于测试/部署期间,因为用在这些工作流中的服务器经常共享,而且需要访问。诀窍就是正确地估量风险和取舍。
2.5.5 加密SSIS包
加密SSIS包括可以保护这些包。在创建SSIS包或者在导出SSIS包时,他们都会被加密。SSIS使用192位键长的3DES密码算法。基于用户密钥的加密使用数据保护API(DPAPI)标准,包加密通过使用包的保护级属性加以控制。SSIS的保护级属性可以为以下值:
DontSaveSensitive:敏感数据,比如用户鉴定数据,不能保存在包中。在日后使用SSIS Designer打开包时,不存在敏感数据,所以用户需要提供敏感数据。所有“敏感的”保护级属性中,只有包中的敏感数据会受到影响,包的其余部分不变。
EncryptSensitiveWithUserKey:敏感数据包存为包的一部分,但是该数据是用基于创建或者输出包的用户的密钥加密的,只有创建包的用户才能运行它。如果其他用户使用SSIS Designer打开包,前面的敏感数据仍然是加密的,并且SSIS Designer打开的是没有敏感数据的包。
EncryptSensitiveWithPassword:敏感数据保存为包的一部分,但是该数据由包创建或输出时用户提供的密钥加密。如果其他用户使用SSIS Designer打开包,那么他必须有访问加密的数据的密码。如果他不知道密码,SSIS Designer打开的是没有敏感数据的包。
EncryptAllWithPassword:整个包的内容由包创建或输出时用户提供的密码加密。当在SSIS Designer中打开包时,用户必须提供包的密码,如果他不知道密码,他就不能访问包。
EncryptAllWithUserKey:整个包的内容由一个基于创建或输出包的用户的密钥加密,只有创建包的用户才能打开它。
ServerStorage:没有包对包进行加密,取而代之的是,基于数据库的对象访问安全保护的包的内容。如果使用ServerStorage值,包就必须被保存到SQL Server,保存在MSDB数据库的sysdtspackages90表中,它不能被保存到文件系统。
如果正使用保护级属性ServerStorage,可以通过使用SQL Server数据库角色对保存在数据库中的包进行访问控制,这就产生了问题,包应该保存在什么地方?在SQL Server 2005中存储包很灵活,既可以保存在MSDB中,也可以保存在文件系统中,因此保存策略值得考虑。这是我的观点:在开发和创造期间,最好是在文件系统中存储,尤其在使用源控制工具的时候,就像我期待的那样。当向操作的系统进行部署时,将包导入到MSDB是很有意义的。最高的安全级别在MSDB中,而且MSDB包含在你公司的意外事故计划中。这是指运作人员不必盯着文件系统以便收集和备份SSIS任务,他们只要备份MSDB就行,怎么实现都可以。同时,你应该考虑,保护整个服务器安全是不是比在包级上使用证书更有意义,使用证书会有一些风险,应该了解这些风险。
2.5.6 报表服务安全
SQL Server 2005提供的所有关键技术中,报表服务无疑是最值得注意的一个,因为它是整个组织能够直接访问的。因为报表在大多数组织中正在逐步变成主流,了解它是如何实现的极其重要。从管理者的观点看,报表服务需要协调一些团队的功能。报表服务是属于IIS并基于Internet的应用。因此,IIS管理员和Windows管理员需要共同使用正确的许可级配置IIS和Windows(看联机丛书主题“配置报表服务安全性”)。另外,报表数据本身需要通过某些用户账户导出,DBA需要配置这些。对于新的报表生成器功能,必须做些额外的工作来保护报表模型,因为它以报表模型的形式向用户显示元数据。
| 回书目 上一节 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||