《SQL SERVER 商业智能维护与管理》读书笔记(十五):SSIS包安全与执行

学习目标:

l         实现SSIS包的安全

Ø         使用数字签名强制认证

Ø         通过设置包的保护级别实现包内容的安全

Ø         通过设置包密码实现包内容的安全

Ø         配置MSDB数据库角色,如db_dtsadmin,控制对包的存取

l         运行SSIS

Ø         通过dtexec或者dtexecUI调用包

Ø         调度SSIS

Ø         使用SSIS服务执行包

l         管理SSIS包的执行

Ø         使用DTUtil实用程序管理包

Ø         定义日志选项

Ø         定义执行属性

l         管理SSIS包配置

Ø         使用DTUtil修改包配置变量

 

一、设置包角色、保护级别、密码

安全保护的对象:

连接信息;元数据信息

 

有三种方式可以限制对包的访问:

使用包安全等级,对包的内容加密

如果SSIS部署在文件系统,使用文件系统提供的安全特性

如果SSIS部署在数据库,定义数据库角色

1、理解并设置包保护级别

包保护级别定义加密哪些内容以及如何加密

ProtectionLevel属性的默认值是EncryptSensitiveWithUserKey,只加密敏感信息。当被加密的包被其它人打开时,会被要求输入加密密码。

ProtectionLevel的选项有:

ProtectionLevel

Description

EncryptSensitiveWithUserKey

使用当前用户和机器的信息加密敏感信息;其它用户打开时密码会被清除

EncryptSensitiveWithPassword

使用密码加密,每次打开时都会要求输入密码

EncryptAllWithUserKey

只有当前用户和机器可以设计和执行

EncryptAlWithPassowrd

没有密码不能执行包

ServerStorage

当包部署到数据库时有效;使用数据库角色保护

DonotSaveSensitive

包的内容不包含敏感信息

2、指定包密码

3、指定数据库角色

Read role:执行;只能指定一个角色

Write role:换入换出MSDB;只能指定一个角色

默认角色:

角色

读操作

写操作

Db_dtsadmin

 

 

Db_dtsltduser

与创建都相关

 

Db_dtsoperator

 

 

Widows admin

查看运行记录

 

4、使用DTUil管理包的安全性

使用加密方式部署包的例子:

Dtutil.exe ./file MyPackage.dtsx /encrypt file;MyPackage.dtsx;3;EncPwd

数字签名的例子

Dtuil.exe /sign sql;MyPackage

二、建立SSIS执行命令行

执行SSIS包的两种常见方式是:

l         通过SSIS对象模型程序方式调用

l         通过DTExec命令行执行,DTExecUISQL Server Agent都支持命令行方式

1、使用DTExecUI配置包的执行方式

执行DTExecUI的机器必须是安装了SSIS

具体具体执行参数,见Page440

设置运行时属性值,有PropertyPath,举例如下:

PropertyPath: /Package.Variables[User::strUserName].Value

PropertyValue: UserName

2、使用DTExec执行包

参数如DTExecUI,下面是调用SQL SERVER 上的SSIS包的例子:

Dtexec.exe /sql MyPackage /server SQLProd

执行文件SSIS包的例子:

Dtexec.exe /file “c:/MyPackage.dtsx”

增加执行日志的例子:

Dtexec.exe /file “c:/MyPackage.dtsx” /log “DTS.LogProviderTextFile;c:/SSISLog.txt”

引入XML配置文件执行的例子:

Dtexec.exe /file “c:/MyPackage.dtsx” /conf  “c:/pkgOneConfg.cfg”

Dtexec的执行根目录是dtexec程序所在的目录

三、在SSMS中管理、调度和执行包

1SSMS中执行包

1)包的存储位置:

l         Package store 文件目录

l         Msdb数据库

2)可以在SSMS中执行包,也是调用DTExecUI

2、建立执行SSIS包的代理任务

SQL Server中建立一个job执行SSIS包。

四、总结

1、当包载入SQL Server时,可以通过MSDB库的角色控制安全

2、包的保护级别

3DTUtil不仅提供了部署包的能力,还可以加密和数字签名

4DTUtilUI用于产生DTUtil命令行

5DTUtil用于执行包,可以改变连接、变量值、日志选项和应用配置文件

6SSMS管理和执行SSIS

7SQL Server Agent调度执行包

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值