วันพุธที่ 6 มกราคม พ.ศ. 2553

บทที่ 5 การรักษาความปลอดภัย

บทที่5

การรักษาความปลอด ภัยของข้อมูล

ปัจจุบัน มีการนำเอา Microsoft SQL Sever 7.0 มาใช้งานเพิ่มขึ้นทั้งภายในและภายนอกองค์กรในฐานะที่คุณเป็นผู้ควบคุมระบบ จึงต้องบริหารการเข้าข้อมูลอย่างมีประสิทธิภาพให้แก่ผู้ใช้ที่เป็นพนักงาน บริษัทภายนอกและผู้ใช้ การตั้งค่าปฏิบัติการให้กับการอนุญาตสิทธิ์ในการเข้าสู่ระบบ และการกำหนดบทบาทซึ่งการอนุญาตสิทธ์และบทบาทที่คุณกำหนดขึ้นมาให้จะกำหนดว่า ผู้ใช้สามารถทำอะไรได้บ้างและเข้าถึงข้อมูลประเภทใด
เป้าหมายหลักในการจัดการกับระบบรักษาความปลอดภัยที่ควรจะเป็น คือ

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

ระบบรักษาความปลอดภัยของ SQL Sever 7.0
ผู้ใช้สามารถทำการควบคุมการเข้าถึงฐานข้อมูลโยใช้องค์ประกอบต่างๆของแบบ จำลองระบบรักษาความปลอดภัยที่มีอยู่ใน SQL Sever ซึ่งองค์ประกอบต่างๆ มีดังนี้
1.โหมดการยืนยันสิทธิ์ของ SQL Sever ( SQL Sever Authentication Mode)
2. ล็อกอินเซิร์ฟเวอร์ (Sever login)
3.การอนุญาตสิทธ์ (Permission)
4. บทบาท (Role)

  • โหมดการยืนยันสิทธิ์ของ SQL Sever มีการยืนยันสิทธ์อยู่ 2 แบบ คือ
    • Windows NT Authentication เท่านั้น ทำงานได้ดีที่สุดเมื่อมีการเข้าถึงฐานข้อมูลภายในองค์กรเท่านั้น
    • ระบบรักษาความปลอดภัยแบบผสม ทำงานำได้ดีที่สุดเมื่อมีการเข้าถึงฐานข้อมูล

จากผู้ใช้ภายนอกหรือเมื่อคุฯณไม่ได้ใช้โดเมนของวินโดว์
ผู้ใช้สามรถตั้งค่าปฏิบัติการให้โหมดของระบบรักษาความปลอดภัยเหล่านี้ระดับ เซิร์ฟเวอร์และสามารถนำไปใช้กับฐานข้อมูลทั้งหมดในเครื่องเซิร์ฟเวอร์ได้

Windows NT Authentication
ด้วย Windows NT Authentication นั้น สามรถใช้บัญชีรายชื่อของผู้ใช้และของกลุ่มที่มีอยู่ในโดเมนวินโดว์เพื่อใช้ ยืนยันสิทธ์ได้ ซึ่งให้ผู้โดเมนสามารถเข้าถึงฐานข้อมูลได้ โดยไม่ต้องใช้ Login ID และรหัสผ่าน SQL Sever ประโยชน์คือ ผู้ใช้โดเมนไม่ต้องเก็บการติดตามของรหัสผ่ายหลาย ๆ ตัว และถ้าหากต้องการเปลี่ยนแปลรหัสผ่านของโดเมนที่ไม่มีผลต่อรหัสผ่านของ SQL Sever แต่อย่างใด อย่างไรก็ตาม ผู้ใช้ยังต้องทำงาที่ขึ้นอยู่กับเกณฑ์ต่าง ๆ ของแบบจำลองระบบรักษาความปลอดภัยของวินโดว์อยู่ กล่าวคือ สามารถใช้โมเดลระบบรักษาความปลอดภัยของวินโดว์ในการล็อคอินบัญชีรายชื่อ ตรวจสอบล็อคอิน ละบังคับให้ผู้ใช้เปลี่ยนรหัสผ่านเป็นระยะ ๆ ได้
เมื่อใช้ Windows NT Authentication แล้ว SQL Sever จะมีการรองรับผู้ใช้โดยอัตโนมัติโดยตั้งอยู่บนพื้นฐานของชื่อบัญชีรายชื่อ ผู้ใช้ หรือสมาชิกของกลุ่ม ถ้าผู้ใช้หรือกลุ่มของผู้ใช้นั้นได้รับอนุญาตให้ทำการเข้าถึงฐานข้อมูลได้ ผู้ใช้สามารถเข้าถึงฐานข้อมูลโดยอัตโนมัติ โดยค่าเริ่มต้นนั้นจะมีบัญชีรายชื่อผู้ใช้ภายในเครื่อง 2 ชื่อ ที่ถูกแก้ไขให้สามรถเข้าใช้งาน SQL Sever ซึ่งคือ บัญชีรายชื่อของกลุ่ม Administrator ภายในละบัญชีรายชื่อของผู้ใช้ที่เป็น Administrator ของเครื่องนั้น บัญชีรายชื่อภายในเครื่องจะถูกแสดงผลเป็น BULTIN\ หรือ COM-PUTERNAME\ ใน Enterprise Manager เช่น Administrator จะถูกแสดงเป็น BULTIN\Administrators
ระบบรักษาความปลอดภัยแบบผสมและล็อคอิน SQL Sever
การใช้งานระบบรักษาความปลอดภัยแบบผสม คือ การใช้การยืนยันสิทธ์ของ Windows NT และการล็อคอินของ SQL Sever ร่วมกัน ล็อคอินของ SQL Sever เป็นวิธีหลักที่ใช้โดยผู้ใช้ภายนอกบริษัท เช่น ผู้ใช้ฐานข้อมูลผ่านระบบอินเตอร์เน็ต แอพพลิเคชันที่สามารถเข้าถึง SQL Sever จากอินเตอร์เน็ตที่อาจถูกตั้งค่าปฏิบัติการให้ใช้บัญชีรายชื่อผู้ใช้ที่ได้ ระบุไว้โดยอัตโนมัติหรือมีกรอบโต้ตอบให้ผู้ใช้กรอก Login ID และรหัสผ่านของ SQL Sever ก็ได้
การใช้งานระบบรักษาความปลอดภัยแบบผสม ตอนแรก SQL Sever จะตรวจสอบว่าผู้ใช้กำลังทำการติดต่อโดยล็อคอินของ SQL Sever ที่ถูกต้องหรือไม่ ถ้าผู้ใช้มีล็อคอินและรหัสผ่านที่ถูกต้อง การติดต่อของผู้ใช้จะถูกตอบรับ ถ้าผู้ใช้มีรายชื่อที่ใช้ในการล็อคอินถูกต้องแต่มีรหัสผ่านที่ไม่ถูกต้อง การติดต่อของผู้ใช้ก็จะถูกปฏิเสธ SQL Sever จะตรวจสอบว่าข้อมูลของบัญชีรายชื่อที่มีอยู่ใน Windows NT ถ้าผู้ใช้ล็อคอินไม่ถูกต้องเท่านั้น ซึ่งในที่นี้ SQL Sever จะตรวจสอบว่าบัญชีรายชื่อของผู้ใช้ Windows NT นั้นได้รับการอนุญาตให้ติดต่อกับเซิร์ฟเวอร์ได้หรือไม่ ถ้าบัญชีรายชื่อนั้นได้รับอนุญาต ก็มีการตอบรับการติดต่อ แต่ถ้าไม่เป็นเช่นนั้นก็จะถูกปฏิเสธการติดต่อ
ฐานข้อมูลทั้งหมดที่มีอยู่ใน SQL Sever จะมีล็อคอินที่ถูกสร้างขึ้นมาพร้อมกับ SQL Sever อยู่แล้วด้วยจุดประสงค์พิเศษ ซึ่งล็อคอินเหล่านี้คือ sa, guest และ dbo

  • ล็อคอินเซิร์ฟเวอร์

