Skip to Content
Testingตัวแปรสภาพแวดล้อมของแอป

ตัวแปรสภาพแวดล้อมของแอป

OpenFactory สามารถจัดเก็บค่าสภาพแวดล้อมที่กำหนดขอบเขตขอบเขตแอปและขอบเขตบัญชี เข้ารหัสพวกมันเมื่อไม่มีการใช้งาน และเรนเดอร์พวกมันให้เป็น VM ของแอพผู้สมัครในระหว่างการปรับใช้ นี่เป็นที่เก็บข้อมูลลับที่สำรองไฟล์ในยุคแรกๆ ไม่ใช่ห้องนิรภัยที่ได้รับการจัดการ

ขอบเขตและลำดับความสำคัญ

  • ค่าบัญชีเป็นค่าเริ่มต้นที่สามารถนำมาใช้ซ้ำได้สำหรับทุกแอปที่เป็นของบัญชีนั้น
  • มูลค่าแอปจะแทนที่มูลค่าบัญชีที่มีชื่อเดียวกัน
  • ค่าที่ได้รับการจัดการจะถูกเขียนโดยโทเค็นผู้ผลิตที่กำหนดค่าไว้และบันทึก ผู้ผลิตที่เป็นเจ้าของคีย์
  • การเปลี่ยนแปลงค่าที่เพิ่มขึ้น env_version; การปรับใช้ที่ประสบความสำเร็จจะบันทึก เวอร์ชันที่ใช้ ความแตกต่างหมายความว่าจำเป็นต้องปรับใช้ใหม่

ชื่อต้องเป็นตัวระบุสภาพแวดล้อมตัวพิมพ์ใหญ่ โดยจำกัดไว้ที่ 128 และไม่สามารถใช้คำนำหน้า OPENFACTORY_ ที่สงวนไว้ได้ คุณค่าของผู้ใช้คือ จำกัดอยู่ที่ 8 KiB และแอปหนึ่งๆ จำกัดอยู่ที่ 100 คีย์

ขั้นตอนการทำงานของ MCP

การดำเนินการรายการจะปกปิดค่าเสมอ เปิดเผยค่าเดียวเมื่อจำเป็นเท่านั้น:

set_app_env( app_id="550e8400-e29b-41d4-a716-446655440000", set={"API_BASE_URL": "https://api.example.internal"} ) list_app_env(app_id="550e8400-e29b-41d4-a716-446655440000") reveal_app_env( app_id="550e8400-e29b-41d4-a716-446655440000", name="API_BASE_URL" )

รูปแบบเดียวกันนี้มีอยู่ใน set_account_env, list_account_env และ reveal_account_env. การดำเนินการตั้งค่า/ลบระดับแอปส่งคืน env_version และ redeploy_hint; การตั้งค่าไม่กลายพันธุ์ VM ที่กำลังรันอยู่

พื้นผิวส่วนที่เหลือ

วิธีการเส้นทางวัตถุประสงค์
GET/api/apps/{app_id}/envรายการคีย์แอปที่มาสก์และสถานะเวอร์ชัน
PUT/api/apps/{app_id}/envตั้งค่า/ลบธุรกรรมสำหรับคีย์แอป
POST/api/apps/{app_id}/env/revealข้อความธรรมดาที่ตรวจสอบแล้วเปิดเผยคีย์แอปเดียว
GET/api/account/envรายการคีย์บัญชีที่ถูกปกปิด
PUT/api/account/envตั้งค่า/ลบธุรกรรมสำหรับคีย์บัญชี
POST/api/account/env/revealเปิดเผยข้อความธรรมดาที่ตรวจสอบแล้วของรหัสบัญชีเดียว
PUT/api/apps/{app_id}/env/managedผู้ผลิตที่กำหนดค่าจะเผยแพร่คีย์ที่ได้รับการจัดการ
DELETE/api/apps/{app_id}/env/managed/{name}ผู้ผลิตลบคีย์ที่ได้รับการจัดการที่เป็นเจ้าของ

พื้นผิวผู้ใช้บังคับใช้บริบทของเจ้าของที่ได้รับการแก้ปัญหา อุปกรณ์ปลายทางที่ได้รับการจัดการใช้ ข้อมูลรับรองผู้ถือ <kid>.<secret> จากโทเค็นผู้ผลิตที่กำหนดค่าโดยผู้ให้บริการ ไฟล์; หากไม่มีไฟล์นั้น API ของผู้ผลิตจะส่งคืนไม่พร้อมใช้งาน

ปรับใช้พฤติกรรม

ในระหว่างการปรับใช้ แบ็คเอนด์จะถอดรหัสค่าบัญชี ซ้อนทับค่าแอป และเพิ่ม ฟิลด์รันไทม์ของแพลตฟอร์ม และเขียน /etc/openfactory/app.env ใน VM ด้วยโหมด 0600 กระบวนการเริ่มต้นด้วยไฟล์นั้นเป็นสภาพแวดล้อม หากการถอดรหัส การส่งไฟล์ หรือการเริ่มต้นล้มเหลว ผู้สมัครจะไม่ได้รับการเลื่อนตำแหน่ง

ขอบเขตความปลอดภัย

  • ค่าที่เก็บไว้ใช้การเข้ารหัส Fernet ผู้ปฏิบัติงานจะต้องจัดหาและปกป้อง OPENFACTORY_ENV_MASTER_KEY; การสูญเสียหรือการแทนที่ทำให้เกิดมูลค่าที่มีอยู่ ไม่สามารถเข้ารหัสได้
  • การตอบกลับรายการถูกปกปิด การเปิดเผยและการกลายพันธุ์ที่ชัดเจนจะผนวก JSONL เหตุการณ์การตรวจสอบ
  • พื้นที่เก็บข้อมูลและเส้นทางการตรวจสอบปัจจุบันเป็นไฟล์ในเครื่อง พวกเขาไม่ได้ให้ คีย์ที่สนับสนุนด้วยฮาร์ดแวร์, การอนุมัติหลายฝ่าย, การบันทึกหลักฐานการงัดแงะ, อัตโนมัติ การหมุนเวียนหรือการรับประกันการกู้คืนความเสียหาย
  • บันทึกการใช้งานและการใช้งานยังไม่มีการปกปิดความลับที่สมบูรณ์ ขอบเขต กระบวนการที่พิมพ์สภาพแวดล้อม ซึ่งเป็น URL ที่มีข้อมูลรับรอง หรือความลับในข้อผิดพลาดสามารถเปิดเผยได้ในบันทึกและทดสอบหลักฐาน

ด้วยเหตุผลดังกล่าว อย่าใช้ที่เก็บตัวอย่างนี้สำหรับข้อมูลประจำตัวการผลิตจนถึง การใช้งานของคุณมีการควบคุมการเข้าถึงที่เป็นอิสระ การทดสอบการสำรองและกู้คืน การตรวจสอบความถูกต้องของบันทึก กฎการเก็บรักษา และการหมุนเวียนคีย์ที่จัดทำเป็นเอกสาร ขั้นตอน. อย่าใส่ความลับไว้ในสูตรอาหาร ซอร์สโค้ด คำสั่ง URL การทดสอบ คำอธิบายหรือความคาดหวังในการยืนยัน

ดู การติดตั้งแอป สำหรับขั้นตอนการโปรโมตผู้สมัคร