Integration Services 角色(SSIS 服务)

SQL Server Integration Services 包括三个固定数据库级角色、db_ssisadmindb_ssisltduserdb_ssisoperator,用于控制对包的访问。 角色只能在保存到 SQL Server 的 msdb 数据库中的包上实现。 可以使用 SQL Server Management Studio将角色分配给包。 角色分配将保存到 msdb 数据库。

读取和写入操作

下表介绍了 Integration Services中 Windows 和固定数据库级角色的读写操作。

角色 读操作 写操作
db_ssisadmin



sysadmin
枚举自己的包。

枚举所有包。

查看自己的包。

查看所有包。

执行自己的包。

执行所有包。

导出自己的包。

导出所有包。

在 SQL Server 代理中执行所有包。
导入包。

删除自己的包。

删除所有包。

更改自己的包角色。

更改所有包角色。



**重要** db_ssisadmin角色的成员和dc_admin角色的成员可以将其特权提升到 sysadmin。 因为这些角色可以修改 Integration Services 包,而 Integration Services 使用 SQL Server 代理的 sysadmin 安全上下文可以执行 SQL Server 包,所以可以实现特权提升。 若要在运行维护计划、数据收集组和其他 Integration Services 包时防止此权限提升,请将运行包的 SQL Server 代理作业配置为使用具有有限权限的代理帐户,或只将 sysadmin 成员添加到 db_ssisadmin 和 dc_admin 角色。
db_ssisltduser 枚举自己的包。

枚举所有包。

查看自己的包。

执行自己的包。

导出自己的包。
导入包。

删除自己的包。

更改自己的包角色。
db_ssisoperator 枚举所有包。

查看所有包。

执行所有包。

导出所有包。

在 SQL Server 代理中执行所有包。
没有
Windows 管理员 查看所有正在运行的包的详细执行信息。 停止所有当前正在运行的包。

Sysssispackages 表

sysssispackagesmsdb包含保存到 SQL Server 的包。 有关详细信息,请参阅 sysssispackages (Transact-SQL)

sysssispackages 表的列中包含关于分配给包的角色的信息。

  • readerrole 列指定对包具有读访问权限的角色。

  • writerrole 列指定对包具有写访问权限的角色。

  • ownersid 列包含创建包的用户的唯一安全标识符。 此列定义包的所有者。

权限

默认情况下,创建包的用户的权限和db_ssisoperator固定数据库级角色的权限db_ssisadmin以及创建包的用户的唯一安全标识符应用于包的读取者角色,以及创建包的用户的唯一安全标识符的权限db_ssisadmin将应用于编写器角色。 用户必须是具有包读取访问权限的 db_ssisadmin、db_ssisltduserdb_ssisoperator角色的成员。 用户必须是 db_ssisadmin 角色的成员才能具有写入访问权限。

对包的访问

固定数据库级角色可以与用户定义的角色结合使用。 用户定义的角色就是你在 SQL Server Management Studio 中创建的、随后用来为包分配权限的角色。 若要访问包,用户必须是用户定义的角色和相关的 Integration Services 固定数据库级角色的成员。 例如,如果用户是分配给包的 AuditUsers 用户定义角色的成员,则他们还必须是 db_ssisadmin成员、 db_ssisltduserdb_ssisoperator 角色才能对包具有读取访问权限。

如果不为包分配用户定义角色,则对包的访问权限由固定数据库级角色确定。

如果要使用用户定义的角色,必须先将它们添加到 msdb 数据库中,然后才能将其分配给包。 您可以在 SQL Server Management Studio中创建新的数据库角色。

Integration Services 数据库级角色可授予 msdb 数据库中的 Integration Services 系统表的权限。

必须先启动 SQL Server (MSSQLSERVER 服务),然后才能连接到数据库引擎并访问 msdb 数据库。

为了向包分配角色,您需要完成以下任务。

  • 打开对象资源管理器并连接到 Integration Services

    在使用 SQL Server Management Studio将角色分配给包之前,必须在 SQL Server Management Studio 中打开对象资源管理器,并连接到 Integration Services。

    必须启动 Integration Services 服务才能连接到 Integration Services。

  • 将读取者角色和写入者角色分配给包

    可以将读取者角色和写入者角色分配给每个包。