ข้ามไปยังเนื้อหาหลัก

Build Security

นโยบาย Build Security ของ workspace กำหนดว่า Loha จะใช้หลักฐานจากเครื่องมือสแกนของแต่ละบิลด์อย่างไร ตั้งค่าได้ที่ Settings → Code security

โหมดสิ่งที่เกิดขึ้น
Offไม่ตรวจหลักฐานจากเครื่องมือสแกน
Observeบันทึกสิ่งที่พบ แต่ไม่บล็อกบิลด์
Enforceบิลด์ที่ไม่มีหลักฐานที่กำหนด หรือพบปัญหาถึงหรือเกินเกณฑ์ จะล้มเหลว จึงไม่มีการบันทึก Release และ Loha Delivery จะไม่นำไป deploy

หากต้องการให้ผลการสแกนที่ทราบอยู่แล้วผ่านได้ชั่วคราว ดู ข้อยกเว้นด้านความปลอดภัย

Enforce รับประกันอะไร และไม่รับประกันอะไร​

Enforce ตัดสินหลังจาก step ใน pipeline ทำงานเสร็จแล้ว เพราะ final gate ของแพลตฟอร์มเป็น task สุดท้ายของทุกบิลด์ที่อยู่ในโหมด Enforce ตำแหน่งนี้เป็นตัวกำหนดขอบเขตของมัน

Enforce รับประกันว่า:

  • บิลด์ที่ไม่ผ่านนโยบายจะถูกบันทึกว่าล้มเหลว ไม่มี Release และ Loha Delivery จะไม่นำไป deploy ทั้งนี้ Delivery ยังตรวจนโยบายที่ใช้อยู่ซ้ำก่อน rollout ทุกครั้ง
  • บน branch ที่ป้องกันไว้ ระบบจะปฏิเสธ pipeline ที่ใช้ deploy task ของ Loha ให้ deploy ผ่าน Loha Delivery แทน
  • credential สำหรับ deploy ของ Loha เอง (SSH key ของ target, token ของ GitOps connection) จะไม่ถูกเปิดให้โค้ดใน pipeline ของคุณเข้าถึง มีเทสต์อัตโนมัติคุมเรื่องนี้

Enforce ไม่ได้:

  • หยุดคำสั่งใน pipeline ไม่ให้ติดต่อระบบภายนอก (SSH host, cluster, registry, webhook) ด้วย credential ที่คุณใส่เองก่อนการสแกนจะเสร็จ หากคุณพึ่ง Enforce อย่าเก็บ credential สำหรับ deploy ไว้เป็น secret ของ pipeline
  • ระงับการ push image เพราะ image อาจถูก push ขึ้น registry ของคุณก่อนผลสแกนจะออก แต่ image ของบิลด์ที่ถูกบล็อกจะไม่ถูกบันทึกเป็น Release ถ้า deploy target ดึง tag ที่เปลี่ยนได้ (เช่น :latest) อัตโนมัติ ก็ยังอาจได้ image นั้นไป จึงควร deploy ด้วย digest หรือผ่าน Loha Delivery

วิธีที่รองรับสำหรับการ deploy ภายใต้ Enforce คือ Loha Delivery เพราะจะทำงานกับบิลด์ที่ gate อนุญาตแล้วเท่านั้น

ดูเพิ่มเติม: การลงลายมือชื่ออิมเมจ SBOM และ provenance