Slik aktiverer du MLflow-autentisering på serveren
Start MLflow UI ved å bruke den påfølgende kommandoen for å aktivere MLflow-autentisering:
mlflow server --app-navn basic-authVed å starte serveren på nytt uten app-navn-alternativet, kan MLflow-serveradministratoren velge å deaktivere denne funksjonen når de måtte ønske det. Her er et skjermbilde av kommandoen slik den vises på Windows-operativsystemets kommandolinjeterminal (ignorer advarselen):
MLflow-serveren krever nå et brukernavn og passord for å få tilgang til servereksperimentene og artefakter når den åpnes via en nettleser ved å angi http://127.0.0.1:5000 som URL.
Hvordan sette opp autentisering på MLflow
Med noen få mindre endringer i instruksjonene, kommandoene og konfigurasjonsfilnavnene, er oppsett av MLflow-autentisering på Windows veldig likt å sette opp på Linux.
Her er en veiledning for å konfigurere MLflow-autentiseringen på Windows ved å bruke 'htpasswd' og Nginx som en omvendt proxy. Husk at denne konfigurasjonen muliggjør enkel autentisering, og det er avgjørende å tilstrekkelig beskytte datamaskinen som kjører MLflow og Nginx for å unngå uautorisert tilgang. Vurder å bruke OAuth eller koble MLflow til eksterne identitetsleverandører for produksjonsmiljøer eller strengere sikkerhetskrav.
I denne opplæringen vil vi gå over å sette opp den grunnleggende autentiseringen ved å bruke 'htpasswd' for bruker-/passordadministrasjon og Nginx som en omvendt proxy.
Trinn 1: Installer Htpasswd
Selv om 'htpasswd' ikke er et naturlig Windows-program, bruker vi et tredjepartsverktøy som er kjent som Apache Lounges htpasswd-verktøy her. Last den ned fra Apache Lounges offisielle nettsted. Her er et skjermbilde som viser at vi har 'htpasswd.exe' i bin-katalogen til Apache etter å ha lastet ned zip-filen og trukket den ut til arbeidskatalogen vår:
For å bruke 'htpasswd.exe' fra en hvilken som helst ledetekst, kopier den nå til en plassering i systemets PATH i miljøvariabelen.
Trinn 2: Lag en passordfil
For å generere passordfilen, åpne en ledetekst og gå til riktig sted. Bruk 'htpasswd' for å opprette eller angi en ny passordfil eller for å legge til brukerne til en eksisterende. Hver linje i filen må ha et kryptert brukernavn og passord. Bruk følgende kommando for å legge til ny legitimasjon for brukeren eller oppdatere passordet til en eksisterende bruker:
htpasswd -c /path/to/PASSWORD_FILE_NAME BRUKERNAVNGå til Python-mappen (i dette tilfellet arbeidskatalogen) og skriv inn den nevnte kommandoen i terminal- eller ledetekstvinduet som vist i følgende utdrag. Passordfilen, mlflow-authfile, opprettes.
Etter å ha lagt til 'admin'-brukernavnet og trykket på 'enter'-tasten, ber systemet om passordet. Etter å ha skrevet inn det samme passordet på nytt på ledeteksten, er brukeren opprettet, og det viser at brukeren har blitt lagt til med det nødvendige passordet:
Her er et skjermbilde som viser katalogen der den nødvendige passordfilen er opprettet:
Et brukernavn og kryptert passord i 'brukernavn:passord'-formatet skal vises på hver linje i filen.
Trinn 3: Installer og konfigurer Nginx
Få Windows-binærfilene til Nginx fra den offisielle nettsiden. Pakk ut den nedlastede filen til arbeidskatalogen i Nginx-mappen:
Lag en ny MLFlow-serverblokk i Nginx. Opprett 'mlflow-site'-katalogen ved å åpne en ledetekst i Nginx-katalogen:
Det er på tide å lage en ny fil for MLflow-konfigurasjonen akkurat nå. Bytt ut serverens domenenavn eller IP-adresse med den lokale verten. Bruk også skråstreker fremover i banen, erstatt D:/Work/Python/mlflow-auth med den nøyaktige banen til passordfilen som tidligere ble opprettet. Endre verdien av proxy_pass til MLflow-serverens URI. Portene er justerbare til nødvendige portnumre.
Her er kodebiten som skal endres:
Skriv inn 'ipconfig'-kommandoen på ledeteksten for å finne IP-adressen:
Trinn 4: Aktiver Nginx Server Block
For å aktivere Nginx-serverblokken, lag en symbolsk lenke ved å bruke følgende kommando på ledeteksten:
cd D:\Work\nginx\conf\mlflow- nettstedetmklink mlflow D:\Work\nginx\conf\mlflow- nettstedet \mlflow
Trinn 5: Start Nginx
Skriv inn kommandoen 'nginx.exe' og naviger til Nginx-katalogen for å starte Nginx fra en ledetekst:
Trinn 6: Start MLflow Server
Ved hjelp av følgende kommando, som inkluderer backend-lagringsbanen til MLflow-serveren, kan du starte eller starte MLflow-serveren på nytt i et nytt terminalvindu eller ledetekst. Resultatene av eksperimenter, søk og andre operasjoner lagres på denne banen:
Kommando for å starte MLflow-serveren:
mlflow server --host 127.0.0.1 --port 5000 --backend-store-uri D:/Work/Python/StorageHvis du, etter å ha utført den nevnte kommandoen, ser følgende feil, ikke bekymre deg; bare kjør følgende kommando for å fikse problemet:
Endre URI-skjemaet for å lagre modellregisterdataene på det lokale filsystemet for å løse feilen:
mlflow server --host 127.0.0.1 --port 5000 --backend-store-uri fil :///D:/Work/Python/Storage
Trinn 7: Få tilgang til MLflow med autentisering
Nå vil Nginx be om et brukernavn og passord før de gir tilgang til MLflow-serveren og dens artefakter når noen får tilgang til MLflow via domenet eller IP-adressen. Nå, for å få tilgang til MLflows brukergrensesnitt og API, må du først oppgi et påloggingsbrukernavn og passord når du bruker en nettleser for å få tilgang til MLflow.
Konklusjon
MLflow-autentisering på Windows krever at MLflow utføres bak en omvendt proxy med autentisering slått på. I dette tilfellet fungerer Nginx som omvendt proxy, og fungerer som en mellommann mellom brukerens nettleser og MLflow-serveren. Brukere blir bedt om å skrive inn et brukernavn og passord før de får tilgang til brukergrensesnittet og API for MLflow ved å konfigurere Nginx til å håndheve den grunnleggende autentiseringen.
Sist men ikke minst, for å sikre at du følger den nyeste og sikre praksisen, er det alltid avgjørende å konsultere den nyeste dokumentasjonen og ressursene for MLflow og Nginx.