สามารถ ตั้งค่าปฏิบัติการให้ทำการเข้าถึง SQL Sever ได้โดยมีการล็อคอินของเซิร์ฟเวอร์หรือบทบาท หรือทั้งคู่ การมีโหมดในการยืนยันสิทธิ์ 2 โหมดนั้นทำให้มีการล็อคอินของเซิร์ฟเวอร์ 2 ประเภท ผู้ใช้สามารถสร้างล็อคอินของโดเมนโดยใช้บัญชีรายชื่อของโดเมน ซึ่งสามารถเป็นบัญชีรายชื่อของผู้ใช้ บัญชีรายชื่อของกลุ่มแบบภายในเครื่อง หรือบัญชีรายชื่อของกลุ่มแบบ Global ได้ ผู้ใช้สามารถสร้างล็อคอินของ SQL Sever โดยระบุ Login ID และรหัสผ่านที่ไม่ซ้ำกัน มีล็อคอินหลายชื่อที่มีการตั้งค่าปฏิบัติการเอาไว้แล้ว ประกอบด้วย

    • กลุ่ม Administrator ภายในเครื่อง
    • บัญชีรายชื่อของ Administrators ภายในเครื่อง
    • ล็อคอิน sa
    • ล็อคอิน guest (เป็นล็อคอินที่ถูกตั้งค่าปฏิบัติการไว้ แต่จะไม่ทำงานโดยอัตโนมัติ)
    • ผู้ใช้ที่ชื่อ dbo (ผู้ใช้ที่ชื่อ dbo ผู้ใช้ฐานข้อมูลพิเศษ)

การทำงานด้วย Administrators
Administrator เป็นกลุ่มที่ผู้ใช้ที่มีอยู่ภายใน Database Sever โดยปกติแล้วสมาชิกของกลุ่มจะรวมถึงบัญชีรายชื่อภายในเครื่องที่มีสิทธ์เป็น Administrator และผู้ที่ใช้อื่น ๆ ที่ถูกกำหนดให้เป็นผู้ควบคุมระบบภายในเครื่องใน SQL Sever กลุ่มนี้จะถูกกำหนดให้ได้รับอนุญาตเป็น System Administrator (Sysadmin) ดดยบทบาทของเซิร์ฟเวอร์ตามค่าเริ่มต้น
การทำงานกับ Administrator
Administrator เป็นบัญชีรายชื่อของผู้ที่อยู่ภายในเซิร์ฟเวอร์ บัญชีรายชื่อนี้จะทำให้เป็นผู้มีสิทธ์ในระดับผู้บริหารระบบในระบบภายใน เครื่อง และในเบื้องต้นนั้นสามารถใช้บัญชีรายชื่อนี้ได้เมื่อติดตั้งระบบ หาดเครื่องเซิร์ฟเวอร์เป็นส่วนหนึ่งของโดเมน Windows NT แล้ว โดยปกติบัญชีรายชื่อที่ชื่อ Administrator จะมีสิทธ์พิเศษของโดเมนการใช้บัญชีรายชื่อนี้ใน SQL Sever จะได้รับอนุญาตให้เป็นผู้ที่มีบทบาทเป็น System Administrator ของเซิร์ฟเวอร์โดยค่าเริ่มต้น
หมายเหตุ ใน Enterprise Manager บทบาทของเซิร์ฟเวอร์จะถูกบอกด้วยชื่อเต็ม System Administrator และ
ชื่อปกติ เช่น Sysadmin แต่เมื่ออ้างถึงบทบาทของเซิร์ฟเวอร์ในโพรซิเดอร์ หรือ Transaction-
SQL ให้ใช้ชื่อปกติ เช่น Sysadmin ใน SQL Sever ไม่มีชื่อเต็มสำหรับบทบาทของ
ฐานข้อมูล ซึ่งไม่ตรงกับข้อกำหนดก่อนสำหรับบทบาทของเซิร์ฟเวอร์

การทำงานกับล็อคอิน sa
ล็อค อิน sa เป็นบัญชีรายชื่อของผู้ควบคุมระบบของ SQL Sever ด้วยรูปแบบของระบบรักษาความปลอดภัยใหม่ที่ถูกรวบรวมและเพิ่มเติมขึ้นนั้น ล็อคอิน sa จะไม่จำเป็นอีกต่อไป และโดยหลัก ๆ แล้วล็อคอินนี้จะถูกจัดทำขึ้นให้สามารถใช้ได้กับเวอร์ชันที่แล้ว ถ้าเป็นการล็อคของผู้ควบคุมระบบคนอื่นนั้น sa จะได้รับอนุญาตให้เป็นผู้ที่มีบทบาทเป็น System Administrator ของเซิร์ฟเวอร์ ดดยค่าเริ่มต้น เมื่อเริ่มต้น เมื่อติดตั้ง SQL Sever การล็อคอิน sa จะไม่ถูกกำหนดรหัสผ่าน ดังนั้น จึงควนกำหนดรหัสผ่านเพื่อปกกันผู้ที่ไม่ได้รับอนุญาตเข้าถึงเซิร์ฟเวอร์
การทำงานกับล็อคอิน Guest
ล็อค อิน Guest เป็นล็อคอินพิเศษที่สามารถเพิ่มให้ฐานข้อมูล เพื่อยอมให้ใครก็ตามที่มีล็อคอินของ SQL Sever เข่าเข้าถึงฐานข้อมูลได้ ผู้ที่เข้าถึงฐานข้อมูลโดยใช้บัญชีรายชื่อ Guest จะถูกกำหนดให้เป็นผู้ใช้ Guest และได้รับการถ่ายทอดสิทธิ์จากการอนุญาตสิทธ์ต่างๆ ของบัญชีรายชื่อ Guest เช่น หากตั้งค่าปฏิบัติการให้บัญชีรายชื่อของโดเมน GOTEAM ให้เข้าถึง SQL Sever ได้ซึ่ง GOTEAM สามารถเข้าถึงฐานข้อมูลโดยใช้ล็อคอิน Guest ได้ ดังนั้น เมื่อ GOTEAM เข้าถึงฐานข้อมูลด้วยล็อคอิน Guest บุคคลนั้นจะได้รับการถ่ายทอดทั้งหมดจากบัญชีรายชื่อ Guest ด้วย
โดยค่าเริ่มต้นแล้วล็อคอิน Guest ไม่มีอยู่ในฐานข้อมูลที่สร้างขึ้นมาใหม่ แต่สามารถสร้างหรือลบออกจากฐานข้อมูลได้ยกเว้นฐานข้อมูล Master และ Tempdb ผู้ใช้ส่วนใหญ่จะเข้าถึงฐานข้อมูล Master และ Tempdb
เป็น Guest จึงไม่สามารถลบบัญชีรายชื่อในชื่อ Guest ออกจากฐานข้อมูลเหล่านี้ได้ แต่ไม่ต้องกังวลเพราล็อคอิน Guest มีสิทธ์จำกัดในการทำงานฐานข้อมูล Master และ Tempdb
ก่อนการใช้ล็อคอิน Guest ควรบันทึกสิ่งเหล่านี้ไว้

  • การล็อคอิน Guest เป็นสมาชิกของบทบาทของเซิร์ฟเวอร์ Public และสามารถรับการถ่ายทอดสิทธิ์จากบทบาทนี้
  • บัญชีรายชื่อ Guest ต้องถูกกำหนดให้ฐานข้อมูล ก่อนที่จะมีใครสามารถเข้าถึงฐานข้อมูลในฐานะ Guest ได้
  • ล็อค อิน Guest มีการใช้เมื่อบัญชีรายชื่อของผู้ใช้มีการเข้าถึง SQL Sever เท่านั้น แต่จะไม่สามารถเข้าถึงฐานข้อมูลได้โดยใช้บัญชีรายชื่อของผู้ใช้นี้

