MLflow autentifikācijas iestatīšana

Mlflow Autentifikacijas Iestatisana



Autentifikācija ir jākonfigurē, lai nodrošinātu piekļuvi eksperimentiem, modeļiem un artefaktiem MLflow serverī. Kad tas ir iespējots, katram lietotājam, kurš vēlas piekļūt jebkuram resursam, ko mitina MLflow serveris, ir jāpierakstās. Tā kā MLflow pēc noklusējuma neietver iebūvēto autentifikāciju, tas ir jāiestata darbam ar citu autentifikācijas tehnika.

Kā serverī iespējot MLflow autentifikāciju

Palaidiet MLflow UI, izmantojot nākamo komandu, lai iespējotu MLflow autentifikāciju:

mlflow serveris -- lietojumprogrammas nosaukums basic-auth

Restartējot serveri bez opcijas lietotnes nosaukums, MLflow servera administrators var izvēlēties atspējot šo funkciju, kad vien vēlas. Šeit ir komandas ekrānuzņēmums, kas tiek parādīts Windows operētājsistēmas komandrindas terminālī (ignorējiet brīdinājumu):









MLflow serverim tagad ir nepieciešams lietotājvārds un parole, lai piekļūtu servera eksperimentiem un artefaktiem, kad tam piekļūst, izmantojot pārlūkprogrammu, ievadot http://127.0.0.1:5000 kā URL.







Kā iestatīt autentifikāciju MLflow

Ar dažām nelielām modifikācijām instrukcijās, komandās un konfigurācijas failu nosaukumos MLflow autentifikācijas iestatīšana operētājsistēmā Windows ir ļoti līdzīga tās iestatīšanai operētājsistēmā Linux.

Šeit ir apmācība par MLflow autentifikācijas konfigurēšanu operētājsistēmā Windows, izmantojot “htpasswd” un Nginx kā reverso starpniekserveri. Atcerieties, ka šī konfigurācija nodrošina vienkāršu autentifikāciju, un ir ļoti svarīgi pienācīgi aizsargāt datoru, kurā darbojas MLflow un Nginx, lai izvairītos no nesankcionētas piekļuves. Apsveriet iespēju izmantot OAuth vai savienot MLflow ar ārējiem identitātes nodrošinātājiem ražošanas vidēm vai stingrākām drošības prasībām.



Šajā apmācībā mēs apskatīsim pamata autentifikācijas iestatīšanu, izmantojot “htpasswd” lietotāju/paroles pārvaldībai un Nginx kā apgriezto starpniekserveri.

1. darbība: instalējiet Htpasswd

Lai gan “htpasswd” nav vietējā Windows lietojumprogramma, mēs izmantojam trešās puses rīku, kas šeit ir pazīstams kā Apache Lounge htpasswd utilīta. Lejupielādējiet to no Apache Lounge oficiālās vietnes. Šeit ir ekrānuzņēmums, kas parāda, ka Apache bin direktorijā ir “htpasswd.exe” pēc zip faila lejupielādes un izvilkšanas mūsu darba direktorijā:

Lai izmantotu “htpasswd.exe” no jebkuras komandu uzvednes, nokopējiet to tagad uz vietu savas sistēmas PATH vides mainīgajā.

2. darbība. Izveidojiet paroles failu

Lai ģenerētu paroles failu, atveriet komandu uzvedni un dodieties uz atbilstošo vietu. Izmantojiet “htpasswd”, lai izveidotu vai iestatītu jaunu paroles failu vai pievienotu lietotājus esošajam. Katrai faila rindiņai ir jābūt šifrētam lietotājvārdam un parolei. Izmantojiet šo komandu, lai pievienotu jaunus lietotāja akreditācijas datus vai atjauninātu esoša lietotāja paroli:

htpasswd -c /ceļš/uz/PASSWORD_FILE_NAME LIETOTĀJVĀRDS

Dodieties uz Python mapi (šajā gadījumā darba direktoriju) un termināļa vai uzvednes logā ierakstiet iepriekš minēto komandu, kā parādīts nākamajā fragmentā. Tiek izveidots paroles fails mlflow-authfile.

