Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SSIS中保护脚本任务_Ssis - Fatal编程技术网

在SSIS中保护脚本任务

在SSIS中保护脚本任务,ssis,Ssis,我有一个脚本任务,里面写着C代码。代码应该进行几个REST调用以获取一些数据。凭据用户名、密码在脚本中硬编码。要确保我的软件包安全,需要做哪些事情?在类似情况下,最好的做法是什么?请记住,不可能使用第三方API连接器,脚本任务是我唯一的选择?最好的方法是将登录名和密码从脚本任务移动到包参数中,并声明密码是敏感的。因此,登录名和密码可以稍后在包启动时指定或存储在环境变量中。例如,敏感密码参数意味着它将被加密存储,并且不能转储到文件中。 下面的代码示例显示如何在脚本任务中使用加密密码 Dts.Var

我有一个脚本任务,里面写着C代码。代码应该进行几个REST调用以获取一些数据。凭据用户名、密码在脚本中硬编码。要确保我的软件包安全,需要做哪些事情?在类似情况下,最好的做法是什么?请记住,不可能使用第三方API连接器,脚本任务是我唯一的选择?

最好的方法是将登录名和密码从脚本任务移动到包参数中,并声明密码是敏感的。因此,登录名和密码可以稍后在包启动时指定或存储在环境变量中。例如,敏感密码参数意味着它将被加密存储,并且不能转储到文件中。 下面的代码示例显示如何在脚本任务中使用加密密码

Dts.Variables["$Package::YourPassword"].GetSensitiveValue().ToString()  

如果您需要在不透露登录名和密码的情况下分发包,请切换到另一种身份验证方法,可能是使用证书。脚本任务源代码无法混淆,因此可以从服务器下载包的每个人都有机会检查您的脚本任务。

最好的方法是将登录名和密码从脚本任务移动到包参数中,并将密码声明为敏感密码。因此,登录名和密码可以稍后在包启动时指定或存储在环境变量中。例如,敏感密码参数意味着它将被加密存储,并且不能转储到文件中。 下面的代码示例显示如何在脚本任务中使用加密密码

Dts.Variables["$Package::YourPassword"].GetSensitiveValue().ToString()  

如果您需要在不透露登录名和密码的情况下分发包,请切换到另一种身份验证方法,可能是使用证书。脚本任务源代码无法混淆,因此可以从服务器下载包的每个人都有机会检查您的脚本任务。

我尝试了上述解决方案:Dts.Variables[$package::mypass].GetSensitiveValue.ToString,但是,我仍然收到这样一条消息:不允许访问敏感参数pass的参数变量值。验证变量是否正确使用,以及它是否保护敏感信息。。我正在使用此密码启动rest调用,使用var httpClientHandler=new httpClientHandler{Credentials=new NetworkCredentialmyuser,mypass,}@khidir,你在脚本任务或脚本组件中使用它吗?已知GetSensiveValue方法在脚本组件中不起作用,因此解决方法是在脚本任务中读取它并将其值存储在某个变量中。是的,我使用的是脚本任务C,,我读取了敏感参数并将其值存储在C变量中,,当我使用此变量对Http连接var httpClientHandler=new httpClientHandler{Credentials=new networkcredentialmyser,mypass,}进行身份验证时,出现上述错误,不允许访问敏感参数过程的参数变量值。验证变量是否正确使用,以及它是否保护了我在上面尝试的敏感信息解决方案:Dts.Variables[$Package::mypass].GetSensitiveValue.ToString在脚本任务中,但是,我仍然收到此消息:不允许访问敏感参数过程的参数变量值。验证变量是否正确使用,以及它是否保护敏感信息。。我正在使用此密码启动rest调用,使用var httpClientHandler=new httpClientHandler{Credentials=new NetworkCredentialmyuser,mypass,}@khidir,你在脚本任务或脚本组件中使用它吗?已知GetSensiveValue方法在脚本组件中不起作用,因此解决方法是在脚本任务中读取它并将其值存储在某个变量中。是的,我使用的是脚本任务C,,我读取了敏感参数并将其值存储在C变量中,,当我使用此变量对Http连接var httpClientHandler=new httpClientHandler{Credentials=new networkcredentialmyser,mypass,}进行身份验证时,出现上述错误,不允许访问敏感参数过程的参数变量值。验证变量是否正确使用,以及它是否保护敏感信息