การทำงานกับ dbo
เจ้าของฐานข้อมูลหรือ dbo ผู้ใช้ประเภทพิเศษของฐานข้อมูลและสามารถได้รับสิทธิ์พิเศษ กล่าวคือ ผู้ใช้ที่เป็นผู้สร้างฐานข้อมูลถือเป็นเจ้าของฐานข้อมูล dbo จะได้รับการถ่ายทอดสิทธิ์ทั้งหมดในฐานข้อมูล และสามารถถ่ายทอดสิทธิ์เหล่านี้ไปยังผู้ใช้คนอื่น ๆ ได้ เนื่องจากสมาชิกของผู้ที่มีบทบาทเป็น System Administrator ของเซิร์ฟเวอร์ถูกแม็ปกับผู้ที่ใช้ dbo ที่มีสิทธิ์พิเศษโดยอัตโนมัติ การลบ็อคอินโดยใช้บทบาทของ System Administrator จึงสามารถทำงานได้ทุกอย่างเหมือนกับ dbo
อ็อปเจ๊กที่ถุกสร้างขึ้นในฐานข้อมูลของ SQL Sever ก็มีเจ้าของเช่นเดียวกัน เจ้าของถูกอ้างถึงเป็นเจ้าของอ็อปเจ็คต์ของฐานข้อมูล อ็อปเจ็คต์ที่ถูกสร้างขึ้นโดยสมาชิกที่มีบทบาทเป็น System Administrator ของเซิร์ฟเวอร์นั้นจะถือว่าเป็นของผู้ใช้ dbo โดยอัตโนมัติ อ็อปเจ็คต์ที่ไม่ได้ถูกสร้างขึ้นโดยสมาชิกผู้ที่มีบทบาทเป็น System Administrator ของเซิร์ฟเวอร์จะถือว่าเป็นของผู้ใช้ที่สร้างอ็อปเจ็คต์ของเซิร์ฟเวอร์และ สร้างตารางชื่อ Sales เป็นของ dbo และมีคุณสมบัติครบถ้วนที่จะเป็น dbo.Sales หรือ Sales แต่ถ้าหาก GOTTEAM ไม่ได้เป็นสมาชิกของผู้ที่มีบทบาทเป็น System Administrator ของเซิร์ฟเวอร์ แต่ได้สร้างตารางชื่อ Sales ขึ้นมาจะถือว่า Sales เป็นของ GOTEAM และมีคุณสมบัติครบถ้วนที่จะเป็น GOTEAM. Sales
หมายเหตุ ทาง ด้านเทคนิค dbo ไม่ใช่การล็อคอินพิเศษ จึงไม่สามารถล็อคอินเข้าสู่เซิร์ฟเวอร์หรือฐานข้อมูลได้ในฐานะ dbo แต่เราเป็นผู้สร้างฐานข้อมูลหรือกลุ่มของอ็อปเจ็คต์ในฐานข้อมูลนั้น

  • การอนุญาตสิทธิ์

การ อนุญาตสิทธิ์เป็นการกำหนดให้ผู้ใช้สามารถทำงานกับ SQL Sever หรือฐานข้อมูลที่ได้รับสิทธิ์ตาม Login ID สมาชิกของกลุ่ม และสมาชิกของบทบาท ผู้ใช้ต้องได้รับการอนุญาตสิทธ์ที่เหมาสมก่อน พวกเขาจึงสามารถทำการเปลี่ยนแปลงการกำหนดของฐานข้อมูลหรือการเข้าถึงฐาน ข้อมูล ซึ่งใน SQL Sever มีการอนุญาตสิทธิ์อยู่ 3 ประเภท คือ
1.การอนุญาตสิทธ์ของอ็อปเจ็คต์
2. การอนุญาตสิทธิ์ของคำสั่ง
3. การอนุญาตสิทธิ์เต็มที่

  • การอนุญาตสิทธ์ของอ็อปเจ็คต์

การ อนุญาตสิทธ์ของอ็อปเจ็คต์จะควบคุมการเข้าถึงตาราง วิว คอลัมน์ และ Stored Procedure ซึ่งสามารถควบคุมการเข้าถึงอ็อปเจ็คต์เหล่านี้ได้ โดยการอนุญาตสิทธิ์ การปฏิเสธ หรือการยกเลิกความสามารถในการประมวลผลคำสั่ง หรือ Stored Procedure เช่น สามารถอนุญาตให้ผู้ใช้สามารถใช้คำสั่ง SELECT เข้อมูลชึ้นมาจากตารางได้ แต่ไม่ให้สิทธิ์ในการ Insert, Update หรือ Delete

การอนุญาตสิทธิ์ของอ็อปเจ็กต์


ประเภทของอ็อปเจ็คต์

การกระทำที่เป็นไปได้

Column

Select Update

Row

N/A (ถูกกำหนดที่ระดับของตารางซึ่งอาจมีผลกระทบกันหลาย ๆ คอลัมน์)

Stored Procedure

Execute

Table

Select, Insert, Update, Delete และ References

View

Select, Insert, Update และ Delete

2. การอนุญาตสิทธิ์ของคำสั่ง
การอนุญาตสิทธิ์ของคำสั่งจะควบคุมการจัดการต่าง ๆ เช่น การสร้างฐานข้อมูล หรือการเพิ่มอ็อปเจ็คต์ให้กับฐานข้อมูล ซึ่งมีเพียงสมาชิกที่อยู่ในบทบาทของ System Administrator และเจ้าของฐานข้อมูลเท่านั้นที่สามารถกำหนดการอนุญาตสิทธิ์ของคำสั่งได้ โดยค่าเริ่มต้นแล้วการล็อคอินปกติจะไม่ได้อนุญาตให้มีการอนุญาตสิทธิ์ของคำ สั่ง ผู้ใช้จะต้องระบุการอนุญาตสิทธอ์แก่ล็อคอินที่ไม่ใช่ผู้จัดการระบบ เช่น ถ้าผู้ใช้ต้องการให้มีการสร้างวิวในฐานข้อมูลได้ ผู้ใช้ต้องกำหนดให้ล็อคอินของผู้ใช้สามารถใช้ Create View ได้
การอนุญาตสิทธิ์ของคำสั่ง


การอนุญาตสิทธิ์

คำอธิบาย

Create Database

กำหนด ว่าล็อคอินนั้นสามารถสร้างฐานข้อมูลได้ ผู้ใช้จะต้องอยู่ในฐานข้อมูล Master หรือเป็นสมาชิกของผู้ที่มีบทบาทเป็น System Administrator ของเซิร์ฟเวอร์

Create Default

กำหนดว่าผู้ใช้สามารถสร้างค่าเริ่มต้นให้แก่คอลัมน์ของตารางได้

Create Procedure

กำหนดว่าผู้ใช้สามารถสร้าง Stored Procedure ได้

Create Rule

กำหนดว่าผู้ใช้สามารถสร้างกฎของคอลัมน์ของตารางได้

Create Table

กำหนดว่าผู้ใช้สามารถสร้างตารางได้

Create View

เป็นการกำหนดให้ผู้ใช้สามารถสร้างวิว ได้

Backup Database

กำหนดให้ผู้ใช้สามารถสำรองข้อมูลได้

Backup Log

กำหนดว่าผู้ใช้สามารถสำรอง Transaction Log ได้

3. การอนุญาตสิทธิ์เต็มที่
สมาชิกของบทบาทของระบบที่ได้กำหนดไว้ก่อนในฐานข้อมูล/เจ้าของอ็อปเจ็คต์ของ ฐานข้อมูลเท่านั้นที่สามารถปฏิบัติงานกับการอนุญาตสิทธิ์เต็มที่ได้ การอนุญาตสิทธิ์เต็มที่สำหรับบทบาทไม่สามารถเปลี่ยนหรือประยุกต์ใช้กับบัญชี รายชื่ออื่น ๆ ได้ (ยกเว้นบัญชีรายชื่อเหล่านี้เป็นสมาชิกของบทบาท) เช่น สมาชิกของ System Administrator สามารปฏิบัติงานใด ๆ ใน SQL Sever ได้ พวกเขาสามารถขยายฐานข้อมูล หรือยกเลิกการทำงานได้ คุณไม่สามารถยกเลิกหรือให้สิทธิ์เหล่านี้แก่บัญชีรายชื่ออื่น ๆ ได้ ฐานข้อมูลเจ้าอ็อปเจ็คต์ฐานข้อมูลจะได้รับสิทธิ์การอนุญาตสิทธิ์เต็มที่นี้ ด้วย ซึ่งเป็นการอนุญาตให้ปฏิบัติงานใด ๆ ทั้งในฐานข้อมูลและอ็อปเจ็คต์ที่ตนเป็นเจ้าของได้ เช่น ผู้ใช้ที่เป็นเจ้าของตารางจะสามารถดู เพิ่ม เปลี่ยนแปลง ลบข้อมูล และสามารถเปลี่ยนแปลงรายละเอียดในตารางและควบคุมการอนุญาตของตาราได้ด้วย

  • บทบาท (Role)

บทบาท คล้ายกับการ Windows NT มาก คือ ยอมให้คุณสามารถกำหนดการอนุญาตสิทธิ์ให้แก่กลุ่มของผู้ใช้ได้ง่าย และมีการอนุญาตที่ถูกสร้างมาให้พร้อมกับระบบ (การอนุญาตสิทธิ์เต็มที่) ซึ่งสามารถเปลี่ยนแปลงได้ บทบาทมี 2 ประเภท คือ

  • บทบาทของเซิร์ฟเวอร์ ใช้ที่ระดับเซิร์ฟเวอร์
  • บทบาทของฐานข้อมูล ใช้ระดับฐานข้อมูล
  • บทบาทของเซิร์ฟเวอร์

