Tôi có giao diện người dùng MS-Access 2007. Tôi sẽ có nhiều người dùng trên đó. Tất cả chúng đều nằm trong miền của công ty mạng. Tôi có nên sử dụng xác thực Windows hoặc xác thực SQL Server để kết nối với SQL Server 2008 qua ODBC không?SQL Server 2008: tôi có nên sử dụng auth Windows hoặc auth SQL Server không?
Trả lời
Xác thực Windows sẽ cho phép quá trình xác thực liền mạch hơn, đăng nhập một lần!
Từ bài viết dưới đây:
Nhược điểm của SQL Server Authentication
- Nếu người dùng là một người dùng miền Windows người có một tên đăng nhập và mật khẩu cho Windows, ông vẫn phải cung cấp một đăng nhập khác (SQL Server) và mật khẩu để kết nối. Việc theo dõi nhiều tên và mật khẩu là khó cho nhiều người dùng. Việc phải cung cấp thông tin đăng nhập SQL Server sau mỗi lần kết nối với cơ sở dữ liệu có thể gây phiền toái.
- Xác thực máy chủ SQL không thể sử dụng Giao thức bảo mật Kerberos.
- Windows cung cấp mật khẩu bổ sung các chính sách không có sẵn cho thông tin đăng nhập SQL Server.
Ưu điểm của SQL Server Authentication
- phép SQL Server để hỗ trợ các ứng dụng cũ và các ứng dụng cung cấp bởi bên thứ ba mà yêu cầu SQL Server Authentication.
- Cho phép SQL Server hỗ trợ các môi trường với hoạt động hỗn hợp hệ thống, trong đó tất cả người dùng không phải là được xác thực bởi tên miền Windows.
- Cho phép người dùng kết nối từ các miền không xác định hoặc không đáng tin cậy. Ví dụ: ứng dụng được thiết lập khách hàng kết nối với SQL được gán Đăng nhập máy chủ để nhận trạng thái đơn đặt hàng của họ.
- Cho phép SQL Server hỗ trợ Các ứng dụng dựa trên web nơi người dùng tạo danh tính riêng của họ.
- Cho phép nhà phát triển phần mềm phân phối ứng dụng của họ bằng cách sử dụng phân cấp quyền phức tạp dựa trên thông tin đăng nhập SQL Server đã xác định trước đã biết.
Đây là bài viết hay về chuyên môn/con của mỗi người. http://technet.microsoft.com/en-us/library/ms144284.aspx
Giống như nhiều điều khi nói đến triển khai bảo mật, điều bạn nên làm phụ thuộc vào mục tiêu của mình.
Tôi không chắc chắn từ câu hỏi của bạn nếu bạn dự định chuyển thông tin đăng nhập của từng người dùng cho SQL Server hoặc nếu bạn định đăng nhập một lần bằng Xác thực Windows hoặc Xác thực máy chủ SQL. Nếu bạn chọn tùy chọn sau SQL Server Authentication có lẽ là cách để đi vì nó giới hạn tài khoản mạng. Nếu bạn chọn xác thực Windows cũ thì có lẽ tốt hơn cho người dùng của bạn vì nó cung cấp một dấu hiệu đơn.
Một ưu tiên cá nhân của tôi là để mỗi ứng dụng sử dụng bộ thông tin đăng nhập riêng của mình để tương tác với cơ sở dữ liệu. Điều này giới hạn người dùng chỉ có các đặc quyền do ứng dụng cung cấp cho họ. Theo cách này, người dùng của bạn không cần phải lo lắng về việc xác thực cơ sở dữ liệu vì ứng dụng của bạn sẽ chăm sóc điều đó cho họ.
Dustin đánh vào danh sách ưu điểm/khuyết điểm tốt. Tôi biết không ai muốn đưa ra quyết định như thế này cho bạn, nhưng dựa trên tiêu chí của bạn (nhiều người dùng, tất cả trên miền công ty); Tôi không thể nghĩ ra một lý do duy nhất để sử dụng SQL Server Authentication thay vì Windows Authentication. Nó được thiết kế chủ yếu cho các kịch bản như thế này.
nếu tôi sử dụng cửa sổ authent, sau đó tôi không phải sử dụng từng người dùng cá nhân vào danh sách người dùng? –
@i_am_a_girl Tôi tin rằng cài đặt máy chủ SQL mặc định sẽ cho phép bất kỳ ai trên cùng một miền với máy chủ kết nối mà không cần thêm chúng một cách rõ ràng – bradenb
máy chủ nằm trên miền khác –
Nếu bạn có Tên miền và Thư mục hoạt động, bạn không nên thậm chí nghĩ về điều gì đó khác với Xác thực của Windows .... không phải một giây!
tôi đánh giá cao lời khuyên của bạn. điều này đôi khi cùng một người dùng truy cập vào cơ sở dữ liệu frmo một vị trí khác nhau –
một vị trí khác nhau trên cùng một mạng \ tên miền? Sau đó anh ta chỉ cần đăng nhập với thông tin đăng nhập của mình? –
Nếu cơ sở dữ liệu được truy cập từ một tên miền khác, với các thông tin đăng nhập khác, bạn sẽ phải quản lý một cái gì đó gọi là 'miền tin cậy' (tôi nghĩ đó là biểu thức đúng) –
Xem như bạn có giao diện người dùng trên máy tính để bàn đang kết nối trực tiếp với cơ sở dữ liệu ... tùy chọn tốt nhất của bạn là đi với cửa sổ auth. Hãy ghi nhớ bằng cách làm điều này, người dùng có thể bỏ qua lối vào và truy cập trực tiếp vào cơ sở dữ liệu. Bạn sẽ cần cấp cho họ quyền truy cập db tối thiểu cần thiết. Ngoài ra, bạn sẽ muốn sử dụng nhóm bảo mật AD thay vì thêm từng người dùng.
Sql auth là tốt nhất khi bạn kiểm soát tệp cấu hình ... ví dụ như ứng dụng web.
. Bạn phải cẩn thận khi trao quyền cho người dùng. Nhưng điều này đúng là bất cứ điều gì là chế độ xác thực.Có bao nhiêu cơ sở dữ liệu đang chạy với hàng trăm người dùng đang được cấp quyền dbo, chỉ vì anh chàng đã cài đặt cơ sở dữ liệu và phần mềm không đưa ra một chút lo lắng về bảo mật? Thậm chí còn có một công ty của tôi! –
Tên của anh ấy không phải là Philippe, phải không? ;) –
@Philippe Grondier nó là đúng cho một ứng dụng máy tính để bàn truy cập cơ sở dữ liệu trực tiếp. Bạn thực sự cần một lớp khác để truy cập cơ sở dữ liệu một cách an toàn ... có thể là các thủ tục được lưu trữ, dịch vụ web, v.v. – dotjoe
Đó là tùy chọn có thể chuyển đổi trong ứng dụng của chúng tôi. Các folks CNTT trong các tổ chức lớn hơn có xu hướng thích đăng nhập một lần để hỗ trợ và những người dùng thích nó để đơn giản. – DaveE
"• Windows cung cấp các chính sách mật khẩu bổ sung không có sẵn cho thông tin đăng nhập SQL Server." cũng chính sách mật khẩu áp dụng cho đăng nhập máy chủ sql khi bạn nhấp vào tùy chọn "thực thi chính sách mật khẩu". – DForck42