ความปลอดภัยเอกสาร API: สเปคของคุณปลอดภัยใน Git หรือไม่

Ashley Innocent

Ashley Innocent

21 May 2026

ความปลอดภัยเอกสาร API: สเปคของคุณปลอดภัยใน Git หรือไม่

Apidog สำหรับองค์กร

ติดตั้งภายในองค์กร

SSO & RBAC

รองรับ SOC 2

สำรวจ Apidog Enterprise

ความปลอดภัยของเอกสาร API เป็นส่วนหนึ่งของโปรแกรม API ของคุณที่แทบไม่มีใครตรวจสอบ คุณเสริมความแข็งแกร่งให้กับ API ด้วยการรับรองความถูกต้อง, การจำกัดอัตรา, และการทดสอบความปลอดภัย แต่เอกสารที่อธิบาย API นั้น, ข้อมูลจำเพาะของ OpenAPI, หน้า Swagger UI, มาร์กดาวน์ที่อธิบายโฟลว์การรับรองความถูกต้องของคุณ, มักจะอยู่ใน Git repo หรือบนโฮสต์แบบคงที่ที่ไม่มีใครตรวจสอบตั้งแต่เริ่มตั้งค่า เมื่อวันที่ 20 พฤษภาคม 2026, GitHub ยืนยันว่าผู้โจมตีขโมยข้อมูลจากที่เก็บโค้ดภายในประมาณ 3,800 แห่ง จุดเข้าถึงคือส่วนขยาย VS Code ที่ติดมัลแวร์ซึ่งติดตั้งอยู่บนแล็ปท็อปของพนักงาน GitHub การละเมิดข้อมูลนั้นเป็นเหตุผลที่ดีที่จะถามคำถามที่น่าอึดอัดใจเกี่ยวกับการตั้งค่าของคุณเอง: หากมีคนแอบเปลี่ยนแปลงเอกสาร API ที่เผยแพร่ของคุณ คุณจะสังเกตเห็นหรือไม่ และผู้ใช้ API ของคุณจะสังเกตเห็นหรือไม่?

สรุปย่อ

การรักษาความปลอดภัยของเอกสาร API หมายความว่าเอกสารของคุณมีการควบคุมการเข้าถึง, ประวัติเวอร์ชัน, ความสมบูรณ์ที่ตรวจสอบได้, และบันทึกการตรวจสอบ, เพื่อไม่ให้ repo หรือโฮสต์ที่ถูกบุกรุกสามารถส่งปลายทาง, โทเค็น, หรือคำแนะนำการรับรองความถูกต้องที่ไม่ถูกต้องไปยังนักพัฒนาที่คัดลอกลงในระบบการผลิตได้อย่างเงียบๆ Docs-as-code ใน Git ก็ดีสำหรับหลายทีมและให้การตรวจสอบและประวัติฟรี มันจะกลายเป็นจุดอ่อนเมื่อ repo เป็นสาธารณะโดยไม่มีการควบคุมการเข้าถึง, เมื่อข้อมูลจำเพาะที่ล้าสมัยหลุดออกไปจาก API จริง, หรือเมื่อตัวอย่างที่ถูกแก้ไขเข้าถึงผู้ใช้โดยไม่ถูกตรวจจับ เลเยอร์เอกสารที่จัดการโดยผู้ให้บริการเช่น Apidog เพิ่มการป้องกันด้วยรหัสผ่าน, รายการ IP และอีเมลที่อนุญาต, โดเมนที่กำหนดเอง, การจัดการเวอร์ชัน, และข้อมูลจำเพาะที่ซิงค์กับดีไซน์ API ของคุณเป็นแหล่งความจริง

ทำไมการละเมิดข้อมูลของ GitHub ควรทำให้คุณพิจารณาเอกสาร API ของคุณ

เหตุการณ์ของ GitHub ควรค่าแก่การทำความเข้าใจก่อนที่คุณจะตื่นตระหนก กลุ่มผู้คุกคาม TeamPCP ได้ขโมยที่เก็บข้อมูลภายในของ GitHub และกำลังขายชุดข้อมูลในราคามากกว่า 50,000 ดอลลาร์ในฟอรัมใต้ดิน รายงานของ BleepingComputer ยืนยันว่าส่วนขยาย VS Code ที่เป็นอันตรายมาจากตลาดอย่างเป็นทางการโดยตรงและทำงานบนอุปกรณ์ของพนักงาน GitHub กล่าวว่าไม่พบหลักฐานว่าข้อมูลลูกค้าที่จัดเก็บไว้นอกที่เก็บข้อมูลภายในได้รับผลกระทบ และการสอบสวนยังคงดำเนินอยู่