ผู้ ใช้บทบาทของเซิร์ฟเวอร์ในการอนุญาตให้สามารถควบคุมระบบของเซิร์ฟเวอร์ได้ ถ้าผู้ใช้ทำการสร้างล็อคอินให้กับสมาชิกของของบทบาท ผู้ใช้ที่ใช้ล็อคอินนี้สามารถปฏิบัติงานตามบทบาทที่ได้รับอนุญาตไว้ได้ เช่น สมาชิกที่มีบทบาทเป็น System Administrator จะได้รับการอนุญาตสิทธิ์มากที่สุดใน SQL Sever และสามารถปฏิบัติงานใด ๆ ก็ได้
บทบาทของเซิร์ฟเวอร์จะถูกกำหนดที่ระดับเซิร์ฟเวอร์และมีการกำหนดไว้ก่อน ซึ่งหมายความว่าการอนุญาตสิทธิ์เหล่านี้จะมีผลต่อเซิร์ฟเวอร์ทั้งหมดและไม่ สามารถเปลี่ยนแปลงการกำหนดการอนุญาตสิทธิ์นี้ได้ ซึ่งส่วนต่อว่าจะแสดงสรุปบทบาทของเซิร์ฟเวอร์แต่ละประเภทจากระดับต่ำสุด (ผู้สร้างฐานข้อมูล)จนระดับสูงสุด (System Administrator )
ผู้สร้างฐานข้อมูล (DBcreator) บทบาทของ dbcreator นั้นถูกออกแบบเพื่อใช้กับผู้ใช้ที่ต้องการสร้างหรือปรับปรุงแก้ไขฐานข้อมูล สมาชิกที่อยู่ในบทบาทนี้สามารถเพิ่มสมาชิกไปใช้กับผู้ที่ต้องการจัดการกับ ไฟล์ของดิสก์ สมาชิกของบทบาทนี้สามารถเพิ่มสมาชิกไปใน dbcretor สามารถใช้คำสั่ง ALTER DATABASE, CREATEDATABASE และ sp_rcnamedb ได้
ผู้ควบคุมระบบดิสก์ (Diskadmin) บทบาทของ Diskadmin ถูกออก แบบเพื่อใช้กับผู้ใช้ที่ต้องการจัดการกับไฟล์ของดิสก์ สมาชิกของบทบาทนี้สามารถเพิ่มสมาชิกไปใน Diskadmin และสามารถใช้คำสั่ง DISK INIT, DISK MIRROR, DISK REEIT, DISK REINIT,DISK REMIRROR, sp_addumpdevice, sp_diskdefault และ sp_dropdevice ได้
ผู้ควบคุมระบบประมวลผล (Processadmin) บทบาทของ Processadmin ถูกออกแบบเพื่อให้ใช้กับผู้ใช้ที่ต้องการควบคุมการประมวลผลของ SQL Sever สมาชิกที่อยู่ในบทนี้สามารถเพิ่มสมาชิกไปใน Processadmin และสามารถยกเลิกการประมวลผลได้
ผู้ควบคุมระบบความรักษาความปลอดภัย (Securityadmin) บทบาทของ Securityadmin ถูกออกแบบเพื่อให้ใช้กับผู้ใช้ซึ่งต้องการจัดการกับล็อคอิน สร้างการอนุญาตสิทธิ์ให้กับฐานข้อมูลและอ่านไฟล์ Log ที่เป็นข้อผิดพลาด สมาชิกที่อยู่ในบทบาทนี้สามารถเพิ่มสมาชิกไปใน Securityadmin และสามรถอนุญาต ปฏิเสธ และยกเลิกการ create Database และอ่านไฟล์ Log ได้ พวกเขาสามารถทำงานต่าง ๆ ดังนี้ได้ sp_addlinkedsrvlogin, sp_addlogin, sp_defaultdb,
Sp_dfaultlanguage, sp_denylohin, sp_droplinkedsrvlogin, sp_droplogin, sp_grantlogin, sp_helplogins, sp_remoteoption และ sp_revokelogin
ผู้ควบคุมเซิร์ฟเวอร์ (Severadmin) บทบาทของ severadmin ถูกออก แบบเพื่อให้ใช้กับผู้ใช้ที่ต้องการกำหนดตัวเลือกของการตั้งค่าปฏิบัติการให้ กับเซิร์ฟเวอร์และการปิดเครื่องเซิร์ฟเวอร์ สมาชิกในกลุ่มนี้สามารถเพิ่มสมาชิกไปใน severadmin และสามารถใช้คำสั่ง DBCC PINTABLE, RECONFIGURE, SHUTDOWN, sp_configure และ sp_tableoption ได้
ผู้ควบคุมระบบติดตั้ง (Setupadmin) บทบาทของ Setupadmin กู กออกแบบเพื่อให้ใช้กับผู้ใช้ที่ต้องการจัดการเซิร์ฟเวอร์ที่ต้องการเชื่อม ต่อกันอยู่และการควบคุมกระบวนการในตอนเริ่มใช้งาน สมาชิกในกลุ่มนี้สามารถเพิ่มสมาชิกไปใน Setupadmin และสามารถเพิ่ม ลบ และตั้งค่าปฏิบัติการให้กับเซิร์ฟเวอร์ที่ต้องการเชื่อมต่ออยู่ และสามารถควบคุมขั้นตอนการเริ่มใช้งานได้
ผู้ควบคุม (Sysadmin) บทบาทของ Sysadmin ถูกออก แบบ เพื่อให้ใช้กับผู้ใช้ที่ต้องการควบคุมการทำงานของ SQL Sever และติดตั้งฐานข้อมูลทั้งหมด สมาชิกในกลุ่มนี้สามารถทำงานได้ทุกอย่าง

  • บทบาทของฐานข้อมูล

เมื่อ ผู้ใช้ต้องการกำหนดการอนุญาตสิทธิ์ที่ระดับฐานข้อมูล สามารถใช้บทบาทของฐานข้อมูลได้ บทบาทของฐานข้อมูลจะถูกกำหนดให้ตั้งให้อยู่บนพื้นฐานต่อฐานข้อมูล หมายความว่า ฐานข้อมูลแตะละตัวจะมีบทบาทเป็นของตัวเอง ซึ่ง SQL Sever 7.0 ให้การสนับสนุนบทบาทของฐานข้อมูลอยู่ 3 ประเภท

    • บทบาทมาตรฐานที่ผู้ใช้กำหนดขึ้น
    • บทบาทของแอพพริเคชันที่ผู้ใช้กำหนดขึ้น
    • บทบาทของฐานข้อมูลที่มีการกำหนดไว้ก่อน (หรือกำหนดไว้ตายตัว)
    • บทบาท มาตรฐานยอมให้ใช้สร้างบทบาทด้วยการให้อนุญาตสิทธิ์ และการให้สิทธิ์โดยเฉพาะผู้ใช้สามารถใช้บทบาทมาตรฐานในการรวมกลุ่มผู้ใช้ไว้ ด้วยกัน แล้วกำหนดการอนุญาตสิทธิ์อย่างเดียวให้บทบาทนั้นแทนที่จะต้องให้สิทธิ์แก่ ผู้ใช้ทีละคน เช่น ผู้ใช้สามารถสร้างบทบาทที่เรียกว่า Usersc และอนุญาตให้ผู้ใช้สามารถใช้คำสั่ง SELECT, INSERT, และ UPDATE ที่ตารางที่ระบุไว้ในฐานข้อมูล แต่ไม่อนุญาตให้มีสิทธิ์ทำงานอื่น ๆ
    • บทบาท ของแอพพริเคชัน ยอมให้ผู้ใช้สร้างบทบาทที่มีการรักษาความปลอดภัยด้วยรหัสผ่านสำหรับแอพพริเค ชันที่ได้ระบุไว้ เช่น ผู้ใช่สามารถติดต่อผ่านทางแอพพริเคชันที่ใช้เก็บที่ชื่อ NetReady ซึ่งแอพพริเคชันนี้จะใช้บทบาทได้และผู้ใช้ก็สามารถได้รับการอนุญาตสิทธิ์และ การให้สิทธิ์ได้ ผู้ใช้หรือบทบาทอื่น ๆ ไม่สามารถกำหนดบทบาทของแอพพริเคชันได้ซึ่งบทบาทของแอพพริเคชันจะพร้อมใช้งาน เมื่อแอพพริเคชันนั้นได้เชื่อมต่อกับฐานข้อมูลแล้ว
    • SQL Sever มีบทบาทฐานข้อมูลที่ได้มีการกำหนดไว้เช่นกัน ซึ่งเป็นบทบาทที่มีการให้ระบบอยู่แล้วและมีการอนุญาตสิทธิ์ที่ไม่สามารถ เปลี่ยนแปลงได้ ผู้ใช้สามารถใช้บทบาทของฐานข้อมูลที่ได้มีการกำหนดไว้กับการกำหนดสิทธิ์ เพื่อทำการควบคุมระบบฐานข้อมูลและสามารถกำหนดให้ใช้ล็อคอินเดียวใช้หลาย บทบาทได้

