Register
Member Login
Forgot Password ??
PHP
,
ASP
,
ASP.NET, VB.NET, C#, Java
,
jQuery , Android , iOS , Windows Phone
Registered :
109,037
HOME
>
บทความจากสมาชิก
>
การสร้าง User บน SQL Server Database และการ Grant กำหนดสิทธิ์ เช่น การ SELECT ได้อย่างเดียว
การสร้าง 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 สิทธิ์ให้สามารถอ่านได้อย่างเดียว
ขั้นแรกให้ Login ด้วย
sa
หรือ System Admin
ในส่วนของ Object Explorer ให้เลือก Security -> Logins จากนั้นให้คลิกขวาให้เลือก New Login...
ในส่วนของ
Login - New
ส่วนของ General ให้กรอก Login name พร้อมทั้ง Password ในการ Login (ดูตัวอย่างดังในรูป)
ในส่วนของ
User Mapping
ให้เลือก Database ที่จะให้ User นี้สามารถเข้าใช้งานได้ พร้อมกับ Database role ของ User ให้เลือกเป็นดังรูป
ตรงนี้สำคัญมาก
โดยในส่วนของ
User map
จะเป็นการกำหนดสิทธิ์ว่ามีสิทธิ์เข้า Database อะไรบ้าง และ ด้านล่างจะเป็นสิทธิ์การเข้าถึง ซึ่งจะต้องดูว่า
User
ที่จะสร้างนั้นจะให้สิทธิ์อะไรบ้าง เช่น
ในกรณีที่จะให้สามารถจะกำหนดสิทธิ์เทียบเท่า
sa
ก็ให้เลือกเป็น
db_owner
และ
public
ในกรณีที่จะให้สามารถ SELECT ข้อมูลจาก Database ทุก Table ให้เลือก
db_datareader
และ
public
ในกรณีที่จะให้สามารถ INSERT ข้อมูลใน Database ทุก Table ให้เลือก
db_datawriter
และ
public
หรือเลือกแค่ public ดังรูป ก็จะสามารถแค่ Connect เข้าไปใน Database ได้เท่านั้น แต่จะมองไม่เห็นอะไรเลย แต่จะต้องไปกำหนดสิทธิ์ในแต่ล่ะ Table / View หรือ Object อื่นๆ อีกว่าจะให้มีสิทธิ์ทำอะไรได้บ้าง
ในส่วนของ
Status -> Permission to connect to database engine
: ให้เลือก Grant และ Login เป็น Enabled ตามลำดับ เมื่อเสร็จแล้วให้คลิกที่ OK
การกำหนดสิทธิ์การเข้าถึง Table
เนื่องจากในตัวอย่างนี้กำหนดสิทธิ์แบบ public เท่านั้น ซึ่งจะยังไม่มีสิทธิ์ทำอะไรทั้งสิ้นกับ Database
ให้คลิกขวาที่
Table -> Properties
คลิกที่เมนู
Permissions
ตามด้วยปุ่ม Search
ใส่ชื่อผู้ใช้ที่ได้จากการสร้าง หรือจะ
Browse
เพื่อดูรายชื่อผู้ใช้ทั้งหมด
หน้าจอในการกำหนดสิทธิ์ของตารางนั้น ๆ ว่าจะให้ผู้ใช้หรือ Login user ที่กำหนดสิทธิ์นั้นสามารถทำอะไรกับตารางได้ เช่น
SELECT
อย่างเดียว
ทดสอบการทำงาน
Login ด้วย User
ใหม่ที่เราสร้างขึ้น
จะเห็นว่ามีสิทธิ์มองเห็น
Table
ที่ถูก
Grant
สิทธิ์ไว้
ทดสอบการ
SELECT
ข้อมูล
แสดงข้อมูลที่อยู่ใน
Table
ทดสอบการ
Edit
ข้อมูล
จะเห็นว่าไม่สามารถทำการแก้ไขข้อมูลได้ เพราะมีสิทธิ์อ่านได้อย่างเดียว
ทดสอบการแก้ไข
Table
โดยเลือก
Design
โปรแกรมก็แจ้งเช่นเดียวกันว่าไม่มีสิทธิ์ในการแก้ไข
บทความอื่นๆ ที่เกี่ยวข้อง
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
By :
TC Admin
Article :
บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ
Score Rating :
Create Date :
2017-03-30
Download :
No files
Sponsored Links
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
นำเข้าสินค้าจากจีน
Taobao
เฟอร์นิเจอร์
ของพรีเมี่ยม
ร่ม
ปากกา
power bank
แฟลชไดร์ฟ
กระบอกน้ำ
แลกเปลี่ยน Exchange Link
ลองค้นหาสิ่งที่ต้องการ
Load balance :
Server 04
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[
Conditions Privacy Statement
]
ติดต่อโฆษณา
081-987-6107
อัตราราคา
คลิกที่นี่
Inline