我已经正确配置了 Active Directory kerberos 和 SPNEGO,但始终让我感到困惑的是,如何将服务 SPN 设置为仅允许某些域用户访问某些服务。例如,
HTTP/server.domain.com@DOMAIN.COM
上面的 SPN 就像客户端(浏览器、Java 等)如何与它想要访问的服务通信的最常用的基本示例。
用户 A 可以使用该 SPN 访问与该 SPN 绑定的服务。这也意味着用户 B 也可以使用该 SPN 访问该服务。如果我想确保用户 B 即使知道 SPN 也无法访问该服务怎么办?到目前为止,我还没有找到限制某些域用户服务的方法
第二种情况更糟,我有两个不同的服务正在运行,并且都有自己的 SPN,如下所示
SPN1 = HTTP/server1.domain.com@DOMAIN.COM
SPN2 = HTTP/server2.domain.com@DOMAIN.COM
我有两个用户,user1 和 user2。我只希望 user1 访问服务 1,只希望 user2 访问服务 2。但这似乎几乎不可能这样做,因为两个客户端在同一个活动目录中都是合法的,并且可以向上述任何 SPN 请求服务票证。我真的很困惑。
我很感激任何指示或指导。
感谢您。