Public บทบาทของฐานข้อมูลสาธารณะ เป็นบทบาทที่เป็นค่าเริ่มต้นที่ได้กำหนดให้กับผู้ใช้ฐานข้อมูลทั้งหมด ผู้ใช้ได้รับการถ่ายทอดอนุญาตสิทธิ์และการให้สิทธิ์พิเศษของบทบาทสาธารณะ และบทบาทนี้ใช้แทนการอนุญาตสิทธิ์และการให้สิทธิพิเศษที่เป็นขั้นต่ำที่สุด บทบาทใด ๆ ที่คุณกำหนดให้แก่ผู้อยู่นอกเหนือบทบาทสาธารณะ ให้เพิ่มการให้อนุญาตสิทธิ์และการให้สิทธิ์พิเศษ ถ้าผู้ใช้ต้องการให้ผู้ใช้ฐานข้อมูลทุกคนได้รับการอนุญาตสิทธิพิเศษให้กำหนด การอนุญาตสิทธิ์นั้นให้แก่บทบาทสาธารณะ
db_accessadmin เป็น บทบาทที่กำหนดขึ้นสำหรับผู้ใช้ที่ต้องการเพิ่มหรือลบล็อคอินในฐานข้อมูล สมาชิกในบทบาทนี้สามารถทำได้ง่าย ๆ ในฐานข้อมูลที่ถูกเลือกไว้ดังนี้ sp_addalias , sp_adduser, sp_dropalias , sp_dropuser , sp_grantdbaccess และsp_revokedbaccess
db_backupoperator เป็นบทบาทที่กำหนดขึ้นสำหรับผู้ใช้ที่ต้องการสำรองฐานข้อมูลสมาชิกในบทบาท นี้สามารถทำงานต่าง ๆ ในฐานข้อมูลที่ถูกเลือกไว้ดังนี้ BACKUP FATABASE , BACKUP LOG , CHECKPOINT , DBAA CHEKALLOC , DBCC CHECKCATALOG , DBCC CHECKDB , DBCC TEXTALL , DBCC TEXTALLOC , AND DBCCUPDATEUSAGE
db_datareader เป็นบทบาทที่กำหนดขึ้นสำหรับผู้ใช้ที่ต้องการดูข้อมูลในฐานข้อมูลสมาชิกใน บทบาทนี้สามารถเลือกดูข้อมูลทั้งหมดจากทุกตารางในฐานข้อมูลได้
db_datawriter เป็นบทบาทที่กำหนดขึ้นสำหรับผู้ใช้ที่ต้องการปรับปรุงข้อมูลในตารางที่อยู่ ในฐานข้อมูล สมาชิกในบทบาทนี้สามารถใช้งานอ็อปเจ็กต์ในฐานข้อมูลที่เลือกไว้ได้ ดังนี้ DELETE , INSERT และUPDATE
db_ddlladmin เป็นบทบาทที่กำหนดขึ้นสำหรับผู้ใช้ที่ต้องการทำงานที่เกี่ยวข้องกับ Data Definiton Language (DDL) ของ SQL Server สมาชิกในบทบาทนี้สามารถส่งค่าคำสั่งของ DDL ใดออกไปก็ได้ ยกเว้นคำสั่ง GRANT , REVOKE หรือ DENY สมาชิกในบทนี้สามารถทำงานต่าง ๆ ในฐานข้อมูลที่ถูกเลือกไว้ได้ ดังนี้ REFEREBCES , sp_changeobjectowner , sp_procoption , sp_recompile , sp_rename และ sp_tableoption
db_denydatareader เป็นบทบาทที่กำหนดขึ้น เพื่อใช้จำกัดการเข้าถึงข้อมูลในฐานข้อมูลด้วยการล็อกอิน สมาชิกในบทบาทนี้สามารถปฏิเสธ หรือยกเลิกการให้อนุญาตสิทธิ์ในการใช้คำสั่ง SELECT กับอ็อปเจ็กต์ในฐานข้อมูลได้
db_denydatawriter เป็นบทที่กำหนดขึ้นเพื่อใช้จำกัดการอนุญาตสิทธิ์ในการปรับปรุงฐานข้อมูลโดย การล็อกอิน สมาชิกของบทบาทนี้สามารถปฏิเสธ หรือยกเลิกการให้อนุญาตสิทธิ์ในการใช้คำสั่ง INSERT , UPDATE และ DELETE กับอ็อบเจ็กต์ที่อยู่ในฐานข้อมูลได้
db_seurityadmin เป็นบทบาทที่กำหนดขึ้นให้กับผู้ใช้ที่ต้องการจัดการกับการให้อนุญาตสิทธิ์ เจ้าของอ็อบเจ็กต์ และบทบาท สมาชิกที่อยู่ในบทบาทนี้สามารถทำงานต่าง ๆ ในฐานข้อมูลที่เลือกไว้ได้ ดังนี้ DENY , GRANT , REVOKE , sp_addapprole , sp_addrole , sp_addrloemember , sp_addrolepassword , sp_changeobjectowner , sp_dropapprole , sp_droprole และ sp_droprolemember
db_owner เป็นบทบาทที่กำหนดขึ้นสำหรับผู้ใช้ที่ต้องการควบคุมงานทุกด้านในฐานข้อมูล สมาชิกในบทบาทนี้สามารถกำหนดสิทธิ์ ปรับปรุงการตั้งค่าในฐานข้อมูล การบำรุงรักษาฐานข้อมูลและทำงานในการควบคุมระบบอื่น ๆ ในฐานข้อมูลได้
การจัดการกับล็อคอินของเซิร์ฟเวอร์
SQL Server สามารถใช้ล็อกอินของฌดเมนที่อยู่ในวินโดวส์และล็อกอินใน SQL Server ได้ ถ้าตั้งค่าปฏิบัติการให้เซิร์ฟเวอร์เป็นระบบรักษาความปลอดภัยแบบผสม ผู้ใช้สามารถใช้ล็อคอินทั้ง 2 แบบ หรือถ้าตั้งค่าปฏิบัติการเป็นแบบอื่นจะสามารถใช้ล็อกอินของโดเมนที่อยู่ใน วินโดว์ได้เท่านั้น
การดูแลและการแก้ไขล็อคอินที่มีอยู่
การดูแลการดูแลและการแก้ไขล็อคอินสามารถทาตามขั้นตอนต่าง ๆ ดังนี้

  • เริ่มใช้งาน Enterprise Manager แล้วเข้าไปที่เซิร์ฟเวอร์ที่ต้องการทำงานด้วย
  • ในโฟลเดอร์ Security ของเซิร์ฟเวอร์เลือกรายการ Logins ในกรอบด้านซ้ายซึ่งในขณะนี้กรอบด้านขวาจะแสดงล็อคอินปัจจุบัน

  • Name คือ ชื่อล็อคอิน
  • Type คือ ประเภทของล็อกอินซึ่ง Standard คือ ล็อคอินของ SQL Server , Windows NT User คือ บัญชีรายชื่อผู้ใช้ของโดเมนและ Windows NT Group คือ บัญชีรายชื่อกลุ่มของโดเมน
  • Server Access คือ ประเภทของการให้อนุญาตสิทธิ์ผู้ใช้ในการเข้าถึงเซิร์ฟเวอร์ Permit หมายถึง ผู้ใช้สามารถเข้าถึงเซิร์ฟเวอร์ได้ Deny หมายถึงผู้ใช้ไม่สามารถเข้าถึงเซิร์ฟเวอร์ได้
  • Default Database คือ ค่าเริ่มต้นของฐานข้อมูลสำหรับผู้ใช้
  • User คือ ชื่อของผู้ใช้ที่ใช้ในการล็อคอินในฐานข้อมูล
  • Default Language คือ ค่าเริ่มต้นของภาษาที่ใช้กับผู้ใช้
  • การ ดูบทบาทของเซิร์ฟเวอร์และสิทธิ์ในการเข้าถึงฐานข้อมูลของผู้ใช้ ให้ดับเบิ้ลคลิกที่ชี่อผู้ใช้ที่อยู่นารายการของผู้ใช้ในกรอบด้านขวา ซึ่งจะเปิดกรอบโดยโต้ตอบ SQL Server Login Properties ขึ้น
  • สามารถ แก้ไขคุณสมบัติต่าง ๆ ให้กับบัญชีรายชื่อนี้ได้โดยใช้ฟิลด์ต่าง ๆ ที่อยู่ในแท็ป General, Server Roles และ Database Access ได้

