ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Orijinal İngilizce makaleyi görüntüleyin: 319723
Kerberos kimlik doğrulaması SQL Server ile kullanma
Bir hizmet asıl adı kaydediliyor
Kerberos bağlantıları kullanarak herhangi bir sorunla karşılaşırsanız, aşağıdaki MSDN blog postasında anlatıldığı gibi Kerberos Configuration Manager aracını kullanabilirsiniz:
Kerberos Yapılandırma Yöneticisi
Eklenen bu işlevsellik hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
Not: Yalnızca Windows 2000 SP3 veya Windows Server 2003 çalıştırıyorsanız, bu işlevi kullanabilirsiniz.
SQL Server 2000 yerine Çalışma Kümelemesi bu işlevselliği kullanır. Windows 2000 tabanlı bir kümede SQL Server üzerinde bağımlı olan ağ adı kaynağı olduğunda, Windows 2000 SP3 veya Windows Server 2003 bilgisayar yükseltildikten sonra kaynağında Kerberos kimlik doğrulamasını kullanabilirsiniz. SQL Server Yük Devretme Kümelemesi'ni yüklemek için Microsoft SQL Server 2000 Enterprise Edition veya Developer Edition yüklü.
Not: Kavramlar ve tartışmalar bu makalede SQL Server 2000 için geçerli SQL Server 2005 için de geçerlidir. SQL Server 2005'te bu konu hakkında daha fazla bilgi için SQL Server 2005 Books Online'da aşağıdaki konulara bakın:
- Nasıl yapılır: SQL Server sunucu kümelerinde sanal sunucuları da dahil olmak üzere, Kerberos kimlik doğrulamasını etkinleştirme
- Hizmet asıl adı kaydı
Microsoft Internet Information Services çalıştıran bir sunucuya bağlanmak ve SQL Server 2000'e bir Kerberos bağlantı yapmaBu bölüm, SQL Server çalıştıran bir sunucu için Kerberos bağlantı yapmak için Microsoft Internet Information Services (IIS) çalıştıran bir sunucuya bağlanmak nasıl açıklar.
Not, Kurulum yordamı gerçekleştirmeden önce Kerbtray ve SetSPN yardımcı programları karşıdan yükleyin.
Kerbtray yardımcı programı karşıdan yüklemek için aşağıdaki Microsoft Web sitesini ziyaret edin:
SetSPN yardımcı programını karşıdan yüklemek için aşağıdaki Microsoft Web sitesini ziyaret edin:
Aşağıdaki yordam bir kurulum sırasında nerede IIS sayfası üzerinden Kerberos kimlik doğrulaması SQL Server çalıştıran bir sunucuya erişmek için kullandığınız bir örnek sağlar.
Adım 1: etki alanı denetleyicisini YapılandırBir etki alanı denetleyicisinde, Active Directory Kullanıcıları ve Bilgisayarları'nda:
- (IIS Hizmetleri sunucusu) temsilci olarak ayarlamak istediğiniz ve sonra Bu bilgisayara temsilci seçmek için güvenseçmek için tıklatın bilgisayarı sağ tıklatın. SQL Server çalıştıran bilgisayara bağlantı kurulan son bilgisayar görünüyor ne olup olmadığını, ancak bağlantılı bir sunucu bilgisayarında, yapmalıdır da temsilci izni. Zincirdeki son bilgisayar değilse, aracılar tüm bilgisayarların temsilci seçme için güvenilir olmalıdır.
- SQL Server hizmet hesabının etki alanı kullanıcı hesabı için temsilci izni verin. (Bu adım yerel sistem hesabını kullanarak SQL Server çalıştıran bilgisayarlar için gerekli değildir) bir etki alanı kullanıcı hesabı için Kümelenmiş SQL Server kurulumlarının olması gerekir:
- Kullanıcılar klasöründe, kullanıcı hesabını sağ tıklatın ve sonra Özellikler' i tıklatın.
- Kullanıcı hesabı özellikleri iletişim kutusunda'ı tıklatın.
Hesap sekmesini tıklatın.
- Hesap seçeneklerialtında seçmek için tıklatın için güvenilen hesap temsilcisi onay kutusu. Bu hesap için Hesap duyarlıdır ve devredilemez onay kutusunun temizlendiğinden emin olun.
Not: Yalnızca kimlik bilgilerini hedef SQL server gibi uzak SQL Server Windows kimlik doğrulaması kullanan dağıtılmış sorgular (bağlantılı sunucu sorguları) gibi bir çift atlama senaryosunda temsilci 'Hesabını temsilci seçme için güvenilir ' sağ SQL Server hizmet hesabı gereklidir.
- Etki alanı denetleyicisi ve ana bilgisayar Kerberos biletleri alınan doğrulamak için Kerbtray.exe yardımcı programını kullanın:
- Kerbtray simgesini bildirim alanında sağ tıklatın ve sonra biletleri Temizle' yi tıklatın.
- Yeşilden sarıya hızlıca değiştirmek yeşil Kerbtray simgesi bekleyin. Bu gerçekleşir hemen sonra bir komut istemi penceresi açın ve bu komutu çalıştırın:Net session * /dBu varolan oturumları bırak ve zorla kurulması için yeni bir oturum ve Kerberos bileti aldı.
Adım 2: IIS Hizmetleri sunucusu yapılandırma
- Varsayılan Web sitesi Wwwroot dosyaları ile örnek .asp dosyaları değiştirin. Örnek .asp dosyaları oluşturmak için "ASP komut dosyası SQL Server veri alma için sınama" bölümünde sağlanan kodu kullanın.
- Dosyayı Wwwroot klasörüne ekleyin. Bunu yapmak için örnek kod "ASP Test komut dosyası için SQL Server veri alma" bölümünde kullanın. Default.asp dosyayı kaydedin.
- Web sunucusu yalnızca tümleşik Windows kimlik doğrulaması kullanmak için yeniden yapılandırın:
- Varsayılan Web sunucusunu sağ tıklatın ve ardından güvenlik klasörünü tıklatın.
- Güvenlik klasöründe, doğru değişiklikleri yapın ve sonra da Anonim erişimtemizlemek için tıklatın.
- Bu komutu bir komut isteminden çalıştırın:w3svc/NTAuthenticationProviders cscript C:\Inetpub\Adminscripts\adsutil.vbs AlAnlaşma etkinse, aşağıdaki döndürülür:
NTAuthenticationProviders : (STRING) Negotiate,NTLMDaha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:215383 ağ kimlik doğrulaması için Kerberos iletişim kuralı hem de NTLM iletişim kuralını desteklemek üzere IIS'yi yapılandırmak nasıl
- IIS hizmetleri sunucu üzerinde Microsoft Data Access (MDAC) 2.6 veya sonraki sürümünü yüklemeniz gerekir. Bunu yapmak için (ve araçları test etmek için kullanılabilir hale getirmek için), Web sunucusu için SQL Server 2000 istemci araçlarını yükleyin. MDAC 2.6 yüklemek veya daha sonra (istemci Araçları'nı yüklemeden olmadan), aşağıdaki Microsoft Web sitesini ziyaret için:
- IIS ortak bir orta katman sistemidir. Ancak, IIS yalnızca orta katman sistemi değildir. IIS ortamınızı orta katman sistemde değilse, orta bağlayıcıda sisteminiz için uygun olan adımları izleyin.
- HKLM\SW\MS\MSSQLSERVER\Client\DSQUERYdeğeri kayıt defterinde var olduğunu doğrulayın. Değer görüntülenmemişse, olarak Ekle
DSQUERY:Reg_SZ:DBNETLIB.
- Etki alanı denetleyicisi ve ana bilgisayar Kerberos biletleri alınan doğrulamak için Kerbtray.exe yardımcı programını kullanın:
- Kerbtray simgesini bildirim alanında sağ tıklatın ve sonra biletleri Temizle' yi tıklatın.
- Yeşilden sarıya hızlıca değiştirmek yeşil Kerbtray simgesi bekleyin. Bu gerçekleşir hemen sonra bir komut istemi penceresi açın ve bu komutu çalıştırın:Net session * /dBu varolan oturumları bırak ve zorla kurulması için yeni bir oturum ve Kerberos bileti aldı.
Adım 3: SPN'ler dinamik olarak oluşturmak için SQL Server hizmetini yapılandırmaBunu yapmak için SQL Server hizmet hesabının Active Directory dizin hizmetinde aşağıdaki erişim denetim ayarlarını vermeniz gerekir:
- ServicePrincipalName okuyun
- ServicePrincipalName yazma
- Active Directory Hizmet Arabirimleri (ADSI) düzenleme ek bileşenini, LDP yardımcı programını veya LDAP 3 istemciler kullanır ve Active Directory nesnelerinin özniteliklerini hatalı olarak değiştirirseniz önemli sorunlar oluşur. Bu sorunları gidermek için Microsoft Exchange 2000 Server veya Microsoft Exchange Server 2003 yeniden yüklemeniz gerekebilir. Bazı durumlarda, Microsoft Windows 2000 Server veya Microsoft Windows Server 2003 ve Exchange 2000 Server veya Exchange Server 2003 yeniden yükleyin gerekebilir. Bu sorunların çözülebileceğini garanti etmemektedir. Bu öznitelikler kendi yöntemlerinizle değiştirin.
- Bir etki alanı yöneticisi olarak oturum açmanız gerekir. Alternatif olarak, uygun izinleri ve SQL Server başlangıç hesap için uygun kullanıcı haklarını vermek için etki alanı yöneticinize başvurmalısınız.
- Başlat'a tıklayın, Çalıştır'a tıklayın, Adsiedit.msc yazın ve Tamam'a tıklayın.
Not: ADSIEdit aracını Windows Destek Araçları'nda bulunur. Windows Destek Araçları'nı edinmek için aşağıdaki Microsoft Web sitesini ziyaret edin:
- ADSI Düzenleyicisi ek bileşeninde, etki alanı [EtkiAlanıAdı]sırasıyla, DC = RootDomainName, genişletin CN = kullanıcılar, sağ CN HesapAdı = ve sonra da Özellikler' i tıklatın.
Notlar
- EtkiAlanıAdı , etki alanı adı için bir yer tutucudur.
- RootDomainName kök etki alanı adı için bir yer tutucudur.
- HesapAdı SQL Server hizmetini başlatmak için belirttiğiniz hesap için bir yer tutucudur.
- SQL Server hizmetini başlatmak için yerel sistem hesabı belirtirseniz, HesapAdı Microsoft Windows'da oturum açmak için kullandığınız hesap için yer tutucudur.
- SQL Server hizmetini başlatmak için bir etki alanı kullanıcı hesabı belirtirseniz, hesap adı etki alanı kullanıcı hesabı için yer tutucudur.
- İçinde CN = HesapAdı özellikleri iletişim kutusunda, Güvenlik sekmesini tıklatın.
- Güvenlik sekmesinde, Gelişmiş' i tıklatın.
- Gelişmiş güvenlik ayarları iletişim kutusunda, kendi KENDİNE izin girdilerialtında listelendiğinden emin olun.
SELF listede yoksa, Ekle' yi tıklatın ve sonra kendi KENDİNEekleyin.
- İzin girdilerialtında KENDİNİtıklatın ve sonra Düzenle' yi tıklatın.
- İzin girdisi iletişim kutusunda Özellikler sekmesini tıklatın.
- Özellikler sekmesinde, yalnızca bu nesneye Uygula listesinde tıklatın ve sonra aşağıdaki izinlere izinleraltındaki onay kutularını seçmek üzere tıklatın:
- ServicePrincipalName okuyun
- ServicePrincipalName yazma
- İki kez Tamam'a tıklayın.
Not: Yardım için bu işlemi ile Active Directory Ürün Destek birimine başvurun ve bu Microsoft Bilgi Bankası makalesi anlatın.
Not: Self hesabı ServicePrincipalName yazma izni olup olmadığını belirlemek için dsacls aracını kullanmak için dsacls komutunu kullanın. Aşağıdaki sözdizimi aşağıdaki gibidir:Self hesabı ServicePrincipalName yazma izni varsa şu çıktıyı görürsünüz:
dsacls <distinguished_Name_of_service_account>Dsacls aracını Destek Araçları'nın bir parçasıdır.
Allow NT Authority\SELF SPECIAL ACCESS for Validated Write to Service principal name
WRITE PROPERTY
- İçinde CN = HesapAdı özellikleri iletişim kutusunda, Öznitelik Düzenleyicisi' ni tıklatın.
- Öznitelikleraltında servicePrincipalName özniteliği sütununda tıklatın ve sonra Düzenle' yi tıklatın.
- Birden Dize Düzenleyicisi iletişim kutusunda, bu SQL Server hizmet hesabı kullanan SQL Server örnekleri için hizmet asıl adlarını (SPN) kaldırın.
Uyarı Üzerinde çalışmakta olduğunuz SQL Server örnekleri için yalnızca SPN'lerin silmeniz gerekir. Bu hizmet hesabı kullanan diğer örneklerini SQL Server bu örnekleri bir sonraki başlatışınızda bu örneklere ilgili SPN kaldırmak mümkün olacaktır.
- ADSI Düzenleme ek bileşenini kapatın.
Önemli Aşağıdaki koşullar doğru olduğunda WriteServicePrincipalName'ı sağ SQL hizmet hesabı vermeseniz öneririz:
- Birden çok etki alanı denetleyicisi vardır.
- SQL Server kümelenmiş olup.
Aşağıdaki bulunduğunu varsayalım:
- Sqlcluster adlı iki düğüm ile sanal SQL örneği: A düğüm ve düğüm b
- A düğümü bir etki alanı denetleyicisi tarafından kimliklerinin ve düğüm B b etki alanı denetleyicisi tarafından doğrulanır.
Aşağıdakilerden oluşabilir:
- Sqlcluster örnek bir düğüm üzerinde etkin olan ve yukarı SQL SPN etki alanı denetleyicisi A, başlatma sırasında kayıtlı...
- Düğüm bir kapatma normalde olduğunda Sqlcluster örneği düğüm B yöneltilir.
- Sqlcluster örnek A. düğümde kapatma işlemi sırasında bir etki alanı denetleyicisinden, SPN kayıttan çıkarıldı
- Bir etki alanı denetleyicisinden SPN kaldırılır, ancak değişikliğin etki alanı denetleyicisine B. henüz çoğaltılmamıştır
- B düğümü başlatılıyor, Sqlcluster örnek SQL SPN b etki alanı denetleyicisiyle kaydetmek çalışır SPN düğüm B yerinde olduğundan beri SPN kaydetmez.
- Bir süre sonra etki alanı denetleyicisi A B etki alanı denetleyicisine (adım 3) dan SPN silme işlemini Active Directory çoğaltmasının bir parçası olarak çoğaltır. Sonuç etki alanındaki SQL örneği için hiçbir geçerli SPN var ve bu yüzden bağlantı sorunları Sqlcluster örneği için bkz: ' dir.
Not: Bu sorun, SQL Server 2012'de giderilmiştir.
Adım 4: istemci bilgisayarlarını yapılandırma
- Bağlanacak her istemci için Microsoft Internet Explorer Windows kimlik doğrulaması kullanacak şekilde yapılandırıldığını doğrulayın:
- Internet Explorer'da, Araçlar menüsünden Internet Seçenekleri'ne tıklayın.
- Gelişmiş sekmesine tıklayın.
- Güvenlikaltında seçmek için tıklatın
Tümleşik Windows kimlik doğrulama'yı etkinleştir (yeniden başlatma gerektirir)ve sonra Tamam' ı tıklatın.
Adım 5: yapılandırmasını sınamaSöz konusu her bilgisayar için:
- Bilgisayara oturum açın ve sonra bilgisayar bir etki alanı denetleyicisinden geçerli Kerberos bileti elde edebilirsiniz doğrulamak için Kerbtray.exe kullanın.
- Bilgisayardaki tüm biletleri kaldırmak için Kerbtray.exe kullanın.
- Oluşturma ve SQL Server veri döndüren Web sayfasına bağlanın.
Not: SQLSUNUCUSUADI , SQL Server çalıştıran bilgisayarın adıyla değiştirin:
- Döndürülen veriler, bu sayfa anlaşmakimlik doğrulama türünü görüntüler ve sp_helpdb sonucu için SQL Server veri saklı veritabanı listesi yüklenmekte olan sunucuda döndürmelidir yordamı için aracılığıyla bağlanıyor. ASP sayfası.
- Denetim SQL Server'da açık varsa, uygulama günlüğüne bağlantı "güvenilir" olduğunu göreceksiniz.
SQL Server veri alma için ASP test komut dosyasıSQL Server verileri için ASP sınama komut dosyası aşağıdadır. Bu kod örneği kullanıyorsanız, yerini emin olun.
SQL Server çalıştıran bilgisayarın adı ile SQLSUNUCUSUADI .
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%="'auth_user' is" & request.servervariables("auth_user")%>
<P>
<%="'auth_type' is" & request.servervariables("auth_type")%>
<P>
Connections string is <B>" Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs;Data Source=SQLSERVERNAME </B>
<P>
<%
set rs = Server.CreateObject("ADODB.Recordset")
set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs;Data Source=SQLSERVERNAME"
rs.open "MASTER..sp_helpdb",cn
Response.Write cstr(rs.Fields.Count) +"<BR>"
while not rs.EOF
Response.Write cstr(rs(0))+"<BR>"
rs.MoveNext
wend
rs.Close
cn.Close
set rs = nothing ' Frees memory reserved by the recordset.
set cn = nothing ' Frees memory reserved by the connection.
%>
</BODY>
</HTML>
NewoutputUsers.txt çıktı dosyasının sonuçlarını bağlantı noktası için kullanacağı addır. Tam yol kullanmazsanız, dosya geçerli klasörde komut satırında çalıştırdığı yerleştirilir. Bu örnek komut, tüm etki alanını sorgular:
NewoutputUsers.txt
Tüm etki alanı için toplamak, bu çıktı zorlamayı olabilir. Bu nedenle, belirli bir kullanıcı adı için toplanan bilgileri sınırlamak için aşağıdaki sözdizimini kullanın, burada
Kullanıcı adı kullanıcı adı olur ve
betaland , sorguladığınız etki alanıdır:
NewoutputUsers.txt
- Artık yok, ancak, Active Directory'den tamamen kaldırılmadı sunucular için girişler.
- On farklı sunucu SPN bilgisini geçerli kullanıcı "Kullanıcı adı" vardır.
Uyarı ADSI Düzenleme ek bileşenini kullanıyorsanız, LDP yardımcı programını veya başka bir LDAP sürüm 3 istemcisini ve Active Directory nesnelerinin özniteliklerini hatalı olarak değiştirirseniz, ciddi sorunlara neden olabilir. Bu sorunlar Microsoft Windows 2000 Server, Microsoft Windows Server 2003, Microsoft Exchange 2000 Server, Microsoft Exchange Server 2003, veya hem Windows ve Exchange yeniden yüklemenizi gerektirebilir. Microsoft, Active Directory nesne özniteliklerinin hatalı olarak değiştirirseniz, sorunların çözülebileceğini garanti etmemektedir. Bu öznitelikler kendi yöntemlerinizle değiştirin.
Etki alanı düzeyinde çıkışını NewouputUsers.txt
dn: CN=User Name,CN=Users,DC=betaland
changetype: add
servicePrincipalName: MSSQLSvc/CLUSTERDEFAULT.betaland:1257
servicePrincipalName: MSSQLSvc/INST3.betaland:3616
servicePrincipalName: MSSQLSvc/INST2.betaland:3490
servicePrincipalName: MSSQLSvc/SQLMAN.betaland:1433
servicePrincipalName: MSSQLSvc/VSS1.betaland:1433
servicePrincipalName: MSSQLSvc/INST1.betaland:2536
servicePrincipalName: MSSQLSvc/INST4.betaland:3967
servicePrincipalName: MSSQLSvc/SQLVIRTUAL1.betaland:1434
servicePrincipalName: MSSQLSvc/SQLVIRTUAL.betaland:1433
servicePrincipalName: MSSQLSvc/SQLBUSTER.betaland:1315
Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarına tıklayın:
Makale No: 319723 - Son İnceleme: 24 Şub 2017 - Düzeltme: 1