linux – 从没有跨域信任的Windows中使用外部Kerberos Realm中的资源?

前端之家收集整理的这篇文章主要介绍了linux – 从没有跨域信任的Windows中使用外部Kerberos Realm中的资源?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我根本不是 Windows用户,但我理解Active Directory是LDAP Kerberos 5微软特别酱的基本思路.因此,在我有一台Windows机器的情况下,我无法控制它在现有的Active Directory域中,是否可以让这台机器上的人明确获取外部域的Kerberos票证然后获取资源我控制的 Linux服务器是在我控制的Kerberos / LDAP领域吗?

具体来说,假设我在我的领域中有一个用户“foo@MYREALM.COM”,并且该用户使用用户名“baz”登录到“BAR.COM”中的随机Windows机器,这是一个微软AD领域.现在,他们希望通过Samba或NFSv4从我的机器quux.myrealm.com上的共享文件获取文件,或者访问需要Kerberos身份验证的网页,他们需要将其作为foo@MYREALM.COM而不是baz @ BAR. COM是他们用来登录Windows的身份.

Linux / Unix / MIT Kerberos的方式是“kinit foo@MYREALM.COM”,然后去寻找它.在Windows上有等价物吗?是否存在不需要安装任何异常的等效项(即MIT Kerberos for Windows).

跨领域信任在这里不是一个选项,因为我怀疑现有的AD管理员甚至会为单向认证放置适当的TGT条目,此外,我不想信任这个域.

解决方法

我不是Unix用户,但我可以告诉你,微软有几种技术(我怀疑Unix也是如此).

第一个是Active Directory联合服务,根据维基百科的文章,它可以

“provide users with single sign-on access to systems and applications located across organizational boundaries”

这与我将提到的其他产品一样,使用新的“基于声明”的方法,您可以使用这些各种安全令牌服务(STS)将您的身份验证“声明”转换为您的服务器或服务验证所需的格式( SAML,JWT等).

必须在Windows域中安装Active Directory联合身份验证服务,因此这可能无法解决问题.但是,微软还有一些基于云的“声明转换”产品,您可以使用它们.一个是Azure Active Directory Services,它既是“身份提供者”又是“安全令牌服务”.上一个链接指出Azure Active Directory服务为您提供

“single sign-on to thousands of cloud apps and access to web apps that you run on-premises”.

我真的不推荐LDAP解决方案,但如果这是你想要的路线,你需要使用替换的“Graph API”来访问这个服务的“数据库”.另请注意,此服务具有“同步”选项,可以将内部部署Active Directory中的帐户同步到此云服务.

最后,还有Azure的访问控制服务,它提供“安全令牌服务”(无身份提供商).我个人认为此服务更适合需要代表用户授权自己的移动应用程序(OAuth2),但与Azure Active Directory服务有一些重叠,您可能想要查看它.

PluralSight有很多关于这些技术的课程,如果你想了解更多关于这些技术的话,我建议你查看它们.

猜你在找的Linux相关文章