สิ่งที่การละเมิดข้อมูลทำคือกระตุ้นให้คุณคิด มันเป็นการเตือนให้พิจารณาว่าเอกสาร API ของคุณอยู่ที่ไหนและอย่างไร และสามารถถูกแก้ไขได้หรือไม่ ทีมส่วนใหญ่ไม่เคยถามเรื่องนี้ พวกเขาเผยแพร่ Swagger UI ไปยัง GitHub Pages เมื่อสามปีที่แล้ว ชี้ CNAME ไปที่นั่นแล้วก็ปล่อยทิ้งไว้ Repo เป็นสาธารณะ ข้อมูลจำเพาะคือสิ่งที่ถูกรวมล่าสุด ไม่มีใครตรวจสอบการเปลี่ยนแปลงในไซต์เอกสารด้วยความระมัดระวังเท่ากับการตรวจสอบโค้ดแอปพลิเคชัน

ช่องว่างนั้นสำคัญเพราะเอกสาร API คือคำแนะนำ เมื่อนักพัฒนาผสานรวมกับ API ของคุณ พวกเขาจะคัดลอกเส้นทางปลายทาง, รูปแบบคำขอ, ส่วนหัวการรับรองความถูกต้อง, และบ่อยครั้งค่าตัวอย่างโดยตรงจากเอกสารของคุณลงในโค้ดของพวกเขา หากผู้โจมตีสามารถเปลี่ยนแปลงคำแนะนำเหล่านั้นได้ พวกเขาไม่ได้กำลังทำลายหน้าการตลาด แต่พวกเขากำลังแก้ไขโค้ดที่ผู้อื่นจะรัน ตรรกะเดียวกันนี้ปรากฏในการตรวจสอบหลังเหตุการณ์การละเมิดข้อมูลอื่นๆ ในปี 2026; บทความของเราเกี่ยวกับ บทเรียนความปลอดภัย API จากการละเมิดข้อมูลของ Vercel ครอบคลุมว่าการเปลี่ยนแปลงเล็กๆ น้อยๆ ในพื้นผิวที่เชื่อถือได้สามารถส่งผลกระทบออกไปได้อย่างไร

บทความนี้จะกล่าวถึงสี่สิ่ง: วิธีที่เอกสาร API ที่ถูกบุกรุกสร้างความเสียหายให้กับผู้ใช้ของคุณ, เมื่อ docs-as-code ใน Git ดีจริง กับเมื่อมันกลายเป็นจุดอ่อน, ความหมายที่แท้จริงของ “เอกสาร API ที่ปลอดภัย” ในรูปแบบรายการตรวจสอบ, และเลเยอร์เอกสารที่จัดการโดยผู้ให้บริการจะช่วยอุดช่องว่างได้อย่างไร บทความคู่แฝดสองชิ้นจะเจาะลึกในมุมมองที่เกี่ยวข้อง: ความหมายของการละเมิดข้อมูลของ GitHub สำหรับเครื่องมือ API ที่โฮสต์เอง และ ความปลอดภัยของคีย์ API ของส่วนขยาย VS Code

จะเกิดอะไรขึ้นเมื่อ repo หรือโฮสต์เอกสาร API ของคุณถูกบุกรุก

เริ่มต้นด้วยโมเดลภัยคุกคาม เอกสาร API ของคุณอยู่บนพื้นผิวบางอย่าง: Git repo, CI pipeline ที่สร้างมันขึ้นมา, และโฮสต์ที่ให้บริการมัน หากมีการบุกรุกสิ่งใดสิ่งหนึ่งในนั้น ผลลัพธ์ที่ไม่ดีบางอย่างก็จะตามมา ไม่มีสิ่งใดเป็นเพียงทฤษฎี

การแก้ไขเอกสารส่งผลกระทบต่อโค้ดที่ใช้งานจริง

