gpt4 book ai didi

sql-server - ConnectionString 未在 SSIS 集成项目中加密

转载 作者:行者123 更新时间:2023-12-04 17:09:51 25 4
gpt4 key购买 nike

我正在 VS 2019 中构建一个集成服务项目。

我已经为 OLE DB/SQL Server 添加了项目连接管理器。

我已经使用项目参数配置了连接字符串。 (Project.params 文件)。

然后我将项目参数更改为使用“配置”,以便根据事件配置应用不同的值。

enter image description here

在项目属性设置中,保护级别设置为“EncryptSensitiveWithUserKey”。

但是,如果我检查 .dtproj 文件,两个连接字符串(Dev 和“Azure”)都未加密存储。这是一个问题,因为我希望能够将 .dtproj 文件包含在存储库中。

我做错了什么吗?如果无法通过这种方式实现,我还能如何安全地“保存”项目中的两个连接字符串以用于不同的配置?

最佳答案

由于保护级别设置为EncryptSensitiveWithUserKey,您应该将项目参数配置为Sensitive。为此,请单击“解决方案资源管理器”中的 Project.params 文件

enter image description here

然后,将参数设置为敏感。参数值将立即被屏蔽,如下图所示:

enter image description here

此外,让我们检查解决方案目录中的 project.params 文件。

enter image description here

如果我们使用文本编辑器打开文件,我们可以检查参数值是否已加密。

enter image description here

更新

正如评论中提到的OP,将连接字符串参数设置为敏感导致以下异常:

The expression will not be evaluated because it contains sensitive parameter variable "$Project::ConnectionString". Verify that the expression is used properly and that it protects the sensitive information. ".

基于以下 Microsoft Tech community article :

This behavior is by design. The best practices approach to storing the connection information in SSIS is not to store the entire connection string inside of one variable but to separate out the individual pieces (username, password, server, etc.). This makes configuration easier within environment variables as well.

这意味着我们应该将 ConnectionString 配置为非敏感的,同时为我们想要的每个连接字符串部分添加一个单独的敏感参数。

enter image description here

有用的链接:

关于sql-server - ConnectionString 未在 SSIS 集成项目中加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69734976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com