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

Registered : 109,027

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



 
Clound SSD Virtual Server

การสร้าง 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
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
ปรับแต่งเว็บให้โหลดเร็ว


Hit Link
   







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