Ai đó có thể vui lòng giải thích Tên Nguyên tắc Dịch vụ Windows (SPN) mà không cần quá đơn giản không?


28

Tôi đã vật lộn với tên nguyên tắc dịch vụ một vài lần và giải thích của Microsoft là không đủ. Tôi đang định cấu hình ứng dụng IIS để hoạt động trên miền của chúng tôi và có vẻ như một số vấn đề của tôi liên quan đến nhu cầu của tôi để định cấu hình SPN cụ thể http trên tài khoản dịch vụ windows đang chạy nhóm ứng dụng lưu trữ trang web của tôi.

Tất cả điều này đã khiến tôi nhận ra rằng tôi chỉ không nhận được đầy đủ mối quan hệ giữa các loại dịch vụ (MSSQL, http, host, termsrv, wsman, v.v.), xác thực Kerberos, tài khoản máy tính thư mục hoạt động (PCName $), tài khoản dịch vụ windows, SPN và tài khoản người dùng tôi đang sử dụng để thử và truy cập dịch vụ.

Ai đó có thể vui lòng giải thích Tên Nguyên tắc Dịch vụ Windows (SPN) mà không cần quá đơn giản giải thích không?

Điểm thưởng cho một sự tương tự sáng tạo sẽ cộng hưởng với một quản trị viên / nhà phát triển hệ thống có kinh nghiệm vừa phải.


4
Vui lòng xem Bill Bryant, "Thiết kế hệ thống xác thực: Đối thoại trong bốn cảnh" có đáp ứng yêu cầu của bạn về sự tương tự sáng tạo hay không.
yrk

Câu trả lời:


33

Một Service Principal Name là một khái niệm từ Kerberos. Đó là một định danh cho một dịch vụ cụ thể được cung cấp bởi một máy chủ cụ thể trong một miền xác thực. Hình thức phổ biến cho SPN là service class/ fqdn@ REALM(ví dụ IMAP/mail.example.com@EXAMPLE.COM). Ngoài ra còn có Tên hiệu trưởng người dùng xác định người dùng, dưới dạng user@ REALM(hoặc user1/ user2@ REALM, xác định mối quan hệ nói chuyện ). Có service classthể coi lỏng lẻo là giao thức cho dịch vụ. Danh sách các lớp dịch vụ được tích hợp sẵn cho Windows được liệt kê trong bài viết này của Microsoft .

Mỗi SPN phải được đăng ký tại REALM's Key Distribution Center (KDC) và đã đưa ra một chìa khóa dịch vụ . Các setspn.exetiện ích có sẵn trong \Support\Toolsthư mục trên Windows cài đặt phương tiện truyền thông hoặc như là một download Resource Kit, thao túng phân công của SPN vào máy tính hoặc các tài khoản khác trong AD.

Khi người dùng truy cập dịch vụ sử dụng Kerberos để xác thực (dịch vụ "Kerberized"), họ sẽ xuất trình một vé được mã hóa thu được từ KDC (trong môi trường Windows, Bộ điều khiển miền Active Directory). Vé được mã hóa với khóa dịch vụ . Bằng cách giải mã vé, dịch vụ chứng minh rằng nó sở hữu chìa khóa cho SPN đã cho. Các dịch vụ chạy trên máy chủ Windows sử dụng khóa được liên kết với tài khoản máy tính AD, nhưng để tuân thủ SPN giao thức Kerberos phải được thêm vào Active Directory cho mỗi dịch vụ kerberized chạy trên máy chủ - ngoại trừ các SPN tích hợp được đề cập ở trên. Trong Active Directory, SPN được lưu trữ trong servicePrincipalNamethuộc tính của đối tượng máy tính của máy chủ.

Để biết thêm thông tin, hãy xem: Bài viết của Microsoft TechNet về SPN , Câu hỏi thường gặp về Kerberos của Ken Hornstein


4
+1 - Bạn đánh bại tôi để viết bài này và đã làm một công việc tuyệt vời cho bạn vì vậy tôi đã chọn chỉnh sửa câu trả lời của bạn để thêm một vài chi tiết thay vì viết riêng.
Evan Anderson

@yarek hai liên kết cuối cùng bị hỏng kể từ ngày 29 tháng 1 năm 2019
Andrew Watson

10

Câu trả lời của yarek rất hay, và tôi đã nâng cao nó, nhưng tôi cũng muốn cung cấp cho bạn thêm một chút thông tin cụ thể về Windows về chủ đề này, hay nói đúng hơn là từ quan điểm của một người quen thuộc với AD hơn là chỉ nói chung về Kerberos bởi vì đây là một chủ đề mà tôi rất quan tâm

Tôi cảm thấy như anh chàng này đã làm một công việc tuyệt vời để giải thích nó, và tôi khuyên bạn nên đọc bài viết của anh ấy, nhưng đây là một đoạn đặc biệt ngắn gọn ngay đối với câu hỏi của bạn:

"Tên hiệu trưởng dịch vụ xác định dịch vụ nào chạy trong ngữ cảnh bảo mật tài khoản. Ví dụ: một số dịch vụ mà máy tính có thể có là Máy chủ tệp / CIFS (Hệ thống tệp Internet chung), nếu là bộ điều khiển miền, nó sẽ có LDAP SPN và Sao chép thư mục hoạt động SPN và FRS SPN. Tên chính của dịch vụ có thể được xác định trên tài khoản người dùng khi Dịch vụ hoặc ứng dụng đang chạy trong bối cảnh bảo mật của người dùng đó. Thông thường, các loại tài khoản người dùng này được gọi là Tài khoản dịch vụ của người dùng. rất nhập mà bạn hiểu rằng Tên hiệu trưởng dịch vụ PHẢI là duy nhất trong toàn bộ rừng Active Directory. "

Toàn bộ bài viết có tại đây: http://blogs.technet.com/b/askds/archive/2008/03/06/kerberos-for-the-busy-admin.aspx

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.