Nastavitev avtentikacije MLflow

Nastavitev Avtentikacije Mlflow



Preverjanje pristnosti mora biti konfigurirano, da se zagotovi dostop do poskusov, modelov in artefaktov na strežniku MLflow. Ko je omogočeno, se mora vsak uporabnik, ki želi dostopati do katerega koli vira, ki ga gosti strežnik MLflow, prijaviti. Ker MLflow privzeto ne vključuje vgrajenega preverjanja pristnosti, ga je treba nastaviti za delo z drugim tehnika avtentikacije.

Kako omogočiti avtentikacijo MLflow na strežniku

Zaženite uporabniški vmesnik MLflow z naslednjim ukazom, da omogočite preverjanje pristnosti MLflow:

mlflow server --app-name basic-auth

S ponovnim zagonom strežnika brez možnosti imena aplikacije se lahko skrbnik strežnika MLflow odloči, da onemogoči to funkcijo, kadar koli želi. Tukaj je posnetek zaslona ukaza, kot je prikazan na terminalu ukazne vrstice operacijskega sistema Windows (prezrite opozorilo):









Strežnik MLflow zdaj zahteva uporabniško ime in geslo za dostop do strežniških poskusov in artefaktov, ko do njih dostopate prek brskalnika z vnosom http://127.0.0.1:5000 kot URL.







Kako nastaviti avtentikacijo na MLflow

Z nekaj manjšimi spremembami v navodilih, ukazih in imenih konfiguracijskih datotek je nastavitev avtentikacije MLflow v sistemu Windows zelo podobna nastavitvi v sistemu Linux.

Tukaj je vadnica za konfiguriranje avtentikacije MLflow v sistemu Windows z uporabo »htpasswd« in Nginx kot obratnega posrednika. Ne pozabite, da ta konfiguracija omogoča preprosto preverjanje pristnosti in je ključnega pomena, da ustrezno zaščitite računalnik, ki izvaja MLflow in Nginx, da preprečite nepooblaščen dostop. Razmislite o uporabi OAuth ali povezovanju MLflow z zunanjimi ponudniki identitete za produkcijska okolja ali strožje varnostne zahteve.



V tej vadnici bomo preučili nastavitev osnovnega preverjanja pristnosti z uporabo »htpasswd« za upravljanje uporabnika/gesla in Nginx kot obratni proxy.

1. korak: Namestite Htpasswd

Čeprav »htpasswd« ni izvorna aplikacija za Windows, uporabljamo orodje tretje osebe, ki je tukaj znano kot pripomoček htpasswd Apache Lounge. Prenesite ga z uradne spletne strani Apache Lounge. Tukaj je posnetek zaslona, ​​ki prikazuje, da imamo »htpasswd.exe« v imeniku bin Apache po prenosu datoteke zip in ekstrahiranju v naš delovni imenik:

Če želite uporabiti »htpasswd.exe« iz katerega koli ukaznega poziva, ga zdaj kopirajte na mesto v sistemu PATH v spremenljivki Okolje.

2. korak: Ustvarite datoteko z gesli

Če želite ustvariti datoteko z geslom, odprite ukazni poziv in pojdite na ustrezno mesto. Uporabite »htpasswd« za ustvarjanje ali nastavitev nove datoteke z geslom ali za dodajanje uporabnikov v obstoječo. Vsaka vrstica v datoteki mora imeti šifrirano uporabniško ime in geslo. Z naslednjim ukazom dodajte nove poverilnice za uporabnika ali posodobite geslo obstoječega uporabnika:

htpasswd -c /path/to/PASSWORD_FILE_NAME UPORABNIŠKO IME

Pojdite v mapo Python (v tem primeru delovni imenik) in v terminal ali pozivno okno vnesite zgoraj omenjeni ukaz, kot je prikazano v naslednjem delčku. Ustvari se datoteka z geslom mlflow-authfile.

Po dodajanju uporabniškega imena »admin« in pritisku tipke »enter« sistem zahteva geslo. Po ponovnem vnosu istega gesla v poziv je uporabnik uspešno ustvarjen in kaže, da je bil uporabnik dodan z zahtevanim geslom:

