Thiết lập xác thực MLflow

Thiet Lap Xac Thuc Mlflow



Xác thực phải được định cấu hình để bảo đảm quyền truy cập vào các thử nghiệm, mô hình và tạo phẩm trên máy chủ MLflow. Sau khi được bật, mọi người dùng muốn truy cập bất kỳ tài nguyên nào được máy chủ MLflow lưu trữ đều phải đăng nhập. Vì MLflow không bao gồm xác thực tích hợp theo mặc định nên cần phải thiết lập nó để hoạt động với một tài nguyên khác. kỹ thuật xác thực.

Cách kích hoạt xác thực MLflow trên máy chủ

Khởi chạy giao diện người dùng MLflow bằng lệnh tiếp theo để bật xác thực MLflow:

máy chủ mlflow --tên ứng dụng cơ bản-auth

Bằng cách khởi động lại máy chủ mà không có tùy chọn tên ứng dụng, quản trị viên máy chủ MLflow có thể chọn tắt tính năng này bất cứ khi nào họ muốn. Dưới đây là ảnh chụp màn hình của lệnh khi nó hiển thị trên thiết bị đầu cuối dòng lệnh của hệ điều hành Windows (bỏ qua cảnh báo):









Máy chủ MLflow hiện yêu cầu tên người dùng và mật khẩu để truy cập vào các thử nghiệm và tạo phẩm của máy chủ khi được truy cập qua trình duyệt bằng cách nhập http://127.0.0.1:5000 dưới dạng URL.







Cách thiết lập xác thực trên MLflow

Với một vài sửa đổi nhỏ trong hướng dẫn, lệnh và tên tệp cấu hình, việc thiết lập xác thực MLflow trên Windows rất giống với thiết lập trên Linux.

Dưới đây là hướng dẫn định cấu hình xác thực MLflow trên Windows bằng cách sử dụng “htpasswd” và Nginx làm proxy ngược. Hãy nhớ rằng cấu hình này cho phép xác thực đơn giản và điều quan trọng là phải bảo vệ đầy đủ máy tính chạy MLflow và Nginx để tránh truy cập trái phép. Hãy cân nhắc sử dụng OAuth hoặc kết nối MLflow với các nhà cung cấp danh tính bên ngoài cho môi trường sản xuất hoặc các yêu cầu bảo mật nghiêm ngặt hơn.



Trong hướng dẫn này, chúng ta sẽ tiến hành thiết lập xác thực cơ bản bằng cách sử dụng “htpasswd” để quản lý người dùng/mật khẩu và Nginx làm proxy ngược.

Bước 1: Cài đặt Htpasswd

Mặc dù “htpasswd” không phải là một ứng dụng Windows gốc nhưng chúng tôi sử dụng công cụ của bên thứ ba được gọi là tiện ích htpasswd của Apache Lounge tại đây. Tải xuống từ trang web chính thức của Apache Lounge. Đây là ảnh chụp màn hình chứng minh rằng chúng tôi có “htpasswd.exe” trong thư mục bin của Apache sau khi tải xuống tệp zip và giải nén nó vào thư mục làm việc của chúng tôi:

Để sử dụng “htpasswd.exe” từ bất kỳ dấu nhắc lệnh nào, hãy sao chép nó ngay bây giờ vào một vị trí trong PATH của hệ thống của bạn trong biến Môi trường.

Bước 2: Tạo tệp mật khẩu

Để tạo tệp mật khẩu, hãy mở dấu nhắc lệnh và đi đến vị trí thích hợp. Sử dụng “htpasswd” để tạo hoặc đặt tệp mật khẩu mới hoặc để thêm người dùng vào tệp hiện tại. Mỗi dòng trong tệp cần phải có tên người dùng và mật khẩu được mã hóa. Sử dụng lệnh sau để thêm thông tin xác thực mới cho người dùng hoặc cập nhật mật khẩu của người dùng hiện có:

htpasswd -c /path/to/PASSWORD_FILE_NAME TÊN NGƯỜI DÙNG

Đi tới thư mục Python (trong trường hợp này là thư mục làm việc) và nhập lệnh nói trên vào cửa sổ terminal hoặc cửa sổ nhắc như trong đoạn mã sau. Tệp mật khẩu, mlflow-authfile, được tạo.

Sau khi thêm tên người dùng “admin” và nhấn phím “enter”, hệ thống sẽ yêu cầu nhập mật khẩu. Sau khi nhập lại cùng một mật khẩu trên lời nhắc, người dùng sẽ được tạo thành công và nó cho thấy rằng người dùng đã được thêm mật khẩu được yêu cầu:

