0Pricing
DevOps Bootcamp · บทเรียน

การจัดการข้อมูลลับด้วย GitHub

เจาะลึกการจัดเก็บและเข้าถึงข้อมูลรับรองที่ละเอียดอ่อนอย่างปลอดภัยด้วย GitHub Secrets และ OpenID Connect (OIDC)

การจัดการข้อมูลลับด้วย GitHub เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดการจัดการข้อมูลลับอย่างปลอดภัยจึงสำคัญ

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

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

ข้อมูลลับของ GitHub คืออะไร

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

  • โดยค่าเริ่มต้น ข้อมูลเหล่านี้จะไม่ถูกเขียนลงในบันทึก
  • หลังจากสร้างแล้ว ข้อมูลเหล่านี้จะไม่แสดงในส่วนติดต่อผู้ใช้
  • มีเพียงเวิร์กโฟลว์ที่เลือกไว้เท่านั้นที่เข้าถึงข้อมูลเหล่านี้ได้

วิธีนี้ช่วยป้องกันไม่ให้ข้อมูลรับรองของคุณถูกเปิดเผยโดยไม่ได้ตั้งใจ

ตั้งค่าข้อมูลลับของที่เก็บโค้ด

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

วิธีสร้างข้อมูลลับ:

  1. ไปที่แท็บการตั้งค่าของที่เก็บโค้ด
  2. ไปที่ข้อมูลลับและตัวแปร > การทำงาน
  3. คลิกข้อมูลลับใหม่ของที่เก็บโค้ด

ตั้งชื่อที่ไม่ซ้ำกันให้ข้อมูลลับ เช่น API_KEY แล้ววางค่าข้อมูลลับของคุณ

เข้าถึงข้อมูลลับในเวิร์กโฟลว์

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

คุณเข้าถึงข้อมูลลับได้โดยใช้บริบท ${{ secrets.SECRET_NAME }} สคริปต์นี้จำลองขั้นตอนที่ใช้ข้อมูลลับดังกล่าว หากต้องการเรียกใช้ ให้สมมติว่า MY_API_KEY ถูกตั้งเป็นตัวแปรสภาพแวดล้อมโดยการทำงานของ GitHub

#!/bin/bash
# This script simulates a workflow step
# where a secret is passed as an environment variable.

echo "Attempting to use an API key..."

# In a real GitHub Action, MY_API_KEY would be
# set by ${{ secrets.MY_API_KEY }} in the workflow YAML.

if [ -z "$MY_API_KEY" ]; then
  echo "Error: MY_API_KEY is not set!"
  echo "Please define it as a secret in your workflow."
else
  echo "Successfully accessed API key (partially shown): ${MY_API_KEY:0:5}..."
fi

ขอบเขตข้อมูลลับที่กว้างขึ้น

นอกเหนือจากข้อมูลลับของที่เก็บโค้ดแล้ว GitHub ยังมีขอบเขตที่ทรงพลังอีกสองแบบ:

  • ข้อมูลลับขององค์กร: ใช้ได้กับที่เก็บโค้ดหลายแห่งภายในองค์กร เหมาะสำหรับข้อมูลลับที่ใช้ร่วมกันในหลายโครงการ เช่น โทเค็นการนำไปใช้งานทั่วทั้งบริษัท
  • ข้อมูลลับของสภาพแวดล้อม: เชื่อมโยงกับสภาพแวดล้อมการนำไปใช้งานที่เฉพาะเจาะจง เช่น staging และ production โดยอาจมีกฎการป้องกัน เช่น ต้องได้รับการอนุมัติด้วยตนเองก่อนนำไปใช้งาน

ใช้ขอบเขตที่เล็กที่สุดเท่าที่จำเป็นเสมอเพื่อความปลอดภัยสูงสุด

การเชื่อมต่อ OpenID (OIDC) คืออะไร

การเชื่อมต่อ OpenID (OIDC) คือชั้นการยืนยันตัวตนที่สร้างขึ้นบน OAuth 2.0 เป็นมาตรฐานที่ช่วยให้ไคลเอนต์ตรวจสอบตัวตนของผู้ใช้ปลายทางได้ โดยอาศัยการยืนยันตัวตนที่ดำเนินการโดยเซิร์ฟเวอร์อนุญาต

