MLflow-todennuksen määrittäminen

Mlflow Todennuksen Maarittaminen



Todennus on määritettävä, jotta varmistetaan pääsy MLflow-palvelimella oleviin kokeisiin, malleihin ja artefakteihin. Kun se on otettu käyttöön, jokaisen käyttäjän, joka haluaa käyttää mitä tahansa MLflow-palvelimen isännöimää resurssia, on kirjauduttava sisään. Koska MLflow ei sisällä sisäänrakennettua todennusta oletuksena, se on määritettävä toimimaan erilaisten resurssien kanssa. todennustekniikka.

Kuinka ottaa MLflow-todennus käyttöön palvelimella

Käynnistä MLflow-käyttöliittymä käyttämällä seuraavaa komentoa ottaaksesi MLflow-todennus käyttöön:

mlflow-palvelin --sovelluksen nimi perus-auth

Käynnistämällä palvelimen uudelleen ilman app-name-vaihtoehtoa, MLflow-palvelimen järjestelmänvalvoja voi halutessaan poistaa tämän ominaisuuden käytöstä. Tässä on kuvakaappaus komennosta sellaisena kuin se näkyy Windows-käyttöjärjestelmän komentorivipäätteessä (ohita varoitus):









MLflow-palvelin vaatii nyt käyttäjätunnuksen ja salasanan päästäkseen palvelinkokeisiin ja artefakteihin, kun sitä käytetään selaimen kautta syöttämällä http://127.0.0.1:5000 URL-osoitteena.







Todennuksen määrittäminen MLflow:ssa

Muutamilla pienillä muokkauksilla ohjeisiin, komentoihin ja asetustiedostojen nimiin MLflow-todennuksen määrittäminen Windowsissa on hyvin samanlainen kuin sen määrittäminen Linuxissa.

Tässä on opetusohjelma MLflow-todennuksen määrittämiseen Windowsissa käyttämällä 'htpasswd'- ja Nginxiä käänteisenä välityspalvelimena. Muista, että tämä kokoonpano mahdollistaa yksinkertaisen todennuksen, ja on ratkaisevan tärkeää suojata MLflow:ta ja Nginxiä käyttävä tietokone asianmukaisesti luvattoman käytön välttämiseksi. Harkitse OAuthin käyttöä tai MLflow:n yhdistämistä ulkoisiin identiteetintarjoajiin tuotantoympäristöjä tai tiukempia tietoturvavaatimuksia varten.



Tässä opetusohjelmassa käymme läpi perustodennuksen asetukset käyttämällä 'htpasswd' käyttäjien / salasanan hallintaa ja Nginxiä käänteisenä välityspalvelimena.

Vaihe 1: Asenna Htpasswd

Vaikka 'htpasswd' ei ole natiivi Windows-sovellus, käytämme kolmannen osapuolen työkalua, joka tunnetaan täällä Apache Loungen htpasswd-apuohjelmana. Lataa se Apache Loungen viralliselta verkkosivustolta. Tässä on kuvakaappaus, joka osoittaa, että meillä on 'htpasswd.exe' Apachen bin-hakemistossa sen jälkeen, kun olet ladannut zip-tiedoston ja purkanut sen työhakemistoomme:

Jos haluat käyttää tiedostoa 'htpasswd.exe' mistä tahansa komentokehotteesta, kopioi se nyt ympäristömuuttujan PATH-kohtaan.

Vaihe 2: Luo salasanatiedosto

Luo salasanatiedosto avaamalla komentokehote ja siirtymällä oikeaan paikkaan. Käytä 'htpasswd' luodaksesi tai asettaaksesi uuden salasanatiedoston tai lisätäksesi käyttäjiä nykyiseen. Jokaisella tiedoston rivillä on oltava salattu käyttäjätunnus ja salasana. Käytä seuraavaa komentoa lisätäksesi uudet käyttäjätiedot tai päivittääksesi olemassa olevan käyttäjän salasana:

htpasswd -c /polku/PASSWORD_FILE_NAME KÄYTTÄJÄNIMI

Siirry Python-kansioon (tässä tapauksessa työhakemistoon) ja kirjoita edellä mainittu komento pääte- tai kehoteikkunaan seuraavan katkelman mukaisesti. Salasanatiedosto, mlflow-authfile, luodaan.

