Az MLflow hitelesítés beállítása

Az Mlflow Hitelesites Beallitasa



A hitelesítést konfigurálni kell az MLflow szerveren található kísérletekhez, modellekhez és műtermékekhez való hozzáférés biztosításához. Ha engedélyezve van, minden felhasználónak, aki hozzá akar férni az MLflow szerver által tárolt bármely erőforráshoz, be kell jelentkeznie. Mivel az MLflow alapértelmezés szerint nem tartalmazza a beépített hitelesítést, be kell állítani, hogy egy másikkal működjön hitelesítési technika.

Az MLflow hitelesítés engedélyezése a kiszolgálón

Indítsa el az MLflow felhasználói felületet a következő paranccsal az MLflow hitelesítés engedélyezéséhez:

mlflow szerver --app-name basic-auth

Ha újraindítja a szervert az alkalmazásnév opció nélkül, az MLflow kiszolgáló rendszergazdája bármikor letilthatja ezt a funkciót. Íme egy képernyőkép a parancsról, ahogyan az megjelenik a Windows operációs rendszer parancssori terminálján (figyelmen kívül hagyja a figyelmeztetést):









Az MLflow szervernek mostantól felhasználónévre és jelszóra van szüksége a szerverkísérletek és műtermékek eléréséhez, ha böngészőn keresztül éri el a http://127.0.0.1:5000 mint az URL.







A hitelesítés beállítása az MLflow-n

Az utasítások, parancsok és konfigurációs fájlnevek néhány kisebb módosításával az MLflow hitelesítés beállítása Windows rendszeren nagyon hasonlít a Linux rendszeren történő beállításához.

Itt található egy oktatóanyag az MLflow hitelesítés konfigurálásához Windows rendszeren a „htpasswd” és az Nginx segítségével fordított proxyként. Ne feledje, hogy ez a konfiguráció egyszerű hitelesítést tesz lehetővé, és kulcsfontosságú az MLflow-t és az Nginxet futtató számítógép megfelelő védelme az illetéktelen hozzáférés elkerülése érdekében. Fontolja meg az OAuth használatát, vagy az MLflow külső identitásszolgáltatókkal való összekapcsolását éles környezetek vagy szigorúbb biztonsági követelmények esetén.



Ebben az oktatóanyagban áttekintjük az alapvető hitelesítés beállítását a „htpasswd” használatával a felhasználó/jelszó kezeléséhez, és az Nginx-et fordított proxyként.

1. lépés: Telepítse a Htpasswd fájlt

Bár a „htpasswd” nem natív Windows-alkalmazás, egy harmadik féltől származó eszközt alkalmazunk, amely itt az Apache Lounge htpasswd segédprogramjaként ismert. Töltse le az Apache Lounge hivatalos webhelyéről. Íme egy képernyőkép, amely bemutatja, hogy az Apache bin könyvtárában található a „htpasswd.exe” a zip fájl letöltése és a munkakönyvtárunkba való kibontása után:

A „htpasswd.exe” parancssorból való használatához másolja át a rendszer PATH-jában lévő helyre a Környezeti változóban.

2. lépés: Hozzon létre egy jelszófájlt

A jelszófájl létrehozásához nyissa meg a parancssort, és lépjen a megfelelő helyre. A „htpasswd” használatával új jelszófájlt hozhat létre vagy állíthat be, vagy hozzáadhatja a felhasználókat egy meglévőhöz. A fájl minden sorához titkosított felhasználónévvel és jelszóval kell rendelkeznie. A következő paranccsal adhat hozzá új hitelesítő adatokat a felhasználóhoz, vagy frissítheti egy meglévő felhasználó jelszavát:

htpasswd -c /útvonal/elérési út/PASSWORD_FILE_NAME FELHASZNÁLÓNÉV

Lépjen a Python mappába (ebben az esetben a munkakönyvtárba), és írja be a fent említett parancsot a terminál- vagy prompt ablakba, ahogy az a következő részletben látható. Létrejön az mlflow-authfile jelszófájl.

