Ρύθμιση του ελέγχου ταυτότητας MLflow

Rythmise Tou Elenchou Tautotetas Mlflow



Ο έλεγχος ταυτότητας πρέπει να ρυθμιστεί για να διασφαλίζεται η πρόσβαση στα πειράματα, τα μοντέλα και τα τεχνουργήματα στον διακομιστή MLflow. Μόλις ενεργοποιηθεί, κάθε χρήστης που επιδιώκει να αποκτήσει πρόσβαση σε οποιονδήποτε πόρο που φιλοξενείται από τον διακομιστή MLflow πρέπει να συνδεθεί. Εφόσον το MLflow δεν περιλαμβάνει τον ενσωματωμένο έλεγχο ταυτότητας από προεπιλογή, υπάρχει ανάγκη να το ρυθμίσετε ώστε να λειτουργεί με διαφορετικό τεχνική ελέγχου ταυτότητας.

Πώς να ενεργοποιήσετε τον έλεγχο ταυτότητας MLflow στο διακομιστή

Εκκινήστε τη διεπαφή χρήστη MLflow χρησιμοποιώντας την επόμενη εντολή για να ενεργοποιήσετε τον έλεγχο ταυτότητας MLflow:

Διακομιστής mlflow --app-name basic-auth

Με την επανεκκίνηση του διακομιστή χωρίς την επιλογή app-name, ο διαχειριστής του διακομιστή MLflow μπορεί να επιλέξει να απενεργοποιήσει αυτήν τη δυνατότητα όποτε θέλει. Ακολουθεί ένα στιγμιότυπο οθόνης της εντολής όπως εμφανίζεται στο τερματικό γραμμής εντολών του λειτουργικού συστήματος των Windows (αγνοήστε την προειδοποίηση):









Ο διακομιστής MLflow απαιτεί τώρα ένα όνομα χρήστη και έναν κωδικό πρόσβασης για πρόσβαση στα πειράματα και τα τεχνουργήματα του διακομιστή όταν έχει πρόσβαση μέσω ενός προγράμματος περιήγησης, εισάγοντας το http://127.0.0.1:5000 ως URL.







Πώς να ρυθμίσετε τον έλεγχο ταυτότητας στο MLflow

Με μερικές μικρές τροποποιήσεις στις οδηγίες, τις εντολές και τα ονόματα των αρχείων διαμόρφωσης, η ρύθμιση του ελέγχου ταυτότητας MLflow στα Windows μοιάζει πολύ με τη ρύθμισή του στο Linux.

Ακολουθεί ένα σεμινάριο για τη διαμόρφωση του ελέγχου ταυτότητας MLflow στα Windows χρησιμοποιώντας το 'htpasswd' και το Nginx ως αντίστροφο διακομιστή μεσολάβησης. Θυμηθείτε ότι αυτή η διαμόρφωση επιτρέπει τον απλό έλεγχο ταυτότητας και είναι σημαντικό να προστατεύσετε επαρκώς τον υπολογιστή που εκτελεί το MLflow και το Nginx για να αποφύγετε μια μη εξουσιοδοτημένη πρόσβαση. Εξετάστε το ενδεχόμενο να χρησιμοποιήσετε το OAuth ή να συνδέσετε το MLflow με εξωτερικούς παρόχους ταυτότητας για περιβάλλοντα παραγωγής ή πιο αυστηρές απαιτήσεις ασφαλείας.



Σε αυτό το σεμινάριο, θα εξετάσουμε τη ρύθμιση του βασικού ελέγχου ταυτότητας χρησιμοποιώντας το 'htpasswd' για διαχείριση χρήστη/κωδικού πρόσβασης και το Nginx ως αντίστροφο διακομιστή μεσολάβησης.

Βήμα 1: Εγκαταστήστε το Htpasswd

Αν και το 'htpasswd' δεν είναι μια εγγενής εφαρμογή των Windows, χρησιμοποιούμε ένα εργαλείο τρίτου κατασκευαστή που είναι γνωστό ως βοηθητικό πρόγραμμα htpasswd του Apache Lounge εδώ. Κατεβάστε το από τον επίσημο ιστότοπο του Apache Lounge. Ακολουθεί ένα στιγμιότυπο οθόνης που δείχνει ότι έχουμε 'htpasswd.exe' στον κατάλογο bin του Apache μετά τη λήψη του αρχείου zip και την εξαγωγή του στον κατάλογο εργασίας μας:

