问题标签 [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.

0 投票
1 回答
252 浏览

azure - Azure powershell:查找哪个主体创建或修改了给定主体

我需要找出哪个主体修改或创建了给定的主体。

我们可以使用 Microsoft Graph Api 获得修改后的主体列表:

https://graph.microsoft.com/beta/servicePrincipals/delta

我想为每个修改的主体找到这个修改/创建的创建者

预先感谢您的帮助

0 投票
1 回答
2938 浏览

sql-server - 为 Microsoft SQL Server Reporting Services 启用 Kerberos

我正在尝试为 MS SQL Server Reporting Services 启用 Kerberos。我对 Windows 安全性及其工作原理相当熟悉。但是,我是 Windows 服务器横向扩展部署和集群的新手。我知道我需要添加指向 SSRS Web 服务(使用域帐户)和数据库引擎的 SPN。我对 SPN 的确切结构有点困惑。我查看了 Stack Overflow 和其他资源,大多数都参考了没有横向扩展/集群的标准部署。

我的问题是:

  • 我是否将 SPN 构建为指向节点、集群,两者都指向?
  • 如何为每个构建 SPN?
  • 我需要包括端口吗?

以下是我认为需要补充的内容:

以下是我的设置的详细信息:

域: clearwd(不是我的实际域)

服务器操作系统: Windows Server 2016

集群:开发集群

节点 1: DEV-SQL1

节点 2: DEV-SQL2

角色: DEV-CLUSTER1 (SQL Server/MSSQLSERVER)

SQL Server 版本: 2016 企业版

SQL 服务器名称: DEV-CLUSTER1

SQL 服务器端口: 1433

SSRS 服务帐户: ssrsuser.clearwd.com 或 clearwd\ssrsuser

SSRS 模式:本机

SSRS 报表服务器 Web 服务 URL: http://DEV-SQL01:80/ReportServer

SSRS 门户网站 URL: http://DEV-SQL01:80/Reports

让我知道是否需要任何其他信息。

参考:

https://www.itprotoday.com/sql-server/implement-kerberos-delegation-ssrs-0

https://docs.microsoft.com/en-us/sql/reporting-services/report-server/register-a-service-principal-name-spn-for-a-report-server?view=sql-server- 2017

https://docs.microsoft.com/en-us/sql/reporting-services/install-windows/configure-report-server-urls-ssrs-configuration-manager?view=sql-server-2017

0 投票
2 回答
3015 浏览

sql-server - SQL Server 网络接口库无法取消注册服务主体名称 (SPN)

我已经设置了一个 SQL Server 服务帐户,该帐户具有读取和写入服务主体名称的权限。当 SQL Server 启动时,我在日志中收到预期的消息,表明服务帐户已成功注册 SPN:

SQL Server 网络接口库已成功注册 SQL Server 服务的服务主体名称 (SPN) [MySPN]。

与数据库服务器的连接按预期使用 Kerberos 身份验证,一切似乎都很好。

但是,当我关闭 SQL Server 时,会在日志中输入一条消息,显示 SPN 无法注销:

SQL Server 网络接口库无法取消注册 SQL Server 服务的服务主体名称 (SPN) [MySPN]。错误:0x6d3,状态:4。管理员应手动取消注册此 SPN 以避免客户端身份验证错误。

我检查了没有重复的 SPN 并检查了 SPN 是否已注册到正确的服务帐户,并且仅注册到该帐户。服务器已重新启动多次。Microsoft 的 Kerberos 配置管理器不提供任何见解。

我不明白为什么允许服务帐户创建 SPN 但不允许删除它。

0 投票
1 回答
705 浏览

sql-server - SetSPN for Always-On 启用的服务器

我们为 AON 设置了一个三节点集群。我们在日志中收到以下错误。

我们已经了解到该服务需要在 AD 中注册。但是,我们是否需要注册单个服务器或 AON 侦听器感到困惑。

0 投票
1 回答
136 浏览

proxy - Kerberos 创建 spn 和 keytab 以包含代理 DNS

我想创建 SPN 和 keytab 以包含代理 DNS,以便代理可以将标头转发到后端。我不确定什么是主机、域和领域。有人可以验证它看起来是否正常吗?还是我添加了太多 example.com?

代理的服务器名称配置为 testing.example.com 领域为 example.com

setspn -a HTTP/testing.example.com testinghttp

setspn -a HTTP/testing.example.com.example.com testinghttp

ktpass -princ HTTP/testing.example.com.example.com@example.com -pass 密码 -mapuser example\testinghttp -crypto ALL -ptype KRB5_NT_PRINCIPAL -out d:\temp\key.keytab -kvno 0

0 投票
0 回答
412 浏览

apache - 如何使用 SPN、OpenShift 上的 apache2 和 kerberos SSO auth 处理不同的服务器名称

我正在尝试创建一个通用的 apache2 网络服务器作为身份验证“网关”。

场景:有人浏览到spn-servername.active-directory.int/secure,apache 应该尝试使用 kerberos 来验证用户(使用 SSO 的最佳情况)并将他重定向到后端/另一个 web 服务。

它工作到身份验证和 SSO 成功的地步,但我不知道如何将它推广到 OpenShift 上的不同容器并使用相同的 Active Directory 用户。

问题是,如果我更改servername容器和 apache confservername的 auth 仍然有效,但 SSO 失败。我猜这是因为活动目录用户的SPN和servername不同?我想在不更改用户/密钥表的情况下部署具有不同服务器名的不同应用程序。

配置具有不同主机名但具有相同 Active Directory 用户的多个 apache 身份验证网关的最佳做法是什么?

000default.conf

密钥表生成:

活动目录用户:

/var/log/apache2/sso.test.local-error.log 如果 SSO 不工作:

0 投票
1 回答
185 浏览

azure - 使用 SPN 的 CICD 身份验证

我正在创建一个 CI CD 管道以在数据块的开发和测试实例之间移动代码。我可以使用我的个人令牌来实现这一点。现在,我正在尝试使用 SPN 做同样的事情,当我做同样的事情时,我收到以下错误。

HTTP 错误 403 访问 /api/2.0/workspace/mkdirs 时出现问题。原因:用户未授权。

你们中的任何人都可以帮助我解决此错误或提供任何有关如何使用 SPN 进行从 devops 到 databricks 的身份验证的链接。

0 投票
1 回答
90 浏览

postgresql - 如果需要另一个 krbsrvname,是否需要重新编译?

根据https://www.postgresql.org/docs/current/gssapi-auth.html

当 GSSAPI 使用 Kerberos 时,它使用格式为 servicename/hostname@realm 的标准主体

在使用 krbsrvname 连接参数从客户端建立连接时,需要注意指定正确的主体详细信息。(另请参见第 33.1.2 节。)可以在构建时使用 ./configure --with-krb-srvnam=whatever 从默认的 postgres 更改安装默认值。

但是如果我查看 Github 上的 Postgres 源代码,

  1. 设置似乎作为 PG_KRB_SRVNAM 传播到 C 程序代码中
  2. 唯一使用它的地方似乎是在https://github.com/postgres/postgres/blob/master/src/interfaces/libpq/fe-connect.c的 libpq 库中

这是否意味着如果我需要使用另一个 krbsrvname,则不需要重新编译服务器?

0 投票
1 回答
161 浏览

sql-server - 使用 Windows 凭据通过计算机名称连接到 SQL 实例时出现问题,但可以通过 FQDN 连接

这是我在这里的第一篇文章,所以对于任何格式问题/缺乏经验,我深表歉意。

我有一个带有两个实例(默认实例和命名实例)的 SQL Server。

SQL Server 最初加入了一个域,但后来又加入了一个新域。

当我在 SQL Server ( ) 上本地连接到命名实例MySQLServer\MyInstance时,我可以使用 Windows 身份验证登录。

但是,当尝试MySQLServer\MyInstance从该域上的另一台服务器连接时,出现错误

目标主体名称不正确。无法生成 SSPI 上下文

Windows 帐户设置为具有运行服务的帐户的 SPN 读/写权限(返回“setspn -l newdomain\windowsaccount”(运行 SQL 服务的帐户))为具有新域的 FQDN 的实例返回预期的 SPN 注册表。我也可以使用远程服务器上的 SQL Server 凭据登录。

但是,当我尝试使用 FQDN(即MySQLServer.newdomain.local\MyInstance)连接到命名实例时,它会让我使用 Windows 身份验证。有没有人见过这个或知道我能做些什么来解决?

我已经尝试刷新 DNS 并重新启动 SQL 和远程服务器,所以所有服务都应该在重新启动时考虑(这只是一个内部测试环境,所以没有客户端受到影响 :))。

任何想法或提示将不胜感激!

0 投票
1 回答
103 浏览

sql - SQL Server 浏览器无法启动

我想开始使用 Java 中的数据库来帮助我的大学工作,但是我无法让 SQL Server 正常工作。我已使用向导安装它并选择“基本”安装 SSMS。但是,在启动 SSMS 时出现错误 26。在研究此问题时,它说要确保 SQL Server Browser 服务正在运行。不幸的是,这就是问题所在,每次我尝试启动服务时都会失败。

我看到的关于这个主题的所有修复都与另一台机器上的服务器有关,因为我试图在我自己的 PC 上运行服务器。无论如何我都试过了,但到目前为止没有任何效果。我能找到的唯一可能为您提供帮助的线索是,在日志文件中它说它未能注册 SPN。