Tukaj je posnetek zaslona, ​​ki prikazuje imenik, kjer je ustvarjena potrebna datoteka z geslom:

Uporabniško ime in šifrirano geslo v obliki »uporabniško ime:geslo« se morata pojaviti v vsaki vrstici datoteke.

3. korak: Namestite in konfigurirajte Nginx

Prenesite binarne datoteke Nginx za Windows na uradnem spletnem mestu. Ekstrahirajte preneseno datoteko v delovni imenik v mapi Nginx:

Ustvarite nov blok strežnika MLFlow v Nginxu. Ustvarite imenik »mlflow-site« tako, da odprete ukazni poziv v imeniku Nginx:

Čas je, da takoj naredite novo datoteko za konfiguracijo MLflow. Zamenjajte ime domene strežnika ali naslov IP z lokalnim gostiteljem. Tudi z uporabo poševnic na poti zamenjajte D:/Delo/Python/mlflow-auth z natančno potjo do datoteke z geslom, ki je bila predhodno ustvarjena. Spremenite vrednost proxy_pass v URI strežnika MLflow. Vrata so nastavljiva na potrebne številke vrat.

Tukaj je delček kode za spremembo:

V ukazni poziv vnesite ukaz “ipconfig”, da poiščete naslov IP:

4. korak: Omogočite blok strežnika Nginx

Če želite aktivirati blok strežnika Nginx, ustvarite simbolično povezavo z naslednjim ukazom v ukaznem pozivu:

cd D:\Delo\nginx\conf\mlflow- mesto

mklink mlflow D:\Work\nginx\conf\mlflow- mesto \mlflow

5. korak: Zaženite Nginx

Vnesite ukaz »nginx.exe« in se pomaknite do imenika Nginx, da zaženete Nginx iz ukaznega poziva:

6. korak: Zaženite strežnik MLflow

S pomočjo naslednjega ukaza, ki vključuje zaledno pot shranjevanja strežnika MLflow, lahko zaženete ali znova zaženete strežnik MLflow v novem terminalskem oknu ali ukaznem pozivu. Rezultati poskusov, iskanj in drugih operacij so shranjeni na tej poti:

Ukaz za zagon strežnika MLflow:

strežnik mlflow --host 127.0.0.1 --port 5000 --backend-store-uri D:/Work/Python/Storage

Če se po izvedbi zgoraj omenjenega ukaza prikaže naslednja napaka, ne skrbite; preprosto izvedite naslednji ukaz, da odpravite težavo:

Spremenite shemo URI za shranjevanje podatkov registra modela v lokalni datotečni sistem, da odpravite napako:

strežnik mlflow --host 127.0.0.1 --port 5000 --backend-store-uri mapa :///D:/Delo/Python/Shramba

7. korak: Dostop do MLflow s preverjanjem pristnosti

Zdaj bo Nginx zahteval uporabniško ime in geslo, preden odobri dostop do strežnika MLflow in njegovih artefaktov, ko nekdo dostopa do MLflow prek domene ali naslova IP. Zdaj, če želite dostopati do uporabniškega vmesnika in API-ja MLflow, morate najprej vnesti uporabniško ime in geslo za prijavo, ko uporabljate spletni brskalnik za dostop do MLflow.

Zaključek

Preverjanje pristnosti MLflow v sistemu Windows zahteva, da se MLflow izvede za obratnim posrednikom z vklopljeno avtentikacijo. V tem primeru Nginx služi kot obratni proxy, ki deluje kot posrednik med uporabnikovim brskalnikom in strežnikom MLflow. Uporabniki morajo pred dostopom do uporabniškega vmesnika in API-ja za MLflow vnesti uporabniško ime in geslo, tako da konfigurirajo Nginx za uveljavitev osnovne avtentikacije.

Nenazadnje, če želite zagotoviti, da se držite najnovejših in varnih praks, je vedno ključnega pomena, da si ogledate najnovejšo dokumentacijo in vire za MLflow in Nginx.