问题标签 [spn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 即使使用 SPN 并允许在计算机上进行委派,ImpersonationLevel 仍然是模拟而不是委派
即使使用 SPN 并允许机器上的 Kerberos 委派,我的 WindowsIdentity 上的 ImpersonationLevel 仍然是模拟而不是委派。
我在开发中有完全相同的设置,在那里我也双跳到开发服务器。我正在尝试将其发布到实时服务器,但我不断收到模拟错误,我无法将模拟级别设置为“委托”
还需要做什么?调试 Kerberos 似乎是不可能的——有没有办法查看它正在检查哪些 SPN?
security - Kerberos 中的服务票证 - Hadoop 安全性
我正在尝试使用 kerberos 保护我的 hadoop 集群。我可以使用 kinit 命令生成 TGT。但除此之外,我被困住了。
1)我想知道“serviceTicket”在现实中是什么意思。(不作为描述);使用哪个命令/代码我们可以使用服务票?
2) '.keyTab' 文件和 '.keyStore' 文件有什么用?
Hadoop-Kerberos 故事
用户使用kinit命令向 KDC 发送身份验证请求。
KDC 发回加密票证。
用户通过提供他的密码来解密票证。
4. 现在经过身份验证,用户发送服务票证请求。
5. KDC 验证票证并发回服务票证。
用户将服务票证提交给 hdfs@KERBEROS.com。
hdfs@KERBEROS.com 解密票证,验证用户身份
第四步,“申请服务票”;它实际上是什么意思?要获得 TGT,我们使用“kinit”命令。同样,获得服务票的程序/方法是什么?
我的详细过程:
- LDAP:活动目录
- Kerberos:安装在 Ubuntu 中
- Hadoop 集群:在 Ubuntu 机器上配置,一主一从
- Ubuntu用户名:labuser
Ubuntu 中的领域:KERBEROS.COM
该计划是通过 Kerberos 和 Active Directory 提供 hadoop 安全性
- 在 Kerberos 服务器机器中为 ActiveDirectory 中存在的用户生成 TGT(使用 kinit 命令)
接下来要将 Kerberos 与 Ubuntu hadoop 集群集成,请执行以下操作,
1)创建委托人的命令:addprinc -randkey namenode/labuser@KERBEROS.COM
2)创建keytab的命令 :xst -norandkey -k namenode.service.keytab namenode/labuser@KERBEROS.COM (或) ktadd -k namenode.service.keytab namenode/labuser@KERBEROS.COM
3) 分别在 hadoop 配置文件中添加了属性到 Kerberos。
盯着hadoop集群,我们知道所有服务(Namenode,Datanode,Resource Manager和Node Manager)的登录都成功了。
- 日志信息:INFO org.apache.hadoop.security.UserGroupInformation:用户 dn/labuser@KERBEROS.COM 使用 keytab 文件登录成功 * /home/labuser/hadoopC/etc/hadoop/dn.service.keytab
然而Hadoop 集群没有启动,出现故障,
DataNode(java.lang.RuntimeException:没有特权资源无法启动安全集群)
NameNode(java.io.FileNotFoundException: /home/labuser/.keystore (没有这样的文件或目录))
请建议上述Kerberos过程是否需要任何更改?如果是,请说明理由
tomcat - 使用多个 SPN 配置 Tomcat 6
我正在尝试在 Windows Server 2008 上配置 Tomcat 6 以使用识别多个 Kerberos 票证,但运气不佳。我有一个包含多个 SPN 的 keytab,但似乎只能在 spnego 配置中指定一个主体名称。
使用多个 SPN 的原因是,我既可以直接验证与服务器的连接,也可以通过负载平衡器别名验证连接。
有没有人尝试过这个并有任何指示?
登录.conf:
c# - 检索与 ServicePrincipalName(SPN) 关联的帐户的查询
我们有一个基于 C# 构建的内部站点,并具有用于各种功能的各种工具,以帮助公司查找/修改/添加服务帐户等。这些工具只是自动化这些任务的 C# 代码。/模糊的
我被要求找到/创建一种输入 SPN 并让它返回与其关联的服务帐户的方法。
所以像:
输入:HTTP/server1.company.com
输出:SVC_ACCT_AWESOME
我收到的另一个请求是输入服务帐户名称并让它返回 KVNO。
问题,我以前从未在 C# 中做过任何事情。我已经加载了 Visual Studio 2013,我想学习。我花了几个小时在谷歌上倾注,除了这个之外没有发现任何有用的东西:
不幸的是,这对我没有任何意义。
任何可以为这些特定任务提供的方向都将非常感激!
谢谢。
java - 下一个短路数组最短过程
我的数组有
这个数组目前是这样排序的
使用此当前代码
我想要做的是对数组的行进行排序,因此它看起来像这样,取决于B
与 的行比较的总和A
。
因此,当我们将 56+102+125= 283 >200 相加时,我们会得到下一个最小的行6 65 200
。
我基本上是想实现下一个最短流程
这是我尝试过的代码
active-directory - 是否在 JAAS 中使用带有 Kerberos 登录模块的 SPN
我正在使用 Jconsole 使用 Jaas 构建一个 Kerberos 登录模块。
Jconsole 将是用于访问具有暴露 MBean 的进程的客户端,kerberos 登录模块将对用户进行身份验证。
用户将通过 Jconsole 登录,Jconsole 会将用户数据传递给登录模块,然后由 Kerberos 登录模块处理用户名和密码,并根据中央活动目录验证用户凭据。
我在为 Kerberos 配置此配置时遇到问题。即。这需要设置 SPN 吗?还是只需要设置一个 KeyTab?
windows - 使用 SSPI、KERBEROS、SPN 和 127.0.0.1 进行身份验证
我让我的客户端/服务器应用程序在使用 SSPI 的 Windows 系统上通过 KERBEROS 工作并验证客户端。我必须注册一个 SPN 才能完成这项工作,如果我使用 FQDN,一切正常,但是大约需要 4 秒。如果我使用 127.0.0.1 连接,连接几乎是立即的,但身份验证失败。
我注册了以下 SPN:Myapp/127.0.0.1:44555
我想我理解为什么这不起作用,因为它指的是每个系统,而不是专门指一个系统。我不明白的是如何获得使用 127.0.0.1 的所有速度优势,同时还能够执行 KERBEROS 身份验证。
提前感谢,非常感谢您的帮助。
sql-server - 目标主体名称不正确。无法生成 SSPI 上下文
我正在努力获得从机器 A 到运行 SQL Server 的机器 B 的 SQL Server 连接。
我用谷歌搜索了很多,我发现的所有东西都没有奏效。他们也不会逐步引导您完成解决此问题的过程。
我们没有使用 Kerberos,而是配置了 NTLM。
涉及的机器有(出于安全目的,xx 用于掩盖某些机器名称):
- xxPRODSVR001 - Windows Server 2012 域控制器
- xxDEVSVR003 - Windows Server 2012(这台机器正在生成错误)
- xxDEVSVR002 - Windows Server 2012(这台机器正在运行 SQL Server 2012)
以下 SPN 已在 DC (xxPRODSVR001) 上注册。出于安全目的,我用 yyy 遮盖了域:
为 CN=xxDEVSVR002、CN=Computers、DC=yyy、DC=local 注册的 ServicePrincipalNames:
为 CN=xxDEVSVR003、CN=Computers、DC=yyy、DC=local 注册的 ServicePrincipalNames:
现在,如果只有 SQL Server 错误消息更具描述性并告诉我它试图连接的主体名称,我可能能够诊断出这个。
那么任何人都可以指导我如何解决这个问题,或者你能在我提供的内容中看到任何错误吗?
我很乐意生成更多调试信息,请告诉我您需要什么。
windows - Windows MSA 帐户:我可以在具有 MSA 帐户的两个不同服务器之间执行 WMI / WinRM 命令吗?
Microsoft 允许使用 MSA(托管服务帐户)在两台 Windows 服务器之间建立远程连接,但似乎仅限于有限范围的应用程序(SQL、IIS、Exchange):
据我了解,如果 MSA 帐户可以为其所需的服务注册一个 SPN(服务主体名称),它就可以与另一台服务器进行系统间通信。
以下是我想做的事情:我希望能够使用(Windows 远程监控服务)WinRM / WMI 来运行以下监控命令:
但我不想使用一般的 AD 帐户,因为我不想继续处理 30 天的凭证到期。
kerberos - 在哪里运行 setspn 命令?
我正在尝试使用以下命令添加服务主体名称,该命令用于 Windows 身份验证。
我有一个在 IIS 服务器上运行的站点,该站点在连接到域控制器机器的 Windows 2008 服务器上运行。
我必须setspn
在 IIS 服务器或域控制器上运行命令吗?