ผู้ใช้ฐานข้อมูลและการควบคุมการเข้าถึง
สร้างผู้ใช้ฐานข้อมูล มอบสิทธิ์เฉพาะ และนำกลไกควบคุมการเข้าถึงที่รัดกุมมาใช้กับฐานข้อมูลของคุณ
ผู้ใช้ฐานข้อมูลและการควบคุมการเข้าถึง เป็นบทเรียน Linux Server Deployment & SSH Mastery ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Linux Server Deployment & SSH Mastery และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน
บทนำสู่การจัดการผู้ใช้ฐานข้อมูล
ยินดีต้อนรับสู่การควบคุมผู้ใช้และการเข้าถึงฐานข้อมูล! ในบทเรียนนี้ เราจะเรียนรู้วิธีจัดการว่าใครสามารถทำอะไรกับฐานข้อมูลของคุณได้บ้าง
ลองนึกภาพว่าเป็นการสร้างบัญชีผู้ใช้หลายบัญชีบนคอมพิวเตอร์ โดยแต่ละบัญชีมีสิทธิ์เฉพาะของตนเอง
เหตุใดการควบคุมการเข้าถึงจึงสำคัญ
การควบคุมการเข้าถึงที่เหมาะสมมีความสำคัญอย่างยิ่งต่อความปลอดภัยและความถูกต้องสมบูรณ์ของฐานข้อมูล โดยช่วยให้คุณ:
- ป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต: เฉพาะผู้ใช้ที่ได้รับอนุญาตเท่านั้นที่สามารถเชื่อมต่อได้
- บังคับใช้หลักสิทธิ์น้อยที่สุด: ผู้ใช้จะได้รับเฉพาะสิทธิ์ที่จำเป็นอย่างแท้จริง
- ตรวจสอบการดำเนินการ: ติดตามว่าใครเป็นผู้เปลี่ยนแปลงข้อมูล
สร้างผู้ใช้ฐานข้อมูลใหม่
ขั้นแรก มาสร้างบัญชีผู้ใช้ใหม่ใน PostgreSQL กัน ผู้ใช้นี้จะต้องมีชื่อผู้ใช้และรหัสผ่านที่คาดเดาได้ยาก
เรียกใช้คำสั่งนี้ในไคลเอ็นต์ PostgreSQL (เช่น psql):
CREATE USER coddykit_analyst WITH PASSWORD 'SuperSecureP@ssw0rd!';มอบสิทธิ์แบบอ่านอย่างเดียว
เมื่อมีผู้ใช้แล้ว มามอบสิทธิ์ให้ผู้ใช้กัน จุดเริ่มต้นที่พบบ่อยคือการให้สิทธิ์แบบอ่านอย่างเดียวแก่ตารางที่ระบุ
คำสั่ง GRANT SELECT อนุญาตให้ผู้ใช้อ่านข้อมูลจากตารางได้:
GRANT SELECT ON TABLE public.sales_data TO coddykit_analyst;อนุญาตให้แก้ไขข้อมูล
หากผู้ใช้ต้องเพิ่ม เปลี่ยนแปลง หรือลบข้อมูลล่ะ? คุณจะมอบสิทธิ์ INSERT, UPDATE หรือ DELETE
ต่อไปนี้คือวิธีอนุญาตให้เพิ่มและอัปเดตระเบียน:
GRANT INSERT, UPDATE ON TABLE public.customer_info TO coddykit_analyst;ทำความเข้าใจ ALL PRIVILEGES
ตัวเลือก ALL PRIVILEGES จะมอบสิทธิ์ที่มีอยู่ทั้งหมดในวัตถุฐานข้อมูล โปรดใช้ตัวเลือกนี้ด้วยความระมัดระวังอย่างยิ่ง!
GRANT ALL PRIVILEGES ON DATABASE my_db TO admin_user;มีอำนาจสูงWITH GRANT OPTION: อนุญาตให้ผู้รับมอบสิทธิ์เดียวกันนี้แก่ผู้ใช้รายอื่นได้ ซึ่งอาจเป็นความเสี่ยงด้านความปลอดภัยหากจัดการไม่รอบคอบ
เพิกถอนสิทธิ์
บางครั้งจำเป็นต้องลดหรือลบสิทธิ์ของผู้ใช้ทั้งหมด คำสั่ง REVOKE ใช้สำหรับการดำเนินการนี้โดยตรง
ตัวอย่างเช่น หากต้องการลบความสามารถในการอัปเดตข้อมูลลูกค้า:
REVOKE UPDATE ON TABLE public.customer_info FROM coddykit_analyst;แสดงสิทธิ์ของผู้ใช้
การตรวจสอบว่าผู้ใช้มีสิทธิ์ใดจริงบ้างเป็นสิ่งสำคัญ คุณสามารถสอบถามสคีมาข้อมูลของฐานข้อมูลเพื่อดูข้อมูลนี้ได้
คำสั่งค้นหานี้จะแสดงสิทธิ์ในตารางที่ระบุสำหรับผู้ใช้ที่ระบุ:
SELECT grantee, privilege_type
FROM information_schema.role_table_grants
WHERE table_schema = 'public' AND table_name = 'sales_data' AND grantee = 'coddykit_analyst';ลบผู้ใช้ฐานข้อมูล
เมื่อไม่จำเป็นต้องใช้บัญชีผู้ใช้อีกต่อไป ควรลบบัญชีนั้นเพื่อลดความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้น
ใช้คำสั่ง DROP USER เพื่อลบผู้ใช้ออกจากระบบฐานข้อมูล:
DROP USER coddykit_analyst;แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย
ปฏิบัติตามแนวทางเหล่านี้เสมอเพื่อรักษาความปลอดภัยของฐานข้อมูลให้แข็งแกร่ง:
- สิทธิ์น้อยที่สุด: มอบเฉพาะสิทธิ์ที่จำเป็น
- รหัสผ่านที่คาดเดาได้ยาก: กำหนดให้ใช้รหัสผ่านที่ซับซ้อนและไม่ซ้ำกัน
- การตรวจสอบเป็นประจำ: ทบทวนบัญชีผู้ใช้และสิทธิ์ของบัญชีเหล่านั้นเป็นระยะ
- การเข้าถึงตามบทบาท: สร้างบทบาทที่มีสิทธิ์เฉพาะและกำหนดผู้ใช้ให้กับบทบาทเหล่านั้น
ตรวจสอบความรู้ของคุณ
ผู้ใช้ใหม่ชื่อ report_viewer ต้องสามารถอ่านข้อมูลจากตาราง daily_logs และลบรายการเก่าออกจากตารางได้ด้วย ชุดคำสั่งใดจะทำให้สามารถดำเนินการดังกล่าวได้
สรุป: ผู้ใช้และการควบคุมการเข้าถึง
ทำได้ดีมาก! คุณได้เรียนรู้พื้นฐานของผู้ใช้ฐานข้อมูลและการควบคุมการเข้าถึงแล้ว เนื้อหาที่ครอบคลุมมีดังนี้:
- การสร้างและลบผู้ใช้ฐานข้อมูล
- การมอบและเพิกถอนสิทธิ์เฉพาะ เช่น
SELECT,INSERT,UPDATEและDELETE - การทำความเข้าใจตัวเลือกที่มีอำนาจสูง เช่น
ALL PRIVILEGESและWITH GRANT OPTION - แนวทางปฏิบัติที่ดีที่สุดในการรักษาความปลอดภัยฐานข้อมูลด้วยการจัดการผู้ใช้อย่างเหมาะสม
ทักษะเหล่านี้จำเป็นต่อการดูแลสภาพแวดล้อมเซิร์ฟเวอร์ให้ปลอดภัยและจัดการได้อย่างมีประสิทธิภาพ
คำถามที่พบบ่อย
บทเรียน “ผู้ใช้ฐานข้อมูลและการควบคุมการเข้าถึง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ผู้ใช้ฐานข้อมูลและการควบคุมการเข้าถึง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Linux Server Deployment & SSH Mastery ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ผู้ใช้ฐานข้อมูลและการควบคุมการเข้าถึง”
สร้างผู้ใช้ฐานข้อมูล มอบสิทธิ์เฉพาะ และนำกลไกควบคุมการเข้าถึงที่รัดกุมมาใช้กับฐานข้อมูลของคุณ คุณปฏิบัติ Linux Server Deployment & SSH Mastery ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Linux Server Deployment & SSH Mastery หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Linux Server Deployment & SSH Mastery บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ผู้ใช้ฐานข้อมูลและการควบคุมการเข้าถึง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Linux Server Deployment & SSH Mastery นี้ได้ไหม
ได้ บทเรียน Linux Server Deployment & SSH Mastery ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การติดตั้ง PostgreSQL/MySQL
- ผู้ใช้ฐานข้อมูลและการควบคุมการเข้าถึง
- การรักษาความปลอดภัยการเชื่อมต่อฐานข้อมูล
- กลยุทธ์การสำรองและกู้คืนฐานข้อมูล