จัดการฟีเจอร์และการแจ้งเตือนการรักษาความปลอดภัยขั้นสูงของ GitHub

เสร็จสมบูรณ์เมื่อ

เมื่อตั้งค่าการรักษาความปลอดภัยสําหรับโครงการของคุณแล้วสิ่งที่คุณต้องทําคือตรวจสอบและจัดการคุณสมบัติและการแจ้งเตือน GitHub Advanced Security สําหรับโครงการของคุณ

ในหน่วยนี้ คุณจะได้เรียนรู้วิธีใช้ ภาพรวมความปลอดภัย เพื่อตรวจสอบความเสี่ยงด้านความปลอดภัยในโครงการของคุณ นอกจากนี้ คุณยังจะได้เรียนรู้วิธีใช้ปลายทาง GitHub Advanced Security เพื่อจัดการคุณลักษณะด้านความปลอดภัยและการแจ้งเตือน

ใช้ภาพรวมการรักษาความปลอดภัย

ภาพรวมความปลอดภัยพร้อมใช้งานในแท็บ ความปลอดภัยและคุณภาพ สําหรับองค์กรและที่เก็บ คุณสามารถใช้เพื่อรับมุมมองระดับสูงของเสถียรภาพการรักษาความปลอดภัยขององค์กรของคุณ หรือระบุที่เก็บที่ต้องให้ความสนใจ

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

สกรีนช็อตของภาพรวมความปลอดภัยในระดับองค์กร

ด้วยอินเทอร์เฟซแบบโต้ตอบและความสามารถในการกรอง Security Overview รองรับการวิเคราะห์ความปลอดภัยทั้งแบบกว้างและแบบกําหนดเป้าหมาย

ตัวอย่างเช่น คุณสามารถใช้เพื่อ:

  • ตรวจสอบการนําคุณลักษณะด้านความปลอดภัยไปใช้ทั่วทั้งองค์กรของคุณ
  • ติดตามการนําไปใช้โดยแต่ละทีมในระหว่างการเปิดตัว GitHub Advanced Security
  • ตรวจสอบการแจ้งเตือนของชนิดหรือความรุนแรงที่เฉพาะเจาะจงในที่เก็บทั้งหมด

ใช้ปลายทาง GitHub Advanced Security

ตารางต่อไปนี้สรุปตําแหน่งข้อมูล API ที่พร้อมใช้งานสําหรับคุณลักษณะ GitHub Advanced Security แต่ละรายการ

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

กําหนดค่า GITHUB_TOKEN สิทธิ์

หากคุณใช้ GitHub Actions เพื่อทําให้เวิร์กโฟลว์การรักษาความปลอดภัยเป็นแบบอัตโนมัติ สิ่งสําคัญคือต้องกําหนดค่าสิทธิ์ที่มอบให้กับที่ใช้GITHUB_TOKENสําหรับการเรียก API ที่รับรองความถูกต้อง

ตารางต่อไปนี้สรุปสิทธิ์เริ่มต้น

ขอบเขต การเข้าถึงเริ่มต้น (อนุญาต) การเข้าถึงเริ่มต้น (จํากัด) การเข้าถึงสูงสุดจากที่เก็บแบบแยก
การดําเนินการ อ่าน/เขียน ไม่มีใคร อ่าน
ตรวจ สอบ อ่าน/เขียน ไม่มีใคร อ่าน
เนื้อหา อ่าน/เขียน อ่าน อ่าน
การปรับใช้ อ่าน/เขียน ไม่มีใคร อ่าน
id-token อ่าน/เขียน ไม่มีใคร อ่าน
ปัญหา อ่าน/เขียน ไม่มีใคร อ่าน
เมตาดาต้า อ่าน อ่าน อ่าน
แพ คเกจ อ่าน/เขียน ไม่มีใคร อ่าน
pull-requests (คําขอดึงข้อมูล) อ่าน/เขียน ไม่มีใคร อ่าน
ที่เก็บ-โครงการ อ่าน/เขียน ไม่มีใคร อ่าน
security-events (เหตุการณ์การรักษาความปลอดภัย) อ่าน/เขียน ไม่มีใคร อ่าน
สถานะ อ่าน/เขียน ไม่มีใคร อ่าน

คุณสามารถปรับเปลี่ยนสิทธิ์ที่ GITHUB_TOKEN มอบให้ในแฟ้มเวิร์กโฟลว์แต่ละแฟ้มได้

  • ถ้าสิทธิ์เริ่มต้นมี ข้อจํากัด คุณอาจต้องเพิ่มสิทธิ์เพื่อให้เวิร์กโฟลว์สามารถดําเนินการให้เสร็จสมบูรณ์ได้
  • ถ้าสิทธิ์เริ่มต้นเป็น สิทธิ์อนุญาต คุณควรลบสิทธิ์ที่ไม่จําเป็นออก

แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย ให้สิทธิ์ ขั้นต่ํา ที่จําเป็นเสมอ

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

name: Create issue on commit

on:
  - push

jobs:
  create_commit:
    runs-on: ubuntu-latest
    permissions:
      issues: write

    steps:
      - name: Create issue using REST API
        run: |
          curl --request POST \
            --url http(s)://[hostname]/api/v3/repos/${{ github.repository }}/issues \
            --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
            --header 'content-type: application/json' \
            --data '{
              "title": "Automated issue for commit: ${{ github.sha }}",
              "body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**.\n\nThe commit hash was: _${{ github.sha }}_."
            }' \
            --fail

ในตัวอย่างก่อนหน้านี้ การเข้าถึงการเขียนจะได้รับสิทธิ์ให้กับขอบเขต ปัญหา สําหรับงานเดียว

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

มุมมองการตรวจหา การแก้ไข และการป้องกัน

ภาพรวมความปลอดภัยจัดระเบียบข้อมูลเชิงลึกเป็นมุมมองหลักสามมุมมอง

ทิวทัศน์ วัตถุประสงค์
การตรวจจับ ตรวจสอบตําแหน่งที่ค้นพบช่องโหว่ ความลับ และความเสี่ยงในการพึ่งพา
การแก้ไข ติดตามวิธีแก้ไข จัดลําดับความสําคัญ และแก้ไขการแจ้งเตือนในที่เก็บต่างๆ
การป้องกัน วัดวิธีป้องกันช่องโหว่ก่อนที่จะไปถึงสาขาที่ได้รับการป้องกัน

มุมมอง การป้องกัน ช่วยให้องค์กรประเมินว่าการควบคุมความปลอดภัยสามารถหยุดการเปลี่ยนแปลงที่มีความเสี่ยงได้อย่างมีประสิทธิภาพเพียงใดก่อนที่จะรวมเข้าด้วยกัน

ตัวอย่างเช่น:

  • แก้ไขช่องโหว่ระหว่างการตรวจสอบคําขอดึงข้อมูล
  • ผลการสแกนโค้ดได้รับการแก้ไขก่อนการผสาน
  • กิจกรรมการแก้ไข Copilot Autofix
  • เหตุการณ์การป้องกันการผลักดันการสแกนลับ
  • ป้องกันความเสี่ยงจากการพึ่งพา

การตีความการแจ้งเตือนในคุณลักษณะด้านความปลอดภัย

ภาพรวมความปลอดภัยจะรวบรวมข้อมูลจากคุณลักษณะด้านความปลอดภัยของ GitHub หลายรายการเพื่อช่วยให้ทีมเข้าใจความเสี่ยงขององค์กร

แหล่งที่มาของการแจ้งเตือนทั่วไป ได้แก่

  • การแจ้งเตือนการสแกนโค้ด: ช่องโหว่และรูปแบบการเข้ารหัสที่ไม่ปลอดภัยที่ตรวจพบโดย CodeQL หรือสแกนเนอร์ของบริษัทอื่น
  • การแจ้งเตือนการสแกนลับ: ข้อมูลเข้าสู่ระบบ คีย์ API และโทเค็นที่เปิดเผย
  • การแจ้งเตือน Dependabot: การพึ่งพาที่มีช่องโหว่และความเสี่ยงของแพ็คเกจ
  • การตรวจสอบการพึ่งพา: ความเสี่ยงที่เกิดจากการเปลี่ยนแปลงการพึ่งพาในคําขอดึงข้อมูล

ทีมสามารถกรองการแจ้งเตือนตาม:

  • ความร้ายแรง
  • คลังเก็บ
  • ชนิดฟีเจอร์
  • ช่วงระยะเวลา
  • ความเป็นเจ้าของทีม
  • สถานะการแจ้งเตือน

ตัวกรองเหล่านี้รองรับทั้งการวิเคราะห์ทั่วทั้งองค์กรและการตรวจสอบที่มุ่งเน้น

การติดตามการแก้ไขและข้อมูลเชิงลึกเกี่ยวกับการแก้ไขอัตโนมัติ

ภาพรวมความปลอดภัยยังช่วยตรวจสอบความคืบหน้าการแก้ไขอีกด้วย

ทีมรักษาความปลอดภัยสามารถติดตาม:

  • แก้ไขการแจ้งเตือนคําขอดึงข้อมูลก่อนการผสาน
  • แนวโน้มการแก้ไข
  • คําขอดึงข้อมูลที่สร้างขึ้นโดย Copilot Autofix
  • การตรวจสอบความถูกต้องและอัตราการรวมเสร็จสมบูรณ์
  • ที่เก็บที่มีการแจ้งเตือนที่ยังไม่ได้รับการแก้ไขที่เกิดซ้ํา

