2016-07-30 29 views
7

Vì vậy, tôi có Windows Server 2016 TP5 và tôi đang phát xung quanh với các vùng chứa. Tôi có thể làm nhiệm vụ docker cơ bản tốt. Tôi đang cố gắng tìm ra cách để chứa một số ứng dụng web được lưu trữ trên IIS của chúng tôi.Tài khoản thư mục hoạt động bên trong thùng chứa cửa sổ (máy chủ 2016 TP5)

Thing là, chúng tôi thường sử dụng xác thực tích hợp cho DB và sử dụng tài khoản dịch vụ miền cho nhóm ứng dụng. Tôi hiện không có một máy ảo thử nghiệm (đó là trong một tên miền) vì vậy tôi không thể kiểm tra nếu điều này sẽ làm việc bên trong một container.

Nếu máy chủ được nối với một miền AD, các vùng chứa của nó có phải là một phần của miền không? Tôi vẫn có thể chạy các quy trình bằng tài khoản miền?

EDIT: Ngoài ra, nếu tôi chỉ định "USER" trong dockerfile, điều này có nghĩa là hồ bơi ứng dụng của tôi sẽ chạy bằng cách sử dụng (thay vì nhận dạng hồ bơi ứng dụng)?

Trả lời

5

nhanh câu trả lời - không có, container không được hỗ trợ như một phần của AD nên bạn không thể sử dụng tài khoản AD để chạy các quá trình trong một container hoặc xác thực với nó

này thường được đề cập trên trang web của MS Container nhưng original link hiện chuyển hướng.

Từ gốc (CTP 3 hoặc 4?): "Vùng chứa không thể tham gia miền Active Directory và không thể chạy dịch vụ hoặc ứng dụng dưới dạng người dùng miền, tài khoản dịch vụ hoặc tài khoản máy."

Tôi không biết liệu điều đó có thay đổi trong bản phát hành sau không.

Ai đó đã cố gắng hack around it nhưng không có niềm vui.

+2

[Active Directory Service Accounts cho Windows Container] (https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/manage-serviceaccounts) có thông tin này ngay bây giờ: "Mặc dù Windows Containers không thể liên kết miền, ..." – sschoof

5

Có ít nhất một số kịch bản mà AD-hội nhập trong Docker chứa thực sự hoạt động:

  1. Bạn cần phải truy cập vào tài nguyên mạng với các thông tin AD.
    1. Run cmdkey/thêm: <network-resource-uri>[:port]/user:/pass: <pass> dưới bản sắc địa phương mà cần truy cập này
    2. Để áp dụng các thủ thuật tương tự để IIS ứng dụng mà không sửa đổi AppPoolIdentity bạn sẽ cần một wrapper ashx đơn giản nhất xung quanh cmdkey (Lưu ý: bạn sẽ phải gọi wrapper này trong thời gian chạy, ví dụ: trong EntryPoint, nếu không mạng thông tin sẽ được ánh xạ tới bản sắc địa phương khác nhau)
  2. bạn cần phải chạy mã dưới dùng AD
    1. Mạo danh sử dụng chức năng ADVAPI32 LogonUser với LOGON32_LOGON_NEW_CREDENTIALSLOGON32_PROVIDER_DEFAULT như suggested
  3. Bạn cần vận chuyển an ninh mạng lớp, giống như khi thực hiện cuộc gọi RPC (ví dụ .: MSDTC) đến một nguồn lực AD-based.
    1. Thiết lập gMSA bằng cách sử dụng bất kỳ guide các suite phù hợp nhất. Tuy nhiên, lưu ý rằng gMSA yêu cầu Máy chủ lưu trữ trong miền.
+0

Nếu bạn đang sử dụng CNAME cho máy chủ, cmdkey cần phải là tên máy chủ thực tế chứ không phải là CNAME. –

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