นี่คือกรณีที่เลวร้ายที่สุดและมองเห็นได้ยากที่สุด ผู้โจมตีที่มีสิทธิ์เขียนเข้าถึง repo เอกสารของคุณ หรือโฮสต์ที่ให้บริการไซต์ที่สร้างขึ้น ทำการแก้ไขเล็กน้อย พวกเขาเปลี่ยน https://api.payments.acme.com/v2/charge เป็นโดเมนที่พวกเขาควบคุม พวกเขาเปลี่ยนโทเค็น bearer ตัวอย่างในหน้า “เริ่มต้นใช้งาน” ของคุณเป็นโทเค็นที่ผ่านพรอกซีของพวกเขา พวกเขาเขียนประโยคเดียวในส่วน OAuth ของคุณใหม่ เพื่อให้การแลกเปลี่ยนโทเค็นส่งไปยัง URL ที่ผิด

สิ่งเหล่านั้นไม่ได้ทำให้ไซต์ของคุณเสียหาย หน้าเว็บยังคงแสดงผล CI ยังคงผ่าน เพราะข้อมูลจำเพาะยังคงเป็น YAML ที่ถูกต้อง แต่นักพัฒนาคนต่อไปที่ผสานรวมกับ API ของคุณคัดลอกปลายทางหรือโฟลว์นั้นไปยังบริการของพวกเขา การเปลี่ยนแปลงกำลังทำงานอยู่ในสภาพแวดล้อมการผลิตของพวกเขา และพวกเขาเชื่อถือมันเพราะมันมาจากเอกสารทางการของคุณ

พิจารณาตัวอย่าง OpenAPI ที่สมจริง ทีมงานจัดทำเอกสารปลายทางการชำระเงินดังนี้:

paths:
  /v2/payment-intents:
    post:
      summary: Create a payment intent
      servers:
        - url: https://api.acme-pay.com
      security:
        - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentIntentRequest'
      responses:
        '201':
          description: Payment intent created

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

ปลายทางภายในและปลายทางที่ไม่ได้บันทึกไว้รั่วไหล

repo เอกสารสะสมสิ่งต่างๆ ข้อมูลจำเพาะที่เริ่มต้นเป็น API สาธารณะมักจะมีการเพิ่มเส้นทางสำหรับภายในเท่านั้น, ปลายทางสำหรับผู้ดูแลระบบ, เส้นทางดีบัก, หรือการดำเนินการสำหรับพันธมิตรเท่านั้นที่ไม่เคยมีเจตนาที่จะเผยแพร่ หาก repo เป็นสาธารณะ หรือกลายเป็นสาธารณะเนื่องจากการกำหนดค่าผิดพลาด ปลายทางเหล่านั้นก็จะเป็นแผนที่สำหรับทุกคนที่สแกนพื้นผิวการโจมตีของคุณ

แม้แต่ repo ส่วนตัวก็เป็นปัญหาในที่นี้ การละเมิดข้อมูลเช่นของ GitHub สามารถดึงข้อมูลจากที่เก็บข้อมูลส่วนตัวได้ ทันทีที่ข้อมูลจำเพาะ API ภายในของคุณอยู่ใน repo ที่ถูกขโมย ผู้โจมตีก็จะมีรายการปลายทาง, พารามิเตอร์, และเพย์โหลดที่คาดหวังของคุณอย่างแม่นยำ พวกเขาไม่จำเป็นต้องเดา คุณยื่นสคีมาให้พวกเขาเอง หากคุณต้องการกรอบงานสำหรับการค้นหาช่องโหว่เหล่านี้ก่อนที่ผู้อื่นจะทำ รายการตรวจสอบการทดสอบความปลอดภัย API สำหรับปี 2026 ของเราสร้างขึ้นเพื่อการตรวจสอบพื้นผิวประเภทนี้โดยเฉพาะ

GitHub Pages สาธารณะไม่มีการควบคุมการเข้าถึง

GitHub Pages เป็นโฮสต์แบบคงที่ มันให้บริการไฟล์ มันไม่มีแนวคิดว่าใครกำลังอ่านไฟล์เหล่านั้น สำหรับ API ที่เป็นสาธารณะอย่างแท้จริง นั่นถูกต้องและดี สำหรับเอกสารที่ควรจะมองเห็นได้เฉพาะลูกค้าที่ชำระเงิน, กลุ่มพันธมิตรที่ระบุชื่อ, หรือทีมของคุณเอง มันเป็นเครื่องมือที่ไม่ถูกต้อง เพราะไม่มีประตูควบคุมเลย

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