การดูแลและแก้ไขล็อคอินที่มีอยู่ โดยใช้คำสั่ง Transaction – SQL

sp_helpogis [[@LoginNamePattern = ]] ‘login’]


การใช้งาน
EXEC sp_helplogins sa

การสร้างล็อคอินโดย Enterprise Manager
สามารถล็อคอินใหม่ใน Enterprise Manager โดยการใช้ Creater Login Wizard หรือกรอบโต้ตอบ Login Properties ได้ เนื่องจากขั้นตอนทั้งสองวิธีนี้มีความใกล้เคียงกันมาก แต่ในที่นี้จะเน้นการใช้กรอบตอบโต้ Login Properties และให้คุณใช้เทคนิคต่าง ๆ ของกรอบโต้ตอบ Create Login Wizard ถ้าต้องกานใช้วิซาร์ดให้ไปที่เมนู Tool แล้วเลือก Wizards ต่อมาให้คลิกที่เครื่องหมาย (+) ด้านหน้า Database แล้วดับเบิ้ลคลิก Create Login Wizard
การสร้างล็อคอินของ SQL มีขั้นตอนดังนี้

  • เปิด Enterprise Manager แล้วเข้าสู่ Server ที่ต้องการ
  • ในโฟลเดอร์ Security ของ Server ให้คลิกขวาที่รายการ Logins และเลือก New Login จะเปิดกรอบโต้ตอบ SQL Server Login Properties

  • ในฟิลด์ Name ให้พิมพ์ชื่อของบัญชีรายชื่อที่ต้องการให้เช่น Zebra
  • ถ้า กำลังสร้างล็อคอินของบัญชีรายชื่อโดเมน ให้เลือกปุ่มตัวเลือก Windows NT Authentication แล้วใช้คอมโบบ็อกซ์ Domain เพื่อสร้างโดเมนที่ต้องการใช้ ให้พิมพ์ชื่อโดเมนลงในคอมโบบ็อกซ์
  • การอนุญาตให้เข้าถึง Server ให้เลือกที่ปุ่มตัวเลือก Grant Access
  • การปฏิเสธการเข้าถึง Server ให้เลือกที่ปุ่ม Deny Access
  • ถ้าต้องการสร้างล็อคอิน SQL Server ใหม่ ให้เลือกที่ปุ่มตัวเลือก SQL Server Authentication แล้วใส่รหัสผ่าน
  • การ ระบุฐานข้อมูลและภาษาที่เป็นค่าเริ่มต้นสำหรับล็อคอิน การกำหนดค่าเริ่มต้นของฐานข้อมูลนั้นไม่ได้เป็นการใช้สิทธิ์ของล็อคอินในการ เข้าถึงฐานข้อมูลซึ่งเป็นเพียงการระบุถึงฐานข้อมูลที่จะไม่มีการระบุถึงชื่อ ฐานข้อมูลไว้ในคำสั่ง
  • คลิก OK เพื่อสร้างล็อคอินใน SQL Server Authentication ให้ยืนยันโดยการกรอกรหัสผ่านอีกครั้ง เมื่อมี Promp ขึ้นมา

การสร้างล็อคอินใหม่โดยใช้คำสั่ง Transaction – SQL

sp_addlogin [@loginname =] ‘login’
[,[@passwd =] ‘password’]
[,[@defdb =] ‘database’]
[,[@deflanguage =] ‘language’]
[,[@sid =] ‘sid’]
[,[@encryptopt =] ‘encryption_option’]

การใช้งาน
EXEC sp_addlogin webtr , webtester , Customer , us_english

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

  • เริ่มใช้งาน Enterprise Manager แล้วเข้าถึงเซิร์ฟเวอร์ที่ต้องการ
  • ในโฟเดอร์ Security ของเซิร์ฟเวอร์ให้เลือกรายการ Logins ในกรอบด้านซ้าย
  • ในกรอบด้านขวา ให้ดับเบิ้ลคลิกที่บัญชีรายชื่อที่ต้องการทำงานด้วย และกรอบโต้ตอบ SQL Server Login Properties จะปรากฏขึ้น

  • การอนุญาตให้เข้าถึงเซิร์ฟเวอร์ให้เลือกที่ปุ่มตัวเลือก Grant Access
  • การปฏิเสธการเข้าถึงเซิร์อเวอร์ให้เลื่อกที่ปุ่มตัวเลือก Deny Access
  • คลิก OK

การปฏิเสธการเข้าถึงเซิร์ฟเวอร์โดยใช้คำสั่ง Transaction – SQL

