Настройване на MLflow удостоверяване

Nastrojvane Na Mlflow Udostoveravane



Удостоверяването трябва да бъде конфигурирано, за да се осигури достъпът до експериментите, моделите и артефактите на сървъра MLflow. Веднъж активиран, всеки потребител, който търси достъп до който и да е ресурс, хостван от сървъра MLflow, трябва да влезе. Тъй като MLflow не включва вграденото удостоверяване по подразбиране, има нужда да го настроите да работи с различен техника за удостоверяване.

Как да активирате MLflow удостоверяването на сървъра

Стартирайте потребителския интерфейс на MLflow, като използвате следващата команда, за да активирате удостоверяването на MLflow:

mlflow server --app-name basic-auth

Чрез рестартиране на сървъра без опцията за име на приложение, администраторът на MLflow сървъра може да избере да деактивира тази функция, когато пожелае. Ето екранна снимка на командата, както се показва в терминала на командния ред на операционната система Windows (игнорирайте предупреждението):









Сървърът MLflow вече изисква потребителско име и парола за достъп до сървърните експерименти и артефакти, когато се осъществява достъп през браузър чрез въвеждане на http://127.0.0.1:5000 като URL.







Как да настроите удостоверяване на MLflow

С няколко незначителни модификации в инструкциите, командите и имената на конфигурационните файлове, настройването на MLflow удостоверяване в Windows е много подобно на настройването му в Linux.

Ето урок за конфигуриране на MLflow удостоверяване в Windows с помощта на „htpasswd“ и Nginx като обратен прокси. Не забравяйте, че тази конфигурация позволява просто удостоверяване и е от решаващо значение да защитите адекватно компютъра, който изпълнява MLflow и Nginx, за да избегнете неоторизиран достъп. Обмислете използването на OAuth или свързването на MLflow с външни доставчици на идентичност за производствени среди или по-строги изисквания за сигурност.



В този урок ще разгледаме настройката на основното удостоверяване с помощта на „htpasswd“ за управление на потребител/парола и Nginx като обратен прокси.

Стъпка 1: Инсталирайте Htpasswd

Въпреки че „htpasswd“ не е родно приложение за Windows, ние използваме инструмент на трета страна, който тук е известен като помощната програма htpasswd на Apache Lounge. Изтеглете го от официалния уебсайт на Apache Lounge. Ето екранна снимка, демонстрираща, че имаме „htpasswd.exe“ в директорията bin на Apache след изтеглянето на zip файла и извличането му в нашата работна директория:

За да използвате „htpasswd.exe“ от който и да е команден ред, копирайте го сега на място в PATH на вашата система в променливата на средата.

Стъпка 2: Създайте файл с парола

За да генерирате файла с паролата, отворете командния ред и отидете на подходящото място. Използвайте „htpasswd“, за да създадете или зададете нов файл с парола или да добавите потребителите към настоящ. Всеки ред във файла трябва да има криптирано потребителско име и парола. Използвайте следната команда, за да добавите нови идентификационни данни за потребителя или да актуализирате паролата на съществуващ потребител:

htpasswd -c /path/to/PASSWORD_FILE_NAME ПОТРЕБИТЕЛСКО ИМЕ

Отидете в папката Python (в този случай работната директория) и въведете гореспоменатата команда в терминала или прозореца за подкана, както е показано в следния фрагмент. Създава се файлът с парола, mlflow-authfile.

След добавяне на потребителското име „admin“ и натискане на клавиша „enter“, системата изисква парола. След повторно въвеждане на същата парола в подканата, потребителят е създаден успешно и показва, че потребителят е добавен с необходимата парола:

Ето екранна снимка, показваща директорията, в която е създаден необходимият файл с парола:

Потребителско име и криптирана парола във формат „потребителско име:парола“ трябва да се показват на всеки ред от файла.

Стъпка 3: Инсталирайте и конфигурирайте Nginx

Вземете двоичните файлове на Windows на Nginx от официалния уебсайт. Разархивирайте изтегления файл в работната директория в папката Nginx:

Направете нов MLFlow сървърен блок в Nginx. Създайте директорията „mlflow-site“, като отворите команден ред в директорията на Nginx:

Време е да направите нов файл за конфигурацията на MLflow точно сега. Заменете името на домейна или IP адреса на сървъра с localhost. Също така, като използвате наклонени черти в пътя, заменете D:/Работа/Python/mlflow-auth с точния път до файла с парола, който е създаден преди това. Променете стойността на proxy_pass на URI на MLflow сървъра. Портовете се регулират до необходимите номера на портове.

Ето фрагмента от кода за промяна:

Въведете командата „ipconfig“ в командния ред, за да намерите IP адреса:

Стъпка 4: Активирайте Nginx Server Block

За да активирате сървърния блок на Nginx, създайте символна връзка, като използвате следната команда в командния ред:

cd D:\Работа\nginx\conf\mlflow- сайт

mklink mlflow D:\Work\nginx\conf\mlflow- сайт \mlflow

Стъпка 5: Стартирайте Nginx

Въведете командата „nginx.exe“ и отидете до директорията на Nginx, за да стартирате Nginx от командния ред:

Стъпка 6: Стартирайте сървъра MLflow

С помощта на следната команда, която включва задния път за съхранение на MLflow сървъра, можете да стартирате или рестартирате MLflow сървъра в нов терминален прозорец или команден ред. Резултатите от експерименти, търсения и други операции се съхраняват на този път:

Команда за стартиране на сървъра MLflow:

mlflow сървър --хост 127.0.0.1 --порт 5000 --backend-store-uri D:/Work/Python/Storage

Ако след изпълнение на гореспоменатата команда видите следната грешка, не се притеснявайте; просто изпълнете следната команда, за да коригирате проблема:

Променете URI схемата, за да съхранявате данните от регистъра на модела в локалната файлова система, за да разрешите грешката:

mlflow сървър --хост 127.0.0.1 --порт 5000 --backend-store-uri файл :///D:/Работа/Python/Съхранение

Стъпка 7: Достъп до MLflow с удостоверяване

Сега Nginx ще поиска потребителско име и парола, преди да предостави достъп до сървъра MLflow и неговите артефакти, когато някой има достъп до MLflow чрез домейна или IP адреса. Сега, за да получите достъп до потребителския интерфейс и API на MLflow, първо трябва да предоставите потребителско име и парола за вход, когато използвате уеб браузър за достъп до MLflow.

Заключение

Удостоверяването на MLflow в Windows изисква MLflow да се изпълнява зад обратен прокси с включено удостоверяване. В този случай Nginx служи като обратен прокси, действайки като посредник между браузъра на потребителя и сървъра MLflow. От потребителите се иска да въведат потребителско име и парола, преди да получат достъп до потребителския интерфейс и API за MLflow чрез конфигуриране на Nginx за налагане на основното удостоверяване.

Не на последно място, за да сте сигурни, че се придържате към най-новите и сигурни практики, винаги е изключително важно да се консултирате с най-новата документация и ресурси за MLflow и Nginx.