用户安全
配置 NCache 安保防护 使用强大的框架来保护缓存服务器节点 授权 和 认证本页面提供了有关在系统中设置授权和身份验证的全面指南。 NCache 缓存服务器节点的安全框架。它将指导您完成建立过程。 基于 LDAP 的 用于用户身份验证的身份验证系统。此外,它还解释了如何为用户分配特定的角色和权限。
重要提示
集群中的所有参与节点应具有统一的安全设置。
将服务器添加到 Active Directory
在 Linux 中添加 Active LDAP 服务器
要在 Linux 系统上配置和使用 LDAP,请确保您的系统上已安装所需的 LDAP 实用程序。有关安装说明,请参阅[此处应插入参考文献]。 LDAP 文档.
在 Windows 中添加 Active LDAP 服务器
As NCache 支持 LDAP 集成安全机制,为了保护缓存节点,您应该已配置 LDAP 域控制器设置。您可以在以下位置配置这些设置: NCache 通过以下步骤:
- 启动 NCache 管理中心通过浏览 http://localhost:8251 or
<server-ip>:8251在 Windows 和 Linux 上。 - 点击
在右上角打开 NCache 管理中心设置。
- 这将打开一个 域控制器设置 您将在其中配置 域控制器, 港口, 搜索库,和可选 辅助域控制器 (如果主域控制器发生故障,请备份域控制器)。如果您使用的是安全端口,请选择 使用 SSL 端口 复选框。
- 搜索库 指定用于搜索 LDAP 条目的基准 DN(可分辨名称)。这有助于缩小 LDAP 目录中的搜索范围。如果您不确定 搜索库,建议咨询您的 LDAP 管理员或 IT 部门,以获取适合您的 LDAP 目录结构的准确域名。
- 点击 确认 验证提供的域控制器设置。
- 单击验证后,您将收到以下登录提示,要求输入有效的用户凭据。
- 在验证用户凭据后,您将收到一条提示,要求您保存更改以应用域控制器设置。
- 点击 已保存 保存您的域控制器设置。
启用 NCache 节点安全
一旦建立了域控制器设置并保存了它们,现在就可以按照以下步骤保护缓存节点了:
- 点击 节点级安全 从左侧栏。
- 指定要配置的缓存服务器节点IP。
- 点击 获取详细信息 获取节点的信息。

- 选择复选框 启用安全接下来,指定…… 用户或组 它应该拥有对节点执行操作的权限。
- 点击 已保存.
配置同构安全设置
为一个节点设置安全设置后,将出现一条提示,要求您通过提供 IP 地址向该集群中的其他节点添加类似的安全设置。 需要在集群中的所有节点上配置类似的安全设置,以避免使用缓存时出现任何问题。
- 添加完所有节点的IP地址后,点击 已保存.
- 点击后 已保存,相同的安全设置将应用于集群中的所有其他节点。
下次启动并访问 NCache 管理中心,您将遇到登录提示,要求您提供授权的登录凭据。 而且,服务器节点的这些安全设置也保存在 安全.ncconf 在下面 标签。
添加/删除用户
在启用安全功能后 NCache 在该节点上,您可以根据用户和组所需的访问权限级别添加或删除用户和组。 NCache 支持 节点管理员能够执行节点级管理操作的人员,以及 缓存用户只有被授权访问特定缓存的用户才能访问这些缓存。 节点管理员 已在上述步骤中配置完毕,您已指定 用户或组 启用安全功能。但是,要添加缓存用户,您需要按照以下步骤操作:
添加缓存用户
此节点上配置的节点管理员拥有该节点和配置的缓存的所有权限。但是,如果您想创建可以访问缓存但不能访问节点的用户,则可以在该节点上配置缓存用户。您可以按照以下步骤配置缓存用户:
- 在 NCache 管理中心,点击 集群缓存 or 本地缓存,根据您的要求。
- 针对缓存名称,单击 查看详情.

