具有多个Service SPN的客户,客户是否可以被故意限制为某些服务? kerberos和/或spnego

时间:2018-08-08 15:59:30

标签: active-directory websphere kerberos spnego spn

我已经正确配置了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的服务票证。我真的对此感到困惑。

感谢您提供任何指导或指导。

谢谢你。

1 个答案:

答案 0 :(得分:1)

Kerberos用于身份验证

应该有一些其他服务可以做出授权决定允许哪个服务授予谁。

关于WebSphere,请看授权提供者

https://www.ibm.com/support/knowledgecenter/en/SSAW57_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/csec_jaccauthorization.html

SPN只是一个前端服务名称,不会用于授权。 最终用户的AD主体名称将用于授权,而不是SPN。 在大多数情况下,所有用户的SPN都是相同的(如果前面有负载均衡器等,则它可能多个SPN)。 希望这对您有所帮助。