Đây là ảnh chụp màn hình hiển thị thư mục nơi tạo tệp mật khẩu cần thiết:

Tên người dùng và mật khẩu được mã hóa ở định dạng “tên người dùng:mật khẩu” sẽ xuất hiện trên mỗi dòng của tệp.

Bước 3: Cài đặt và cấu hình Nginx

Nhận các tệp nhị phân Windows của Nginx từ trang web chính thức. Giải nén tệp đã tải xuống vào thư mục làm việc trong thư mục Nginx:

Tạo khối máy chủ MLFlow mới trong Nginx. Tạo thư mục “mlflow-site” bằng cách mở dấu nhắc lệnh trong thư mục Nginx:

Đã đến lúc tạo một tệp mới cho cấu hình MLflow ngay bây giờ. Thay thế tên miền hoặc địa chỉ IP của máy chủ bằng localhost. Ngoài ra, sử dụng dấu gạch chéo lên trong đường dẫn, thay thế D:/Work/Python/mlflow-auth với đường dẫn chính xác đến tệp mật khẩu đã được tạo trước đó. Thay đổi giá trị của proxy_pass thành URI của máy chủ MLflow. Các cổng được điều chỉnh theo số cổng cần thiết.

Đây là đoạn mã để thay đổi:

Nhập lệnh “ipconfig” trên dấu nhắc lệnh để tìm Địa chỉ IP:

Bước 4: Kích hoạt Khối máy chủ Nginx

Để kích hoạt khối máy chủ Nginx, hãy tạo một liên kết tượng trưng bằng lệnh sau trên dấu nhắc lệnh:

đĩa CD D:\Work\nginx\conf\mlflow- địa điểm

mklink mlflow D:\Work\nginx\conf\mlflow- địa điểm \mlflow

Bước 5: Khởi động Nginx

Nhập lệnh “nginx.exe” và điều hướng đến thư mục Nginx để khởi chạy Nginx từ dấu nhắc lệnh:

Bước 6: Khởi động máy chủ MLflow

Với sự trợ giúp của lệnh sau, bao gồm đường dẫn lưu trữ phụ trợ của máy chủ MLflow, bạn có thể khởi động hoặc khởi động lại máy chủ MLflow trong cửa sổ terminal mới hoặc dấu nhắc lệnh. Kết quả thử nghiệm, tìm kiếm và các hoạt động khác được lưu trữ trên đường dẫn này:

Lệnh khởi động máy chủ MLflow:

máy chủ mlflow --host 127.0.0.1 --port 5000 --backend-store-uri D:/Work/Python/Storage

Nếu sau khi thực hiện lệnh nói trên, bạn thấy lỗi sau, đừng lo lắng; chỉ cần thực hiện lệnh sau để khắc phục sự cố:

Thay đổi lược đồ URI để lưu trữ dữ liệu đăng ký mô hình trên hệ thống tệp cục bộ nhằm khắc phục lỗi:

máy chủ mlflow --host 127.0.0.1 --port 5000 --backend-store-uri tài liệu :///D:/Work/Python/Storage

Bước 7: Truy cập MLflow bằng xác thực

Bây giờ, Nginx sẽ yêu cầu tên người dùng và mật khẩu trước khi cấp quyền truy cập vào máy chủ MLflow và các thành phần của nó khi ai đó truy cập MLflow qua tên miền hoặc địa chỉ IP. Giờ đây, để truy cập UI và API của MLflow, trước tiên bạn phải cung cấp tên người dùng và mật khẩu đăng nhập khi sử dụng trình duyệt web để truy cập MLflow.

Phần kết luận

Xác thực MLflow trên Windows yêu cầu MLflow phải được thực hiện sau proxy ngược khi xác thực được bật. Trong trường hợp này, Nginx đóng vai trò là proxy ngược, đóng vai trò trung gian giữa trình duyệt của người dùng và máy chủ MLflow. Người dùng được yêu cầu nhập tên người dùng và mật khẩu trước khi truy cập giao diện người dùng và API cho MLflow bằng cách định cấu hình Nginx để thực thi xác thực cơ bản.

Cuối cùng nhưng không kém phần quan trọng, để đảm bảo rằng bạn đang tuân thủ các phương pháp thực hành an toàn và mới nhất, điều quan trọng là phải tham khảo các tài liệu và tài nguyên mới nhất về MLflow và Nginx.