ข้อมูลเชิงลึกเหล่านี้ช่วยให้องค์กรระบุปัญหาคอขวด จัดลําดับความสําคัญของที่เก็บที่มีความเสี่ยงสูง และวัดประสิทธิภาพการแก้ไข

การมองเห็นเหตุการณ์บายพาสและสัญญาณการกํากับดูแล

ภาพรวมความปลอดภัยยังแสดงเมตริกการกํากับดูแลและนโยบายทั่วทั้งองค์กร

ตัวอย่างเช่น:

  • เหตุการณ์บายพาสการป้องกันแบบพุช
  • กิจกรรมการบังคับใช้การป้องกันสาขา
  • แจ้งเตือนแนวโน้มการเลิกจ้าง
  • กิจกรรมบันทึกการตรวจสอบ
  • การนํานโยบายไปใช้และเมตริกความคุ้มครอง

เมตริกเหล่านี้ช่วยให้ผู้ดูแลระบบเข้าใจสิ่งต่อไปนี้

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

เมื่อรวมกับบันทึกการตรวจสอบ ชุดกฎ และนโยบายการป้องกันสาขา ข้อมูลเชิงลึกเหล่านี้จะสนับสนุนการรายงานการปฏิบัติตามข้อกําหนด

บทบาทและความรับผิดชอบด้านความปลอดภัย

การนํา GitHub Advanced Security มาใช้ที่ประสบความสําเร็จจําเป็นต้องมีความเป็นเจ้าของที่ชัดเจนในทีมพัฒนา ความปลอดภัย และการดูแลระบบ

บทบาทต่างๆ โต้ตอบกับคุณสมบัติ GitHub Advanced Security ตลอดการพัฒนาซอฟต์แวร์และวงจรชีวิตการตอบสนองต่อเหตุการณ์

ความรับผิดชอบ นักพัฒนา วิศวกรรักษาความปลอดภัย ที่เก็บ / ผู้ดูแลระบบองค์กร
ตรวจสอบและแก้ไขการแจ้งเตือนการสแกนโค้ด ใช่ ใช่ ไม่ใช่
ตรวจสอบการแจ้งเตือนการสแกนลับ ใช่ ใช่ ใช่
อัปเดตการขึ้นต่อกันที่มีช่องโหว่ ใช่ ใช่ ไม่ใช่
ตรวจสอบคําขอดึงข้อมูลการแก้ไขอัตโนมัติของ Copilot ใช่ ใช่ ไม่ใช่
คัดแยกและจัดลําดับความสําคัญของการแจ้งเตือนด้านความปลอดภัย ไม่ใช่ ใช่ ใช่
กําหนดค่านโยบายความปลอดภัยและชุดกฎ ไม่ใช่ ใช่ ใช่
จัดการนโยบายการป้องกันสาขาและเวิร์กโฟลว์ ไม่ใช่ ไม่ใช่ ใช่
แดชบอร์ดภาพรวมการตรวจสอบความปลอดภัย ไม่ใช่ ใช่ ใช่
ตรวจสอบบันทึกการตรวจสอบและสัญญาณการกํากับดูแล ไม่ใช่ ใช่ ใช่
กําหนดการตั้งค่าความปลอดภัยของที่เก็บและองค์กร ไม่ใช่ ไม่ใช่ ใช่
ประสานงานเวิร์กโฟลว์การตอบสนองต่อเหตุการณ์ ไม่ใช่ ใช่ ใช่
อนุมัติข้อยกเว้นหรือการเลิกจ้างนโยบาย ไม่ใช่ ใช่ ใช่

ตัวอย่างการเป็นเจ้าของเวิร์กโฟลว์

เวิร์กโฟลว์ GitHub Advanced Security ทั่วไปเกี่ยวข้องกับหลายบทบาทที่ทํางานร่วมกัน

  1. นักพัฒนาจะได้รับการแจ้งเตือนการสแกนโค้ดในคําขอดึงข้อมูล
  2. วิศวกรรักษาความปลอดภัยจะตรวจสอบความรุนแรงของการแจ้งเตือนและแนะนําแนวทางการแก้ไข
  3. Copilot Autofix เสนอการอัปเดตคําขอดึงข้อมูล
  4. นักพัฒนาจะตรวจสอบการแก้ไขและอัปเดตโค้ดหากจําเป็น
  5. ผู้ดูแลระบบที่เก็บบังคับใช้การป้องกันสาขาและการตรวจสอบที่จําเป็นก่อนการรวม
  6. ทีมรักษาความปลอดภัยจะตรวจสอบบันทึกการตรวจสอบและแนวโน้มการแก้ไขผ่านภาพรวมการรักษาความปลอดภัย

การกําหนดความรับผิดชอบอย่างชัดเจนช่วยให้องค์กรปรับขนาดการนํา GitHub Advanced Security ไปใช้ในขณะที่ยังคงรักษาการกํากับดูแล ความรับผิดชอบ และความสอดคล้องในการดําเนินงาน