เอกสารที่ล้าสมัยและตรวจสอบไม่ได้

โหมดความล้มเหลวที่เงียบกว่าไม่ต้องการผู้โจมตีเลย เอกสารใน Git repo มีความคลาดเคลื่อน บางคนปล่อยการเปลี่ยนแปลง API, ลืมอัปเดตข้อมูลจำเพาะ, และมาร์กดาวน์ตอนนี้อธิบายปลายทางที่มีพฤติกรรมแตกต่างกันในการใช้งานจริง ผู้ใช้รวมเข้ากับพฤติกรรมที่บันทึกไว้, พบกับพฤติกรรมจริง, และเสียเวลาหนึ่งวันในการดีบัก

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

เมื่อ docs-as-code ใน Git ดี และเมื่อมันเป็นจุดอ่อน

Docs-as-code เป็นแนวทางปฏิบัติที่ถูกต้องและเป็นที่นิยม และส่วนนี้ไม่ใช่การโต้แย้งต่อต้านมัน การนำข้อมูลจำเพาะของ OpenAPI และมาร์กดาวน์ของคุณไปไว้ใน Git repo, การสร้าง Swagger UI หรือ Redoc ด้วย CI, และการปรับใช้กับโฮสต์แบบคงที่ ให้ประโยชน์ที่แท้จริงแก่คุณ คุณได้รับการตรวจสอบ Pull Request สำหรับการเปลี่ยนแปลงเอกสาร คุณได้รับประวัติที่สมบูรณ์ว่าใครเปลี่ยนแปลงอะไรและเมื่อใด เอกสารมีการจัดการเวอร์ชันควบคู่ไปกับโค้ด คุณสมบัติเหล่านั้นเป็นคุณสมบัติที่ทำให้การแก้ไขข้อมูลสามารถตรวจจับได้ เมื่อมีการปฏิบัติตามขั้นตอนการทำงาน

ดังนั้นคำถามไม่ใช่ “Git หรือไม่ Git” แต่เป็น “การตั้งค่านี้ปลอดภัยสำหรับ API นี้โดยเฉพาะหรือไม่” นี่คือวิธีที่ทั้งสองกรณีแตกต่างกัน

Docs-as-code ใน Git เหมาะสมเมื่อ

แนวทางปฏิบัตินี้ทำงานได้ดีภายใต้เงื่อนไขเฉพาะ:

หากทั้งหมดนี้เป็นจริง เอกสารที่โฮสต์บน Git จะเป็นระบบที่แข็งแกร่งและโปร่งใส ประวัติคือบันทึกการตรวจสอบของคุณ การตรวจสอบคือการตรวจสอบความสมบูรณ์ของคุณ

Docs-as-code ใน Git กลายเป็นจุดอ่อนเมื่อ

การตั้งค่าเดียวกันนี้จะกลายเป็นความเสี่ยงเมื่อเงื่อนไขเหล่านี้ไม่เป็นไปตามที่กำหนด:

การละเมิดข้อมูลของ GitHub ตรงกับโหมดความล้มเหลวเหล่านี้อย่างพอดิบพอดี การโจมตีมาจากปลายทางของนักพัฒนาและเข้าถึง repo ภายใน หากข้อมูลจำเพาะ API ส่วนตัวของคุณอยู่ใน repo เหล่านั้น การละเมิดข้อมูลจะเปิดเผยสคีมาของคุณโดยไม่คำนึงว่ากระบวนการตรวจสอบของคุณจะระมัดระวังเพียงใด Git ให้ความโปร่งใส แต่ไม่ได้ให้ความลับเมื่อ repo ถูกขโมยไปแล้ว สำหรับการเปรียบเทียบที่สมบูรณ์ยิ่งขึ้นว่าแนวทางการทำเอกสาร API ที่โฮสต์เองที่แตกต่างกันมีความสมดุลระหว่างข้อดีข้อเสียเหล่านี้อย่างไร โปรดดู การเปรียบเทียบเอกสาร API ที่โฮสต์เอง ของเรา

ข้อสรุปนี้ตั้งใจที่จะมีความสมดุล ใช้ docs-as-code ต่อไปหาก API ของคุณเป็นสาธารณะและ pipeline ของคุณมีวินัย พิจารณาใหม่หากเอกสารของคุณต้องการการควบคุมการเข้าถึง, หากกระบวนการตรวจสอบของคุณปฏิบัติต่อเอกสารเป็นเรื่องรอง, หรือหากคุณไม่สามารถตอบได้ว่า “ไซต์ที่ใช้งานจริงตรงกับแหล่งที่มาที่ได้รับการตรวจสอบหรือไม่”

