มีความแตกต่างระหว่างการให้สิทธิ์ผู้ใช้ SELECT กับการเพิ่มผู้ใช้ในบทบาท db_datareader หรือไม่?


9

ฉันถูกขอให้ทุนSELECT, INSERTและUPDATEไปยังผู้ใช้ที่กำหนดสำหรับตารางทั้งหมดในฐานข้อมูล ฉันสิ้นสุดการเพิ่มผู้ใช้db_datareaderและอนุญาตพวกเขาINSERTและUPDATEในระดับฐานข้อมูล

แต่นั่นทำให้ฉันคิดว่าอะไรคือความแตกต่าง (ถ้ามี) ระหว่างการให้SELECTสิทธิ์ผู้ใช้ในระดับฐานข้อมูลหรือเพิ่มเข้าไปในdb_datareaderบทบาท และมีวิธีปฏิบัติที่ดีที่สุดในทางใดทางหนึ่งหรือไม่?

คำตอบ:


7

Rick Byham มีการโพสต์ WIKI แสดงเซิร์ฟเวอร์คงที่และบทบาทฐานข้อมูลคงที่และวิธีที่พวกเขาแมป คุณสามารถดูได้ที่นี่: http://social.technet.microsoft.com/wiki/contents/articles/database-engine-fixed-server-and-fixed-database-roles.aspx

แผนภูมิแสดงให้เห็นว่าบทบาท db_datareader เหมือนกันกับ GRANT SELECT ON [ฐานข้อมูล] ดังนั้นจึงยังคงใช้งานได้ดี แต่คำแนะนำคือการย้ายออกจากบทบาทเหล่านั้นไปยังคำสั่งที่ละเอียดยิ่งขึ้น บทบาทฐานข้อมูลคงที่อื่นบางบทบาทไม่ชัดเจนสำหรับคนส่วนใหญ่ การใช้คำสั่งอย่างชัดเจนส่งผลให้เกิดความชัดเจนมากขึ้นเมื่อมีการรายงานสิทธิ์

เห็นได้ชัดว่าคุณรู้วิธีการให้สิทธิ์ที่ละเอียดยิ่งขึ้น ฉันพยายามแยกบทบาทเก่าออกจากกันเมื่อเป็นไปได้ แต่ db_owner (ตัวอย่าง) เป็นนิสัยที่ยากที่จะทำลาย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.