Για να χρησιμοποιήσετε το 'htpasswd.exe' από οποιαδήποτε γραμμή εντολών, αντιγράψτε το τώρα σε μια θέση στο PATH του συστήματός σας στη μεταβλητή Environment.

Βήμα 2: Δημιουργήστε ένα αρχείο κωδικού πρόσβασης

Για να δημιουργήσετε το αρχείο κωδικού πρόσβασης, ανοίξτε μια γραμμή εντολών και μεταβείτε στην κατάλληλη θέση. Χρησιμοποιήστε το 'htpasswd' για να δημιουργήσετε ή να ορίσετε ένα νέο αρχείο κωδικού πρόσβασης ή για να προσθέσετε τους χρήστες σε ένα παρόν. Κάθε γραμμή στο αρχείο πρέπει να έχει κρυπτογραφημένο όνομα χρήστη και κωδικό πρόσβασης. Χρησιμοποιήστε την ακόλουθη εντολή για να προσθέσετε νέα διαπιστευτήρια για τον χρήστη ή να ενημερώσετε τον κωδικό πρόσβασης ενός υπάρχοντος χρήστη:

htpasswd -c /path/to/PASSWORD_FILE_NAME USERNAME

Μεταβείτε στο φάκελο Python (σε αυτήν την περίπτωση, στον κατάλογο εργασίας) και πληκτρολογήστε την προαναφερθείσα εντολή στο τερματικό ή στο παράθυρο γραμμής εντολών όπως φαίνεται στο παρακάτω απόσπασμα. Δημιουργείται το αρχείο κωδικού πρόσβασης, mlflow-athfile.

Αφού προσθέσετε το όνομα χρήστη «admin» και πατήσετε το πλήκτρο «enter», το σύστημα ζητά τον κωδικό πρόσβασης. Αφού πληκτρολογήσετε ξανά τον ίδιο κωδικό πρόσβασης στην προτροπή, ο χρήστης δημιουργήθηκε με επιτυχία και δείχνει ότι ο χρήστης έχει προστεθεί με τον απαιτούμενο κωδικό πρόσβασης:

Ακολουθεί ένα στιγμιότυπο οθόνης που δείχνει τον κατάλογο όπου δημιουργείται το απαραίτητο αρχείο κωδικού πρόσβασης:

Ένα όνομα χρήστη και ένας κρυπτογραφημένος κωδικός πρόσβασης στη μορφή «username:password» θα πρέπει να εμφανίζονται σε κάθε γραμμή του αρχείου.

Βήμα 3: Εγκατάσταση και διαμόρφωση του Nginx

Αποκτήστε τα δυαδικά αρχεία των Windows του Nginx από τον επίσημο ιστότοπο. Εξαγάγετε το ληφθέν αρχείο στον κατάλογο εργασίας στον φάκελο Nginx:

Δημιουργήστε ένα νέο μπλοκ διακομιστή MLFlow στο Nginx. Δημιουργήστε τον κατάλογο 'mlflow-site' ανοίγοντας μια γραμμή εντολών στον κατάλογο Nginx:

Ήρθε η ώρα να δημιουργήσετε ένα νέο αρχείο για τη διαμόρφωση MLflow αυτή τη στιγμή. Αντικαταστήστε το όνομα τομέα ή τη διεύθυνση IP του διακομιστή με τον localhost. Επίσης, χρησιμοποιώντας κάθετες προς τα εμπρός στη διαδρομή, αντικαταστήστε D:/Work/Python/mlflow-auth με την ακριβή διαδρομή προς το αρχείο κωδικού πρόσβασης που δημιουργήθηκε προηγουμένως. Αλλάξτε την τιμή του proxy_pass στο URI του διακομιστή MLflow. Οι θύρες ρυθμίζονται στους απαραίτητους αριθμούς θυρών.

Εδώ είναι το απόσπασμα του κώδικα προς αλλαγή:

Εισαγάγετε την εντολή 'ipconfig' στη γραμμή εντολών για να βρείτε τη διεύθυνση IP:

Βήμα 4: Ενεργοποιήστε το μπλοκ διακομιστή Nginx

Για να ενεργοποιήσετε το μπλοκ διακομιστή Nginx, δημιουργήστε έναν συμβολικό σύνδεσμο χρησιμοποιώντας την ακόλουθη εντολή στη γραμμή εντολών:

CD D:\Work\nginx\conf\mlflow- ιστοσελίδα

mklink mlflow D:\Work\nginx\conf\mlflow- ιστοσελίδα \mlροή

Βήμα 5: Ξεκινήστε το Nginx

Εισαγάγετε την εντολή 'nginx.exe' και μεταβείτε στον κατάλογο Nginx για να εκκινήσετε το Nginx από μια γραμμή εντολών:

Βήμα 6: Εκκινήστε τον διακομιστή MLflow

Με τη βοήθεια της ακόλουθης εντολής, η οποία περιλαμβάνει τη διαδρομή αποθήκευσης backend του διακομιστή MLflow, μπορείτε να ξεκινήσετε ή να επανεκκινήσετε τον διακομιστή MLflow σε ένα νέο παράθυρο τερματικού ή στη γραμμή εντολών. Τα αποτελέσματα των πειραμάτων, των αναζητήσεων και άλλων λειτουργιών αποθηκεύονται σε αυτήν τη διαδρομή:

Εντολή για εκκίνηση του διακομιστή MLflow:

Διακομιστής mlflow --host 127.0.0.1 --port 5000 --backend-store-uri D:/Work/Python/Storage

Εάν, μετά την εκτέλεση της προαναφερθείσας εντολής, δείτε το ακόλουθο σφάλμα, μην ανησυχείτε. απλά εκτελέστε την ακόλουθη εντολή για να διορθώσετε το πρόβλημα:

Αλλάξτε το σχήμα URI για να αποθηκεύσετε τα δεδομένα μητρώου μοντέλου στο τοπικό σύστημα αρχείων για να επιλύσετε το σφάλμα:

Διακομιστής mlflow --host 127.0.0.1 --port 5000 --backend-store-uri αρχείο :///D:/Work/Python/Storage

Βήμα 7: Πρόσβαση στο MLflow με έλεγχο ταυτότητας

Τώρα, το Nginx θα ζητήσει ένα όνομα χρήστη και έναν κωδικό πρόσβασης πριν παραχωρήσει πρόσβαση στον διακομιστή MLflow και τα τεχνουργήματά του όταν κάποιος αποκτά πρόσβαση στο MLflow μέσω του τομέα ή της διεύθυνσης IP. Τώρα, για να αποκτήσετε πρόσβαση στο UI και το API του MLflow, πρέπει πρώτα να δώσετε ένα όνομα χρήστη και έναν κωδικό πρόσβασης σύνδεσης όταν χρησιμοποιείτε ένα πρόγραμμα περιήγησης ιστού για πρόσβαση στο MLflow.

συμπέρασμα

Ο έλεγχος ταυτότητας MLflow στα Windows απαιτεί την εκτέλεση του MLflow πίσω από έναν αντίστροφο διακομιστή μεσολάβησης με ενεργοποιημένο τον έλεγχο ταυτότητας. Σε αυτήν την περίπτωση, το Nginx χρησιμεύει ως ο αντίστροφος διακομιστής μεσολάβησης, ενεργώντας ως μεσάζων μεταξύ του προγράμματος περιήγησης του χρήστη και του διακομιστή MLflow. Ζητείται από τους χρήστες να εισαγάγουν ένα όνομα χρήστη και έναν κωδικό πρόσβασης πριν αποκτήσουν πρόσβαση στη διεπαφή χρήστη και το API για το MLflow διαμορφώνοντας το Nginx για να επιβάλει τον βασικό έλεγχο ταυτότητας.

Τελευταίο αλλά όχι λιγότερο σημαντικό, για να διασφαλίσετε ότι τηρείτε τις πιο πρόσφατες και ασφαλείς πρακτικές, είναι πάντα σημαντικό να συμβουλεύεστε την πιο πρόσφατη τεκμηρίωση και πόρους για το MLflow και το Nginx.