“เอกสาร API ที่ปลอดภัย” หมายถึงอะไรกันแน่

“เอกสาร API ที่ปลอดภัย” เป็นสิ่งที่คลุมเครือจนกว่าคุณจะแยกมันออกเป็นคุณสมบัติที่ตรวจสอบได้ สี่สิ่งนี้มีความสำคัญ

การควบคุมการเข้าถึง

เอกสารมองเห็นได้เฉพาะกับผู้ที่ควรมองเห็นเท่านั้น สาธารณะสำหรับ API สาธารณะ จำกัดสำหรับลูกค้าเท่านั้น, พันธมิตรเท่านั้น, หรือเอกสารภายใน การจำกัดต้องเป็นประตูจริง, รหัสผ่าน, รายการ IP ที่อนุญาต, รายการอีเมลที่อนุญาต, หรือ SSO ไม่ใช่ URL ที่คลุมเครือ การทดสอบ: คุณสามารถระบุได้อย่างแน่ชัดว่าใครสามารถอ่านเอกสารของคุณได้ในขณะนี้ และเพิกถอนสิทธิ์ของคนใดคนหนึ่งได้ภายในหนึ่งนาทีหรือไม่?

การจัดการเวอร์ชัน

เอกสารที่เผยแพร่ทุกเวอร์ชันถูกเก็บรักษาและระบุตัวตนได้ ผู้ใช้ API v1 ของคุณเห็นเอกสาร v1; ผู้ใช้ v2 เห็น v2 คุณสามารถแสดงสิ่งที่เอกสารระบุไว้ในวันที่กำหนดได้ การทดสอบ: นักพัฒนาที่รวมเข้ากับ API เวอร์ชันเก่าของคุณยังคงสามารถหาเอกสารที่ถูกต้องสำหรับ API นั้นได้หรือไม่ แทนที่จะเป็นเอกสารที่อัปเดตเป็น v2 โดยไม่แจ้งให้ทราบ?

ความสมบูรณ์

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

บันทึกการตรวจสอบ

คุณสามารถตอบได้ว่าใครเปลี่ยนเอกสาร, เปลี่ยนอะไร, และเมื่อใด ประวัติ Git ให้สิ่งนี้สำหรับ repo; คุณยังต้องการมันสำหรับพื้นผิวที่เผยแพร่ด้วย เนื่องจากขั้นตอนการปรับใช้เป็นจุดโจมตีของตัวเอง การทดสอบ: คุณสามารถสร้างบันทึกการเปลี่ยนแปลงสำหรับเอกสารที่เผยแพร่ของคุณในช่วง 90 วันที่ผ่านมาได้หรือไม่?

การตั้งค่าที่ตอบสนองทั้งสี่ประการคือเอกสารที่ปลอดภัย เอกสารที่โฮสต์บน Git สามารถตอบสนองการจัดการเวอร์ชัน, ความสมบูรณ์, และบันทึกการตรวจสอบได้ผ่านการป้องกัน branch และประวัติ สิ่งที่มักจะขาดหายไปบนโฮสต์แบบคงที่คือการควบคุมการเข้าถึง และช่องว่างนั้นเป็นกรณีสำหรับเลเยอร์เอกสารที่จัดการโดยผู้ให้บริการ

Apidog ให้เอกสาร API ที่ปลอดภัยแก่คุณได้อย่างไร

Apidog เป็นแพลตฟอร์ม API แบบครบวงจรสำหรับการออกแบบ, การดีบัก, การทดสอบ, การจำลอง, และการจัดทำเอกสาร API ด้านการทำเอกสารถูกสร้างขึ้นเพื่อให้คุณสมบัติทั้งสี่ข้างต้นเป็นค่าเริ่มต้น แทนที่จะเป็นสิ่งที่คุณต้องเพิ่มเข้ามาเอง หากต้องการทำตาม ให้ ดาวน์โหลด Apidog และเปิดโปรเจกต์ใดก็ได้ที่มีคำจำกัดความ API

เอกสารที่เผยแพร่จากแหล่งข้อมูลความจริงที่ควบคุมได้

