Điểm:0

Kerberos - định cấu hình ủy quyền bị ràng buộc bằng tài khoản ảo của SQL Server

lá cờ cn
AnJ

Tôi đang cố gắng thiết lập ủy quyền hạn chế Kerberos để giải quyết nhảy đôi vấn đề.


Tôi đang sử dụng cấu hình Máy chủ SQL tiêu chuẩn với Tài khoản ảo (DỊCH VỤ NT\MSSQLSERVER) làm tài khoản dịch vụ cho tất cả các phiên bản của tôi.

Khi tôi đang cố thực hiện truy vấn bước nhảy kép qua Máy chủ được Liên kết, tôi gặp phải lỗi điển hình này:

Đăng nhập không thành công đối với người dùng 'NT AUTHORITY\ANONYMOUS LOGON'

Thiết lập trông như thế này:

Máy tính người dùng> HOP> Máy chủ SQL A> HOP (Máy chủ được liên kết)> Máy chủ SQL B

Và truy vấn của tôi chỉ là cơ bản Lựa chọn chỉ để thử nghiệm. Như thế này:

Chọn * Từ [Máy ​​chủ B].[DB].[Scheme].[Bảng]

sử dụng Trình quản lý cấu hình Kerberos cho SQL Server Tôi đã xác minh SPN và cài đặt ủy quyền cho máy chủ của mình.

SPN được cấu hình tự động: nhập mô tả hình ảnh ở đây

Và ủy quyền được đặt thành Không có: nhập mô tả hình ảnh ở đây

Tôi cũng đã kiểm tra loại xác thực mà SQL Server sử dụng. Để kiểm tra điều này, tôi đã chạy truy vấn này trên Máy chủ A (từ bài viết này):

CHỌN auth_scheme TỪ sys.dm_exec_connections Ở ĐÂU session_id = @@spid;

Và có NTLM như một phản ứng.


Theo kết quả này, có vẻ như tôi đang thiếu cài đặt ủy quyền. Nhưng câu hỏi của tôi là làm thế nào tôi nên đi về nó?

Tôi đã đọc vô số bài báo và bài đăng và tôi vẫn không thể hiểu được. Có vẻ như bạn chỉ có thể sử dụng Tài khoản ảo mặc định cho việc này. Nhưng mọi hướng dẫn tôi tìm thấy đều nói về Tài khoản miền hoặc Tài khoản dịch vụ được quản lý. Trong những trường hợp như vậy, chúng tôi có tài khoản này trong Active Directory, nhưng còn tài khoản ảo mặc định thì sao? Tài khoản này là tài khoản cục bộ - làm cách nào để tôi cấp quyền ủy quyền cho chúng?

Tôi có nên cấp quyền ủy quyền trên máy không? Nhưng bằng cách nào?

Tôi đã thử làm điều này. Tôi đã truy cập Active Directory, mở đối tượng Máy chủ A của mình và thực hiện việc này:

nhập mô tả hình ảnh ở đây

Vì vậy, nó sẽ cho phép Máy chủ A ủy quyền cho Máy chủ B. Nhưng nó vẫn không hoạt động. Và Trình quản lý cấu hình Kerberos vẫn hiển thị Không có như kiểu ủy quyền.

Tôi đang sử dụng Windows Server 2019 và SQL Server 2019.


@CHỈNH SỬA

Tôi đã thử sử dụng cài đặt khác. Thay vì "Chỉ Kerberos" tôi đã chọn "Sử dụng bất kỳ giao thức xác thực nào" và sau 10 phút nó bắt đầu hoạt động!.

Bây giờ tất cả đều có ý nghĩa vì kết nối SSMS vẫn được thực hiện với NTLM cài đặt "chỉ Kerberos" sẽ không hoạt động.

Nhưng câu hỏi đặt ra là tại sao nó vẫn được sử dụng NTLM? Nó có tệ không và tôi nên cố gắng thay đổi nó? Nếu vậy - làm thế nào?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.