Authentication 理解Kerberos主体
我试图理解Kerberos的基本概念。我读过关于校长的书,通常看起来像:Authentication 理解Kerberos主体,authentication,kerberos,spn,mit-kerberos,keytab,Authentication,Kerberos,Spn,Mit Kerberos,Keytab,我试图理解Kerberos的基本概念。我读过关于校长的书,通常看起来像: primary/instance@REALM 我想问的是,什么是主要的、实例和领域。当然,上面的页面和互联网上的其他几个地方都给出了定义,但是有人能举个例子吗 我的理解是: 主要是消费者(用户或服务)。 实例是用于访问控制的对象。主实例可以是多个实例的一部分。 领域是实例的集合? 如果我错了,请纠正我 如果我有服务器:foo.bar.com 在这方面,我可以有两个领域:领域m1,领域m2。这些可以这样命名吗?或者我可以在
primary/instance@REALM
我想问的是,什么是主要的、实例和领域。当然,上面的页面和互联网上的其他几个地方都给出了定义,但是有人能举个例子吗
我的理解是:
主要是消费者(用户或服务)。
实例是用于访问控制的对象。主实例可以是多个实例的一部分。
领域是实例的集合?
如果我错了,请纠正我
如果我有服务器:foo.bar.com在这方面,我可以有两个领域:领域m1,领域m2。这些可以这样命名吗?或者我可以在这里只有一个域名作为FOO.BAR.COM?
现在我要说的是3个服务:s1、s2、s3,它们相互通信。既然启用了kerberos,它们中的每一个都必须有一个主体及其自己的keytab文件?或者,由于每个服务都在与其他服务通信,每个keytab文件是否需要为其他服务设置主体 在您给出的示例中:primary/instance@REALM
例如,foo.bar.com,领域可能是foo.bar.com。但也不一定是这样。您肯定可以在另一个名称的Kerberos领域中存在foo.bar.com的DNS FQDN,但该领域名称必须是完全限定的,您不能仅将其作为“REALM1”。Kerberos严重依赖DNS。我认为,从技术上讲,有一个非完全限定的Kerberos域名是可能的,尽管我在实践中从未见过这样做。你只会自找麻烦。对于3个相互通信的服务,是的,它们中的每一个都必须有自己的SPN,它们必须在Kerberos数据库中单独描述,否则客户端将如何找到它们?在这种情况下,三个不同的服务都需要自己的keytab文件。但每个键表都不会有其他服务的主体。不要像你那样单独使用“校长”这个词。主体是一个安全对象,它可能有SPN,也可能没有。视情况而定。有不同类型的安全主体,例如用户,它们具有UPN。服务是SPN。计算机是第三类。如果您在Microsoft Active Directory环境中,建议您在这里阅读更多内容,这是当今最流行的Kerberos实现版本 在您给出的示例中:primary/instance@REALM
例如,foo.bar.com,领域可能是foo.bar.com。但也不一定是这样。您肯定可以在另一个名称的Kerberos领域中存在foo.bar.com的DNS FQDN,但该领域名称必须是完全限定的,您不能仅将其作为“REALM1”。Kerberos严重依赖DNS。我认为,从技术上讲,有一个非完全限定的Kerberos域名是可能的,尽管我在实践中从未见过这样做。你只会自找麻烦。对于3个相互通信的服务,是的,它们中的每一个都必须有自己的SPN,它们必须在Kerberos数据库中单独描述,否则客户端将如何找到它们?在这种情况下,三个不同的服务都需要自己的keytab文件。但每个键表都不会有其他服务的主体。不要像你那样单独使用“校长”这个词。主体是一个安全对象,它可能有SPN,也可能没有。视情况而定。有不同类型的安全主体,例如用户,它们具有UPN。服务是SPN。计算机是第三类。如果您在Microsoft Active Directory环境中,建议您在这里阅读更多内容,这是当今最流行的Kerberos实现版本 谢谢你的解释,现在好多了!所以,如果对于我的服务s1(它作为自己的用户运行,比如s1user),我想让它访问服务s2,我该怎么做?假设这两个都在同一个实例上。我不为用户创建一个新主体吗/instance@realm然后将其添加到s2的keytab文件中?这不是原始问题的一部分,是一个更高级的主题,我不熟悉如何实现。我在谷歌上搜索了一下,发现了这个:谢谢你的解释,现在好多了!所以,如果对于我的服务s1(它作为自己的用户运行,比如s1user),我想让它访问服务s2,我该怎么做?假设这两个都在同一个实例上。我不为用户创建一个新主体吗/instance@realm然后加上t