ใน Apidog เอกสารถูกสร้างขึ้นจากการออกแบบ API ของคุณภายในโปรเจกต์ คุณออกแบบปลายทาง, สคีมา, และการรับรองความถูกต้องในตัวออกแบบภาพ, และ Apidog สร้าง เอกสารโดยอัตโนมัติ จากคำจำกัดความนั้น กดเผยแพร่แล้วคุณจะได้ไซต์เอกสารแบบโต้ตอบพร้อมคอนโซล “ลองใช้” และตัวอย่างโค้ดหลายภาษา

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

การควบคุมการเข้าถึงเอกสาร

นี่คือจุดที่ Apidog อุดช่องว่างของ GitHub Pages เมื่อคุณเผยแพร่ คุณเลือกการมองเห็น, และตัวเลือกเหล่านั้นเป็นประตูจริง ไม่ใช่ความคลุมเครือ:

Apidog บันทึกวิธีการทั้งห้าไว้ใน คู่มือการควบคุมการเข้าถึงเอกสาร API นั่นตอบคำถามการทดสอบการควบคุมการเข้าถึงได้โดยตรง: คุณสามารถระบุได้ว่าใครสามารถอ่านเอกสารได้ และคุณสามารถเพิกถอนรหัสผ่านหรือลบอีเมลออกจากรายการที่อนุญาตได้ทันที

โดเมนที่กำหนดเอง

คุณสามารถให้บริการเอกสารที่เผยแพร่บนโดเมนของคุณเอง เพื่อให้ผู้ใช้เห็น developer.yourcompany.com แทนที่จะเป็น URL ทั่วไป Apidog รองรับ โดเมนที่กำหนดเอง ผ่าน DNS CNAME (เส้นทางที่แนะนำ) หรือ reverse proxy โดเมนที่กำหนดเองเพียงอย่างเดียวไม่ใช่การควบคุมความปลอดภัย แต่มันช่วยให้เอกสารของคุณอยู่บนโครงสร้างพื้นฐานที่คุณดูแลและจัดการ แทนที่จะกระจายอยู่ตามโฮสต์ที่ไม่มีใครเป็นเจ้าของ

ข้อมูลจำเพาะของ OpenAPI ที่ซิงค์กับดีไซน์ API ของคุณ

ความคลาดเคลื่อนเป็นปัญหาด้านความปลอดภัยของเอกสารเพราะมันทำให้เอกสารตรวจสอบไม่ได้ Apidog ถือว่าการออกแบบ API เป็นแหล่งข้อมูลความจริงเพียงแหล่งเดียว และรักษาเอกสารให้ซิงค์กับการเปลี่ยนแปลงการออกแบบ Apidog นำเข้า OpenAPI 3.0, 3.1, และ Swagger 2.0 และรองรับการนำเข้าตามกำหนดเวลาเพื่อให้ข้อมูลจำเพาะภายนอกเป็นปัจจุบันโดยอัตโนมัติ

หากคุณดูแลข้อมูลจำเพาะด้วยมือใน Git repo นั่นคือการตั้งค่าที่มีความคลาดเคลื่อนสูงสุดและตรวจสอบยากที่สุด การย้ายข้อมูลจำเพาะไปยัง Apidog เป็นแหล่งข้อมูลความจริงหมายความว่าเอกสารที่เผยแพร่จะตรงกับคำจำกัดความที่คุณควบคุมเสมอ ทีมที่มาจาก SwaggerHub สามารถปฏิบัติตาม คู่มือของเราในการย้ายเอกสาร API ของ SwaggerHub ไปยัง Apidog ได้

การจัดการเวอร์ชันเอกสาร

Apidog รองรับการจัดการเวอร์ชันเอกสาร ดังนั้นคุณเผยแพร่และเก็บหลายเวอร์ชันไว้เคียงข้างกัน ผู้ใช้ที่รวมเข้ากับ API v1 ของคุณจะอ่านเอกสาร v1 ที่ถูกต้องแม้หลังจาก v2 ถูกปล่อยออกมา การจัดการเวอร์ชันเชื่อมโยงกับ branches และประวัติการเปลี่ยนแปลง ดังนั้นการพัฒนาของ API และเอกสารจึงได้รับการติดตาม สิ่งนี้ครอบคลุมทั้งการทดสอบการจัดการเวอร์ชันและบันทึกการตรวจสอบ