- 这将打开缓存的详细配置页面。
- 在同一页面上向下滚动以找到 高级设置(集群缓存) 部分。 选择 安全与加密它会打开一个页面,您可以在其中添加一个或多个 用户或组 配置为缓存用户。
- 同样,你也可以 添加 gMSA 缓存用户有关 gMSA 的更多详细信息,请参阅 配置 gMSA 部分。

- 点击 保存更改 成功添加您的缓存用户或gMSA用户。
清除缓存用户
您可以按照以下步骤删除缓存用户:
- 在 NCache 管理中心,点击 集群缓存 or 本地缓存,根据您的要求。
- 针对缓存名称,单击 查看详情.

- 这将打开缓存的详细配置页面。
- 在同一页面上向下滚动以找到 高级设置(集群缓存) 部分。 选择 安全与加密它会打开一个页面,您可以在其中删除一个或多个 用户或组 通过点击
下 操作 .

- 点击 保存更改 成功删除您的缓存用户。
凭证缓存
为了充分利用这些访问级别的优势, NCache 支持两种类型的 LDAP 用户:节点管理员(用户/组)和缓存用户(用户/组)。 NCache 它没有自己的身份验证机制,所有添加的用户首先都会使用其 LDAP 凭据进行身份验证。当一个已注册的 LDAP 用户被添加到 NCache时,始终会通过域控制器进行验证检查,以验证此用户是否已在域中注册。在这种情况下,如果与域控制器的连接中断,验证将失败,用户将无法执行任何操作。
为了避免这种情况, NCache 提供凭据缓存功能,用户的凭据存储在其中。 NCache 这样,已经通过身份验证的用户就不必在进程生命周期内重复进行身份验证。默认情况下,此功能处于禁用状态,用户可以通过设置 NCacheServer.EnableCredentialCaching 标记为 True 在服务配置文件中。
用户凭证认证
通过利用基于 RSA 的加密技术, NCache 在身份验证期间保护用户凭证的传输。当管理工具或客户端需要验证这些凭证时,它会请求服务器的 RSA-256 公钥。服务器会为每个进程的生命周期生成一个新的公钥/私钥对。工具和客户端在传输用户凭证(例如用户名和密码)之前,会使用服务器的公钥对其进行加密。服务器使用其私钥解密这些凭证以验证用户身份。此过程可确保凭证在传输过程中保持安全,并且不易被拦截或滥用。
启用凭据缓存
NCache 提供凭据缓存功能,将已验证用户的凭据存储在缓存中,以避免在流程生命周期内重复进行身份验证。此功能默认处于禁用状态。要启用它,请更新…… NCacheServer.EnableCredentialCaching 标记为真。
<add key="NCacheServer.EnableCredentialCaching" value="true"/>
客户端节点安全和应用程序身份验证
一旦您配置了安全性 NCache连接到这些缓存的应用程序需要提供凭据。这些凭据使缓存能够验证授权用户并授予其所需的权限。提供所需用户凭据有两种方法,具体说明如下:
您可以使用以下方式授权用户 NCache 管理中心如果 NCache 安装在您的客户端机器上,否则,您必须这样做 以编程方式。为此,您需要指定他们的 用户身份 和 密码 如下所述。
- 在查看详细信息页面上,转到 客户端节点 标签,选择 客户端节点IP 需要配置安全性。

- 点击 ”...“反对 客户端节点IP 并选择 配置安全.

- 出现以下页面,您需要输入 用户身份 和 密码.

