Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 105,670

HOME > บทความจากสมาชิก > การสร้าง User บน SQL Server Database และการ Grant กำหนดสิทธิ์ เช่น การ SELECT ได้อย่างเดียว


 
VPS  250 ҷ͹

การสร้าง User บน SQL Server Database และการ Grant กำหนดสิทธิ์ เช่น การ SELECT ได้อย่างเดียว

การสร้าง User บน SQL Server Database และการ Grant กำหนดสิทธิ์ เช่น การ SELECT ได้อย่างเดียว บทความนี้เขียนเพื่อเป็นแนวทางและประสบการณ์ให้กับ DBA หรือโปรแกรมเมอร์ที่ดูแล Database ของ SQL Server เกี่ยวกับการจัดการยูสเซอร์ที่จะใช้งาน Database ว่า ในการสร้าง Application เพื่อเชื่อมต่อกับ Database นั้นควรคำนึงถึงความปลอดภัยในการเข้าถึงข้อมูล โดยการสร้างยูสเซอร์และกำหนดสิทธิ์การเข้าถึงในแต่ล่ะ Application อย่างชัดเจน ยิ่งถ้าเป็นบริษัทที่ข้อมูลค่อนข้างสำคัญมากๆ แล้ว ควรมีการจัดการเข้าถึงในระบบ Schema object ด้วยซ้ำ ว่า Object แต่ล่ะตัวนั้นๆ ยูสเซอร์จะสามารถเข้ามาทำอะไรได้บ้าง ทั้งนี้การวางแผนที่ดีจะช่วยลดปัญหาเกี่ยวกับระบบความปลอดภัย เมื่อมีปัญหาเกิดขึ้นก็จะสามารถทำการคอนโทรลควบคุมได้ง่ายกว่า



SQL Server Create User and Grant Permission


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

ตัวอย่างการ Create User และการ Grant สิทธิ์ให้สามารถอ่านได้อย่างเดียว

SQL Server Create and Grant User

ขั้นแรกให้ Login ด้วย sa หรือ System Admin

SQL Server Create and Grant User

ในส่วนของ Object Explorer ให้เลือก Security -> Logins จากนั้นให้คลิกขวาให้เลือก New Login...

SQL Server Create and Grant User

ในส่วนของ Login - New ส่วนของ General ให้กรอก Login name พร้อมทั้ง Password ในการ Login (ดูตัวอย่างดังในรูป)

SQL Server Create and Grant User

ในส่วนของ User Mapping ให้เลือก Database ที่จะให้ User นี้สามารถเข้าใช้งานได้ พร้อมกับ Database role ของ User ให้เลือกเป็นดังรูป

SQL Server Create and Grant User

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

ในกรณีที่จะให้สามารถจะกำหนดสิทธิ์เทียบเท่า sa ก็ให้เลือกเป็น db_owner และ public








SQL Server Create and Grant User

ในกรณีที่จะให้สามารถ SELECT ข้อมูลจาก Database ทุก Table ให้เลือก db_datareader และ public

ในกรณีที่จะให้สามารถ INSERT ข้อมูลใน Database ทุก Table ให้เลือก db_datawriter และ public

หรือเลือกแค่ public ดังรูป ก็จะสามารถแค่ Connect เข้าไปใน Database ได้เท่านั้น แต่จะมองไม่เห็นอะไรเลย แต่จะต้องไปกำหนดสิทธิ์ในแต่ล่ะ Table / View หรือ Object อื่นๆ อีกว่าจะให้มีสิทธิ์ทำอะไรได้บ้าง

SQL Server Create and Grant User

ในส่วนของ Status -> Permission to connect to database engine : ให้เลือก Grant และ Login เป็น Enabled ตามลำดับ เมื่อเสร็จแล้วให้คลิกที่ OK

การกำหนดสิทธิ์การเข้าถึง Table เนื่องจากในตัวอย่างนี้กำหนดสิทธิ์แบบ public เท่านั้น ซึ่งจะยังไม่มีสิทธิ์ทำอะไรทั้งสิ้นกับ Database

SQL Server Create and Grant User

ให้คลิกขวาที่ Table -> Properties

SQL Server Create and Grant User

คลิกที่เมนู Permissions ตามด้วยปุ่ม Search

SQL Server Create and Grant User

ใส่ชื่อผู้ใช้ที่ได้จากการสร้าง หรือจะ Browse เพื่อดูรายชื่อผู้ใช้ทั้งหมด

SQL Server Create and Grant User

หน้าจอในการกำหนดสิทธิ์ของตารางนั้น ๆ ว่าจะให้ผู้ใช้หรือ Login user ที่กำหนดสิทธิ์นั้นสามารถทำอะไรกับตารางได้ เช่น SELECT อย่างเดียว








ทดสอบการทำงาน

SQL Server Create and Grant User

Login ด้วย User ใหม่ที่เราสร้างขึ้น

SQL Server Create and Grant User

จะเห็นว่ามีสิทธิ์มองเห็น Table ที่ถูก Grant สิทธิ์ไว้

SQL Server Create and Grant User

ทดสอบการ SELECT ข้อมูล

SQL Server Create and Grant User

แสดงข้อมูลที่อยู่ใน Table

