本文将向您展示可用的 SSIS 包保护级别列表,以及如何通过示例应用这些设置。在本示例 SSIS 包保护级别演示中,我们使用以下 Integration Service 包。

您可以在包属性中找到 SSIS 保护级别列表。请转到包属性,然后在“安全性”选项卡下,您会找到“保护级别”属性。这是您将用于保护包的属性。以下是包保护级别的列表
- DontSaveSensitive: 此选项不会在包中保存任何敏感信息。因此,如果其他用户打开该包,机密信息(密码)将被替换为空白。
- EncryptSensitiveWithUserKey: 此选项使用当前用户设置来加密敏感信息。当前用户是指运行 BIDS 的 Windows 用户。
- EncryptSensitiveWithPassword: 它将使用密码加密敏感信息,并将该加密信息保存在包中。通过“PackagePassword”属性提供机密数据的密码。
- EncryptAllWithPassword: 此 SSIS 包保护级别选项使用密码加密整个包。您必须使用“PackagePassword”属性分配密码。当您在 Designer 中打开包或使用此选项运行包时,必须提供密码。
- EncryptAllWithUserKey: 此选项使用当前用户设置来加密整个包。例如,如果 Tutorial Gateway 是创建或导出包 1 的用户,则他/她只能打开或运行该包。
请参考 日志记录 以了解包配置。

SSIS 包保护级别示例
为了演示包中的保护级别,在更改保护级别后,我们将创建一个 OLE DB 连接管理器。首先,我将尝试使用 DontSaveSensitive。要创建连接,请右键单击控制流区域将打开上下文菜单。请从中选择“新建连接...”选项。

当您选择“新建连接...”选项时,将打开“添加 SSIS 连接管理器”窗口。在此,我们选择了 OLE DB 连接管理器并选择了新建连接。
单击“新建”按钮将打开“连接管理器”窗口。从下面的屏幕截图可以看出,我们正在使用 PRASAD 作为实例,并为 SQL 身份验证提供了用户名和密码。我们选择了 [AdventureWorks2014] 作为数据库名称。

单击“确定”关闭配置设置。
现在,我将双击新创建的 OLE DB 连接管理器。您会发现,即使我们勾选了“保存我的密码”选项,它也没有显示密码。

您可以在 XML 文件中检查相同的内容。

我将 SSIS 包保护级别更改为 EncryptSensitiveWithPassword。如果您选择此选项,则必须提供密码来加密敏感数据。要分配密码,请单击“包密码”旁边的“...”按钮。

单击“...”后,将弹出一个新窗口,要求您提供密码。正如您所见,我们输入了一个随机密码。

现在您可以在 XML 文件中看到加密的信息。

如果您将 SSIS 包保护级别更改为 EncryptAllWithPassword 并提供了密码,则 XML 文件将显示如下图像。它不会向用户显示任何信息。所有内容都已加密。

当您使用 EncryptAllWithPassword 或 EncryptSensitiveWithPassword 保护级别打开包时,将打开以下弹出窗口。您必须提供密码才能运行该包。
