Menyediakan Pengesahan MLflow

Menyediakan Pengesahan Mlflow



Pengesahan mesti dikonfigurasikan untuk menjamin akses kepada percubaan, model dan artifak pada pelayan MLflow. Setelah didayakan, setiap pengguna yang ingin mengakses mana-mana sumber yang dihoskan oleh pelayan MLflow perlu melog masuk. Memandangkan MLflow tidak menyertakan pengesahan terbina dalam secara lalai, terdapat keperluan untuk menyediakannya untuk berfungsi dengan yang berbeza. teknik pengesahan.

Cara Mendayakan Pengesahan MLflow pada Pelayan

Lancarkan UI MLflow menggunakan arahan seterusnya untuk mendayakan pengesahan MLflow:

pelayan mlflow --app-name basic-auth

Dengan memulakan semula pelayan tanpa pilihan nama aplikasi, pentadbir pelayan MLflow boleh memilih untuk melumpuhkan ciri ini pada bila-bila masa yang mereka inginkan. Berikut ialah tangkapan skrin arahan kerana ia dipaparkan pada terminal baris arahan sistem pengendalian Windows (abaikan amaran itu):









Pelayan MLflow kini memerlukan nama pengguna dan kata laluan untuk mengakses percubaan dan artifak pelayan apabila diakses melalui pelayar dengan memasukkan http://127.0.0.1:5000 sebagai URL.







Cara Menyediakan Pengesahan pada MLflow

Dengan beberapa pengubahsuaian kecil dalam arahan, arahan dan nama fail konfigurasi, menyediakan pengesahan MLflow pada Windows adalah sangat serupa dengan menyediakannya pada Linux.

Berikut ialah tutorial untuk mengkonfigurasi pengesahan MLflow pada Windows menggunakan 'htpasswd' dan Nginx sebagai proksi terbalik. Ingat bahawa konfigurasi ini membolehkan pengesahan mudah, dan adalah penting untuk melindungi komputer yang menjalankan MLflow dan Nginx dengan secukupnya untuk mengelakkan akses tanpa kebenaran. Pertimbangkan untuk menggunakan OAuth atau menyambungkan MLflow dengan pembekal identiti luaran untuk persekitaran pengeluaran atau keperluan keselamatan yang lebih ketat.



Dalam tutorial ini, kami akan meneruskan penyediaan pengesahan asas menggunakan 'htpasswd' untuk pengurusan pengguna/kata laluan dan Nginx sebagai proksi terbalik.

Langkah 1: Pasang Htpasswd

Walaupun 'htpasswd' bukan aplikasi Windows asli, kami menggunakan alat pihak ketiga yang dikenali sebagai utiliti htpasswd Apache Lounge di sini. Muat turunnya dari laman web rasmi Apache Lounge. Berikut ialah tangkapan skrin yang menunjukkan bahawa kami mempunyai 'htpasswd.exe' dalam direktori bin Apache selepas memuat turun fail zip dan mengekstraknya ke direktori kerja kami:

Untuk menggunakan 'htpasswd.exe' daripada sebarang gesaan arahan, salin ia sekarang ke lokasi dalam PATH sistem anda dalam pembolehubah Persekitaran.

Langkah 2: Buat Fail Kata Laluan

Untuk menjana fail kata laluan, buka gesaan arahan dan pergi ke lokasi yang sesuai. Gunakan 'htpasswd' untuk mencipta atau menetapkan fail kata laluan baharu atau menambah pengguna kepada fail yang sedia ada. Setiap baris dalam fail perlu mempunyai nama pengguna dan kata laluan yang disulitkan. Gunakan arahan berikut untuk menambah bukti kelayakan baharu bagi pengguna atau kemas kini kata laluan pengguna sedia ada:

htpasswd -c /path/to/PASSWORD_FILE_NAME USERNAME

Pergi ke folder Python (dalam kes ini, direktori kerja) dan taip arahan yang dinyatakan di atas dalam terminal atau tetingkap gesaan seperti yang ditunjukkan dalam coretan berikut. Fail kata laluan, mlflow-authfile, dicipta.