SQL Server Create and Grant User

ทดสอบการ Edit ข้อมูล

SQL Server Create and Grant User

จะเห็นว่าไม่สามารถทำการแก้ไขข้อมูลได้ เพราะมีสิทธิ์อ่านได้อย่างเดียว

SQL Server Create and Grant User

ทดสอบการแก้ไข Table โดยเลือก Design

SQL Server Create and Grant User

โปรแกรมก็แจ้งเช่นเดียวกันว่าไม่มีสิทธิ์ในการแก้ไข

บทความอื่นๆ ที่เกี่ยวข้อง
Go to : SQL Server 2005 Authentication Mode
Go to : SQL Server 2008 Authentication Mode
Go to : SQL Server 2012 Authentication Mode
Go to : SQL Server 2005, 2008, 2012, 2014, 2016 Create Login/Create User/Database Permissions


   
Share
Bookmark.   

  By : TC Admin
  Article : บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ
  Score Rating :
  Create Date : 2017-03-30
  Download : No files
Sponsored Links
อ่าน Excel ง่ายๆ ด้วย ExcelDataReader รองรับ xls, xlsx โดยไม่ต้องติดตั้ง Ms Office (VB.Net, C#)
อ่าน Excel ง่ายๆ ด้วย ExcelDataReader รองรับ xls, xlsx โดยไม่ต้องติดตั้ง Ms Office (VB.Net, C#)
เป็น Library สำหรับอ่าน Excel บน .Net Application รองรับไฟล์นามสกุล xls, xlsx กับเวอรชั่น Office 2003 และ 2007 ขึ้นไป โดยในฝังของ Server ไม่ต้องทำการติดตั้ง Microsoft Office Excel
Rating : Update : 2017-03-18 23:08:32
แนะนำโปรแกรมเขียนโค๊ดบน มือถือ ต่อจากบทความที่แล้ว Quedo Code Editor
แนะนำโปรแกรมเขียนโค๊ดบน มือถือ ต่อจากบทความที่แล้ว Quedo Code Editor
บทความที่แล้ว สอนทำเซิร์ฟเวอร์จำลองบนมือถือ ครั้งนี้จะแนะนำแอพเขียนโค้ดบ้าง
Rating : Update : 2017-02-10 22:35:55
แจก Ebook php manual ภาษาไทย คับ คัดคำสั่งที่น่าสนใจมาประมาณ 400+ ครับ
แจก Ebook php manual ภาษาไทย คับ คัดคำสั่งที่น่าสนใจมาประมาณ 400+ ครับ
แจก Ebook php manual ภาษาไทย คับ คัดคำสั่งที่น่าสนใจมาประมาณ 400+ ครับ
Rating : Update : 2016-09-07 11:16:08
แสดงภาพ จับภาพ จากกล้องเว็บแคม (Webcam) ด้วย VB.Net
แสดงภาพ จับภาพ จากกล้องเว็บแคม (Webcam) ด้วย VB.Net
แสดงภาพ จับภาพ จากกล้องเว็บแคม ด้วย Visual Basic .Net 3.5
Rating : Update : 2017-05-08 13:42:23
jQuery กับ Ajax และ MySQL ส่งค่าจาก Form และจัดเก็บลงใน MySQL และการรับ-ส่งด้วย JSON
jQuery กับ Ajax และ MySQL ส่งค่าจาก Form และจัดเก็บลงใน MySQL และการรับ-ส่งด้วย JSON
ตัวอย่างการใช้ jQuery กับ Ajax และ MySQL การรับค่าจาก Input Form และการส่งค่าไปจัดเก็บที่ MySQL Database รวมทั้งวิธีการส่งค่า JSON กลับไปให้ jQuery
Rating : Update : 2017-03-24 17:39:49
การสร้าง Event Scheduler  หรือ Job Schedule บน MySQL/MariaDB ตั้งเวลาทำงาน
การสร้าง Event Scheduler หรือ Job Schedule บน MySQL/MariaDB ตั้งเวลาทำงาน
การเขียน event หรือ job schedule บน mysql และ mariadb เพื่อให้ทำงานตามระยะเวลาที่กำหนด เหมาะสำหรับใช้ในการสร้าง job งงานต่างๆ เช่น backup รายการ clear ข้อมูลต่างๆ
Rating : Update : 2017-03-24 17:35:11
วิธีแทรก Youtube Videos ลงหน้าเว็บ HTML และ การใช้ BBCode เพื่อรับและแสดงผลหน้าเว็บ
วิธีแทรก Youtube Videos ลงหน้าเว็บ HTML และ การใช้ BBCode เพื่อรับและแสดงผลหน้าเว็บ
บทความนี้จะเป็นวิธีการเอา Youtube ลงในหน้าเว็บ แม้ว่าจะเป็นแค่พื้นฐานที่เราคุ้นเคย แต่เชื่อว่าหลายๆ คนยังเอา Youtube Videos มาลงในหน้าเว็บยังไม่เป็น
Rating : Update : 2017-04-09 23:20:06
ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


สุดยอด Source Code V2.0
 

แจ้งชำระเงิน/โอนเงิน
 

Hit Link
   


Acc : thaicreate@hotmail.com




Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2018 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
for Contact Us : [Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่