Anda dapat menggunakan otentikasi Kerberos dengan Microsoft SQL
Server 2000. SQL Server 2000 mendukung fungsi ini sebagai bagian dari khas
Microsoft Windows 2000 atau
Microsoft Windows Server 2003 domain direktori aktif
instalasi. Dengan Microsoft Windows 2000 Paket Layanan 3 (SP3)
dan Windows Server 2003, Anda dapat mengaktifkan
Otentikasi Kerberos pada server cluster.
Untuk informasi lebih lanjut tentang ini ditambahkan
fungsi, klik nomor artikel di bawah ini untuk melihat artikel di
Basis Pengetahuan Microsoft:
235529
(http://support.microsoft.com/kb/235529/
)
Kerberos dukungan pada Cluster server berbasis Windows 2000
Catatan Anda hanya dapat menggunakan fungsi ini jika Anda menjalankan Windows
2000 SP3
atau Windows Server 2003.
SQL Server 2000
Failover clustering juga menggunakan fungsi ini. Ketika jaringan nama
sumber daya yang SQL Server bergantung pada adalah dalam sebuah cluster berbasis Windows 2000,
Anda dapat menggunakan otentikasi Kerberos pada sumber daya setelah Anda meng-upgrade
komputer untuk Windows 2000 SP3
atau Windows Server 2003. Untuk menginstal SQL Server
Failover clustering, Anda harus memiliki Microsoft SQL Server 2000 Enterprise Edition
atau pengembang edisi diinstal.
Catatan Konsep dan diskusi dalam artikel ini yang berlaku untuk SQL Server 2000 juga berlaku untuk SQL Server 2005. Untuk informasi lebih lanjut tentang subjek ini dalam SQL Server 2005, lihat topik berikut dalam SQL Server 2005 buku Online:
- Cara: mengaktifkan otentikasi Kerberos termasuk SQL Server Virtual Server pada Server cluster
- Pendaftaran nama layanan utama
Untuk informasi lebih lanjut tentang bagaimana untuk memastikan bahwa Anda menggunakan otentikasi Kerberos di SQL Server 2005, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
909801
(http://support.microsoft.com/kb/909801/
)
Bagaimana untuk memastikan bahwa Anda menggunakan otentikasi Kerberos saat membuat sambungan jauh untuk contoh SQL Server 2005
SQL Server dapat menggunakan otentikasi Kerberos untuk server
cluster. Anda dapat menggunakan otentikasi Kerberos dengan komputer yang berdiri sendiri yang
menjalankan SQL Server, atau dengan contoh-contoh yang SQL Server yang berjalan pada
Virtual server.
Menyambung ke server yang menjalankan Microsoft
Layanan Informasi Internet dan membuat Kerberos koneksi ke SQL
Server 2000
Bab ini menjelaskan cara untuk menyambung ke server yang menjalankan
Microsoft Internet Information Services (IIS) untuk membuat sambungan Kerberos untuk
sebuah server yang menjalankan SQL Server.
Catatan Sebelum Anda melakukan prosedur setup, men-download Kerbtray dan
utilitas SetSPN.
Untuk men-download utilitas Kerbtray, kunjungi
Web site Microsoft berikut:
Dengan Kerbtray.exe, Anda dapat dengan mudah memverifikasi atau menghapus (atau keduanya)
Kerberos tiket dari salah satu komputer terkait yang sedang digunakan.
Untuk men-download utilitas SetSPN, kunjungi Website Microsoft berikut
situs:
Prosedur berikut menyediakan contoh setup
urutan di mana Anda menggunakan otentikasi Kerberos melalui halaman IIS untuk mengakses
server yang menjalankan SQL Server.
Langkah 1: Mengkonfigurasi domain controller
Pada kontroler domain, dalam direktori pengguna dan komputer Active:
- Klik kanan komputer yang Anda ingin mengatur untuk
delegasi (IIS layanan server), dan kemudian klik untuk memilih Percaya ini
komputer untuk delegasi. Jika komputer yang menjalankan SQL Server
apa yang tampaknya menjadi komputer terakhir menghubungi tapi komputer telah terhubung
server, juga harus diberikan izin delegasi. Jika tidak terakhir
komputer dalam rantai, semua komputer yang perantara harus
dipercaya untuk delegasi.
- Memberikan izin delegasi untuk layanan SQL Server
account pengguna account domain. Anda harus memiliki account pengguna domain untuk berkumpul
Instalasi SQL Server (langkah ini tidak diperlukan untuk komputer yang
menjalankan SQL Server yang menggunakan account sistem lokal):
- Dalam Pengguna folder, klik kanan
account pengguna, dan kemudian klik Properti.
- Di pengguna account kotak dialog properti, klik Rekening tab.
- Di bawah Opsi akun, klik untuk memilih
The Rekening dipercaya untuk delegasi kotak centang. Pastikan
yang Account sensitif dan tidak didelegasikan Periksa
kotak dibersihkan untuk akun ini.
Catatan 'Account terpercaya untuk delegasi' hak diperlukan untuk account layanan SQL Server hanya ketika Anda mendelegasikan mandat dari target SQL server untuk SQL server jauh seperti dalam skenario hop ganda seperti didistribusikan permintaan (query terkait server) yang menggunakan Windows otentikasi.
Catatan Langkah ini hanya berlaku untuk Windows 2000 Server. Jika Anda menggunakan Windows Server 2003, kunjungi Web site Microsoft Developer Network (MSDN) berikut: - Menggunakan utilitas Kerbtray.exe untuk memverifikasi bahwa Kerberos
tiket diterima dari kontroler domain dan host:
- Klik kanan ikon Kerbtray dalam pemberitahuan
daerah, dan kemudian klik membersihkan tiket.
- Menunggu untuk ikon Kerbtray hijau yang berubah dari hijau
ke kuning. Segera setelah ini terjadi, Buka jendela prompt perintah dan jalankan ini
perintah:
bersih sesi * bumi
Ini akan drop sesi yang ada, dan memaksa sesi baru untuk
didirikan dan tiket Kerberos yang diterima.
Langkah 2: Mengkonfigurasi server layanan IIS
- Ganti default situs Web Wwwroot file dengan sampel
berkas .asp. Untuk membuat berkas .asp sampel, menggunakan kode yang disediakan dalam
bagian "ASP menguji script untuk pengambilan data SQL Server".
- Menambahkan file ke Wwwroot folder. Untuk melakukannya, gunakan
contoh kode di bagian "ASP tes Script untuk SQL Server pengambilan Data".
Simpan sebagai file Default.asp.
- Mengkonfigurasi server Web untuk menggunakan Windows terpadu
Otentikasi hanya:
- Klik kanan default Web server, dan kemudian klik
Keamanan folder.
- Dalam folder keamanan, membuat perubahan yang benar, dan
kemudian klik untuk mengosongkan akses anonim.
- Dari prompt perintah, jalankan perintah ini:
Cscript C:\Inetpub\Adminscripts\adsutil.vbs mendapatkan
w3svc/NTAuthenticationProviders
Jika Bernegosiasi adalah diaktifkan, berikut adalah kembali: NTAuthenticationProviders : (STRING) Negotiate,NTLM
Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:215383
(http://support.microsoft.com/kb/215383/
)
Cara mengkonfigurasi IIS untuk mendukung protokol Kerberos dan NTLM protokol jaringan otentikasi
Catatan- Anda harus menginstal Microsoft Data Access (MDAC) 2.6, atau nanti, di
IIS layanan server. Untuk melakukannya (dan untuk membuat alat-alat yang tersedia untuk
pengujian), menginstal alat klien SQL Server 2000 server Web. Pada
menginstal hanya MDAC 2.6, atau kemudian (tanpa menginstal alat klien), kunjungi
Web site Microsoft berikut:
- IIS adalah sistem tingkat menengah umum. Namun, IIS ini tidak hanya tengah tingkat sistem. Jika IIS tidak sistem tingkat menengah di lingkungan Anda, ikuti langkah-langkah yang tepat untuk sistem tingkat menengah.
- Memverifikasi bahwa
HKLM\SW\MS\MSSQLSERVER\Client\DSQUERY
nilai hadir dalam registri. Jika nilai tidak ditampilkan, menambahkannya sebagaiDSQUERY:Reg_SZ:DBNETLIB
. - Menggunakan utilitas Kerbtray.exe untuk memverifikasi bahwa Kerberos
tiket diterima dari kontroler domain dan host:
- Klik kanan ikon Kerbtray di daerah pemberitahuan,
kemudian klik membersihkan tiket.
- Menunggu untuk ikon Kerbtray hijau yang berubah dari hijau
ke kuning. Segera setelah ini terjadi, Buka jendela prompt perintah dan jalankan ini
perintah:
bersih sesi * bumi
Ini akan drop sesi yang ada, dan memaksa sesi baru untuk
didirikan dan tiket Kerberos yang diterima.
Langkah 3: Mengkonfigurasi SQL Server layanan untuk membuat SPNs secara dinamis
Untuk melakukan ini, Anda harus memberikan pengaturan kontrol akses berikut untuk SQL Server layanan account di layanan direktori Active Directory:
- Baca servicePrincipalName
- Menulis servicePrincipalName
Peringatan- Jika Anda menggunakan snap-in Edit antarmuka layanan direktori aktif (ADSI), utilitas LDP, atau klien LDAP 3 dan Anda keliru mengubah atribut objek Active Directory, masalah serius terjadi. Untuk mengatasi masalah ini, Anda mungkin harus menginstal ulang Microsoft Exchange 2000 Server atau Microsoft Exchange Server 2003. Dalam beberapa kasus, Anda mungkin harus menginstal ulang Microsoft Windows 2000 Server atau Microsoft Windows Server 2003 dan kemudian instal ulang Exchange 2000 Server atau Exchange Server 2003. Kami tidak dapat menjamin bahwa masalah ini dapat diselesaikan. Memodifikasi atribut ini risiko Anda sendiri.
- Anda harus logon sebagai domain administrator. Atau, Anda harus meminta administrator domain Anda untuk memberikan izin yang sesuai dan hak-hak pengguna yang sesuai ke SQL Server startup account.
Untuk mengkonfigurasi SQL Server layanan untuk membuat SPNs secara dinamis ketika SQL Server layanan dimulai, ikuti langkah berikut:
- Klik Mulai, klik Menjalankan, jenis Adsiedit.MSC, lalu klik Oke.
Catatan Alat ADSIEdit termasuk dalam alat dukungan Windows. Untuk mendapatkan alat dukungan Windows, kunjungi Website Microsoft berikut: - Dalam ADSI Edit snap-in, memperluas Domain [DomainName], memperluas DC = RootDomainName, memperluas CN = pengguna, klik kanan CN = AccountName , lalu klik Properti.
Catatan- DomainName adalah sebuah tempat untuk nama domain.
- RootDomainName adalah sebuah tempat untuk nama domain akar.
- AccountName merupakan tempat bagi account yang Anda tetapkan untuk memulai layanan SQL Server.
- Jika Anda menetapkan account sistem lokal untuk memulai layanan SQL Server, AccountName merupakan tempat bagi account yang Anda gunakan untuk masuk ke Microsoft Windows.
- Jika Anda menetapkan account pengguna domain untuk memulai layanan SQL Server, AccountName merupakan tempat bagi account pengguna domain.
- Dalam CN = AccountName Properti kotak dialog, klik Keamanan tab.
- Pada Keamanan tab, klik Lanjutan.
- Dalam Pengaturan keamanan lanjutan kotak dialog, pastikan DIRI terdaftar di bawah Entri izin.
Jika DIRI adalah tidak tercantum, klik Tambahkan, dan kemudian tambahkan DIRI. - Di bawah Entri izin, klik DIRI, lalu klik Mengedit.
- Dalam Izin masuk kotak dialog, klik Properti tab.
- Pada Properti tab, klik Objek ini hanya dalam Menerapkan ke Daftar, dan kemudian klik untuk memilih kotak centang untuk izin berikut di bawah Izin:
- Baca servicePrincipalName
- Menulis servicePrincipalName
- Klik Oke dua kali.
Catatan Untuk bantuan dengan proses ini, hubungi dukungan produk Active Directory, dan menyebutkan artikel Basis Pengetahuan Microsoft.
Catatan Menggunakan alat dsacls untuk menentukan jika diri account memiliki izin menulis ServicePrincipalName, menggunakan dsacls perintah. Berikut ini adalah sintaks: dsacls <distinguished_Name_of_service_account>
Jika diri account memiliki izin menulis ServicePrincipalName, Anda melihat output berikut:Allow NT Authority\SELF SPECIAL ACCESS for Validated Write to Service principal name
WRITE PROPERTY
Alat dsacls adalah bagian dari alat dukungan. - Dalam CN = AccountName Properti kotak dialog, klik Editor atribut.
- Di bawah Atribut, klik servicePrincipalName dalam Atribut kolom, dan kemudian klik Mengedit.
- Dalam Object multi-nilai String Editor kotak dialog, menghapus nama prinsip layanan (SPNs) untuk contoh-contoh SQL Server yang menggunakan account layanan SQL Server ini.
Warning Anda hanya harus menghapus SPNs untuk contoh-contoh SQL Server yang Anda sedang bekerja pada. Hal lain dari SQL Server yang menggunakan account layanan ini akan dapat menghapus SPNs yang terkait dengan kasus ini waktu berikutnya Anda mulai kasus ini. - Keluar ADSI Edit snap-in.
Setelah Anda mengikuti langkah-langkah ini, isu-isu SPN juga dihilangkan jika Anda mengubah TCP/IP port atau nama domain untuk instalasi baru SQL Server 2005 atau ada kasus SQL Server 2005.
Langkah 4: Mengkonfigurasi komputer klien
- Untuk setiap klien yang akan menghubungkan, memverifikasi bahwa Microsoft
Internet Explorer telah dikonfigurasi untuk menggunakan Windows otentikasi:
- Di Internet Explorer, di Alatmenu, klik Opsi Internet.
- Klik Lanjutan tab.
- Di bawah Keamanan, klik untuk memilih Mengaktifkan Windows otentikasi Terpadu (memerlukan restart),
kemudian klik Oke.
Langkah 5: Menguji konfigurasi
Untuk setiap komputer yang terlibat:
- Logon ke komputer, dan kemudian menggunakan Kerbtray.exe untuk memverifikasi
komputer dapat memperoleh tiket Kerberos berlaku dari domain
controller.
- Gunakan Kerbtray.exe untuk menghapus semua tiket pada
komputer.
- Membuat dan menghubungkan ke halaman Web yang mengembalikan SQL
Server data.
Catatan Ganti SQLSERVERNAME dengan nama
komputer yang menjalankan SQL Server:- Jika data dikembalikan, Halaman ini menampilkan
Jenis otentikasi Bernegosiasi, dan SQL Server data untuk hasil sp_helpdb disimpan prosedur yang harus mengembalikan sebuah daftar database pada
server yang sedang terhubung ke melalui.Halaman ASP.
- Jika Anda memiliki audit diaktifkan pada SQL Server, dalam
Log aplikasi Anda akan melihat bahwa sambungan "dipercaya".
ASP menguji script untuk pengambilan data SQL Server
Di sini adalah tes ASP script untuk SQL Server data. Jika Anda menggunakan ini
kode contoh, pastikan bahwa Anda mengganti
SQLSERVERNAME dengan nama komputer yang
menjalankan SQL Server.
<%@ 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>
Bagaimana untuk mengumpulkan daftar prinsip server Active Directory
nama informasi
Untuk mengumpulkan daftar nama utama Active Directory server (SPN)
informasi, ketik perintah berikut pada salah satu kontroler domain Anda,
di mana
betaland adalah nama domain NetBIOS dan
NewoutputUsers.txt nama output file
yang akan Anda gunakan untuk hasil. Jika Anda tidak menggunakan path lengkap, file
ditempatkan dalam folder saat ini di mana Anda menjalankan baris perintah. Sampel ini
perintah kueri seluruh domain:
ldifde -d
"CN = Users, DC =betaland"-l servicePrincipalName -F NewoutputUsers.txt
Sintaks ini menciptakan sebuah file bernama NewoutputUsers.txt
yang berisi informasi yang sama dengan output dalam "Domain tingkat
output dari NewouputUsers.txt"bagian dalam artikel ini.
Output ini dapat
menjadi sangat besar ketika Anda berkumpul untuk seluruh domain. Oleh karena itu, untuk batas
mengumpulkan informasi untuk nama pengguna, gunakan sintaks berikut, di mana
Nama pengguna nama pengguna dan
betaland adalah domain yang Anda query:
ldifde -d "CN =Nama penggunaDC =betaland"-l servicePrincipalName -F NewoutputUsers.txt
Mengumpulkan informasi untuk pengguna tertentu sangat mengurangi
data yang Anda harus mencari melalui. Jika Anda mengumpulkan informasi untuk seluruh
domain, mencari nama pengguna dari server bersangkutan. Dalam
Contoh output, Anda melihat:
- Entri untuk server yang tidak lagi ada, tetapi yang tidak
benar-benar dihapus dari Active Directory.
- Pengguna"Nama pengguna"telah berlaku
SPN informasi tentang sepuluh server yang berbeda.
Selain itu, Anda dapat menggunakan layanan direktori aktif
Antarmuka (ADSI) alat untuk memperbaiki Active Directory entri yang tidak valid.
Warning Jika Anda menggunakan ADSI Edit snap-in, utilitas LDP, atau lainnya
Versi 3 klien LDAP, dan Anda keliru mengubah atribut aktif
Direktori objek, Anda dapat menyebabkan masalah serius. Masalah ini mungkin memerlukan
Anda menginstal Microsoft Windows 2000 Server, Microsoft Windows Server 2003,
Microsoft Exchange 2000 Server, Microsoft Exchange Server 2003 atau Windows kedua
dan pertukaran. Microsoft tidak dapat menjamin bahwa masalah yang terjadi jika Anda
salah memodifikasi Active Directory atribut objek dapat dipecahkan. Memodifikasi
atribut ini risiko Anda sendiri.
Domain tingkat output dari 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
Untuk informasi lebih lanjut tentang keamanan account delegasi, lihat
topik "Keamanan Account delegasi" dalam SQL Server buku Online.
Untuk informasi lebih lanjut, klik nomor artikel berikut
untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
262177
(http://support.microsoft.com/kb/262177/
)
Bagaimana mengaktifkan logging acara Kerberos
321708
(http://support.microsoft.com/kb/321708/
)
Cara menggunakan Alat Diagnostik Jaringan (Netdiag.exe) di Windows 2000
326985
(http://support.microsoft.com/kb/326985/
)
Cara memecahkan masalah yang berkaitan dengan Kerberos di IIS
244474
(http://support.microsoft.com/kb/244474/
)
Cara memaksa Kerberos untuk menggunakan TCP bukan UDP pada Windows Server 2003, Windows XP, dan Windows 2000