บัญชีบริการ SQL Server สิทธิ์ Windows และสิทธิพิเศษ


12

คำถามของฉันคือถ้าคุณสร้างบัญชีผู้ใช้โดเมนใหม่สำหรับกระบวนการ SQL Server แต่ละกระบวนการควรตั้งค่าการอนุญาตใดสำหรับแต่ละบัญชี หรือผู้จัดการการกำหนดค่า SQL ดูแลเรื่องนี้จริง ๆ และฉันเพิ่งมีปัญหาที่ไม่คาดคิด?

ฉันค่อนข้างบ่อยต้องติดตั้ง Microsoft SQL Server และสงสัยว่าใครสามารถให้คำแนะนำในการกำหนดค่าบัญชีที่ควรใช้บริการ IMO สิ่งนี้ได้รับการรับรองโดย Microsoft อย่างชัดเจนในขณะที่พวกเขาชี้คุณไปในทิศทางที่ถูกต้องฉันไม่สามารถหาตัวอย่างที่เป็นรูปธรรมได้

เพื่อสรุปสิ่งที่ฉันเห็น:

สำหรับสภาพแวดล้อมการปรับใช้ \ development อย่างง่ายคุณสามารถใช้บัญชีเสมือนที่เป็นค่าเริ่มต้นที่โปรแกรมติดตั้งใช้: เช่น NT SERVICE\MSSQLSERVER

หลีกเลี่ยงการใช้SYSTEMบัญชีนี้ไม่ปลอดภัย

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

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

ฉันเพิ่งลองเปลี่ยนบัญชีบริการในการติดตั้งที่มีอยู่เป็นบัญชีโดเมนและมันจะทำให้ฉันล้มเหลวในการเข้าสู่ระบบจนกว่าฉันจะได้รับอนุญาตบัญชีlog on as serviceซึ่งขัดแย้งกับส่วนที่ผู้จัดการการกำหนดค่า SQL Server จะกำหนดสิทธิ์ที่จำเป็น (แม้ว่าฉันไม่แน่ใจว่า GPO อาจรบกวนการตั้งค่านโยบายความปลอดภัยในพื้นที่นี้หรือไม่)

Microsoft จัดทำรายการสิทธิ์ที่การตั้งค่าเซิร์ฟเวอร์ SQL มอบให้ในหน้านี้

แต่มันก็ไม่ชัดเจนสำหรับฉันถ้านั่นเป็นสิ่งที่ฉันควรทำด้วยตนเองสำหรับผู้ใช้ที่ฉันสร้างเพื่อเรียกใช้บริการหรือว่าการใช้ตัวจัดการการกำหนดค่า SQL ควรตั้งค่าการอนุญาตเหล่านี้โดยอัตโนมัติหรือไม่

SQL Server 2014 ตัวควบคุมโดเมนอยู่บน Windows Server 2008 R2


SQL รุ่นใด นี่คือสภาพแวดล้อมโฆษณาหรือไม่ ถ้าเป็นเช่นนั้นระดับโดเมนคืออะไร?
Katherine Villyard

ขอบคุณฉันได้เพิ่มรุ่นลงในคำถาม SQL Server 2014, Domain Controller อยู่ในระดับการทำงานของ Windows Server 2008 R2

1
นี่ดูเหมือนเอกสารที่คลุมเครือสำหรับฉัน มันดูค่อนข้างครอบคลุม - msdn.microsoft.com/en-us/library/ms143504.aspx

ใช่ฉันยอมรับเอกสารโดยรวมดี แต่ส่วนที่ฉันไม่แน่ใจเกี่ยวกับคลุมเครือคือสิ่งที่ฉันหมายถึง คุณมีความถูกต้องโดยเอกสารขนาดใหญ่มีรายละเอียดมาก
plumdog

คำตอบ:


10

