วิธีเปิดใช้งานการรับรองความถูกต้อง MLflow บนเซิร์ฟเวอร์
เปิดใช้งาน MLflow UI โดยใช้คำสั่งต่อมาเพื่อเปิดใช้งานการตรวจสอบสิทธิ์ MLflow:
เซิร์ฟเวอร์ mlflow -- ชื่อแอปพื้นฐาน-authด้วยการรีสตาร์ทเซิร์ฟเวอร์โดยไม่มีตัวเลือกชื่อแอป ผู้ดูแลระบบเซิร์ฟเวอร์ 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-authfile ถูกสร้างขึ้น
หลังจากเพิ่มชื่อผู้ใช้ “admin” แล้วกดปุ่ม “enter” ระบบจะถามรหัสผ่าน หลังจากพิมพ์รหัสผ่านเดิมอีกครั้งบนพรอมต์ ผู้ใช้จะถูกสร้างขึ้นสำเร็จ และแสดงว่าผู้ใช้ถูกเพิ่มด้วยรหัสผ่านที่จำเป็น:
นี่คือภาพหน้าจอที่แสดงไดเร็กทอรีที่สร้างไฟล์รหัสผ่านที่จำเป็น:
ชื่อผู้ใช้และรหัสผ่านที่เข้ารหัสในรูปแบบ 'ชื่อผู้ใช้: รหัสผ่าน' ควรปรากฏในแต่ละบรรทัดของไฟล์
ขั้นตอนที่ 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 ให้สร้างลิงก์สัญลักษณ์โดยใช้คำสั่งต่อไปนี้บนพรอมต์คำสั่ง:
ซีดี D:\งาน\nginx\conf\mlflow- เว็บไซต์mklink mlflow D:\งาน\nginx\conf\mlflow- เว็บไซต์ \mlflow
ขั้นตอนที่ 5: เริ่ม Nginx
ป้อนคำสั่ง 'nginx.exe' และไปที่ไดเร็กทอรี Nginx เพื่อเปิดใช้ Nginx จากพรอมต์คำสั่ง:
ขั้นตอนที่ 6: เริ่มเซิร์ฟเวอร์ MLflow
ด้วยความช่วยเหลือของคำสั่งต่อไปนี้ ซึ่งรวมถึงเส้นทางการจัดเก็บข้อมูลแบ็กเอนด์ของเซิร์ฟเวอร์ MLflow คุณสามารถเริ่มหรือรีสตาร์ทเซิร์ฟเวอร์ MLflow ในหน้าต่างเทอร์มินัลหรือพร้อมท์คำสั่งใหม่ ผลลัพธ์ของการทดลอง การค้นหา และการดำเนินการอื่นๆ จะถูกจัดเก็บไว้บนเส้นทางนี้:
คำสั่งเพื่อเริ่มเซิร์ฟเวอร์ MLflow:
เซิร์ฟเวอร์ mlflow --โฮสต์ 127.0.0.1 --พอร์ต 5,000 --backend-store-uri D:/Work/Python/Storageหากหลังจากดำเนินการคำสั่งดังกล่าวแล้ว คุณเห็นข้อผิดพลาดต่อไปนี้ ไม่ต้องกังวล เพียงดำเนินการคำสั่งต่อไปนี้เพื่อแก้ไขปัญหา:
เปลี่ยนโครงร่าง URI เพื่อจัดเก็บข้อมูลรีจิสตรีโมเดลบนระบบไฟล์ในเครื่องเพื่อแก้ไขข้อผิดพลาด:
เซิร์ฟเวอร์ mlflow --โฮสต์ 127.0.0.1 --พอร์ต 5,000 --แบ็กเอนด์-store-uri ไฟล์ :///D:/งาน/Python/Storage
ขั้นตอนที่ 7: เข้าถึง MLflow ด้วยการรับรองความถูกต้อง
ตอนนี้ Nginx จะขอชื่อผู้ใช้และรหัสผ่านก่อนที่จะให้สิทธิ์การเข้าถึงเซิร์ฟเวอร์ MLflow และสิ่งประดิษฐ์เมื่อมีผู้เข้าถึง MLflow ผ่านโดเมนหรือที่อยู่ IP ในตอนนี้ เพื่อเข้าถึง UI และ API ของ MLflow คุณต้องระบุชื่อผู้ใช้และรหัสผ่านสำหรับเข้าสู่ระบบก่อนเมื่อใช้เว็บเบราว์เซอร์เพื่อเข้าถึง MLflow
บทสรุป
การตรวจสอบสิทธิ์ MLflow บน Windows จำเป็นต้องดำเนินการ MLflow หลังพร็อกซีย้อนกลับโดยเปิดการตรวจสอบสิทธิ์ไว้ ในกรณีนี้ Nginx ทำหน้าที่เป็นพร็อกซีย้อนกลับ โดยทำหน้าที่เป็นคนกลางระหว่างเบราว์เซอร์ของผู้ใช้และเซิร์ฟเวอร์ MLflow ผู้ใช้จะถูกขอให้ป้อนชื่อผู้ใช้และรหัสผ่านก่อนที่จะเข้าถึงอินเทอร์เฟซผู้ใช้และ API สำหรับ MLflow โดยการกำหนดค่า Nginx เพื่อบังคับใช้การตรวจสอบสิทธิ์ขั้นพื้นฐาน
สุดท้ายแต่ไม่ท้ายสุด เพื่อให้แน่ใจว่าคุณปฏิบัติตามแนวทางปฏิบัติล่าสุดและปลอดภัย จำเป็นอย่างยิ่งที่จะต้องศึกษาเอกสารและทรัพยากรล่าสุดสำหรับ MLflow และ Nginx