SQL Server hizmet hesabı Windows ayrıcalıkları ve hakları


12

Benim sorum, her SQL Server işlemleri için yeni bir etki alanı kullanıcı hesabı oluşturursanız, her hesap için hangi izinler ayarlanmalıdır? Yoksa SQL yapılandırma yöneticisi aslında bununla ilgileniyor mu ve ben sadece öngörülemeyen bir sorun yaşadım?

Sık sık Microsoft SQL Server kurmak zorunda ve herkes hizmet olarak çalışması gereken hesapları yapılandırma konusunda tavsiyede olup olmadığını merak etti. IMO bu belirsiz bir şekilde Microsoft tarafından belgelenmiştir, onlar size doğru yönde işaret ederken ben asla somut örnekler bulamadım.

Şimdiye kadar gördüklerimi özetlemek gerekirse:

Basit dağıtımlar \ geliştirme ortamları için yükleyicinin kullandığı sanal hesap varsayılanlarını kullanmanız uygundur: ör. NT SERVICE\MSSQLSERVER

SYSTEMHesabı kullanmaktan kaçının , bu güvenli değildir.

Üretim ve etki alanı ortamlarında, her bir hizmet için bir Yönetilen Hizmet Hesabı kullanılması veya bir etki alanı kullanıcı hesabı (yönetici değil) oluşturmanız önerilir. Yükleme sırasında bir etki alanı hesabı kullanırsanız, yükleyici sizin için gerekli izinleri ayarlayacaktır.

Varolan bir yüklemedeki hizmet hesabını sanal hesaptan etki alanı hesabına değiştiriyorsanız, yeni hizmet hesaplarını ayarlamak için SQL Server yapılandırma yöneticisini kullanmanız önerilir. İddiaya göre bu sizin için gerekli izinleri ayarlayacaktır.

