สิ่งที่คุณกำลังจะลบจริง ๆ
Personal access token (PAT) เป็นหนึ่งในข้อมูลรับรองหลายประเภทที่สามารถกระทำการในนามบัญชี GitHub ของคุณได้ ก่อนลบอะไร ควรรู้ว่าคุณกำลังดูข้อมูลรับรองประเภทไหน เพราะขั้นตอนการลบและผลข้างเคียงแตกต่างกัน
| ข้อมูลรับรอง | โดยทั่วไปทำอะไร | จัดการที่ไหน | การลบส่งผลอะไร |
|---|---|---|---|
| Personal access token (fine-grained หรือ classic) | ให้สคริปต์ เครื่องมือ หรือ CI กระทำการในนามคุณด้วยสิทธิ์ที่จำกัด | Settings → Developer settings → Personal access tokens | ทุกอย่างที่ยังใช้ token นั้น รวมถึง deploy key ใด ๆ ที่ token สร้างขึ้น |
| OAuth authorization | แอปบุคคลที่สามที่คุณอนุมัติให้กระทำการในบัญชีของคุณ | Settings → Applications (authorized OAuth apps) | การเข้าถึงของแอปนั้น แอปเองไม่ได้ถูกลบ |
| SSH account key | ยืนยันตัวตนสำหรับการดำเนินการ Git ผ่าน SSH สำหรับบัญชีของคุณ | Settings → SSH and GPG keys | การเข้าถึง SSH ที่พึ่งพา key นั้น |
| เซสชันเบราว์เซอร์ | เซสชันที่ลงชื่อเข้าใช้อยู่จริงในเบราว์เซอร์ | ตัวควบคุมการออกจากระบบและการตั้งค่าเซสชัน | เฉพาะเซสชันนั้น ไม่ใช่ token หรือ key |
บทความนี้ครอบคลุมแถวแรก แถวอื่น ๆ ถูกระบุไว้เพื่อไม่ให้คุณสับสนระหว่างกัน: การลบ OAuth authorization หรือ SSH key ไม่ได้ลบ personal access token และการลบ token ไม่ได้เพิกถอน SSH key หรือยุติเซสชันเบราว์เซอร์
ขั้นตอนที่ 1: สร้างบัญชีรายการ token โดยไม่เปิดเผยค่า
เป้าหมายคือรายการชื่อ token และตำแหน่งที่แต่ละตัวถูกใช้ — ไม่ใช่รายการสตริง token ให้ถือว่าค่า token เป็นความลับที่คุณไม่ควรคัดลอกลงในบันทึก ตั๋วงาน หรือแชท
- เปิดการตั้งค่าบัญชี GitHub ของคุณ ไปที่ Developer settings จากนั้น Personal access tokens ตรวจสอบทั้ง Fine-grained tokens และ Tokens classic เนื่องจากทั้งสองประเภทแสดงแยกกัน
- สำหรับแต่ละ token บันทึกเฉพาะ: ชื่อ token ประเภท (fine-grained หรือ classic) และบันทึกใด ๆ ที่ GitHub แสดงเกี่ยวกับวัตถุประสงค์หรือวันหมดอายุ
- สำหรับแต่ละ token จดบันทึกว่าคุณเชื่อว่ามันถูกใช้ที่ไหน: งาน CI สคริปต์การดีพลอย เครื่องมือในเครื่อง งานตามกำหนดเวลา การเชื่อมต่อกับบุคคลที่สาม หรือไม่มีที่ไหนที่คุณจำได้
- ทำเครื่องหมาย token ที่คุณไม่สามารถระบุตำแหน่งได้ token ที่ไม่ทราบตำแหน่งเป็นตัวเลือกสำหรับการตรวจสอบ ไม่ใช่การลบทันที — อาจมีบางอย่างยังพึ่งพามันอยู่
ตารางง่าย ๆ ก็เพียงพอ:
| ชื่อ token | ประเภท | ผู้ใช้ที่ทราบ | การใช้งานล่าสุดที่ทราบ | การตัดสินใจ |
|---|---|---|---|---|
| example-deploy | Fine-grained | งานดีพลอย CI | ไม่ทราบ | ตรวจสอบงานก่อนลบ |
| example-old-script | Classic | ไม่พบ | เก่า | ตรวจสอบแล้วลบ |
อย่าวางค่า token ลงในตารางนี้ หากผู้ใช้เก็บ token ไว้ ให้ตรวจสอบการตั้งค่าของระบบนั้นเองแทนการอ่านความลับซ้ำ
ขั้นตอนที่ 2: ตรวจสอบระบบอัตโนมัติที่พึ่งพาก่อนลบ
การลบ token จะทำให้สิ่งที่ยังยืนยันตัวตนด้วย token นั้นหยุดทำงาน ก่อนลบ ให้ยืนยันผู้ใช้ที่ทราบแต่ละราย:
- ค้นหาการตั้งค่า CI สคริปต์การดีพลอย และงานตามกำหนดเวลาสำหรับการอ้างอิงถึงชื่อ token หรือรายการในที่เก็บความลับที่เก็บมันไว้
- ตรวจสอบว่าสิทธิ์ของ token ตรงกับสิ่งที่ผู้ใช้ต้องการหรือไม่ token ที่ดูเหมือนไม่ได้ใช้อาจเป็นข้อมูลรับรองเดียวที่ใช้งานได้สำหรับงานเล็ก ๆ
- ตัดสินใจเป็นราย token: เก็บไว้ แทนที่ด้วยข้อมูลรับรองที่แคบกว่า หรือลบ หากคุณไม่สามารถยืนยันผู้ใช้ได้ ให้หยุดก่อนแทนการเดา
GitHub ระบุการพึ่งพาเฉพาะอย่างหนึ่งที่ควรตรวจสอบก่อน: personal access token ที่สร้าง deploy key จะเชื่อมโยงกับ deploy key นั้น
GitHub เตือนว่าการลบ personal access token ที่สร้าง deploy key จะลบ deploy key นั้นด้วย แหล่งที่มา
คำเตือนนั้นแคบ ใช้กับ deploy key ที่สร้างโดย token นั้น ไม่ใช่ข้อความว่าการลบ token ใด ๆ ส่งผลต่อทุก SSH key ทุก deploy key หรือทุกการเชื่อมต่อในบัญชี ตรวจสอบประวัติของ token นั้นโดยเฉพาะและ deploy key ของ repository แทนการสันนิษฐานผลกระทบในวงกว้าง
ขั้นตอนที่ 3: ลบ token
เมื่อคุณยืนยันแล้วว่า token ปลอดภัยที่จะลบ เส้นทางที่ GitHub ระบุไว้คือ:
เส้นทางการลบ personal access token ของ GitHub คือ Settings, Developer settings, Personal access tokens จากนั้น Fine-grained tokens หรือ Tokens classic แล้วกด Delete แหล่งที่มา
หลังลบ ให้ตรวจสอบผลลัพธ์แทนการสันนิษฐานว่าสำเร็จ:
- ยืนยันว่า token ไม่ปรากฏในรายการสำหรับประเภทของมันอีกต่อไป
- รันหรือกระตุ้นระบบอัตโนมัติที่คุณระบุว่าเป็นผู้ใช้ และตรวจสอบว่ายังยืนยันตัวตนได้หรือไม่ หากล้มเหลว แสดงว่าคุณพบการพึ่งพาที่พลาดไป ให้คืนการเข้าถึงด้วยข้อมูลรับรองใหม่ที่คุณควบคุมแทนการใช้ค่าเดิมซ้ำ
- หาก token ที่ลบไปได้สร้าง deploy key ให้ตรวจสอบ deploy key ของ repository เพื่อยืนยันว่าการลบตามที่ระบุไว้เกิดขึ้นจริงและไม่มี key อื่นได้รับผลกระทบ
เส้นทางความล้มเหลวที่ต้องวางแผนรับมือ
| สถานการณ์ | สิ่งที่ต้องทำ |
|---|---|
| งาน CI ล้มเหลวหลังลบ | ระบุว่ามันใช้ความลับใด ยืนยันเจ้าของงาน และออกข้อมูลรับรองทดแทนผ่านกระบวนการปกติของคุณ |
| คุณหาผู้ใช้ของ token ไม่พบ | อย่าลบจากการเดา ให้ค้นหาไฟล์การตั้งค่าและที่เก็บความลับก่อน และเก็บ token ไว้จนกว่าจะยืนยันได้ |
| deploy key หายไป | นี่คือผลลัพธ์ตามที่ระบุไว้เมื่อ token สร้างมันขึ้นมา ให้สร้าง key ขึ้นใหม่โดยเจตนาหาก repository ยังต้องการ |
| คุณไม่แน่ใจว่าข้อมูลรับรองเป็น token หรือแอป OAuth | ตรวจสอบส่วนการตั้งค่าที่มันปรากฏอยู่ ทั้งสองจัดการแยกกัน |
สิ่งที่เช็กลิสต์นี้ไม่ครอบคลุม
คู่มือนี้ไม่ได้อธิบายการหมุนเวียนข้อมูลรับรอง การออก token ใหม่ หรือการเปลี่ยนสิทธิ์ — ขั้นตอนเหล่านั้นขึ้นอยู่กับการตั้งค่าของคุณเองและอินเทอร์เฟซปัจจุบันของ GitHub ซึ่งคุณควรยืนยัน ณ เวลาที่ลงมือ นอกจากนี้ยังไม่ครอบคลุมการลบ OAuth authorization, SSH account key หรือเซสชันเบราว์เซอร์ นอกเหนือจากการระบุว่าแยกกัน การลบ token จะลบข้อมูลรับรองนั้น แต่ไม่ได้พิสูจน์ด้วยตัวเองว่าข้อมูลใด ๆ ที่บริการที่เชื่อมต่อถืออยู่ถูกลบไปแล้ว
การค้นหาชื่อผู้ใช้เหมาะตรงไหน และไม่เหมาะตรงไหน
หากการทำความสะอาดของคุณเป็นส่วนหนึ่งของการทบทวนสิ่งที่มองเห็นได้สาธารณะภายใต้ชื่อผู้ใช้ในวงกว้าง TraceSeek เป็นแอปแยกต่างหากที่ตรวจสอบชื่อผู้ใช้สาธารณะที่รู้จักใน 3,000+ แพลตฟอร์ม มันรายงานการจับคู่สาธารณะ ซึ่งเป็นเบาะแสไม่ใช่หลักฐานความเป็นเจ้าของ และไม่สามารถลงชื่อเข้าใช้บัญชี เปลี่ยนการตั้งค่าบัญชี ลบ token หรือยืนยันตัวตนจริงของใครก็ได้ มันไม่ใช่เครื่องมือสำหรับการเข้าถึงบัญชีส่วนตัวหรือการรับประกันการลบสิ่งใด ๆ สำหรับงาน token ในบทความนี้ งานเกิดขึ้นในการตั้งค่า GitHub ของคุณ ไม่ใช่ในแอปค้นหา