Nastavení ověřování MLflow

Nastaveni Overovani Mlflow



Autentizace musí být nakonfigurována, aby byl zajištěn přístup k experimentům, modelům a artefaktům na serveru MLflow. Po aktivaci se musí každý uživatel, který chce získat přístup k jakémukoli prostředku, který je hostován serverem MLflow, přihlásit. autentizační technika.

Jak povolit MLflow Authentication na serveru

Spusťte uživatelské rozhraní MLflow pomocí následujícího příkazu pro povolení ověřování MLflow:

mlflow server --app-name basic-auth

Restartováním serveru bez možnosti názvu aplikace může správce serveru MLflow tuto funkci kdykoli zakázat. Zde je snímek obrazovky příkazu, jak je zobrazen na terminálu příkazového řádku operačního systému Windows (varování ignorujte):









Server MLflow nyní vyžaduje uživatelské jméno a heslo pro přístup k experimentům a artefaktům serveru při přístupu přes prohlížeč zadáním http://127.0.0.1:5000 jako URL.







Jak nastavit ověřování na MLflow

S několika drobnými úpravami v pokynech, příkazech a názvech konfiguračních souborů je nastavení ověřování MLflow v systému Windows velmi podobné nastavení v systému Linux.

Zde je návod pro konfiguraci ověřování MLflow v systému Windows pomocí „htpasswd“ a Nginx jako reverzní proxy. Pamatujte, že tato konfigurace umožňuje jednoduchou autentizaci a je důležité adekvátně chránit počítač, na kterém běží MLflow a Nginx, aby se zabránilo neoprávněnému přístupu. Zvažte použití OAuth nebo propojení MLflow s externími poskytovateli identity pro produkční prostředí nebo přísnější požadavky na zabezpečení.



V tomto tutoriálu si projdeme nastavení základního ověřování pomocí „htpasswd“ pro správu uživatelů/hesel a Nginx jako reverzní proxy.

Krok 1: Nainstalujte Htpasswd

Ačkoli „htpasswd“ není nativní aplikace pro Windows, používáme nástroj třetí strany, který je zde známý jako nástroj htpasswd Apache Lounge. Stáhněte si jej z oficiálních stránek Apache Lounge. Zde je snímek obrazovky, který ukazuje, že po stažení souboru zip a jeho rozbalení do našeho pracovního adresáře máme v adresáři bin Apache „htpasswd.exe“:

Chcete-li použít „htpasswd.exe“ z libovolného příkazového řádku, zkopírujte jej nyní do umístění v systémové cestě PATH v proměnné prostředí.

Krok 2: Vytvořte soubor s hesly

Chcete-li vygenerovat soubor s hesly, otevřete příkazový řádek a přejděte do příslušného umístění. Pomocí „htpasswd“ vytvořte nebo nastavte nový soubor s hesly nebo přidejte uživatele do stávajícího. Každý řádek v souboru musí mít zašifrované uživatelské jméno a heslo. Pomocí následujícího příkazu přidejte nové přihlašovací údaje pro uživatele nebo aktualizujte heslo stávajícího uživatele:

htpasswd -c /cesta/k/PASSWORD_FILE_NAME USERNAME

Přejděte do složky Python (v tomto případě do pracovního adresáře) a zadejte výše uvedený příkaz do okna terminálu nebo výzvy, jak je znázorněno v následujícím úryvku. Vytvoří se soubor s hesly mlflow-authfile.

Po přidání uživatelského jména „admin“ a stisknutí klávesy „enter“ systém požádá o heslo. Po opětovném zadání stejného hesla do výzvy je uživatel úspěšně vytvořen a ukazuje, že uživatel byl přidán s požadovaným heslem:

Zde je snímek obrazovky zobrazující adresář, kde je vytvořen potřebný soubor s hesly:

Na každém řádku souboru by se mělo objevit uživatelské jméno a zašifrované heslo ve formátu „username:password“.

Krok 3: Nainstalujte a nakonfigurujte Nginx

Získejte binární soubory Windows Nginx z oficiálních stránek. Rozbalte stažený soubor do pracovního adresáře ve složce Nginx:

Vytvořte nový blok serveru MLFlow v Nginx. Vytvořte adresář „mlflow-site“ otevřením příkazového řádku v adresáři Nginx:

Právě teď je čas vytvořit nový soubor pro konfiguraci MLflow. Nahraďte název domény nebo IP adresu serveru localhost. Nahraďte také pomocí lomítek v cestě D:/Work/Python/mlflow-auth s přesnou cestou k dříve vytvořenému souboru s hesly. Změňte hodnotu proxy_pass na URI serveru MLflow. Porty jsou nastavitelné na potřebná čísla portů.

Zde je úryvek kódu ke změně:

Zadejte do příkazového řádku příkaz „ipconfig“ a vyhledejte IP adresu:

Krok 4: Povolte blok serveru Nginx

Chcete-li aktivovat blok serveru Nginx, vytvořte symbolický odkaz pomocí následujícího příkazu na příkazovém řádku:

CD D:\Work\nginx\conf\mlflow- místo

mklink mlflow D:\Work\nginx\conf\mlflow- místo \mlflow

Krok 5: Spusťte Nginx

Zadejte příkaz „nginx.exe“ a přejděte do adresáře Nginx a spusťte Nginx z příkazového řádku:

Krok 6: Spusťte server MLflow

Pomocí následujícího příkazu, který obsahuje cestu backendového úložiště serveru MLflow, můžete server MLflow spustit nebo restartovat v novém okně terminálu nebo příkazovém řádku. Výsledky experimentů, vyhledávání a dalších operací jsou uloženy na této cestě:

Příkaz pro spuštění serveru MLflow:

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

Pokud se po provedení výše uvedeného příkazu zobrazí následující chyba, nemějte obavy; jednoduše spusťte následující příkaz k vyřešení problému:

Chcete-li chybu vyřešit, změňte schéma URI tak, aby se data registru modelu ukládala do místního systému souborů:

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

Krok 7: Přístup k MLflow s ověřením

Nyní si Nginx vyžádá uživatelské jméno a heslo před udělením přístupu k serveru MLflow a jeho artefaktům, když někdo přistupuje k MLflow prostřednictvím domény nebo IP adresy. Nyní, abyste získali přístup k uživatelskému rozhraní a API MLflow, musíte nejprve zadat přihlašovací uživatelské jméno a heslo, když používáte webový prohlížeč pro přístup k MLflow.

Závěr

Ověřování MLflow v systému Windows vyžaduje, aby se MLflow provádělo za reverzním proxy se zapnutým ověřováním. V tomto případě Nginx slouží jako reverzní proxy a funguje jako prostředník mezi prohlížečem uživatele a serverem MLflow. Uživatelé jsou požádáni o zadání uživatelského jména a hesla před přístupem k uživatelskému rozhraní a API pro MLflow nakonfigurováním Nginx pro vynucení základního ověřování.

V neposlední řadě, abyste se ujistili, že dodržujete nejaktuálnější a nejbezpečnější postupy, je vždy klíčové konzultovat nejnovější dokumentaci a zdroje pro MLflow a Nginx.