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

本文介绍了SQL Server Integration Services (SSIS)包的安全管理措施,包括设置包保护级别、使用密码和数字签名加强安全性,以及如何通过角色控制访问权限。此外,还详细讲解了使用DTExecUI和DTExec命令行工具执行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调度执行包

 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值