Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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
Security 正在调用进程。是否从azure worker角色启动安全风险?_Security_Permissions_.net 4.0_Fxcop - Fatal编程技术网

Security 正在调用进程。是否从azure worker角色启动安全风险?

Security 正在调用进程。是否从azure worker角色启动安全风险?,security,permissions,.net-4.0,fxcop,Security,Permissions,.net 4.0,Fxcop,Azure中有一个worker角色,它使用进程。Start启动后台进程(托管我们需要运行的本机应用程序) FxCop由于链接需求给了我一大堆错误。当我尝试添加此属性时: [PermissionSet(SecurityAction.LinkDemand, Name = "FullTrust")] 然后我开始取而代之,解决方案似乎是添加SecurityCritical属性 但是我又得到了CA2122 这两件事都是问题吗?在什么情况下会出现这种情况?我如何才能确保我没有引入安全问题?Security

Azure中有一个worker角色,它使用
进程。Start
启动后台进程(托管我们需要运行的本机应用程序)

FxCop由于链接需求给了我一大堆错误。当我尝试添加此属性时:

[PermissionSet(SecurityAction.LinkDemand, Name = "FullTrust")]
然后我开始取而代之,解决方案似乎是添加SecurityCritical属性

但是我又得到了CA2122


这两件事都是问题吗?在什么情况下会出现这种情况?我如何才能确保我没有引入安全问题?

SecurityCritical应该扮演与完全信任的LinkDemand同等的角色:

SecurityCriticalAttribute相当于完整配置的链接需求 信任。使用SecurityCriticalAttribute标记的类型或成员可以 只能由完全受信任的代码调用;它不必要求 特定权限。部分受信任的代码无法调用它

因此,我建议添加SecurityCritical(以满足对CA2135的需求)并抑制CA2122,这可能只是微软在其代码分析中忘记考虑其较新的解决方案

CA2122的目标是确保该方法

不再提供对受保护的链路需求的不安全访问 成员


一旦添加了SecurityCritical(这确保了成员只能由完全信任的代码调用),情况就不是这样了,因此第二个CA2122是假阳性。

第二个CA2122是在同一个方法上,还是在调用方上?我想它是在我找到的支持此方法的同一个方法上。