Có khả năng cấp phép thuộc tính cho tài khoản ảo SQL Server (NT Service \ SQLSERVERAgent, v.v.) không?


7

Sử dụng MS SQL Server 2012 trong Microsoft Windows Server 2008.

Tôi hơi bối rối bởi các loại tài khoản mới có sẵn với các tài khoản Windows ảo Windows 7 và Windows Server 2008 R2[NT SERVICE]\<SERVICENAME> như NT SERVICE \ MSSQLSERVER NT SERVICE\SQLSERVERAGENT, v.v.

Có khả năng dám cấp quyền, ví dụ: [NT Service \ SQLSERVERAGENT] 'để truy cập tài nguyên được chia sẻ (hoặc tệp hoặc thư mục cục bộ) không?
Và, làm thế nào để làm điều này?
Ví dụ: để cấp quyền cho chia sẻ tệp Windows để chạy psexec ?

Trong khi duyệt (hoặc nhấn nút Tìm <hoặc thêm nhóm và người dùng vào chia sẻ tệp) có sẵn trong miền và / hoặc máy tính cục bộ / từ xa, không có tài khoản nào khả dụng và nhập vào đó sẽ gây ra lỗi:

"Không thể tìm thấy một đối tượng (Người dùng hoặc hiệu trưởng bảo mật tích hợp) với những điều sau đây ..."

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

Câu hỏi liên quan (mặc dù khác nhau) đã kích thích câu hỏi này: Làm cách nào để sao chép tệp bak vào chia sẻ từ xa (không có sự tham gia của tài khoản AD / tên miền)?

CẬP NHẬT, trả lời bình luận của @ Jon-Siegel cho câu trả lời đã bị xóa của tôi: không có lỗi trong ảnh chụp màn hình của tôi, đôi khi phát hiện tài khoản ảo xảy ra, đôi khi không thành công. Thực sự 2 ngày qua tôi không thể tái tạo nó.

Có thể giải thích rằng tôi không có quyền thích hợp?
Khi tôi cố gắng mở SQL Sever Trình quản lý cấu hình, tôi luôn nhận được:

--------------------------- 
SQL Server Configuration Manager
 --------------------------- 
Cannot connect to WMI provider.   
You do not have permission or the server is unreachable.  
Note that you can only manage SQL Server 2005 and later servers with SQL Server Configuration Manager.  
Invalid class [0x80041010] 
 --------------------------- 
OK   
---------------------------

Lỗi trình quản lý cấu hình máy chủ SQL

Ngoài ra, trong eventvwr.msctôi quan sát rất nhiều lỗi liên quan đến quyền (trong Hệ thống):

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID   
{FDC3723D-1588-4BA3-92D4-42C430735D7D}  
 and APPID   
{83B33982-693D-4824-B42E-7196AE61BB05}  
 to the user NT SERVICE\SQLSERVERAGENT SID (S-1-5-80-344959196-2060754871-2302487193-2804545603-1466107430) from address LocalHost (Using LRPC).  
This security permission can be modified using the Component Services administrative tool

.

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

Tôi không chắc chắn liệu tôi nên mở một câu hỏi khác hay gắn bó với câu hỏi này ... Các câu hỏi tiếp theo là:
1) các quyền để đọc tài khoản ảo là gì?

Tôi không thể liệt kê bất cứ điều gì ngoại trừ máy tính cục bộ trong "Chọn Người dùng, Máy tính, Tài khoản dịch vụ, Cgoups hoặc Hiệu trưởng bảo mật tích hợp" - các mục nhập có thể nhìn thấy nhưng khi mở chúng, không có mục phụ nào hiển thị cho tôi:

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

2)
Làm cách nào tôi có thể nhập NT SERVICE\SQLSERVERAGENT(bằng cách nhập thủ công) trên máy tính khác?

Hiện tại tôi chỉ có thể chọn nó trên máy tính cục bộ:

  • bằng cách chọn tên của máy tính cục bộ thông qua việc nhấn nút " Vị trí ... ", sau đó chọn mục trên cùng trong danh sách cây - xem bảng điều khiển ở trên;
  • sau đó nhập "NT Service \ SQLSERVERAGENT" trong Enter the object names to selecthộp danh sách ""

    Kiểm tra tên - trước

    đó là sau khi nhấn nút "Kiểm tra tên":

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

Đó là, không có gợi ý làm thế nào để gõ nó.
Nhấn nút "Nâng cao ...", sau đó "Tìm ngay") hiển thị danh sách không có tài khoản ảo:

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


Là phiên bản của SQL Server là một thể hiện mặc định hay một thể hiện được đặt tên?
Jon Seigel

@JonSiegel, ví dụ mặc định. NVOSIB-1C, trong trường hợp này, là tên của máy chủ (máy chạy MS Windows Server 2008)
Gennady Vanin Геннадий Ванин