sp_denylogin [@[loginname =] ‘login’


การใช้งาน
EXEC sp_denylogin BUTLTIN

การอนุญาตการเข้าถึงเซิร์ฟเวอร์โดยใช้คำสั่ง Transaction – SQL

sp_grantlogin [@loginname =] ‘login’


การใช้งาน
EXEC sp_grantlogin BUTLTIN

การลบล็อคอินโดย Enterprise Manager
เมื่อผู้ใช้ไม่ต้องการใช้ล็อคอินนั้นอีกต่อไป ผู้ควบคุมระบบจะต้องลบล็อคอินออกจาก SQL Server ดังนี้

  • เปิด Enterprise Manager แล้วเข้าสู่ server ที่ต้องกาน
  • ในโฟลเดอร์ Security ของ server ให้คลิกขวาที่รายการ Logins ในกรอบด้านซ้าย
  • คลิกขวาที่ล็อคอินที่ต้องการลบ แล้วเลือก Delete จากเมนูลัด

เมื่อมี Prompt ขึ้นมาให้เลือกที่ Yes เพื่อยืนยัน

การลบชื่อผู้ใช้และกลุ่มในของบัญชีรายชื่อของวินโดว์ล็อคอิน Transaction – SQL

sp_revokelogin [@loginname =] ‘login’


การใช้งาน
EXEC sp_revokelogin GALAXY\WRSTANEK

การลบล็อคอิน QSL Server โดยใช้ Transaction – SQL

sp_droplogin [@loginname =] ‘login’


การใช้งาน
EXEC sp_droplogin Zebra

การเปลี่ยนรหัสผ่านโดย Enterprise Manager
ผู้ใช้สามารถเปลี่ยนรหัสผ่านของตนเองหรือให้ผู้ควบคุมระบบของวินโดว์ยกเลิกรหัสผ่านให้ได้ซึ่งมีขั้นตอนดังนี้

  1. เปิด Enterprise Manager แล้วเข้าสู่ Server ที่ต้องการ
  2. ในโฟลเดอร์ Security ของ Server ให้คลิกขวาที่รายการ Logins ในกรอบด้านซ้าย
  3. ดับเบิลคลิกที่ล็อคอินที่ต้องการเปลี่ยน ซึ่งจะปรากฏหรอบโต้ตอบ SQL Server Login Properties ขึ้น

  1. พิมพ์รหัสผ่านใหม่เข้าไปในฟิลด์ Password แล้วคลิก OK
  2. เมื่อมี Prompt ขึ้นมา ให้กรอกรหัสผ่านใหม่อีกครั้ง แล้วคลิก OK

การเปลี่ยนรหัสผ่านโดย Transaction – SQL

sp_password [[@old =] ‘old_password’,] {[@new =] ‘new_password’}
[,[@loginname =] ‘login’]


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

  1. เริ่มใช้ Enterprise Manager แล้วเข้าถึงเซิร์ฟเวอร์ที่ต้องการใช้งาน
  2. ในโฟลเดอร์ Security ของเซิร์ฟเวอร์ให้เลือกรายการ logins ในกรอบด้านซ้าย
  3. ดับเบิ้ลคลิกที่ล็อคอินที่ต้องการจะต้องค่าปฏิบัติการ กรอบโต้ตอบ SQL Server Login Properties จะปรากฏขึ้น
  4. เลือกแท็ป Server Roles
  5. อนุญาตให้ใช้งานบทบาทของเซิร์ฟเวอร์โดยเลือกเช็คบ็อกซ์ด้านหน้าบทบาทที่คุณต้องการใช้
  6. เมื่อตั้งค่าปฏิบัติการให้กับบทบาทของเซิร์ฟเวอร์แล้วให้เลิก OK

การเพิ่มล็อคอินให้แก่บทบาทของเซิร์ฟเวอร์ โดย Transaction-SQLL
Sp_addrsvrolemenber[@loginname=]’login’,[@rolename=]’role’

การใช้งาน
EXEC sp_addsrvrolemember GALAXY\WRSTANEK,sysadmin

การลบล็อคอินให้แก่บทบาทของเซิร์ฟเวอร์โดย Transaction – SQL

การใช้งาน
EXEC sp_dropsrvrolemember GALAXY\WRSTANEK , sysadmin

การกำหนดบทบาทให้กับหลายล็อคอินโดย Enterprise Manager
วิธีที่ง่ายที่สุดในการกำหนดบทบาทให้แก่ล็อคอินหลาย ๆ ตัว คือ ใช้กรอบโต้ตอบ Server Roles Properties การเข้าถึงกรอบโต้ตอบนี้ และการตั้งค่าปฏิบัติการให้ล็อคอินหลาย ๆ ตัว มีขั้นตอน ดังนี้

  1. เริ่มใช้ Enterprise Manager แล้วเข้าถึงเซิร์ฟเวอร์ที่ต้องการใช้งาน
  2. ในโฟลเดอร์ Security ของเซิร์ฟเวอร์ให้เลือกที่รายการ Server Role ในกรอบด้านซ้าย
  3. ที่ กรอบด้านขวาให้ดับเบิลคลิกที่บทบาทของเซิร์ฟเวอร์ที่ต้องการตั้งค่าปฏิบัติ การ ซึ่งจะเป็นการเปิดกรอบโต้ตอบ Server Role Properties ขึ้น

  1. คลิ กปุ่ม Add เพื่อเพิ่มล็อคอิน และในกรอบโต้ตอบ Add Members ให้เลือกล็อคอินที่คุณต้องการเพิ่ม การเลือกล็อคอินหลาย ๆ ตัวสามารถทำได้โดยกดปุ่ม Ctrl หรือ Shift ค้างไว้ ในขณะที่ล็อคอินอยู่
  2. การลบล็อคอิน ให้เลือกที่ล็อคอินแล้วคลิกปุ่ม Remove
  3. คลิกแท็ป Permission เพื่อดูการอนุญาตสิทธิ์ที่รวมอยู่ในบทบาทของเซิร์ฟเวอร์แล้ว ให้คลิก OK

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

การกำหนดการเข้าถึงและบทบาทด้วยล็อคอินโดย Enterprise Manager
สำหรับการล็อคอินแต่ละตัวนั้นผู้ใช้สามารถอนุญาตให้เข้าถึงฐานข้อมูล และกำหนดบทบาทได้ดังนี้

  1. เริ่มใช้ Enterprise Manager แล้วเข้าถึงเซิร์ฟเวอร์ที่ต้องการใช้งาน
  2. ในโฟลเดอร์ Security ของเซิร์ฟเวอร์ให้เลือกรายการ Logins ในหน้าต่างด้านซ้าย
  3. ดับเบิ้ลคลิกที่ล็อคอินที่ต้องการตั้งค่าปฏิบัติการ กรอบโต้ตอบ SQL Server Login Properties จะปรากฏขึ้น
  4. คลิกที่แท็ป Database Access
  5. เลือก เช็คบ็อกซ์ของฐานข้อมูลที่ล็อคอินมีการเข้าถึง และในลิสต์บ็อกซ์ Permit In Database Role ให้เลือกเช็คบ็อกซ์ด้านหน้าบทบาทของฐานข้อมูลที่ล็อคอินนี้มีอยู่ในฐาน ข้อมูลที่ถูกเลือกไว้

  1. ทำขั้นตอนที่ 5 กับฐานข้อมูลอื่น ๆ ที่ล็อคอินนี้จะมีการเข้าถึงอีกครั้ง
  2. เมื่อตั้งค่าปฏิบัติการให้บทบาทของฐานข้อมูลแล้ว ให้คลิก OK

การกำหนดบทบาทให้ล็อคอินหลาย ๆ ตัว โดย Enterprise Manager
ในระดับของฐานข้อมูลนั้น ผู้ใช้สามารถกำหนดบทบาทของฐานข้อมูลให้แก่ล็อคอินหลาย ๆ ตัวได้ ตามขั้นตอนดังนี้

  1. เริ่มใช้ Enterprise Manager แล้วเข้าถึงเซิร์ฟเวอร์ที่ต้องการใช้งาน
  2. ในโฟลเดอร์ Database คลิกที่เครื่องหมาย (+) ที่ด้านหน้าฐานข้อมูลที่ต้องการทำงานด้วย
  3. ในหน้าต่างด้านซ้าย ให้เลือก Roles เพื่อแสดงรายการของบทบาทของฐานข้อมูลในกรอบด้านขวา
  4. ดับเบิ้ลคลิกที่บทบาทที่ต้องการตั้งค่าปฏิบัติการ ซึ่งจะทำให้กรอบโต้ตอบ Database Role Properties ปรากฎขึ้น

  1. การ เพิ่มสมาชิกบทบาท ให้คลิกที่ Add แล้วในกรอบโต้ตอบ Add Role Members ให้เลือกล็อคอินที่ต้องการเพิ่ม การเลือกล็อคอินหลาย ๆ ตัวให้กดปุ่ม Ctrl หรือ Shift ค้างไว้ในขณะที่คลิกชื่อล็อคอิน
  2. การลบสมาชิกของบทบาทนั้น ให้เลือกที่ล็อคอินแล้วคลิก Remove
  3. เมื่อตั้งค่าปฏิบัติการให้บทบาทของฐานข้อมูลเสร็จแล้ว ให้คลิก OK

การสร้างบทบาทของฐานข้อมูลแบบมาตรฐานโดย Enterprise Manager
แม้ ว่าบทบาทที่ได้มีการกำหนดไว้แล้วนั้น จะมีการอนุญาตสิทธิ์ประเภทพิเศษที่ไม่สามารถเปลี่ยนแปลงได้ก็ตาม ผู้ใช้สามารถกำหนดการอนุญาตสิทธิ์ให้แก่บทบาทที่สร้างขึ้นสำหรับฐานข้อมูล นั้น ๆ ได้ เช่น สมมติว่า ฐานข้อมูลมีผู้ใช้อยู่ 3 ประเภท คือ ผู้ใช้ธรรมดา คือ ผู้ที่ต้องการเรียกดูข้อมูล ผู้จัดการ คือ ผู้ที่ต้องการแก้ไขข้อมูลได้ และนักพัฒนาโปรแกรม คือ ผู้ที่ต้องการแก้ไขอ็อปเจ็กต์ของฐานข้อมูลได้ ในกรณีนี้สามารถสร้างบทบาทได้ 3 ประเภท เพื่อใช้จัดการกับประเภทของผู้ใช้เหล่านี้ ต้องจัดการกับบทบาทเหล่านี้และไม่ให้มีบัญชีรายชื่อของผู้ใช้แตกต่างกัน
การสร้างบทบาทของฐานข้อมูลที่เป็นมาตรฐาน มีขั้นตอนดังนี้

  1. เริ่มใช้ Enterprise Manager แล้วไปที่โฟลเดอร์ Database โดยใช้รายการที่อยู่ในกรอบด้านซ้าย
  2. ในโฟลเดอร์ Database ให้คลิกที่เครื่องหมาย (+) ด้านหน้าฐานข้อมูลที่ต้องการทำงานด้วย
  3. คลิกขวาที่ Roles แล้วเลือก New Database Role จากเมนูลัด ซึ่งเปิดกรอบโต้ตอบ Database Roles Properties

  1. พิมพ์ชื่อบทบาทในฟิลด์ Name
  2. เลือกปุ่มตัวเลือก Standard Role
  3. คลิ ก Add เพื่อเพิ่มสมาชิกของบทบาท และในกรอบโต้ตอบ Add Role Members ให้เลือกล็อคอินที่ต้องการเพิ่ม เราสามารถเลือกล็อคอินหลาย ๆ ตัว ได้โดยการกดปุ่ม Ctrl หรือ Shift ค้างไว้ในขณะที่คลิกที่ชื่อล็อคอิน
  4. คลิก OK
  5. บทบาท ที่สร้างขึ้นมาใหม่จะปรากฏที่หน้าต่างด้านขวาของ Enterprise Manager ให้ดับเบิ้ลคลิกไปที่บทบาทนั้น เพื่อเปิดกรอบโต้ตอบ Database Role Properties ขึ้นอีกครั้ง
  6. คลิก Permissions แล้วใช้แท็ป Permissions เพื่อตั้งค่าปฏิบัติการให้การอนุญาตสิทธิ์ในการเข้าถึงฐานข้อมูลของบทบาทนี้

การสร้างบทบาทของฐานข้อมูลแบบแอพพลิเคชันโดย Enterprise Manager
บทบาท ของแอพพลิเคชันถูกออกแบบขึ้นให้ใช้กับแอพพลิเคชันที่มีการเข้าถึงฐานข้อมูล และไม่มีล็อคอินที่เกี่ยวข้องกับแอพพลิเคชัน ผู้ใช้สามารถตั้งค่าปฏิบัติการให้กับบทบาทของแอพพลิเคชันได้ตามขั้นตอนดัง นี้

  • เริ่มใช้ Enterprise Manager แล้วไปที่โฟลเดอร์ Database โดยใช้รายการที่อยู่ในกรอบด้านซ้าย
  • ในโฟลเดอร์ Database ให้คลิกที่เครื่องหมาย (+) ด้านหน้าฐานข้อมูลที่ต้องการทำงานด้วย
  • คลิกขวาที่ Roles แล้วเลือก New Database Role จากเมนูลัด ซึ่งจะเปิดกรอบโต้ตอบ Database Role Properties
  • พิมพ์ชื่อบทบาทลงในฟิลด์ Name
  • เลือกปุ่มตัวเลือก Application Role แล้วพิมพ์รหัสผ่านของบทบาทนี้ในฟิลด์ Password ซึ่งคุณจะไม่ถูกขอให้ยืนยันรหัสผ่าน

    1. คลิก OK
    2. บทบาท ที่สร้างขึ้นมาใหม่จะปรากฏที่หน้าต่างด้านขวาของ Enterprise Manager ให้ดับเบิ้ลคลิกไปที่บทบาทนั้น เพื่อเปิดกรอบโต้ตอบ Database Role Properties ขึ้นอีกครั้ง

    1. คลิก Permissions แล้วใช้แท็ป Permissions เพื่อตั้งค่าปฏิบัติการให้การอนุญาตสิทธิ์ในการเข้าถึงฐานข้อมูลของบทบาทนี้

    1. คลิก OK

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

    1. เริ่มใช้ Enterprise Manager แล้วไปที่โฟลเดอร์ Security โดยใช้รายการในกรอบด้านซ้าย
    2. ในโฟลเดอร์ Security ให้เลือกที่รายการ Logins ในกรอบด้านซ้าย
    3. ดับเบิ้ลคลิกที่ล็อคอินที่คุณต้องการตั้งค่าปฏิบัติการซึ่งจะปรากฏกรอบโต้ SQL Server Login Properties ขึ้นมา
    4. คลิกที่แท็ป Database Access

    1. ลบ ค่าเช็คบ็อกซ์ของฐานข้อมูลที่จะไม่ให้ล็อคอินนี้เข้าถึง แล้วในลิสต์บ็อกซ์ Permit In Database Role ให้ลบค่าเช็คบ็อกซ์ด้านหน้าบทบาทของฐานข้อมูลที่จะไม่ให้ล็อคอินนี้มีอยู่ใน ฐานข้อมูลที่ได้เลือกไว้
    2. ทำซ้ำตามขั้นตอนที่ 5 กับฐานข้อมูลอื่น ๆ เพื่อไม่อนุญาตและไม่ให้สิทธิ์ในการเข้าถึงกับล็อคอินนั้น
    3. เมื่อเสร็จทุกขั้นตอนแล้วให้คลิก OK

    การลบบทบาทที่ผู้ใช้กำหนดขึ้นโดย Enterprise Manager
    การลบบทบาทที่ผู้ใช้กำหนดขึ้น มีขั้นตอนดังนี้

    1. เริ่มใช้ Enterprise Manager แล้วไปที่โฟลเดอร์ Database โดยใช้รายการในกรอบด้านซ้าย
    2. ในโฟลเดอร์ Database ให้คลิกที่เครื่องหมาย (+) ด้านหน้าฐานข้อมูลที่ต้องการทำงานด้วย
    3. คลิก Roles ที่อยู่ในกรอบด้านซ้าย

    1. เลือกบทบาทที่คุณต้องการลบ แล้วกดปุ่ม Delete
    2. เมื่อเกิด Prompt ขึ้น ให้เลือก Yes เพื่อยืนยันการลบบทบาทนั้น

    การจัดการกับการเข้าถึงบทบาทโดย Transaction-SQL
    การเข้าถึงฐานข้อมูล

    บทบาทที่ได้กำหนดไว้ล่วงหน้า

    บทบาทมาตรฐานของฐานข้อมูล

    สมาชิกที่อยู่ในบทบาทของฐานข้อมูล

    บทบาทของแอพพลิเคชัน
    การใช้งาน
    DENY CREATE TABLE
    TO Devs, Testers

    DENY INSERT,UPDATE,DELETE
    ON customer..customers
    TO Users,[GALAXY\Sales]
    การให้อนุญาตสิทธิ์ของอ็อปเจ็กต์จากล็อคอินโดย Enterprise Manager
    การให้อนุญาตสิทธิ์ของอ็อปเจ็กต์นั้นใช้กับตาราง วิว และ Stored Procedure การอนุญาตสิทธิ์ที่กำหนดให้กับอ็อปเจ็กต์เหล่านี้ ประกอบด้วยคำสั่ง SELECT, INSERT, UPDATE และ DELETE
    ใน Snterprise Manager ผู้ใช้สามารถอนุญาต ยกเลิก หรือปฏิเสธการอนุญาตสิทธิ์ของอ็อปเจ็กต์ได้ โดยทำตามขั้นตอน ดังนี้

    1. ใช้โฟลเดอร์ Databases โดยใช้รายการที่อยู่ในกรอบด้านซ้าย
    2. คลิกเครื่องหมาย (+) ด้านหน้าฐานข้อมูลที่ต้องการทำงานด้วย แล้วเลือก User
    3. ใน กรอบด้านขวา จะเห็นรายการของผู้ใช้ฐานข้อมูล ให้ดับเบิ้ลคลิกที่ผู้ใช้ที่ด้องการตั้งค่าปฏิบัติการ เป็นการเปิดกรอบโต้ตอบ Database User Properties ขึ้นมา

    1. คลิกที่ Permissions เพื่อแสดงแท็ป Permission ขึ้นมา

    1. การ กำหนดการอนุญาติสิทธิ์ของอ็อปเจ็กนั้น ให้เลือกปุ่มตัวเลือก List ALL Object แล้วใช้รายหารในกรอบด้านขวาของชื่ออ็อปเจ็กต์ และชื่อเจ้าของเพื่อใช้ในการกำหนดสิทธิ์ เครื่องหมายถูก คือ การให้อนุญาตสิทธิ์ เครื่องหมาย x สีแดง คือการปฏิเสธการอนุญาตสิทธิ์ ส่วนการลบเครื่องหมายถูกออก คือ การยกเลิกการอนุญาตสิทธิ์
    2. คลิก Apply หรือ Ok เพื่อกำหนดสิทธิ์

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

    1. เริ่มใช้ Enterprise Manager และไปที่โฟลเดอร์ Database โดยใช้รายการที่อยู่ในกรอบด้านซ้าย
    2. คลิ กเครื่องหมาย (+) ทีด้านหน้าฐานข้อมูลที่ต้องการทำงานด้วย แล้วเลือกประเภทของอ็อปเจ็กต์ที่คุณต้องการทำงานรวมด้วย เช่น Tables, Views หรือ Stored Procedure
    3. ในกรอบด้านขวา ให้ดับเบิ้ลคลิกที่ตาราง วิว หรือ Stored Procedure ที่ต้องการตั้งค่าปฏิบัติการ เป็นการเปิดกรอบโต้ตอบ Database User Properties ขึ้นมา

    1. ในกรอบโต้ตอบคุณสมบัตินั้น ให้คลิก Permissions ซึ่งจะเปิดกรอบโต้ตอบ Object Properties ขึ้นมา

    • การ กำหนดการอนุญาตสิทธิ์ให้กับการล็อคอิน ให้เลือกปุ่มตัวเลือก List All Users ชื่อของรายหาร User/DB Roles/Public ที่อยู่ในกรอบด้านขวาเพื่อใช้กำหนดการให้อนุญาตสิทธิ์ คอลัมน์ชื่อ Public นั้นเป็นการกำหนดการอนุญาตสิทธิ์ ส่วนเครื่องหมาย x สีแดง คือ การปฏิเสธการอนุญาตสิทธิ์ ส่วนการลบเครื่องหมายถูกออก คือ การยกเลิกเสนออนุญาตสิทธิ์

ไม่มีความคิดเห็น:

แสดงความคิดเห็น