Ako povoliť MLflow Authentication na serveri
Spustite používateľské rozhranie MLflow pomocou nasledujúceho príkazu na povolenie autentifikácie MLflow:
server mlflow --názov-aplikácie basic-authReštartovaním servera bez možnosti názvu aplikácie môže správca servera MLflow túto funkciu kedykoľvek zakázať. Tu je snímka obrazovky príkazu tak, ako sa zobrazuje na termináli príkazového riadka operačného systému Windows (ignorujte varovanie):
Server MLflow teraz vyžaduje používateľské meno a heslo na prístup k experimentom a artefaktom servera pri prístupe cez prehliadač zadaním http://127.0.0.1:5000 ako URL.
Ako nastaviť autentifikáciu na MLflow
S niekoľkými malými úpravami v pokynoch, príkazoch a názvoch konfiguračných súborov je nastavenie autentifikácie MLflow v systéme Windows veľmi podobné ako nastavenie v systéme Linux.
Tu je návod na konfiguráciu autentifikácie MLflow v systéme Windows pomocou „htpasswd“ a Nginx ako reverzného proxy. Pamätajte, že táto konfigurácia umožňuje jednoduchú autentifikáciu a je dôležité primerane chrániť počítač, na ktorom je spustený MLflow a Nginx, aby sa predišlo neoprávnenému prístupu. Zvážte použitie OAuth alebo prepojenie MLflow s externými poskytovateľmi identity pre produkčné prostredia alebo prísnejšie bezpečnostné požiadavky.
V tomto návode si prejdeme nastavenie základnej autentifikácie pomocou „htpasswd“ na správu používateľov/hesiel a Nginx ako reverzný proxy.
Krok 1: Nainštalujte Htpasswd
Hoci „htpasswd“ nie je natívnou aplikáciou Windows, používame tu nástroj tretej strany, ktorý je známy ako pomôcka htpasswd Apache Lounge. Stiahnite si ho z oficiálnej webovej stránky Apache Lounge. Tu je snímka obrazovky, ktorá ukazuje, že po stiahnutí súboru zip a jeho rozbalení do nášho pracovného adresára máme v adresári bin Apache „htpasswd.exe“:
Ak chcete použiť súbor „htpasswd.exe“ z ľubovoľného príkazového riadka, skopírujte ho teraz na miesto v systéme PATH v premennej Environment.
Krok 2: Vytvorte súbor hesiel
Ak chcete vygenerovať súbor hesiel, otvorte príkazový riadok a prejdite na príslušné miesto. Pomocou „htpasswd“ vytvorte alebo nastavte nový súbor hesiel alebo pridajte používateľov do existujúceho súboru. Každý riadok v súbore musí mať zašifrované používateľské meno a heslo. Na pridanie nových poverení pre používateľa alebo aktualizáciu hesla existujúceho používateľa použite nasledujúci príkaz:
htpasswd -c /cesta/k/PASSWORD_FILE_NAME USERNAMEPrejdite do priečinka Python (v tomto prípade do pracovného adresára) a zadajte vyššie uvedený príkaz do okna terminálu alebo výzvy, ako je znázornené v nasledujúcom úryvku. Vytvorí sa súbor hesiel, mlflow-authfile.
Po pridaní používateľského mena „admin“ a stlačení klávesu „enter“ systém požiada o heslo. Po opätovnom zadaní rovnakého hesla do výzvy je používateľ úspešne vytvorený a ukazuje, že používateľ bol pridaný s požadovaným heslom:
Tu je snímka obrazovky zobrazujúca adresár, kde je vytvorený potrebný súbor s heslom:
Na každom riadku súboru by sa malo objaviť používateľské meno a zašifrované heslo vo formáte „username:password“.
Krok 3: Nainštalujte a nakonfigurujte Nginx
Získajte binárne súbory systému Windows Nginx z oficiálnej webovej stránky. Rozbaľte stiahnutý súbor do pracovného adresára v priečinku Nginx:
Vytvorte nový blok servera MLFlow v Nginx. Vytvorte adresár „mlflow-site“ otvorením príkazového riadka v adresári Nginx:
Je čas vytvoriť nový súbor pre konfiguráciu MLflow práve teraz. Nahraďte názov domény alebo IP adresu servera lokálnym hostiteľom. Tiež pomocou lomky v ceste, nahradiť D:/Work/Python/mlflow-auth s presnou cestou k súboru hesiel, ktorý bol predtým vytvorený. Zmeňte hodnotu proxy_pass na URI servera MLflow. Porty sú nastaviteľné na potrebné čísla portov.
Tu je úryvok kódu, ktorý sa má zmeniť:
Zadajte do príkazového riadka príkaz „ipconfig“ a vyhľadajte IP adresu:
Krok 4: Povoľte blok servera Nginx
Ak chcete aktivovať blok servera Nginx, vytvorte symbolický odkaz pomocou nasledujúceho príkazu na príkazovom riadku:
cd D:\Work\nginx\conf\mlflow- stránkymklink mlflow D:\Work\nginx\conf\mlflow- stránky \mlflow
Krok 5: Spustite Nginx
Zadajte príkaz „nginx.exe“ a prejdite do adresára Nginx a spustite Nginx z príkazového riadka:
Krok 6: Spustite server MLflow
Pomocou nasledujúceho príkazu, ktorý obsahuje cestu k backendovému úložisku servera MLflow, môžete spustiť alebo reštartovať server MLflow v novom okne terminálu alebo príkazovom riadku. Výsledky experimentov, vyhľadávaní a iných operácií sú uložené na tejto ceste:
Príkaz na spustenie servera MLflow:
server mlflow --hostiteľ 127.0.0.1 --port 5000 --backend-store-uri D:/Work/Python/StorageAk sa po vykonaní vyššie uvedeného príkazu zobrazí nasledujúca chyba, nebojte sa; jednoducho spustite nasledujúci príkaz na vyriešenie problému:
Zmeňte schému URI na ukladanie údajov registra modelu do lokálneho súborového systému, aby ste chybu vyriešili:
server mlflow --hostiteľ 127.0.0.1 --port 5000 --backend-store-uri súbor :///D:/Work/Python/Storage
Krok 7: Prístup k MLflow s autentifikáciou
Teraz Nginx požiada o používateľské meno a heslo pred udelením prístupu k serveru MLflow a jeho artefaktom, keď niekto pristupuje k MLflow cez doménu alebo IP adresu. Teraz, ak chcete získať prístup k používateľskému rozhraniu a API MLflow, musíte pri používaní webového prehliadača na prístup k MLflow najprv poskytnúť prihlasovacie meno používateľa a heslo.
Záver
Overenie MLflow v systéme Windows vyžaduje, aby sa MLflow vykonával za reverzným proxy serverom so zapnutou autentifikáciou. V tomto prípade Nginx slúži ako reverzný proxy, ktorý pôsobí ako sprostredkovateľ medzi prehliadačom používateľa a serverom MLflow. Od používateľov sa vyžaduje, aby pred prístupom k používateľskému rozhraniu a API pre MLflow zadali používateľské meno a heslo pomocou konfigurácie Nginx na vynútenie základnej autentifikácie.
V neposlednom rade, aby ste sa uistili, že sa budete držať najnovších a bezpečných postupov, je vždy dôležité nahliadnuť do najnovšej dokumentácie a zdrojov pre MLflow a Nginx.