Nastavenie autentifikácie MLflow

Nastavenie Autentifikacie Mlflow



Na zabezpečenie prístupu k experimentom, modelom a artefaktom na serveri MLflow musí byť nakonfigurovaná autentifikácia. Po povolení sa každý používateľ, ktorý sa snaží získať prístup k akémukoľvek zdroju, ktorý je hostený serverom MLflow, musí prihlásiť. Keďže MLflow štandardne nezahŕňa vstavanú autentifikáciu, je potrebné ho nastaviť tak, aby fungoval s iným autentifikačnú techniku.

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-auth

Reš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 USERNAME

Prejdite 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ánky

mklink 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/Storage

Ak 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.