Sette opp MLflow-autentisering

Sette Opp Mlflow Autentisering



Autentisering må konfigureres for å sikre tilgangen til eksperimentene, modellene og artefaktene på MLflow-serveren. Når den er aktivert, må hver bruker som søker å få tilgang til en ressurs som er vert for MLflow-serveren logge på. Siden MLflow ikke inkluderer den innebygde autentiseringen som standard, er det behov for å sette den opp til å fungere med en annen autentiseringsteknikk.

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

Ved å 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 BRUKERNAVN

Gå 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- nettstedet

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

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