Az „admin” felhasználónév megadása és az „enter” billentyű lenyomása után a rendszer kéri a jelszót. Miután újra beírta ugyanazt a jelszót a promptba, a felhasználó létrehozása sikeresen megtörténik, és azt mutatja, hogy a felhasználó hozzáadásra került a szükséges jelszóval:

Itt van egy képernyőkép, amely azt a könyvtárat mutatja, ahol a szükséges jelszófájl létrejött:

A fájl minden sorában meg kell jelennie egy felhasználónévnek és titkosított jelszónak „felhasználónév:jelszó” formátumban.

3. lépés: Telepítse és konfigurálja az Nginxet

Szerezze be az Nginx Windows binárisait a hivatalos webhelyről. Bontsa ki a letöltött fájlt az Nginx mappában található munkakönyvtárba:

Hozzon létre egy új MLFlow szerverblokkot az Nginxben. Hozza létre az „mlflow-site” könyvtárat az Nginx könyvtárban lévő parancssor megnyitásával:

Itt az ideje, hogy új fájlt készítsünk az MLflow konfigurációhoz. Cserélje ki a szerver tartománynevét vagy IP-címét a localhost-ra. Ezenkívül cserélje ki az elérési utat előre perjelekkel D:/Work/Python/mlflow-auth a korábban létrehozott jelszófájl pontos elérési útjával. Módosítsa a proxy_pass értékét az MLflow-kiszolgáló URI-jére. A portok a szükséges portszámokhoz állíthatók.

Íme a módosítandó kódrészlet:

Írja be az „ipconfig” parancsot a parancssorba az IP-cím megkereséséhez:

4. lépés: Engedélyezze az Nginx szerverblokkot

Az Nginx szerverblokk aktiválásához hozzon létre egy szimbolikus hivatkozást a következő paranccsal a parancssorban:

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

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

5. lépés: Indítsa el az Nginx-et

Írja be az „nginx.exe” parancsot, és navigáljon az Nginx könyvtárba az Nginx parancssorból történő elindításához:

6. lépés: Indítsa el az MLflow szervert

A következő parancs segítségével, amely tartalmazza az MLflow szerver háttértárolási útvonalát, elindíthatja vagy újraindíthatja az MLflow kiszolgálót egy új terminálablakban vagy parancssorban. A kísérletek, keresések és egyéb műveletek eredményei ezen az útvonalon tárolódnak:

Parancs az MLflow szerver indításához:

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

Ha a fent említett parancs végrehajtása után a következő hibát látja, ne aggódjon; egyszerűen hajtsa végre a következő parancsot a probléma megoldásához:

Módosítsa az URI-sémát, hogy a modell-nyilvántartási adatokat a helyi fájlrendszerben tárolja a hiba megoldása érdekében:

mlflow szerver --host 127.0.0.1 --port 5000 --backend-store-uri fájlt :///D:/Work/Python/Storage

7. lépés: Az MLflow elérése hitelesítéssel

Mostantól az Nginx felhasználónevet és jelszót fog kérni, mielőtt hozzáférést adna az MLflow-kiszolgálóhoz és annak melléktermékeihez, amikor valaki a tartományon vagy az IP-címen keresztül hozzáfér az MLflow-hoz. Az MLflow felhasználói felületének és API-jának eléréséhez először meg kell adnia egy bejelentkezési felhasználónevet és jelszót, ha webböngészőt használ az MLflow eléréséhez.

Következtetés

Az MLflow hitelesítéshez Windows rendszeren az MLflow-t fordított proxy mögött kell végrehajtani, bekapcsolt hitelesítés mellett. Ebben az esetben az Nginx fordított proxyként szolgál, és közvetítőként működik a felhasználó böngészője és az MLflow szerver között. A felhasználóknak meg kell adniuk egy felhasználónevet és jelszót, mielőtt hozzáférnének a felhasználói felülethez és az MLflow API-hoz az Nginx konfigurálásával az alapvető hitelesítés érvényesítésére.

Végül, de nem utolsósorban a legújabb és biztonságos gyakorlatok betartása érdekében mindig elengedhetetlen az MLflow és az Nginx legfrissebb dokumentációja és erőforrásai megtekintése.