Opsætning af MLflow-godkendelse

Opsaetning Af Mlflow Godkendelse



Godkendelse skal konfigureres for at sikre adgangen til eksperimenterne, modellerne og artefakter på MLflow-serveren. Når den er aktiveret, skal hver bruger, der søger at få adgang til en ressource, der hostes af MLflow-serveren, logge ind. Da MLflow ikke inkluderer den indbyggede godkendelse som standard, er der behov for at konfigurere den til at fungere med en anden autentificeringsteknik.

Sådan aktiverer du MLflow-godkendelse på serveren

Start MLflow UI ved hjælp af den efterfølgende kommando for at aktivere MLflow-godkendelse:

mlflow-server --app-navn basic-auth

Ved at genstarte serveren uden app-navn-indstillingen, kan MLflow-serveradministratoren vælge at deaktivere denne funktion, når som helst de ønsker det. Her er et skærmbillede af kommandoen, som den vises på Windows-operativsystemets kommandolinjeterminal (ignorer advarslen):









MLflow-serveren kræver nu et brugernavn og en adgangskode for at få adgang til servereksperimenterne og artefakter, når den tilgås via en browser ved at indtaste http://127.0.0.1:5000 som URL.







Sådan konfigurerer du godkendelse på MLflow

Med et par mindre ændringer i instruktionerne, kommandoerne og konfigurationsfilnavnene, er opsætning af MLflow-godkendelse på Windows meget lig opsætning på Linux.

Her er en vejledning til konfiguration af MLflow-godkendelse på Windows ved hjælp af 'htpasswd' og Nginx som en omvendt proxy. Husk, at denne konfiguration muliggør enkel godkendelse, og det er afgørende at beskytte den computer, der kører MLflow og Nginx, tilstrækkeligt for at undgå uautoriseret adgang. Overvej at bruge OAuth eller forbinde MLflow med eksterne identitetsudbydere til produktionsmiljøer eller strengere sikkerhedskrav.



I denne vejledning gennemgår vi opsætningen af ​​den grundlæggende godkendelse ved hjælp af 'htpasswd' til bruger-/adgangskodestyring og Nginx som en omvendt proxy.

Trin 1: Installer Htpasswd

Selvom 'htpasswd' ikke er en indbygget Windows-applikation, bruger vi et tredjepartsværktøj, der er kendt som Apache Lounges htpasswd-værktøj her. Download det fra Apache Lounges officielle hjemmeside. Her er et skærmbillede, der viser, at vi har 'htpasswd.exe' i bin-mappen i Apache efter at have downloadet zip-filen og udtrukket den til vores arbejdsmappe:

For at bruge 'htpasswd.exe' fra en hvilken som helst kommandoprompt, kopier den nu til en placering i dit systems PATH i miljøvariablen.

Trin 2: Opret en adgangskodefil

For at generere adgangskodefilen skal du åbne en kommandoprompt og gå til den relevante placering. Brug 'htpasswd' til at oprette eller indstille en ny adgangskodefil eller til at tilføje brugerne til en nuværende. Hver linje i filen skal have et krypteret brugernavn og adgangskode. Brug følgende kommando til at tilføje nye legitimationsoplysninger til brugeren eller opdatere adgangskoden for en eksisterende bruger:

htpasswd -c /sti/til/PASSWORD_FILE_NAME BRUGERNAVN

Gå til Python-mappen (i dette tilfælde arbejdsmappen) og skriv den førnævnte kommando i terminal- eller promptvinduet som vist i det følgende uddrag. Adgangskodefilen, mlflow-authfile, oprettes.

Efter at have tilføjet 'admin'-brugernavnet og trykket på 'enter'-tasten, beder systemet om adgangskoden. Efter genindtastning af den samme adgangskode på prompten, oprettes brugeren med succes, og det viser, at brugeren er blevet tilføjet med den nødvendige adgangskode:

Her er et skærmbillede, der viser den mappe, hvor den nødvendige adgangskodefil er oprettet:

Et brugernavn og en krypteret adgangskode i formatet 'brugernavn:adgangskode' skal vises på hver linje i filen.

Trin 3: Installer og konfigurer Nginx

Hent Windows binære filer af Nginx fra den officielle hjemmeside. Udpak den downloadede fil til arbejdsmappen i Nginx-mappen:

Lav en ny MLFlow-serverblok i Nginx. Opret mappen 'mlflow-site' ved at åbne en kommandoprompt i Nginx-mappen:

Det er tid til at lave en ny fil til MLflow-konfigurationen lige nu. Erstat serverens domænenavn eller IP-adresse med den lokale vært. Brug også fremadgående skråstreger i stien, udskift D:/Work/Python/mlflow-auth med den nøjagtige sti til adgangskodefilen, der tidligere er oprettet. Skift værdien af ​​proxy_pass til MLflow-serverens URI. Portene kan justeres til de nødvendige portnumre.

Her er uddraget af koden, der skal ændres:

Indtast kommandoen 'ipconfig' på kommandoprompten for at finde IP-adressen:

Trin 4: Aktiver Nginx Server Block

For at aktivere Nginx-serverblokken skal du oprette et symbolsk link ved hjælp af følgende kommando på kommandoprompten:

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

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

Trin 5: Start Nginx

Indtast kommandoen 'nginx.exe', og naviger til Nginx-mappen for at starte Nginx fra en kommandoprompt:

Trin 6: Start MLflow-serveren

Ved hjælp af følgende kommando, som inkluderer backend-lagerstien til MLflow-serveren, kan du starte eller genstarte MLflow-serveren i et nyt terminalvindue eller kommandoprompt. Resultaterne af eksperimenter, søgninger og andre operationer gemmes på denne sti:

Kommando til at starte MLflow-serveren:

mlflow server --host 127.0.0.1 --port 5000 --backend-store-uri D:/Work/Python/Storage

Hvis du, efter at have udført den førnævnte kommando, ser følgende fejl, skal du ikke bekymre dig; udfør blot følgende kommando for at løse problemet:

Skift URI-skemaet for at gemme modelregistreringsdataene på det lokale filsystem for at løse fejlen:

mlflow server --host 127.0.0.1 --port 5000 --backend-store-uri fil :///D:/Work/Python/Storage

Trin 7: Få adgang til MLflow med godkendelse

Nu vil Nginx anmode om et brugernavn og en adgangskode, før den giver adgang til MLflow-serveren og dens artefakter, når nogen tilgår MLflow via domænet eller IP-adressen. Nu, for at få adgang til MLflows brugergrænseflade og API, skal du først angive et login-brugernavn og adgangskode, når du bruger en webbrowser for at få adgang til MLflow.

Konklusion

MLflow-godkendelse på Windows kræver, at MLflow udføres bag en omvendt proxy med godkendelsen slået til. I dette tilfælde fungerer Nginx som omvendt proxy, der fungerer som mellemmand mellem brugerens browser og MLflow-serveren. Brugere bliver bedt om at indtaste et brugernavn og en adgangskode, før de får adgang til brugergrænsefladen og API for MLflow ved at konfigurere Nginx til at håndhæve den grundlæggende godkendelse.

Sidst men ikke mindst, for at sikre, at du overholder den nyeste og sikre praksis, er det altid afgørende at konsultere den nyeste dokumentation og ressourcer til MLflow og Nginx.