ใน CI/CD นั้น OIDC ช่วยให้เวิร์กโฟลว์ของคุณยืนยันตัวตนกับผู้ให้บริการคลาวด์ เช่น AWS, แอซัวร์ และ GCP ได้อย่างปลอดภัย โดยไม่ต้องจัดเก็บข้อมูลรับรองที่มีอายุการใช้งานยาวนาน เช่น คีย์ API ไว้เป็นข้อมูลลับของ GitHub

OIDC ทำงานร่วมกับการทำงานอย่างไร

การทำงานของ GitHub สามารถทำหน้าที่เป็นผู้ให้บริการ OIDC ได้ เมื่อเวิร์กโฟลว์ทำงาน GitHub จะสร้างโทเค็น OIDC ที่ไม่ซ้ำกันและมีอายุสั้นสำหรับงานนั้นโดยเฉพาะ

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

ประโยชน์สำคัญของ OIDC

การใช้ OIDC ร่วมกับการทำงานของ GitHub มีข้อได้เปรียบด้านความปลอดภัยที่สำคัญ:

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

ผสานรวม OIDC กับคลาวด์

หากต้องการใช้ OIDC คุณต้องกำหนดค่าผู้ให้บริการคลาวด์ เช่น AWS IAM, แอซัวร์ AD และ GCP IAM ให้เชื่อถือผู้ออก OIDC ของ GitHub

โดยทั่วไปจะประกอบด้วยขั้นตอนต่อไปนี้:

  1. ตั้งค่าผู้ให้บริการข้อมูลระบุตัวตน (IdP) ในบัญชีคลาวด์ของคุณ
  2. กำหนดบทบาท/นโยบายที่มอบสิทธิ์เฉพาะ
  3. เพิ่ม "นโยบายความน่าเชื่อถือ" ให้กับบทบาท เพื่ออนุญาตให้โทเค็น OIDC ของ GitHub ใช้บทบาทนั้น โดยมักมีเงื่อนไขตามข้ออ้างสิทธิ์ของโทเค็น เช่น อนุญาตเฉพาะจากที่เก็บโค้ดแห่งใดแห่งหนึ่ง

จากนั้นเวิร์กโฟลว์จะขอโทเค็นและใช้โทเค็นดังกล่าวเพื่อยืนยันตัวตน

ตรวจสอบอย่างรวดเร็ว: การเข้าถึงอย่างปลอดภัย

คุณได้เรียนรู้เกี่ยวกับข้อมูลลับของ GitHub สำหรับจัดเก็บข้อมูลสำคัญ และการเชื่อมต่อ OpenID สำหรับการยืนยันตัวตนกับคลาวด์โดยไม่ใช้ข้อมูลรับรองแล้ว

ข้อความใดต่อไปนี้เกี่ยวกับการจัดการข้อมูลลับของการทำงาน GitHub เป็นจริง TRUE

สรุป: รักษาข้อมูลรับรองของคุณให้ปลอดภัย

ทำได้ดีมาก คุณได้เรียนรู้วิธีจัดการข้อมูลสำคัญในไปป์ไลน์ CI/CD ของคุณอย่างปลอดภัยแล้ว

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

แนวทางปฏิบัติเหล่านี้มีความสำคัญอย่างยิ่งต่อการสร้างไปป์ไลน์ DevOps ที่แข็งแกร่งและปลอดภัย

คำถามที่พบบ่อย

บทเรียน “การจัดการข้อมูลลับด้วย GitHub” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การจัดการข้อมูลลับด้วย GitHub” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การจัดการข้อมูลลับด้วย GitHub”

เจาะลึกการจัดเก็บและเข้าถึงข้อมูลรับรองที่ละเอียดอ่อนอย่างปลอดภัยด้วย GitHub Secrets และ OpenID Connect (OIDC) คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การจัดการข้อมูลลับด้วย GitHub” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยใน CI/CD
  2. การจัดการข้อมูลลับด้วย GitHub
  3. การทดสอบความปลอดภัยแอปพลิเคชันแบบคงที่ (SAST)
  4. ความปลอดภัยของทรัพยากรพึ่งพาและห่วงโซ่อุปทาน (SCA)
← กลับไปที่ DevOps Bootcamp