ฉันค่อนข้างบ่อยต้องติดตั้ง MS SQL Server และสงสัยว่าใครสามารถให้คำแนะนำในการกำหนดค่าบัญชีที่ควรใช้บริการ IMO สิ่งนี้ได้รับการรับรองโดย Microsoft อย่างชัดเจนในขณะที่พวกเขาชี้คุณไปในทิศทางที่ถูกต้องฉันไม่สามารถหาตัวอย่างที่เป็นรูปธรรมได้

เอกสารดังกล่าวค่อนข้างละเอียด: http://msdn.microsoft.com/en-us/library/ms143504.aspx

มีส่วนหนึ่งที่คุณไม่แน่ใจหรือไม่?

สำหรับสภาพแวดล้อม deployments \ development อย่างง่ายคุณสามารถใช้ค่าเริ่มต้นบัญชีเสมือนที่โปรแกรมติดตั้งใช้: เช่น NT SERVICE \ MSSQLSERVER

สิ่งนี้จะขึ้นอยู่กับสภาพแวดล้อม ฉันเกลียดการค้นหาเซิร์ฟเวอร์ที่ติดตั้งโดยใช้บัญชีท้องถิ่นและขอให้เข้าถึงทรัพยากรเครือข่ายบางครั้งในอนาคตและปัญหาอื่น ๆ

สำหรับการผลิตและในสภาพแวดล้อมของโดเมนขอแนะนำให้ใช้บัญชีบริการที่มีการจัดการหรือสร้างบัญชีผู้ใช้โดเมน (ไม่ใช่ผู้ดูแลระบบ) สำหรับแต่ละบริการ

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

ถูกกล่าวหาว่าถ้าคุณใช้บัญชีโดเมนในเวลาติดตั้งโปรแกรมติดตั้งจะกำหนดสิทธิ์ที่จำเป็นสำหรับคุณ

หากไม่มีความล้มเหลว ฯลฯ ก็จะทำเช่นนั้น ฉันไม่แน่ใจว่าทำไมส่วน "นัยว่า"

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

เมื่อเปลี่ยนบริการใด ๆ สำหรับ SQL Server ให้ใช้ SSCM เสมอ เสมอ. ระยะเวลา มันจะตั้งค่าการอนุญาตสำหรับบัญชีใหม่เป็นพื้นฐาน หากก่อนที่จะมีการใช้บัญชีระบบภายในเครื่องและได้รับอนุญาตอย่างไม่ จำกัด ในทุกสิ่งบนระบบฉันคาดว่าจะมีบางสิ่งบางอย่างที่จะล้มเหลวสิทธิ์หลังจากการเปลี่ยนแปลงเนื่องจากการรักษาความปลอดภัยที่ควบคุมเข้มงวดมากขึ้น นั่นไม่ใช่ความผิดพลาดของ SQL Server SSCM นั่นเป็นความผิดของผู้ดูแลระบบที่ไม่ให้สิทธิ์ EXTRA ที่เหมาะสม (เช่นการเข้าถึงเครือข่ายที่ใช้ร่วมกันโฟลเดอร์ที่ จำกัด รายการที่อยู่นอกขอบเขตการติดตั้ง SQL Server เป็นต้น)

ฉันเพิ่งลองเปลี่ยนบัญชีบริการในการติดตั้งที่มีอยู่เป็นบัญชีโดเมนและมันจะทำให้ฉันล้มเหลวในการเข้าสู่ระบบจนกว่าฉันจะได้รับอนุญาตให้บัญชี 'เข้าสู่ระบบเป็นบริการ' ซึ่งขัดแย้งกับส่วนที่ผู้จัดการการกำหนดค่า SQL Server จะตั้งค่าใด ๆ สิทธิ์ (แม้ว่าฉันไม่แน่ใจว่า GPO อาจรบกวนการตั้งค่านโยบายความปลอดภัยในพื้นที่นี้หรือไม่)

ดูเหมือนว่า GPO จะทำให้เกิดปัญหา (IMHO) จะไม่เป็นครั้งแรก :)