สิ่งเหล่านี้ไม่สามารถหยุด TeamPCP จากการบุกรุกแล็ปท็อปของนักพัฒนาได้ แต่มันมีความหมายที่แตกต่างออกไป: คำตอบที่ชัดเจนว่าใครสามารถอ่านเอกสารของคุณได้, ไม่ว่าเวอร์ชันที่เผยแพร่จะตรงกับการออกแบบของคุณหรือไม่, และอะไรเปลี่ยนแปลงไปตามกาลเวลา นั่นคือการตรวจสอบที่การละเมิดข้อมูลของ GitHub ควรผลักดันให้คุณดำเนินการ

เปรียบเทียบตัวเลือกการโฮสต์เอกสาร

การเปรียบเทียบสั้นๆ ระหว่างแนวทางทั่วไปกับคุณสมบัติความปลอดภัยสี่ประการ

คุณสมบัติ GitHub Pages สาธารณะ (Swagger UI / Redoc) เอกสารที่โฮสต์เองบนเซิร์ฟเวอร์ของคุณ เอกสารที่จัดการโดยผู้ให้บริการ (Apidog)
การควบคุมการเข้าถึง ไม่มี; อาศัย URL ที่คลุมเครือเท่านั้น ขึ้นอยู่กับสิ่งที่คุณสร้างและดูแล มีในตัว: รหัสผ่าน, IP, อีเมล, การเข้าสู่ระบบแบบกำหนดเอง
การจัดการเวอร์ชัน ด้วยตนเอง; การสร้างหรือ branch แยกกัน ด้วยตนเอง มีในตัว; เผยแพร่หลายเวอร์ชันเคียงข้างกัน
ความสมบูรณ์ การตรวจสอบ Git + ประวัติ (หากบังคับใช้) ขึ้นอยู่กับ pipeline ของคุณ เอกสารที่สร้างขึ้นจากการออกแบบ API ที่ควบคุมได้
บันทึกการตรวจสอบ ประวัติ Git สำหรับ repo, ไม่ใช่สำหรับการปรับใช้ ขึ้นอยู่กับการบันทึกของคุณ ประวัติการเปลี่ยนแปลงในการออกแบบและเอกสารที่เผยแพร่
ค่าใช้จ่ายในการบำรุงรักษา ตั้งค่าต่ำ, บำรุงรักษา pipeline อย่างต่อเนื่อง สูง; คุณต้องดูแลทั้งระบบ ต่ำ; แพลตฟอร์มดูแลการโฮสต์และการควบคุม
เหมาะสมที่สุดสำหรับ API สาธารณะเต็มรูปแบบ, pipeline ที่มีวินัย ทีมที่มีความต้องการในการโฮสต์เองอย่างเข้มงวด ทีมที่ต้องการการควบคุมการเข้าถึงโดยไม่มีค่าใช้จ่ายในการดำเนินงานเพิ่มเติม

ไม่มีแถวที่ถูกต้องสากล Public GitHub Pages เป็นตัวเลือกที่ดีสำหรับ API สาธารณะที่มี pipeline ที่ถูกล็อค การโฮสต์เองเหมาะสำหรับทีมที่มีข้อกำหนดด้านถิ่นที่อยู่หรือการแยกส่วนที่เข้มงวด; การเปรียบเทียบเอกสาร API ที่โฮสต์เอง ของเรา และ การเปรียบเทียบ Scalar vs SwaggerHub vs Apidog อธิบายถึงข้อดีข้อเสียเหล่านั้นโดยละเอียด ประเด็นคือการเลือกอย่างรอบคอบโดยคำนึงถึงคุณสมบัติทั้งสี่ ไม่ใช่การสืบทอดการตั้งค่าจากเมื่อสามปีที่แล้วแล้วไม่เคยกลับมาดูอีกเลย

สรุป

การละเมิดข้อมูลของ GitHub ไม่ใช่เหตุผลที่จะละทิ้ง docs-as-code หรือไม่ไว้วางใจ GitHub แต่มันเป็นการกระตุ้นให้ตรวจสอบพื้นผิวที่ทีมส่วนใหญ่ละเลย: ว่าเอกสาร API ของคุณอยู่ที่ไหนและสามารถถูกแก้ไขได้หรือไม่

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

button

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API

ความปลอดภัยเอกสาร API: สเปคของคุณปลอดภัยใน Git หรือไม่