Selepas menambah nama pengguna 'admin' dan menekan kekunci 'masuk', sistem meminta kata laluan. Selepas menaip semula kata laluan yang sama pada gesaan, pengguna berjaya dibuat, dan ia menunjukkan bahawa pengguna telah ditambah dengan kata laluan yang diperlukan:

Berikut ialah tangkapan skrin yang menunjukkan direktori tempat fail kata laluan yang diperlukan dibuat:

Nama pengguna dan kata laluan yang disulitkan dalam format 'nama pengguna: kata laluan' harus muncul pada setiap baris fail.

Langkah 3: Pasang dan Konfigurasikan Nginx

Dapatkan binari Windows Nginx dari laman web rasmi. Ekstrak fail yang dimuat turun ke direktori kerja dalam folder Nginx:

Buat blok pelayan MLFlow baharu dalam Nginx. Buat direktori 'mlflow-site' dengan membuka command prompt dalam direktori Nginx:

Tiba masanya untuk membuat fail baharu untuk konfigurasi MLflow sekarang. Gantikan nama domain atau alamat IP pelayan dengan localhost. Juga, menggunakan garis miring ke hadapan dalam laluan, ganti D:/Work/Python/mlflow-auth dengan laluan tepat ke fail kata laluan yang dibuat sebelum ini. Tukar nilai proxy_pass kepada URI pelayan MLflow. Port boleh dilaraskan kepada nombor port yang diperlukan.

Berikut ialah coretan kod untuk diubah:

Masukkan arahan 'ipconfig' pada command prompt untuk mencari Alamat IP:

Langkah 4: Dayakan Blok Pelayan Nginx

Untuk mengaktifkan blok pelayan Nginx, buat pautan simbolik menggunakan arahan berikut pada gesaan arahan:

cd D:\Kerja\nginx\conf\mlflow- tapak

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

Langkah 5: Mulakan Nginx

Masukkan arahan 'nginx.exe' dan navigasi ke direktori Nginx untuk melancarkan Nginx dari command prompt:

Langkah 6: Mulakan Pelayan MLflow

Dengan bantuan arahan berikut, yang termasuk laluan storan hujung belakang pelayan MLflow, anda boleh memulakan atau memulakan semula pelayan MLflow dalam tetingkap terminal baharu atau gesaan arahan. Hasil percubaan, carian dan operasi lain disimpan pada laluan ini:

Perintah untuk Memulakan Pelayan MLflow:

pelayan mlflow --host 127.0.0.1 --port 5000 --backend-store-uri D:/Kerja/Python/Storan

Jika, selepas melaksanakan arahan yang disebutkan di atas, anda melihat ralat berikut, jangan risau; hanya laksanakan arahan berikut untuk menyelesaikan masalah:

Tukar skema URI untuk menyimpan data pendaftaran model pada sistem fail tempatan untuk menyelesaikan ralat:

pelayan mlflow --host 127.0.0.1 --port 5000 --kedai-belakang-uri fail :///D:/Work/Python/Storage

Langkah 7: Akses MLflow dengan Pengesahan

Kini, Nginx akan meminta nama pengguna dan kata laluan sebelum memberikan akses kepada pelayan MLflow dan artifaknya apabila seseorang mengakses MLflow melalui domain atau alamat IP. Kini, untuk mengakses UI dan API MLflow, anda mesti memberikan nama pengguna dan kata laluan log masuk dahulu apabila menggunakan pelayar web untuk mengakses MLflow.

Kesimpulan

Pengesahan MLflow pada Windows memerlukan MLflow dilakukan di belakang proksi terbalik dengan pengesahan dihidupkan. Dalam keadaan ini, Nginx berfungsi sebagai proksi terbalik, bertindak sebagai orang tengah antara penyemak imbas pengguna dan pelayan MLflow. Pengguna diminta memasukkan nama pengguna dan kata laluan sebelum mengakses antara muka pengguna dan API untuk MLflow dengan mengkonfigurasi Nginx untuk menguatkuasakan pengesahan asas.

Akhir sekali, untuk memastikan anda mematuhi amalan terkini dan selamat, adalah penting untuk merujuk dokumentasi dan sumber terkini untuk MLflow dan Nginx.