ดังนั้นคำถามของฉันคือถ้าคุณสร้างบัญชีผู้ใช้โดเมนใหม่สำหรับ SQL Server แต่ละเครื่องจะประมวลผลการอนุญาตใดที่ควรตั้งค่าสำหรับแต่ละบัญชี

ฉันจะกำหนดสิทธิ์ใด ๆ อย่างชัดเจนนอกเหนือจากที่ระบุไว้ในลิงก์ msdn ที่ฉันมีด้านบน (มอบโดย @joeqwerty และใน OP ของคุณ) ตัวอย่างเช่นในโฟลเดอร์ "สำรองข้อมูล" บนเครือข่ายที่ใช้ร่วมกันบนไดรฟ์ใหม่ที่เพิ่มเข้ามาเพื่อเก็บฐานข้อมูลใหม่ (ที่ติดตั้งทำงานอยู่แล้ว แต่ไม่มีไดรฟ์อยู่) ฯลฯ

แต่มันก็ไม่ชัดเจนสำหรับฉันถ้านั่นเป็นสิ่งที่ฉันควรทำด้วยตนเองสำหรับผู้ใช้ที่ฉันสร้างเพื่อเรียกใช้บริการหรือว่าการใช้ตัวจัดการการกำหนดค่า SQL ควรตั้งค่าการอนุญาตเหล่านี้โดยอัตโนมัติหรือไม่

นอกจากจะมีบางสิ่งที่เสียหายอย่างมากกับเซิร์ฟเวอร์สิ่งเหล่านี้ไม่ควรถูกกำหนดด้วยตนเอง


ขอบคุณสำหรับการตอบกลับของคุณฉันเห็นด้วยกับความคิดเห็นของคุณ ฉันตั้งค่าเซิร์ฟเวอร์ SQL บน VM ใหม่ที่สะอาดเพื่อตรวจสอบสิ่งนี้และฉันสามารถสลับจากบัญชีเสมือน NT SERVICE / MSSQLSERVER ไปยังบัญชีผู้ใช้โดเมนและทำงานได้โดยไม่มีปัญหา ดังนั้นฉันคิดว่าคำตอบคืออย่างที่คุณพูดใช้ SQL Server Configuration Manager เพื่อเปลี่ยนการเข้าสู่ระบบบัญชีผู้ใช้บริการและไม่จำเป็นต้องมีสิทธิ์เพิ่มเติม
plumdog

หนึ่งความคิดเห็นเพิ่มเติมขออภัยฉันสามารถทำให้คำถามของฉันชัดเจนขึ้นโดยใส่จุดหลักของฉันที่ด้านบนของโพสต์ที่ฉันจะทำในอนาคต คำถามหลักที่ฉันไม่แน่ใจคือ [หากคุณสร้างบัญชีผู้ใช้โดเมนใหม่สำหรับกระบวนการ SQL Server แต่ละกระบวนการควรมีการกำหนดสิทธิ์อะไรสำหรับแต่ละบัญชีหรือไม่ ... ] เหตุผลที่ฉันรู้สึกว่าเอกสารมีความคลุมเครือในส่วนนี้เนื่องจากมีรายการสิทธิ์ที่กำหนด แต่ไม่ชัดเจนว่า SSCM จะตั้งค่าเหล่านี้ให้คุณหรือไม่
plumdog

@plumdog ตามความคิดเห็นที่สองของคุณการอนุญาตส่วนใหญ่จะได้รับจากตัวติดตั้ง บัญชีบริการเสมือนและ sid นั้นเชื่อมโยงกับสิ่งนั้นซึ่งเป็นเหตุผลที่ควรใช้ SSCM เสมอเพื่อให้การถ่ายโอนข้อมูลเข้าและออกจากสิทธิ์ที่เชื่อมโยงกับสิ่งนั้นทำได้อย่างถูกต้องเหนือสิ่งอื่นใดเช่นความปลอดภัยที่เชื่อมโยงกับการเข้ารหัสคีย์หลักของบริการ ฯลฯ .
Sean Gallardy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.