5
这个楼主还没有留下简介。
当前还没有回复,欢迎成为第一个参与讨论的人。
前几篇我们为 local-web 增加了 Windows 版本、MFA 和进程检查。本篇再加一项条件:要求 Windows 客户端加入指定的 Windows 域,才允许访问服务。
Windows Domain Posture Check 检查的是客户端是否属于配置的域。它适用于 Windows 客户端;域名需要按实际环境设置。OpenZiti 文档介绍了对应的检查类型和 CLI 命令。
在 Windows PowerShell 中运行:
powershell(Get-CimInstance Win32_ComputerSystem).Domain
命令会返回域名;未加入域的电脑可能显示 WORKGROUP。先确认实际返回值,再配置 Posture Check。NetFoundry 的 Windows 域检查指南要求输入客户端必须加入的域名,示例使用完全限定域名(FQDN)。
在 ZAC 的 Posture Checks 页面新建检查:
text名称:require-corp-domain 角色属性:corp-domain 类型:Windows Domain Check 域名:corp.example.com
corp.example.com 是示例,请换成你的实际域名。如果允许来自多个域的设备,可以把允许的域名都加入检查。
也可以通过 ziti CLI 创建:
bashziti edge create posture-check domain require-corp-domain \
-d "corp.example.com" \
-a corp-domain
这里的 -a 指定 Posture Check 的角色属性;策略引用时写作 #corp-domain。
在 ZAC 的 Policies / Ziti Policies → Service Policies 中编辑 local-web-dial,将 #corp-domain 加入 Posture Check Attributes。
如果之前已经配置 Windows 版本、MFA 或进程检查,也要保留这些属性。例如:
textService:@local-web Identity:#windows-client Posture Checks: #windows-minimum #mfa-required #endpoint-agent-running #corp-domain Type:Dial
CLI 更新时同样要包含已有检查,避免覆盖:
bashziti edge update service-policy local-web-dial \
--posture-check-roles "#windows-minimum,#mfa-required,#endpoint-agent-running,#corp-domain"
请只填写已经创建、且确实希望应用到这条策略的检查属性。Posture Check 通过角色属性关联到 Service Policy;该策略要求的检查都必须满足才能授权。Service Policy 配置说明中列出了 Posture Check Attributes 的配置方式。
在已经加入 corp.example.com 的 Windows 客户端上,确认 Ziti Desktop Edge 已连接,再测试服务:
powershellcurl.exe -v http://hello.ziti/
然后可以用一台未加入该域的测试设备尝试访问。若它被同一条 Dial 策略授权,域检查不通过时应无法使用该服务。
如果访问失败,先把 PowerShell 查询到的域名与 Posture Check 中的值逐字核对。域值不匹配、客户端没有上报域状态,或策略没有引用 #corp-domain,都可能导致检查失败。
域成员检查确认的是 Windows 域归属,并不等同于检查设备是否满足全部企业安全要求。它可以与前文的版本、MFA 和进程检查一起使用;实际策略应只加入当前环境支持且确实需要的条件。