Sadece varolan bir yüklemede hizmet hesabını bir etki alanı hesabına değiştirmeyi denedim log on as serviceve SQL Server yapılandırma yöneticisinin gerekli izinleri ayarlayacağı bölümle çelişen hesap izni verene kadar bana bir oturum açma hatası verecekti . (Bir GPO'nun bu yerel güvenlik politikasını belirlemeye müdahale edip etmediğinden emin olmasam da)

Microsoft, SQL Server Kur'un bu sayfada verdiği izinlerin bir listesini sağlar .

Ancak, hizmeti çalıştırmak için oluşturduğum kullanıcı için manuel olarak yapmam gereken bir şey olup olmadığı veya SQL yapılandırma yöneticisini kullanmanın bu izinleri otomatik olarak ayarlayıp ayarlamayacağı net değil.

SQL Server 2014, Etki Alanı Denetleyicisi Windows Server 2008 R2'de.


Hangi SQL sürümü? Bu bir AD ortamı mı? Öyleyse alan adı düzeyi nedir?
Katherine Villyard

Teşekkürler, soruya sürümleri ekledim. SQL Server 2014, Etki Alanı Denetleyicisi Windows Server 2008 R2 işlev düzeyinde

1
Bu benim için belirsiz bir belge gibi görünmüyor. Bu oldukça kapsamlı görünüyor. - msdn.microsoft.com/en-us/library/ms143504.aspx

Evet katılıyorum, genel olarak dokümantasyon iyi ama emin olmadığım kısım belirsizdi. Haklısın, genel olarak belgeler çok ayrıntılı.
plumdog

Yanıtlar:


10

Ben sık sık MS SQL Server kurmak zorunda ve herkes hizmet olarak çalışması gereken hesapları yapılandırma konusunda tavsiye verebilir merak etti. IMO bu belirsiz bir şekilde Microsoft tarafından belgelendi, onlar size doğru yönde işaret ederken ben somut örnekler hiç bulamadım.

Aslında oldukça ayrıntılı bir şekilde belgelenmiştir: http://msdn.microsoft.com/en-us/library/ms143504.aspx

Emin olmadığınız bir kısmı var mı?

Basit dağıtımlar \ geliştirme ortamları için yükleyicinin kullandığı sanal hesap varsayılanlarını kullanmakta sorun yoktur: örneğin NT SERVICE \ MSSQLSERVER

Bu çevreye bağlı olacaktır. Şahsen, yerel bir hesap kullanarak birisinin kurduğu bir sunucu bulmaktan ve ileride bir süre sonra, diğer sorunların yanı sıra ağ kaynaklarına erişmek istemekten nefret ediyorum.

Üretim ve etki alanı ortamlarında, her bir hizmet için bir Yönetilen Hizmet Hesabı kullanılması veya bir etki alanı kullanıcı hesabı (yönetici değil) oluşturmanız önerilir.

Yine, bağlıdır, ancak genel olarak kabul ediyorum (karşı örnek, tüm örneklerde tek bir etki alanı hesabı kullanmanın mantıklı olduğu kullanılabilirlik grupları olacaktır).

Yükleme sırasında bir etki alanı hesabı kullanırsanız, yükleyici sizin için gerekli izinleri ayarlayacaktır.

Bir başarısızlık vb. Olmadığı sürece, bunu yapacaktır. Neden "İddiaya Göre" kısmından emin değilim.

Varolan bir yüklemedeki hizmet hesabını sanal hesaptan etki alanı hesabına değiştiriyorsanız, yeni hizmet hesaplarını ayarlamak için SQL Server yapılandırma yöneticisini kullanmanız önerilir. İddiaya göre bu sizin için gerekli izinleri ayarlayacaktır.

SQL Server hizmetlerinden herhangi birini değiştirirken her zaman SSCM'yi kullanın. Her zaman. Dönemi. Yeni hesabın izinlerini temellere ayarlar. Yerel sistem hesabı kullanılmadan ve sistemdeki her şeye sınırsız izin verilmeden önce, daha sıkı kontrollü güvenlik nedeniyle değişiklikten sonra izinlerin başarısız olmasını beklerdim. Bu bir SQL Server SSCM hatası değildir, uygun EXTRA izinleri (ağ paylaşımına erişim, kısıtlanmış klasörler, SQL Server yükleme purview dışındaki öğeler vb.) Vermemenin yönetici hatasıdır.

Varolan bir yüklemede hizmet hesabını bir etki alanı hesabına değiştirmeyi denedim ve SQL Server yapılandırma yöneticisinin gerekli ayarları yapacağı bölümle çelişen hesap 'hizmet olarak oturum aç' izni verene kadar bana oturum açma hatası verecekti izinleri. (Bir GPO'nun bu yerel güvenlik politikasını belirlemeye müdahale edip etmediğinden emin olmasam da)

GPO bir soruna neden oluyor gibi görünüyor (IMHO). İlk kez olmaz :)

Benim sorum şu, her SQL Server işlemleri için yeni bir etki alanı kullanıcı hesabı oluşturursanız, her hesap için hangi izinler ayarlanmalıdır?

Yukarıda (ayrıca @joeqwerty ve OP içinde verilen) msdn bağlantısında belirtilenler dışında herhangi bir izin ayarlar. Örneğin, bir ağ paylaşımındaki "yedekleme" klasöründe, yeni veritabanlarını tutmak için eklenen yeni bir sürücüye (kurulum zaten çalıştırılmış, ancak sürücü mevcut değil), vb.

Ancak, hizmeti çalıştırmak için oluşturduğum kullanıcı için manuel olarak yapmam gereken bir şey olup olmadığı veya SQL yapılandırma yöneticisini kullanmanın bu izinleri otomatik olarak ayarlayıp ayarlamayacağı net değil.

Sunucuyla ilgili bir şey çok bozuk olmadıkça, bunların manuel olarak verilmesi gerekmez.


Cevabınız için teşekkürler, yorumlarınızı kabul ediyorum. Bunu kontrol etmek için SQL Server'ı farklı bir temiz VM'ye kurdum ve NT SERVICE / MSSQLSERVER sanal hesabından bir etki alanı kullanıcı hesabına geçiş yapabildim ve sorunsuz çalıştı. Bu yüzden cevabın söylediğin gibi olduğunu düşünüyorum, hizmet kullanıcı hesabı oturum açmalarını değiştirmek için SQL Server Configuration Manager'ı kullanın ve ek izin gerekmez.
plumdog

Ek bir yorum, özür dilerim, daha sonra yapacağım yazının en üstüne ana noktayı koyarak soruyu daha net hale getirebilirdim. Emin olmadığım temel soru şuydu; [SQL Server işlemlerinin her biri için yeni bir etki alanı kullanıcı hesabı oluşturursanız, her hesap için hangi izinlerin ayarlanması gerekir? ...]. Belgelerin bu bölümde belirsiz olduğunu hissetmemizin nedeni, ayarlanan izinlerin bir listesi olması, ancak SSCM'nin bunları sizin için ayarlayıp ayarlamayacağı açık değildir.
plumdog

@plumdog İkinci yorumunuzda, izinlerin çoğu yükleyici tarafından verilir. Sanal hizmet hesabı ve sid buna bağlı, bu nedenle SSCM her zaman kullanılmalı, böylece hizmet ana anahtarı şifrelemesine bağlı güvenlik gibi diğer şeylerin yanı sıra, doğru şekilde yapılan izinlerin içeri ve dışarı aktarımı da yapılmalıdır. .
Sean Gallardy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.