用户名和密码所需的 SSIS 包变量?

SSIS Package variables required for user name and password?

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

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

是的,您可以保护凭据。

  1. 创建参数变量然后select敏感。这将用星号 '*'
  2. 屏蔽凭证
  3. 将项目和包保护级别设置为 EncryptSensitiveWithPassord 或 EncryptSensitiveWithUserKey。注意:两者都设置失败将导致编译器失败,表明保护级别的一致性检查失败 - 这是必需的。
  4. 将程序包部署到服务器。注意:如果包裹已加密,则任何其他试图打开包裹的人都将无法打开。这是部署目的的一个重要点。如果您要移交 *.ispac 文件,这没什么大不了的,但是如果您的公司通过 DBA 进行部署,打开解决方案并从那里进行部署,那么他们将无法这样做。我想你可以这样做,如果你 EncryptWithPassword 然后共享密码,但 EncryptWithUserKey 将不起作用。
  5. 在服务器上设置环境变量值,然后将其标记为敏感。

我不建议将用户凭据存储在受保护的参数中,但 SSIS 在设计时已考虑到这一点(如有必要)。我更喜欢通过 Windows 身份验证来做所有事情,如果可以的话,我强烈建议您也这样做。

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

确定要授予哪些权限的最佳方法是检查包并确定所有被访问的表以及访问它们时使用的命令。因此,您需要查看以下内容:执行 SQL 任务、OLE DB 源、OLE DB 目标、OLE DB 命令、查找等