用户名和密码需要SSIS包变量吗?

时间:2018-06-14 15:13:27

标签: ssis ssis-2012

我们正在为数据Feed创建SSIS包。我们的连接管理器具有我们的个人用户名和密码。有没有办法创造环境变量?

此外,当我们将软件包部署到开发或测试或生产环境时,我们是否需要服务帐户?

1 个答案:

答案 0 :(得分:0)

是的,您可以保护凭据。

  1. 创建参数变量,然后选择敏感。这将使用astericks' *'
  2. 来阻止凭据
  3. 将项目和程序包保护级别设置为EncryptSensitiveWithPassord或EncryptSensitiveWithUserKey。注意:如果未同时设置将导致编译器失败,表明保护级别的一致性检查失败 - 这是必需的。
  4. 将程序包部署到服务器。注意:如果软件包已加密,则尝试打开软件包的任何其他人都将无法执行此操作。这是部署目的的重要一点。如果您正在交付* .ispac文件,这不是什么大问题,但如果您的公司通过DBA部署解决方案并从那里部署,那么他们将无法这样做。我想你可以这样做,如果你使用EncryptWithPassword然后共享密码,但EncryptWithUserKey将不起作用。
  5. 在服务器上设置环境变量值,然后将其标记为敏感。
  6. 我不建议将用户凭据存储在受保护的参数中,但如果需要,SSIS的设计就是考虑到这一点。我更喜欢通过Windows身份验证执行所有操作,如果您可以使用,我强烈建议您执行相同的操作。

    关于服务帐户。是的,你可以使用那些。实际上,强烈建议所有生产部署都使用实现最小权限概念的服务帐户。因此,只应授予服务帐户所需的最低权限级别。换句话说:不要授予服务帐户管理员权限。这意味着为每个对象指定每个单独的权限。例如,仅对维度表进行SELECT,对事实表进行SELECT / INSERT / UPDATE / DELETE。

    确定要授予的权限的最佳方法是遍历包并识别所有触摸的表以及触摸它们时使用的命令。因此,您需要查看以下内容:执行SQL任务,OLE DB源,OLE DB目标,OLE DB命令,查找等。