ตัวแปรสภาพแวดล้อมของแอป
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 การทดสอบ คำอธิบายหรือความคาดหวังในการยืนยัน
ดู การติดตั้งแอป สำหรับขั้นตอนการโปรโมตผู้สมัคร