NT AUTHORITY \ ANONYMOUS LOGON。失败了,错误:

问题描述 投票:1回答:2

我在两台服务器之间设置服务代理。我正在实现的环境没有域。

两个SQL服务器服务在“NETWORK SERVICE”下运行

我收到以下错误消息

用户'NT AUTHORITY \ ANONYMOUS LOGON'的Service Broker登录尝试。失败并显示错误:'连接握手失败。登录'NT AUTHORITY \ ANONYMOUS LOGON'在端点上没有CONNECT权限。国家84.'。

如果我将NT AUTHORITY \ ANONYMOUS LOGON添加到SQL服务器并授予连接权限,那么一切正常。

我不确定是否允许NT AUTHORITY \ ANONYMOUS LOGON是一个好主意。

谷歌的一些研究告诉我,我需要为Kerberos配置SPN,但我不知道这样做。

你可以帮忙,或者指点一篇好文章来推荐吗?

组态

SQL 2008 R2和Windows 2008

sql-server authentication database-administration service-broker
2个回答
1
投票

我之前也遇到过这个问题。

本指南帮我解决了这个问题。如果您不是AD管理员,则可能需要让您的服务器人员参与其中。

guide to fix double hop issue


1
投票

我在两台服务器之间设置服务代理。我正在实现的环境没有域。

那么您应该使用基于证书的身份验证而不是Windows:

CREATE ENDPOINT [broker]
    STATE = STARTED
    AS TCP (LISTENER_PORT = 4022)
    FOR SERVICE_BROKER (
        AUTHENTICATION = CERTIFICATE [MyCertName]);

设置非常复杂,因为它涉及在主机之间交换证书,创建登录和用户以映射到其他主机并授予端点连接。然后,您还需要执行对话安全层。你可以在这里阅读How does Certificate based Authentication work,这个博客一步一步地解释了如何做到这一点:A simple secure dialog with transport certificates

请注意,即使错误消息是关于匿名登录,这也不是Kerberos的“双跳”问题(更好地称为约束委派)。

© www.soinside.com 2019 - 2024. All rights reserved.