(转)SSIS Package Protection Level

转自:https://blog.csdn.net/ma_jiang/article/details/8768377

 

DontSaveSensitive

 

When the package is saved, sensitive values will be removed. This will result in passwords needing to be supplied to the package, through a configuration file or by the user.

 

EncryptSensitiveWithUserKey

 

This will encrypt all sensitive data on the package with a key based on the current user profile. This sensitive data can only be opened by the user that saved it. It another user opens the package, all sensitive information will be replaced with blanks. This is often a problem when a package is sent to another user to work on.

 

EncryptSensitiveWithPassword

 

Sensitive data will be saved in the package and encrypted with a supplied password. Every time the package is opened in the designer, you will need to supply the password in order to retrieve the sensitive information. If you cancel the password prompt, you will be able to open the package but all sensitive data will be replaced with blanks. This works well if a package will be edited by multiple users.

 

EncryptAllWithPassword

 

This works the same as EncryptSensitiveWithPassword except that the whole package will be encrypted with the supplied password. When opening the package in the designer, you will need to specify the password or you won’t be able to view any part of the package.

 

EncryptAllWithUserKey

 

This works the same as EncryptSensitiveWithUserKey except that the whole package will be encrypted. Only the user that created the package will be allowed to open the package.

 

ServerStorage

 

This option will use SQL Server database roles to encrypt information. This will only work if the package is saved to an SSIS server for execution.

 

So that’s it. This option is pretty basic but it is important to understand so that you can be spared unnecessary frustration.

 

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就行,怎么实现都可以。同时,你应该考虑,保护整个服务器安全是不是比在包级上使用证书更有意义,使用证书会有一些风险,应该了解这些风险。

posted @ 2019-07-16 11:58  凡的世界  阅读(209)  评论(0编辑  收藏  举报