点击 OK 保存更改,这将提示成功通知。
要删除配置的凭据,请返回此对话框,清除输入的 用户身份 和 密码和点击 OK 应用更改。
验证后,这些凭证将以加密形式安全地存储在 客户端.ncconf 在客户端机器上。 成功配置后,在此客户端计算机上运行的所有应用程序将自动向缓存提供指定的用户凭据以供将来验证。
重要提示
运用 NCache API
但是,如果 NCache 未安装在运行应用程序的计算机上,您可以通过编程方式提供凭据 NCache API. 通过这种以编程方式提供凭证,您可以在代码中动态设置必要的凭证,以确保安全和授权的缓存访问。
使用 PowerShell 启用安全性
NCache 还提供了一组 PowerShell cmdlet,用于无缝配置和管理缓存上的安全性。 您可以使用以下命令添加用户、启用安全性、禁用安全性和删除用户:
启用安全性
至 启用安全 您需要执行以下命令。此命令需要操作系统管理员权限才能成功启用您的安全功能。 NCache 服务器。
- 该命令启用 NCache 服务器 20.200.20.11 的安全设置。使用机器管理员凭据验证 David Watson 是否拥有指定服务器上的本地管理员权限。用户 Michael Parker 已注册为节点管理员,这授权该用户执行以下操作。 NCache 管理运营。
$machineAdmin = Get-Credential david_watson `
Enable-NCacheSecurity -Server 20.200.20.11 `
-MachineAdminCredential $machineAdmin -NodeAdminName michael_parker `
-NodeAdminDN "CN=Michael Parker,OU=engineers,DC=example,DC=com" `
-DomainController domain_controller -DomainControllerPort 389
- 该命令启用 NCache 服务器 20.200.20.11 的安全设置。由于 David Watson 是本地帐户,无法直接查询目录,因此通过 -DirectoryBrowsingCredential 为 John Smith 提供浏览目录的凭据,并根据域控制器验证 Michael Parker 的可分辨名称。
$machineAdmin = Get-Credential david_watson `
$directoryUser = Get-Credential john_smith `
Enable-NCacheSecurity -Server 20.200.20.11 `
-MachineAdminCredential $machineAdmin -NodeAdminName michael_parker `
-NodeAdminDN "CN=Michael Parker,OU=engineers,DC=example,DC=com" `
-DomainController domain_controller -DomainControllerPort 389 `
-DirectoryBrowsingCredential $directoryUser
该命令启用 NCache 在 IP 地址为 20.200.20.11 的服务器上启用安全功能。启用安全功能之前,该命令会验证 Michal Parker 是否拥有服务器上的必要权限。
添加节点管理员
在节点上启用安全性后,您需要将节点管理员添加到活动 LDAP 目录中,并赋予他们对节点的完全控制权,包括缓存管理和缓存 API 访问。
- 此命令将用户 David Watson 添加为 NCache 服务器管理员,IP 地址为 20.200.20.11。
$nodeAdmin = Get-Credential `
Add-NCacheUserOrGroup -Server 20.200.20.11 `
-AccessLevel Admin -NodeAdminCredentials $nodeAdmin `
-UserOrGroupName david_watson `
-UserOrGroupDN "CN=David Watson,OU=engineers,DC=example,DC=com" `
-DomainController domain_controller
执行命令时请注意,只有本地管理员(域用户)才能添加第一个节点管理员。后续的节点管理员只能由现有节点管理员添加或删除。
- 此命令将用户 David Watson 添加为托管在 IP 地址为 20.200.20.11 的服务器上的“demoCache”缓存的缓存用户。
$nodeAdmin = Get-Credential `
Add-NCacheUserOrGroup -Server 20.200.20.11 `
-AccessLevel Cache -CacheName demoCache `
-NodeAdminCredentials $nodeAdmin -UserOrGroupName david_watson `
-UserOrGroupDN "CN=David Watson,OU=engineers,DC=example,DC=com" `
-DomainController domain_controller
- 您还可以将一组用户添加为管理员。 NCache 管理员组。以下命令将名为“Dev”的组添加为管理员组。 NCache 服务器 IP 地址为 20.200.20.11 的管理员组。
$nodeAdmin = Get-Credential `
Add-NCacheUserOrGroup -Server 20.200.20.11 `
-AccessLevel Admin -NodeAdminCredentials $nodeAdmin `
-UserOrGroupName dev `
-UserOrGroupDN "CN=Dev,OU=engineers,DC=example,DC=com" `
-DomainController domain_controller
- 此命令将 gMSA“user1gmsa$”添加为托管在 IP 地址为 20.200.20.11 的服务器上的“demoCache”缓存的缓存用户。
$nodeAdmin = Get-Credential `
Add-NCacheUserOrGroup -Server 20.200.20.11 `
-AccessLevel Cache -CacheName demoCache `
-NodeAdminCredentials $nodeAdmin -UserOrGroupName user1gmsa$ `
-UserOrGroupDN "CN=user1gmsa,CN=Managed Service Accounts,DC=example,DC=com" `
-DomainController domain_controller
注意:
请注意,在 Linux 中,你可以通过以下方式添加管理组(sudo、root、wheel 等) NCacheServer.LinuxAdminGroups 标签来配置节点管理员。
细粒度访问控制:添加缓存用户
现在,您已成功保护了节点及其上配置的所有缓存。但是,如果您想限制某些没有管理权限的用户访问缓存操作,您可以 添加缓存用户您可以使用与节点管理员类似的 cmdlet 添加多个用户或组,只需指定即可。 AccessLevel 缓存参数。您必须使用 CacheName 参数。您可以通过运行以下命令添加缓存用户:
$nodeAdmin = Get-Credential `
Add-NCacheUserOrGroup -Server 20.200.20.11 `
-AccessLevel Cache -CacheName demoCache `
-NodeAdminCredentials $nodeAdmin -UserOrGroupName david_watson `
-UserOrGroupDN "CN=David Watson,OU=engineers,DC=example,DC=com" `
-DomainController domain_controller
删除用户
除了添加用户之外,节点管理员还有权 删除用户.
- 以下 cmdlet 从系统中移除管理员用户 David Watson NCache IP 地址为 20.200.20.11 的服务器:
$nodeAdmin = Get-Credential `
Remove-NCacheUserOrGroup -Server 20.200.20.11 `
-AccessLevel Admin -NodeAdminCredentials $nodeAdmin `
-UserOrGroupName david_watson
- 以下命令从系统中移除管理员用户 David Watson。 NCache 服务器 IP 地址为 20.200.20.11。
$nodeAdmin = Get-Credential `
Remove-NCacheUserOrGroup -Server 20.200.20.11 `
-AccessLevel Cache -CacheName demoCache `
-NodeAdminCredentials $nodeAdmin -UserOrGroupName david_watson
- 此命令从服务器 20.200.20.11 上的名为 demoCache 的缓存中删除 gMSA 缓存用户 user1gmsa$。通过 -NodeAdminCredentials 提供的凭据用于授权删除操作。
$nodeAdmin = Get-Credential
Remove-NCacheUserOrGroup -Server 20.200.20.11 `
-AccessLevel Cache -CacheName demoCache `
-NodeAdminCredentials $nodeAdmin -UserOrGroupName user1gmsa$
- 此命令从 IP 地址为 20.200.20.11 的服务器上托管的 demoCache 缓存中删除组 dev。
$nodeAdmin = Get-Credential
Remove-NCacheUserOrGroup -Server 20.200.20.11 `
-AccessLevel Cache -CacheName demoCache `
-NodeAdminCredentials $nodeAdmin -UserOrGroupName dev
在尝试删除启用了安全功能的用户时,如果目标用户是最后一个用户,系统会提示您决定是否还要禁用安全功能。
禁用安全性
NCache 还提供了禁用安全性的选项,而无需通过以下 cmdlet 删除配置的节点管理员和缓存用户:
Disable-NCacheSecurity -Server 20.200.20.40 -AdminCredentials(Get-Credential john_smith)
该 cmdlet 还需要操作系统级别的管理员权限才能成功执行。
配置安全设置后,它们将反映在 安全.ncconf 配置文件交付于 %NCHOME%\config.