
ระบบฐานข้อมูลขององค์กรมีความสำคัญอย่างมาก การรักษาความปลอดภัยของฐานข้อมูลจึงเข้ามามีบทบาท เพื่อป้องกันไม่ให้ผู้ใช้งานที่ไม่ได้รับอนุญาติเข้ามาจัดการข้อมูลต่าง ๆ ซึ่งอาจส่งผลกระทบต่อองค์กร
คอมพิวเตอร์ยูเนี่ยน สอนวิธีการใช้งาน Tibero User Management and Security ฉบับภาษาไทย เกี่ยวกับเครื่องมือและคำสั่งต่าง ๆ เพื่อจัดการกับผู้ใช้งาน และข้อมูลอย่างมีประสิทธิภาพ

วัตถุประสงค์หลักของระบบการรักษาความปลอดภัยบนระบบฐานข้อมูล (Database) คือป้องกันไม่ให้ผู้ใช้งาน (User) ที่ไม่ได้รับอนุญาตเข้ามาจัดการข้อมูลต่างๆ ในระบบฐานข้อมูลได้ ไม่ว่าจะด้วยความตั้งใจหรือความบังเอิญก็ตามที่สามารถนำความเสียหายมาสู่ระบบฐานข้อมูล ดังนั้นความปลอดภัยของข้อมูลจึงเป็นเรื่องที่ต้องตระหนักและให้ความสำคัญอย่างมาก เราจำเป็นที่จะต้องเรียนรู้วิธีการบริหารจัดการผู้ใช้งาน (User) เพื่อกำหนดสิทธิ์การเข้าถึง และการเข้าใช้งานระบบข้อมูลในฐานข้อมูลได้อย่างมีประสิทธิภาพ โดยมีวิธีการดังนี้
- Tibero Database User Management and Security
- Create User
- Modify User and User Privileges
- Delete User
การเข้าใช้งานระบบฐานข้อมูล จำเป็นต้องมีบัญชีผู้ใช้งานในการเข้าถึงข้อมูลในระบบ Tibero Database ซึ่งในแต่ละบัญชีจะได้รับการรักษาความปลอดภัยด้วยรหัสผ่าน (Password) โดยรหัสผ่านจะถูกตั้งขึ้นเมื่อมีการสร้างบัญชีผู้ใช้งานเรียบร้อยแล้ว หากข้อมูลไม่ถูกต้องสามารถแก้ไขได้ในภายหลัง ซึ่งในระบบฐานข้อมูลของ Tibero จะมีการบันทึกรหัสผ่านไว้ในพจนานุกรมข้อมูลในรูปแบบของการเข้ารหัส ซึ่งผู้ใช้งาน หรือ User จะมี Schema Object เป็นของตัวเอง โดย 1 ผู้ใช้งาน จะมี 1 Schema Object ไว้สำหรับจัดเก็บข้อมูลต่างๆ เสมอ

ในการสร้าง แก้ไข ลบ หรือกำหนดสิทธิ์ผู้ใช้งาน ระบบฐานข้อมูลของ Tibero มีการกำหนดให้ต้องกระทำจากผู้ใช้ที่มีสิทธิ์ DBA เท่านั้น โดยมีการกำหนดค่าเริ่มต้น (Default) ของชื่อเริ่มต้นผู้ใช้งานที่มีสิทธิ์ DBA คือ sys ซึ่งจะถูกสร้างขึ้นพร้อมกับการสร้างฐานข้อมูล และรหัสผ่าน (Password) คือ tibero หรือเป็นรหัสผ่านตามที่ผู้ติดตั้งระบบฐานข้อมูลกำหนดเองในขั้นตอนการติดตั้ง
ซึ่งในบทความนี้เราจะใช้ tbsql utility เป็นเครื่องมือในการบริหารจัดการระบบฐานข้อมูล Tibero จึงต้องเปิด terminal และเชื่อมต่อไปยังระบบฐานข้อมูล Tibero ด้วยรหัสผู้ใช้งาน sys (ตามตัวอย่างภาพด้านล่าง)

