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-authRestartová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 USERNAMEPř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ístomklink 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/StoragePokud 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.