IOSOR ความรู้

ข้อมูลรับรอง sandbox ที่ไม่เผา debit Live

ออกคีย์ API แบบ sandbox ที่ไม่เคย hold หรือหักกระเป๋าเงินเติมเงินล่วงหน้า เก็บคีย์ Live ไว้นอก CI และพิสูจน์ cutover ใน Developers

ข้อมูลรับรอง sandbox มีอยู่เพื่อให้วิศวกรรมส่งทราฟฟิกทดสอบโดยไม่แตะสมุดบัญชีเติมเงินล่วงหน้า Debit Live จากคีย์ sandbox ต้องเป็นไปไม่ได้ — ไม่ใช่คำเตือนอ่อน ๆ ใน README ที่ไม่มีใครอ่านตอนเกิดเหตุ.

IOSOR ถือว่า sandbox เป็นท่าทางเครดิตแยกต่างหาก: OTP และแจ้งเตือนทดสอบอาจสำเร็จในเลน sandbox ขณะที่กระเป๋าเงินยังเรียบ หาก hold หรือ debit โผล่จากคีย์ที่ติดป้าย sandbox แสดงว่าสโคปผิดและต้องเพิกถอนก่อน CI รอบถัดไป.

แยกคีย์ sandbox ออกจาก hold ของ Live

สร้างคีย์ sandbox ใน Developers ที่เปิด prepaid hold ไม่ได้ พิสูจน์ว่าการส่ง OTP ทดสอบในเลน sandbox สำเร็จโดย debit กระเป๋าเป็นศูนย์และ MRC เป็นศูนย์ในนาทีเดียวกัน ส่งออกสมุดบัญชีของหน้าต่างนั้นและเก็บหลักฐานไว้ข้าง id คีย์.

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

ผูก CI และ staging กับสโคป sandbox เท่านั้น

ให้ตัวแปร continuous integration และ staging ชี้ไปที่ข้อมูลรับรอง sandbox เท่านั้น ห้ามวางคีย์ Live ใน GitHub secret, docker-compose, .env โน้ตบุ๊กสำหรับเดโม หรือโฟลเดอร์ตัวจัดการรหัสผ่านร่วมที่ติดป้าย “test”.

หมุนคีย์ Live ทุกตัวที่เคยโผล่ใน harness ทดสอบ บันทึกเวลาหมุนเพื่อให้ฝ่ายการเงินจับคู่ debit หลงกับหน้าต่างรั่ว Host staging ที่ยังถือ secret Live หลังหมุนจะทำให้เกต deploy ถัดไปล้มเหลว.

พิสูจน์การแยก debit ก่อนไพลอตแรก

ส่งออกสมุดบัญชีหน้าต่างส่ง sandbox ก่อนเชิญ host ไพลอต ยืนยันว่าไม่มี hold ไม่มี debit และไม่มีเส้นทาง Live จากคีย์ sandbox บันทึกหลักฐานข้าง id คีย์เพื่อให้การเงินตรวจสอบว่าทราฟฟิกทดสอบไม่ใช้จ่าย.

ส่งออกซ้ำหลังสัปดาห์แรกของ CI เพื่อไม่ให้ดริฟต์ดึงคีย์ Live กลับเงียบ ๆ ผ่านตัวแปร workflow ที่ลืม จัดให้ทุกการส่งออกตรงกับ id คีย์และนาทีส่ง.

นิสัย cutover อยู่ใต้ Developers

เมื่อโปรโมตบิลด์ ให้ทำตามเช็กลิสต์ cutover Live ใน Developers — ออกคีย์ Live ใหม่ เพิกถอน sandbox จากโฮสต์โปรดักชัน และ smoke ความสดของ vault ก่อน runway เขียว ห้ามใช้ secret sandbox เป็นคีย์ Live ชั่วคราว “แค่ไพลอต”.

Cutover คือการเปลี่ยนข้อมูลรับรองบวกการตรวจสมุดบัญชี ไม่ใช่การพลิกแฟล็กคอนฟิก คงเป้าหมาย webhook และ id คีย์ให้ตรงกับสภาพแวดล้อมที่ระบุบน runway board.

เส้นทาง ops ที่เกี่ยวข้อง

ให้ cutover กับความซื่อสัตย์ของ coverage อยู่ติดกัน เพื่อไม่ให้ทีมสร้างเรื่องคีย์ชุดที่สาม:

เริ่มต้นกับ IOSOR

ใน Developers ออกคีย์ sandbox ส่ง OTP หนึ่งครั้งไปยัง E.164 ทดสอบที่ได้รับความยินยอม และส่งออกสมุดบัญชีนาทีนั้น ยืนยัน hold เป็นศูนย์และ debit เป็นศูนย์ ล็อก CI ไว้ที่ id คีย์นั้น แล้วค่อยขอคีย์ Live สำหรับ host ไพลอต และเพิกถอน sandbox จากโฮสต์ทุกตัวที่จะรับทราฟฟิก Live.

สรุป IOSOR

เกี่ยวกับ «ข้อมูลรับรอง sandbox ที่ไม่เผา debit Live»: การแยกตัวเองคือผลิตภัณฑ์ คีย์ sandbox ที่เปิด hold ได้คือข้อบกพร่อง ไม่ใช่ความสะดวก คง CI ไว้ที่สโคป sandbox พิสูจน์สมุดบัญชีเรียบก่อนไพลอต และถือ cutover เป็นการเปลี่ยนข้อมูลรับรองบวกตรวจสมุดภายใต้ Developers — ห้ามใช้ secret sandbox เป็น Live ชั่วคราว.

คู่มือนี้มีประโยชน์ไหม?

คู่มือที่เกี่ยวข้อง