การ Create User
การสร้างบัญชีผู้ใช้งานสามารถทำได้ด้วยคำสั่ง create user ตามด้วย ชื่อผู้ใช้งาน identified by รหัสผ่าน; ยกตัวอย่างเช่น ถ้าต้องการสร้างผู้ใช้งาน ชื่อ test1 และมีรหัสผ่านเข้าใช้งานเป็น testpassword จะต้องพิมพ์คำสั่งว่า create user test1 identified by testpassword; โดยค่าเริ่มต้น (Default) ของพื้นที่การใช้งานของผู้ใช้งานที่สร้างใหม่นั้น Tibero จะกำหนดให้ใช้งานที่ table space ที่ชื่อ usr ซึ่งเป็นพื้นที่ของผู้ใช้งานโดยเฉพาะ แต่ถ้าต้องการสร้าง table space เฉพาะเจาะจงสำหรับรหัสผู้ใช้งานนั้นๆ โดยไม่ต้องการให้รวมอยู่ใน table space ที่ชื่อ usr สามารถกำหนดรหัสผู้ใช้งานที่ต้องการสร้างมีพื้นที่ใช้งานอยู่ใน table space ที่เราต้องการได้ เช่น ผู้เขียนทำการสร้าง table space ชื่อ myspace แล้วต้องการให้รหัสผู้ใช้งาน test1 มีพื้นที่การใช้งานจัดเก็บข้อมูลอยู่ใน myspace สามารถกำหนดได้ในภายหลังด้วยคำสั่ง ALTER ที่ใช้ในการแก้ไขจัดการรหัสผู้ใช้งานหรือจะกำหนดไปพร้อมกับคำสั่งในการสร้างผู้ใช้ก็ได้ เช่น create user test1 identified by testpassword default tablespace myspace;
คำสั่ง default tablespace myspace คือการกำหนดให้ผู้ใช้งานที่เราสร้างขึ้นนั้นมีพื้นที่ใช้งานอยู่ที่ myspace ซึ่งเราจะต้องสร้าง table space ชื่อ myspace เอาไว้รองรับอยู่ก่อนแล้ว เมื่อสร้าง user แล้วสามารถทดสอบเข้าใช้งานได้ด้วยคำสั่ง tbsql test1/testpassword จะเห็นว่าไม่สามารถเข้าใช้งานได้ เนื่องจากผู้ใช้งานยังไม่มีสิทธิ์ในการเชื่อมต่อ ดังนั้นเราจึงต้องทำการแก้ไขโดยการเพิ่มสิทธิ์ในการเข้าถึงระบบฐานข้อมูลให้กับผู้ใช้งานที่สร้างขึ้นมาใหม่เสียก่อน จึงจะสามารถใช้งานได้
การ Modify User and User privileges
หลังจากที่เราได้สร้างผู้ใช้งานแล้ว ผู้ใช้งานที่เราสร้างใหม่จะยังไม่สามารถเข้าใช้งานระบบได้ จะต้องทำการกำหนดสิทธิ์เข้าใช้งานและสิทธิ์ที่จำเป็นพื้นฐานก่อน โดยทั่วไปสิทธิ์พื้นฐานที่ควรมีคือ connect และ resource ซึ่งจะช่วยให้ผู้ใช้งานสามารถเชื่อมต่อฐานข้อมูล สร้างข้อมูล และจัดเก็บข้อมูลได้ คำสั่งในการกำหนดสิทธิ์ (Privileges) มีดังนี้ grant connect to test1; grant resource to test1; หรือจะรวมให้เป็นคำสั่งเดียวกันได้ดังนี้ grant connect, resource to test1; เพียงเท่านี้ผู้ใช้งาน test1 ก็จะสามารถเชื่อมต่อฐานข้อมูลและเข้าใช้งานฐานข้อมูลได้แล้ว
หากต้องการแก้ไขรหัสผ่าน (Password) ของผู้ใช้งานให้ใช้คำสั่ง ALTER ในการแก้ไข ยกตัวอย่างเช่น alter user คือรหัสผู้ใช้งานที่ต้องการกำหนดรหัสผ่านใหม่ identified by รหัสผ่านใหม่; เราต้องการแก้ไขรหัสผ่านของผู้ใช้งานที่ชื่อ test1 ซึ่งต้องการเปลี่ยนรหัสผ่านใหม่เป็นคำว่า newpassword จะต้องใช้คำสั่ง alter user test1 identified by newpassword; เพียงเท่านี้ผู้ใช้งาน test1 จะไม่สามารถใช้รหัสผ่านเดิมได้ ต้องใช้รหัสผ่านใหม่ที่เรากำหนดในการเข้าใช้งานเท่านั้น
การ Delete User
การลบผู้ใช้งานออกจากระบบมีอยู่ 2 แบบ ดังนี้ แบบแรก คือ การลบเฉพาะชื่อ username และแบบที่ 2 คือ การลบทั้ง username และลบ Schema Object โดยแนะนำให้ลบแบบที่สองคือ ลบทั้ง username และ Schema Object เนื่องจากถ้ามีการสร้างผู้ใช้งานชื่อเดิมขึ้นมา Tibero จะไม่สามารถอ้างอิงมาหา Schema Object ที่ยังคงค้างชื่อเดิมได้ ซึ่งคำสั่งในการลบทั้งสองแบบมีดังนี้
แบบลบเฉพาะชื่อผู้ใช้ : drop user รหัสผู้ใช้ที่ต้องการลบ;
แบบลบทั้งชื่อผู้ใช้งานและ Schema Object : drop user รหัสผู้ใช้ที่ต้องการลบ cascade;
สรุป
สำหรับบทความนี้เราได้เรียนรู้เครื่องมือและคำสั่งต่างๆ ในการบริหารจัดการผู้ใช้งานฐานข้อมูล เพื่อที่เราจะได้จัดการผู้ใช้งานได้อย่างมีประสิทธิภาพ ซึ่งนับว่าเป็น security ด่านแรกของระบบฐานข้อมูลที่เราต้องให้ความสำคัญ
หากท่านใดต้องการสอบถามข้อมูลเพิ่มเติม ติดต่อได้ที่ :
บริษัท คอมพิวเตอร์ยูเนี่ยน จำกัด / โทร. 02-311-6881 #7151, 7158 / Email. cu_mkt@cu.co.th
เขียนโดย : คุณ W.Boon. – Data Engineer , Computer Union Co.,Ltd.
