我是SSIS工作流的新手,我正在努力理解如何使用grating权限。
SSIS有许多不同的数据库级角色,涉及Server代理或代理。我不知道什么时候该用什么。
此时,我几乎迷失了方向,更糟糕的是,我觉得微软文档中有一片混乱。我会尽我最大的努力解释我不知道的事情,但此时我的头脑完全混乱。
我需要找出两个权限级别:
我不知道是否应该考虑单独的权限级别,专门用于管理/读取SSIS等等?
不过,我的第一个任务是使用数据库角色。我知道在两个独立的数据库中有一些数据库级别的角色:
它们都有一些关于SSIS的数据库级角色。我收集到的是msdb在过去就被用于这个目的,而不再是-现在推荐的方法是只使用SSISDB。因此,我不应该关心msdb (如db_ssisadmin等)中的SSIS角色。对,是这样?
同时,在SSISDB中有5个角色:
其中只有两个在Microsoft文档(ssis_admin,ssis_logreader)中提到:https://learn.microsoft.com/en-us/sql/integration-services/security/integration-services-roles-ssis-service?view=sql-server-ver15
ssis_cluster_executor和ssis_cluster_worker呢?这个角色有什么用?我们应该用它们吗?
除了SSIS角色之外,我对SQL Agent及其权限也有问题。msdb中有3个角色:
我读过SSIS使用SQL代理(如果是这样的话)--我是否也应该分配它的角色以及SSIS角色,或者这是完全独立的事情?
然后,我无意中发现了代理,以及它在SSIS权限中的使用。
我们什么时候应该使用它们?它们是取代数据库级角色,还是应该与角色结合使用?我在这里讨论的是连接两个Server数据库。我们可以假设有一个登录可以访问这两个数据库。
我是否可以将SSIS类似地应用于链接服务器,在那里我们可以使用当前的安全上下文?
目前,我们正在为数据库服务器构建windows域,我们正在重建旧的权限结构。我们正在从使用SQL身份验证的登录转移到使用Windows域身份验证的登录。
我们新结构的全部目的是控制Active Directory对数据库的访问,我觉得带有代理的SSIS不适合这种方法。
对于这个混乱的问题,任何澄清都表示感谢和歉意。
发布于 2021-08-10 13:44:34
第一个问题是,您是否愿意让所有代理作业和SSIS包作为系统管理员运行。到目前为止,这是最常见和最简单的模式。如果您很乐意让一个管理运行所有作业,那么您就有一个sysadmin (production )部署所有作业和包,并将它们作为SQL代理服务帐户运行。
应用程序部署也是如此。最简单的安全模型是DBA执行所有生产部署。
如果希望开发人员管理部署,并且生产SQL Server承载多个应用程序,则通常为每个应用程序在其自己的数据库上授予CONROL/DB_OWNER权限。在此模型中,您可能需要为部署代码的用户授予SQLAgentUserRole。这使用户能够部署和管理自己的作业。
https://dba.stackexchange.com/questions/297817
复制相似问题