IIS中的程序调用SSIS包时的访问限制问题
最近做一个项目,遇到程序中使用dtexec.exe工具来调用执行SSIS包时部署在IIS中的一些访问权限的问题。在这里写出来,供大家参考下。首先,程序中使用dtexec.exe工具调用SSIS包是没有任何问题的,只要你把命令写对就OK。但是,当程序部署到IIS中后,发现程序无法加载SSIS的包,返回的returncode是5。显然,这是IIS中的访问权限问题。查阅相关资料后,发现是部署的website指定的Application Pool的security account有问题。问题找到了,但是,我们不能随便application pool的account,网上有相关资料说是将Application Pool的account指定为IWAM_CDM-04就可以了,这样是可以加载到包,因为IWAM_CDM-04账户已经包含了Application Pool预定义的三个account:Newwork Service,Local Service,Local System。但是,IWAM_CDM-04账户本身有访问缺陷,我的程序在login的时候会使用RSA的加密,因为RSA加密需要找寻到本机的唯一Key,然而指定了IWAM_CDM-04账户后却无法访问到这个key了。其实,访问这个key受限也只是指定IWAM_CDM-04账户的其中一个问题。所以,该方式是不可取的。然后,凭直觉,我将Application Pool预定义的三个account一个一个的试了,之后发现,使用local system可以解决上述问题,而且也不会带来其他访问的问题。但是,大家需要注意的是,在Application Pool预定义的三个account中,local system的访问权限是最大的,它有对本机的完全控制权限和对未验证的请求的控制权限。
页:
[1]