Kun olet lisännyt “admin”-käyttäjätunnuksen ja painanut “enter”-näppäintä, järjestelmä kysyy salasanaa. Kun olet kirjoittanut saman salasanan uudelleen kehotteeseen, käyttäjä on luotu onnistuneesti ja se osoittaa, että käyttäjä on lisätty vaaditulla salasanalla:

Tässä on kuvakaappaus, joka näyttää hakemiston, johon tarvittava salasanatiedosto luodaan:

Käyttäjätunnus ja salattu salasana muodossa 'username:password' pitäisi näkyä jokaisella tiedoston rivillä.

Vaihe 3: Asenna ja määritä Nginx

Hanki Nginxin Windows-binaarit viralliselta verkkosivustolta. Pura ladattu tiedosto Nginx-kansion työhakemistoon:

Tee uusi MLFlow-palvelinlohko Nginxissä. Luo 'mlflow-site' -hakemisto avaamalla komentokehote Nginx-hakemistossa:

On aika tehdä uusi tiedosto MLflow-kokoonpanoa varten juuri nyt. Korvaa palvelimen toimialueen nimi tai IP-osoite localhostilla. Korvaa myös käyttämällä polussa eteenpäin vinoviivaa D:/Työ/Python/mlflow-auth jossa on tarkka polku aiemmin luotuun salasanatiedostoon. Muuta proxy_pass-arvo MLflow-palvelimen URI:ksi. Portit ovat säädettävissä tarvittaviin porttinumeroihin.

Tässä on muutettava koodinpätkä:

Kirjoita 'ipconfig' -komento komentokehotteeseen löytääksesi IP-osoitteen:

Vaihe 4: Ota Nginx-palvelinlohko käyttöön

Aktivoidaksesi Nginx-palvelinlohkon, luo symbolinen linkki käyttämällä seuraavaa komentoa komentokehotteessa:

CD D:\Work\nginx\conf\mlflow- sivusto

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

Vaihe 5: Käynnistä Nginx

Kirjoita 'nginx.exe' -komento ja siirry Nginx-hakemistoon käynnistääksesi Nginx komentokehotteesta:

Vaihe 6: Käynnistä MLflow-palvelin

Seuraavan komennon, joka sisältää MLflow-palvelimen taustatallennuspolun, avulla voit käynnistää MLflow-palvelimen tai käynnistää sen uudelleen uudessa pääteikkunassa tai komentokehotteessa. Kokeiden, hakujen ja muiden toimintojen tulokset tallennetaan tälle polulle:

Komento käynnistää MLflow-palvelin:

mlflow-palvelin --host 127.0.0.1 --portti 5000 --backend-store-uri D:/Work/Python/Storage

Jos edellä mainitun komennon suorittamisen jälkeen näet seuraavan virheen, älä huoli; yksinkertaisesti suorita seuraava komento korjataksesi ongelma:

Muuta URI-mallia siten, että mallirekisteritiedot tallennetaan paikalliseen tiedostojärjestelmään ratkaistaksesi virheen:

mlflow-palvelin --host 127.0.0.1 --portti 5000 --backend-store-uri tiedosto :///D:/Work/Python/Storage

Vaihe 7: Avaa MLflow todennuksella

Nyt Nginx pyytää käyttäjätunnusta ja salasanaa ennen kuin myöntää pääsyn MLflow-palvelimelle ja sen artefakteille, kun joku käyttää MLflow:ta toimialueen tai IP-osoitteen kautta. Nyt, jotta voit käyttää MLflown käyttöliittymää ja API:ta, sinun on ensin annettava kirjautumistunnus ja salasana, kun käytät MLflow:ta verkkoselaimella.

Johtopäätös

MLflow-todennus Windowsissa edellyttää, että MLflow suoritetaan käänteisen välityspalvelimen takana, kun todennus on käytössä. Tässä tapauksessa Nginx toimii käänteisenä välityspalvelimena, joka toimii välittäjänä käyttäjän selaimen ja MLflow-palvelimen välillä. Käyttäjiä pyydetään syöttämään käyttäjätunnus ja salasana ennen kuin he pääsevät MLflow:n käyttöliittymään ja API:iin määrittämällä Nginx pakottamaan perustodennus.

Viimeisenä, mutta ei vähäisimpänä, varmistaaksesi, että noudatat uusimpia ja turvallisia käytäntöjä, on aina tärkeää tutustua uusimpiin MLflow- ja Nginx-dokumentaatioihin ja -resursseihin.