Windows Server 2008, hay 2008 R2? Nếu bộ nhớ phục vụ, SID dịch vụ không được giới thiệu cho đến 2008 R2. Theo như tôi có thể nói, bạn đang làm đúng quy trình, vì vậy nếu bạn vào năm 2008, đó là điều duy nhất tôi có thể nghĩ về điều đó sẽ giải thích nó.
Jon Seigel

Tiêu chuẩn Windows Server 2008 R2, Hệ điều hành 64 bit
Gennady Vanin Геннадий В Cửa hàng

Lý tưởng nhất là bạn không bao giờ nên cấp quyền cho tài khoản. Luôn tạo một nhóm, cấp các quyền có liên quan cho nhóm này, sau đó thêm (các) tài khoản vào nhóm. Áp dụng cho các tài khoản ảo là tốt.
Remus Rusanu

Câu trả lời:


4

Vì vậy, trước tiên hãy xem qua phần này giải thích các tài khoản ảo:

TechNet: Hướng dẫn từng bước về tài khoản dịch vụ

Để trả lời câu hỏi của bạn:

1 / Bạn không thể liệt kê các tài khoản ảo này trong hộp thoại đó, tôi không chắc chắn 100% về lý do, nhưng bạn luôn cần nhập chúng theo cách thủ công, trong ảnh chụp màn hình của bạn, bạn cũng có tên miền thư mục hoạt động được liệt kê, bạn sẽ không bao giờ nhìn thấy chúng ở đây vì chúng là tài khoản địa phương.

2 / Bạn không thể thêm quyền trên tệp / chia sẻ trên máy khác bằng cách tìm các tài khoản này, vì chúng chỉ tồn tại trên máy bạn đã cài đặt máy chủ SQL trên (NVOSIB-1C trong trường hợp của bạn). Các tài khoản này mặc dù có thể truy cập tài nguyên trên mạng, nhưng chúng làm như vậy trong bối cảnh tài khoản máy của máy chủ.

Vì vậy, một ví dụ là bạn đã cài đặt NVOSIB-1C với SQL Server và NVOSIB-Filer với một chia sẻ trên đó mà bạn muốn tài khoản SQL Server có thể truy cập.

Những gì bạn sẽ làm trong tình huống này là thêm tài khoản máy của máy chủ SQL vào các quyền trên chia sẻ tệp, bạn có thể làm điều này chỉ bằng cách gán tài khoản DOMAINNAME \ NVOSIB-1C $ các quyền bạn muốn và sau đó làm tài khoản ảo truy cập mạng trong bối cảnh của máy mà nó sống, nó sẽ có quyền làm như vậy.

Rõ ràng điều này giới hạn khả năng của bạn trong việc gán quyền, vì mọi thứ chạy trên NVOSIB-1C được xác thực trong ngữ cảnh của máy chủ giờ đây sẽ có quyền truy cập vào chia sẻ, nếu đây là vấn đề đáng lo ngại, bạn có thể thực hiện một trong 2 điều sau:

  • Sử dụng các tài khoản dịch vụ miền tiêu chuẩn cho các dịch vụ SQL Server, sau đó bạn cần duy trì mật khẩu, v.v., nhưng điều này giúp việc gán quyền dễ dàng hơn một chút.

  • Thiết lập tài khoản dịch vụ được quản lý trong AD, điều này có lợi thế là các tài khoản cục bộ có trong đó bạn không cần phải lo lắng về mật khẩu và cũng là lợi thế mà bạn có thể thấy và quản lý chúng tập trung trong AD như một tài khoản bình thường, Nhược điểm chính là bạn cần phải tạo tài khoản dịch vụ được quản lý trước khi cài đặt máy chủ SQL, vì vậy trong trường hợp của bạn, bạn sẽ phải cài đặt lại để tận dụng lợi thế này.


Đây là câu hỏi khá khái niệm, nó không có nghĩa là tôi sẽ sử dụng nó thực tế. "Vì chúng chỉ sống trên máy mà bạn đã cài đặt máy chủ SQL trên (NVOSIB-1C trong trường hợp của bạn)" - Tôi cũng đã cài đặt SQL Server 2012 trên một máy khác. Tôi nghĩ rằng nó là rõ ràng từ câu hỏi. "là thêm tài khoản máy của máy chủ SQL vào các quyền trên chia sẻ tệp, bạn có thể thực hiện việc này chỉ bằng cách gán tài khoản DOMAINNAME \ NVOSIB-1C $ các quyền" - vì vậy, tôi có thể làm điều đó cho NT Service \ MSSQLSERVER sau đó Tôi không thấy cách thức và lý do tại sao nó khác với SQLSERVERAGENT
Gennady Vanin Геннадий Внаин

Trích dẫn RTFM : "Tài khoản ảo không thể xác thực đến một địa điểm từ xa Tất cả tài khoản ảo sử dụng sự cho phép của tài khoản máy Cung cấp các tài khoản máy trong định dạng <domain_name> \ <computer_name> $'..
Gennady Vanin Геннадий Ванин

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.