2013-11-23 12 views
16

Tôi đã tìm kiếm kỹ lưỡng- lời xin lỗi trước nếu tôi thiếu câu trả lời rõ ràng. Thực hiện theo các đề xuất tại liên kết bên dưới và giải pháp không hoạt động. Giải pháp này cũng không cho biết liệu nó có áp dụng cho một máy chủ web sản xuất đang chạy IIS và SQL Server trên các máy tính riêng biệt hay không. Add IIS 7 AppPool Identities as SQL Server LogonsTạo đăng nhập SQL Server cho IIS APPPOOL - IIS và SQL Server trên các máy khác nhau

Microsoft liên kết dưới đây không cung cấp cú pháp cụ thể cho việc tạo ra một SQL Server Windows Login: http://www.iis.net/learn/manage/configuring-security/application-pool-identities

mục tiêu của chúng tôi là an toàn triển khai một ứng dụng ASP.NET 4.0 web cho công chúng trên Server 2008 R2 máy tính chạy IIS 7.5 trong môi trường sản xuất của chúng tôi. Theo thực tiễn tốt nhất, chúng tôi có SQL Server 2008 chạy trên một máy tính riêng biệt trong cùng một tên miền. Chúng tôi muốn sử dụng SQL Sever Windows xác thực mà không mạo danh để cho phép ứng dụng ASP.NET trên hộp IIS và SQL Server để giao tiếp. Hiện tại chuỗi kết nối đăng nhập SQL Server cho phép ứng dụng .NET kết nối với SQL Server nhưng chúng tôi muốn nâng cấp chuỗi kết nối thành đăng nhập Windows SQL Server để bảo mật hơn.

Trên IIS 7.5, chúng tôi đã định cấu hình Hồ bơi ứng dụng cho trang web. Trong cài đặt nâng cao của Hồ bơi ứng dụng, Tài khoản tích hợp đã thử sử dụng cả dịch vụ ApplicationPoolIdentity và mạng mà không thành công. Thực hành tốt nhất được cho là sử dụng ApplicationPoolIdentity để bảo mật chặt chẽ hơn.

Bước không thành công là tạo đăng nhập Windows Server Windows.

Chúng tôi đã làm theo các bước sau mỗi mắt xích đầu tiên:

  1. Trong SQL Server Management Studio, tìm kiếm thư mục Security (thư mục an ninh ở mức tương tự như cơ sở dữ liệu, máy chủ Objects, vv . thư mục ... không phải là thư mục an ninh trong mỗi cơ sở dữ liệu cá nhân)

  2. đăng nhập nhấp chuột phải và chọn "New Đăng nhập"

  3. Trong lĩnh vực tên đăng nhập, gõ IIS APPPOOL\YourAppPoolName - không bấm biển rch

  4. Fill bất cứ điều gì giá trị khác mà bạn thích (ví dụ, loại xác thực, cơ sở dữ liệu mặc định, vv)

  5. Bấm OK

bạn có thể vui lòng cho tôi biết với IIS 7.5 và SQL Server là trên các hộp riêng biệt, cú pháp nào tôi cần sử dụng để tạo đăng nhập cửa sổ SQL Server?

Tôi đã thử: "mydomain\machine1$\IIS APPPOOL\MyAppPoolName" nhiều lần mà không thành công.
Thông báo lỗi là: "Windows NT User or group IIS APPPOOL\MyAppPoolName can not be found"

Tôi đã sử dụng tên mạng của máy chủ web thay cho máy1 (cùng với tên hồ bơi ứng dụng thực tế và tên miền).

Cảm ơn trước sự giúp đỡ của bạn.

PS Sẽ rất tuyệt vời nếu Microsoft cung cấp hướng dẫn từng bước về cách thực hiện điều này thông thường và nhiệm vụ dễ dàng.Câu trả lời của bạn ở đây trên StackOverFlow sẽ giúp nhiều người :)

Trả lời

7

Một giải pháp cho vấn đề của bạn là thiết lập tài khoản riêng biệt (không được tích hợp) cho nhóm ứng dụng. Bạn có thể cấp cho tài khoản đó quyền tối thiểu và cũng cấp quyền truy cập vào SQL Server.

Bằng cách này bạn có thể sử dụng tài khoản miền dễ cài đặt nhưng vẫn kiểm soát bảo mật chặt chẽ.

+1

Szymon- cảm ơn mẹo. Nếu có thể kết nối với tài khoản ảo IIS 7.5 trên mạng từ hộp Máy chủ SQL đến hộp IIS 7.5, tùy chọn của chúng tôi là 1) Giữ đơn giản 2) tránh tăng cường bề mặt tấn công tiềm năng. Tôi sẽ ghi nhớ ý kiến ​​của bạn nếu không thể sử dụng tài khoản ảo qua mạng. –

+1

Hi Szymon- Tôi đã không gặp bất kỳ thông tin nào cho thấy rằng có thể sử dụng các tài khoản ảo trên mạng nên tôi đã chấp nhận câu trả lời của bạn và thực hiện nó như một giải pháp thực tế. Chỉ mất vài phút để thiết lập và hoạt động tốt. Cảm ơn bạn đã giúp đỡ! –

4

Tôi biết câu hỏi này là cũ, nhưng kể từ khi tôi chịu đựng cho đến khi tôi nhận được nó làm việc, tôi muốn chia sẻ kinh nghiệm của tôi để trả lời câu hỏi này.

Các bước bạn đã làm theo từng làm việc với tôi, ngoại trừ:

3- tài khoản mà bạn cần phải thêm vào thông tin đăng nhập máy chủ sql là mydomain\machine1$not mydomain\machine1$\IIS APPPOOL\MyAppPoolName

4- nghỉ mọi thứ trong trang cài đặt chung như giá trị mặc định (thực sự, bạn cần đảm bảo bạn đang sử dụng xác thực cửa sổ).

Sau đó chuyển đến Ánh xạ người dùng | chọn cơ sở dữ liệu bạn muốn ứng dụng của bạn truy cập | cấp cho nó bất kỳ quyền nào bạn muốn. Ví dụ, cho nó db_datareader & quyền db_datawriter.

5- Nhấp vào OK để lưu.

Nhưng hãy lưu trữ rằng tất cả các ứng dụng sử dụng tài khoản ảo từ cùng một máy sẽ có thể truy cập cơ sở dữ liệu này.

Các vấn đề liên quan