我们正在设计一个带有 Appfabric 缓存的系统。我们想知道安全性。
拥有缓存项的服务器如何知道对该项的请求来自缓存集群中的另一台服务器或授权服务器?
我们担心的是:任何有权访问 Appfabric 缓存端口的人都可以从缓存中读取项目吗?
最佳答案
不,访问端口不足以读取缓存项。
AppFabric 缓存通过 net.tcp 在内部使用 WCF 通信。因此,Windows 安全性默认处于启用状态。当您的客户端代码访问缓存时,会传递进程标识。在缓存集群上,会检查身份,如果您没有授予该身份的缓存访问权限,则请求会被拒绝(您会认为这是奇怪的“出现暂时故障。请稍后重试”)。
通常会创建一个特殊帐户来运行您的进程/应用程序池。您可以使用缓存管理 Windows PowerShell 授予访问权限:
PS C:\Windows\system32> Grant-CacheAllowedClientAccount YOURDOMAIN\ProcessAccount
要检查访问权限,请使用以下命令:
PS C:\Windows\system32> Get-CacheAllowedClientAccounts
Administrators
NETWORKSERVICE
IIS APPPOOL\ASP.NET v4.0
YOURDOMAIN\ProcessAccount
希望这有帮助。
关于Appfabric 缓存中的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6242764/