Pēc “admin” lietotājvārda pievienošanas un taustiņa “Enter” nospiešanas sistēma pieprasa paroli. Atkārtoti ievadot to pašu paroli uzvednē, lietotājs tiek veiksmīgi izveidots, un tas parāda, ka lietotājs ir pievienots ar nepieciešamo paroli:

Šeit ir ekrānuzņēmums, kurā parādīts direktorijs, kurā ir izveidots nepieciešamais paroles fails:

Katrā faila rindā jāparādās lietotājvārdam un šifrētai parolei formātā “lietotājvārds:parole”.

3. darbība: instalējiet un konfigurējiet Nginx

Iegūstiet Nginx Windows bināros failus no oficiālās vietnes. Izvelciet lejupielādēto failu darba direktorijā mapē Nginx:

Izveidojiet jaunu MLFlow servera bloku Nginx. Izveidojiet direktoriju “mlflow-site”, atverot komandu uzvedni Nginx direktorijā:

Šobrīd ir pienācis laiks izveidot jaunu failu MLflow konfigurācijai. Nomainiet servera domēna nosaukumu vai IP adresi ar vietējo resursdatoru. Tāpat, izmantojot uz priekšu slīpsvītras ceļā, aizstāt D:/Darbs/Python/mlflow-auth ar precīzu ceļu uz iepriekš izveidoto paroles failu. Mainiet proxy_pass vērtību uz MLflow servera URI. Porti ir pielāgojami nepieciešamajiem portu numuriem.

Šeit ir koda fragments, kas jāmaina:

Komandu uzvednē ievadiet komandu “ipconfig”, lai atrastu IP adresi:

4. darbība: iespējojiet Nginx servera bloku

Lai aktivizētu Nginx servera bloku, izveidojiet simbolisku saiti, izmantojot komandu uzvednē šādu komandu:

cd D:\Work\nginx\conf\mlflow- vietne

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

5. darbība: palaidiet Nginx

Ievadiet komandu “nginx.exe” un dodieties uz Nginx direktoriju, lai palaistu Nginx no komandu uzvednes:

6. darbība: startējiet MLflow serveri

Izmantojot šo komandu, kas ietver MLflow servera aizmugursistēmas krātuves ceļu, varat palaist vai restartēt MLflow serveri jaunā termināļa logā vai komandu uzvednē. Eksperimentu, meklējumu un citu darbību rezultāti tiek glabāti šajā ceļā:

Komanda, lai palaistu MLflow serveri:

mlflow serveris --host 127.0.0.1 --ports 5000 --backend-store-uri D:/Work/Python/Storage

Ja pēc iepriekš minētās komandas izpildes redzat šādu kļūdu, neuztraucieties; vienkārši izpildiet šo komandu, lai atrisinātu problēmu:

Mainiet URI shēmu, lai modeļa reģistra datus saglabātu lokālajā failu sistēmā, lai novērstu kļūdu:

mlflow serveris --host 127.0.0.1 --ports 5000 --backend-store-uri failu :///D:/Darbs/Python/Storage

7. darbība. Piekļūstiet MLflow, izmantojot autentifikāciju

Tagad Nginx pieprasīs lietotājvārdu un paroli, pirms piešķirs piekļuvi MLflow serverim un tā artefaktiem, kad kāds piekļūst MLflow, izmantojot domēnu vai IP adresi. Tagad, lai piekļūtu MLflow lietotāja saskarnei un API, vispirms ir jānorāda pieteikšanās lietotājvārds un parole, kad izmantojat tīmekļa pārlūkprogrammu, lai piekļūtu MLflow.

Secinājums

MLflow autentifikācija operētājsistēmā Windows prasa, lai MLflow tiktu veikta aiz reversā starpniekservera ar ieslēgtu autentifikāciju. Šajā gadījumā Nginx kalpo kā apgrieztais starpniekserveris, kas darbojas kā starpnieks starp lietotāja pārlūkprogrammu un MLflow serveri. Lietotāji tiek lūgti ievadīt lietotājvārdu un paroli, pirms piekļūt lietotāja interfeisam un API for MLflow, konfigurējot Nginx, lai ieviestu pamata autentifikāciju.

Visbeidzot, lai nodrošinātu jaunāko un drošāko praksi, vienmēr ir ļoti svarīgi iepazīties ar jaunāko dokumentāciju un resursiem MLflow un Nginx.