Teď jste offline a čekáte, až se znova připojí internet.

Použití ověřování pomocí protokolu Kerberos na serveru SQL Server

DŮLEŽITÉ: Tento článek je přeložen pomocí softwaru na strojový překlad Microsoft. Nepřesný či chybný překlad lze opravit prostřednictvím technologie Community Translation Framework (CTF). Microsoft nabízí strojově přeložené, komunitou dodatečně upravované články, a články přeložené lidmi s cílem zajistit přístup ke všem článkům v naší znalostní bázi ve více jazycích. Strojově přeložené a dodatečně upravované články mohou obsahovat chyby ve slovníku, syntaxi a gramatice. Společnost Microsoft není odpovědná za jakékoliv nepřesnosti, chyby nebo škody způsobené nesprávným překladem obsahu nebo jeho použitím našimi zákazníky. Více o CTF naleznete na http://support.microsoft.com/gp/machine-translation-corrections/cs.

Projděte si také anglickou verzi článku: 319723
Souhrn
Ověřování pomocí protokolu Kerberos můžete použít s Microsoft SQL Server 2000. SQL Server 2000 podporuje tuto funkci v rámci typické instalace systému Microsoft Windows 2000 nebo Microsoft Windows Server 2003 Active Directory domény. Pomocí systému Microsoft Windows 2000 Service Pack 3 (SP3) a Windows Server 2003 můžete povolit ověřování pomocí protokolu Kerberos v serverových clusterech.

Další informace o této přidané funkce klepněte na následující číslo článku databáze Microsoft Knowledge Base:
235529 Podpora protokolu Kerberos v clusterech serverů se systémem Windows 2000

Poznámka: Tuto funkci lze použít, pouze pokud používáte systém Windows 2000 s aktualizací SP3 nebo Windows Server 2003.

Clustering převzetí služeb při selhání serveru SQL Server 2000 používá také tuto funkci. Je-li prostředek síťového názvu, který je závislý na serveru SQL Server v clusteru se systémem Windows 2000, můžete použít ověřování pomocí protokolu Kerberos u prostředku po upgradu počítače na systém Windows 2000 SP3 nebo Windows Server 2003. Chcete-li nainstalovat SQL Server failover clustering, musí mít Microsoft SQL Server 2000 Enterprise Edition nebo Developer Edition nainstalována.

Poznámka: Koncepty a diskuse v tomto článku, které se vztahují k serveru SQL Server 2000 se platí také pro SQL Server 2005. Další informace o této problematice v SQL Server 2005 naleznete v následujících tématech v SQL Server 2005 Books Online:
  • Postup: Povolit ověření protokolem Kerberos, včetně SQL Server virtuálních serverů v clusterech serverů
  • Registrace hlavní název služby
Další informace o tom, jak Ujistěte se, že používáte ověřování pomocí protokolu Kerberos na serveru SQL Server 2005 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
909801 Jak zajistit, že používáte ověřování pomocí protokolu Kerberos při vytvoření vzdáleného připojení k instanci serveru SQL Server 2005
Další informace
SQL Server pomocí ověřování pomocí protokolu Kerberos pro clustery serverů. Samostatné počítače se systémem SQL Server nebo instance SQL Server, které běží na virtuálním serveru, můžete použít ověřování pomocí protokolu Kerberos.

Připojení k serveru se systémem Internetová informační služba a vytvořit připojení pomocí protokolu Kerberos na serveru SQL Server 2000

Tato část popisuje, jak se připojit k serveru se systémem Internetová informační služba (IIS) vytvořit připojení pomocí protokolu Kerberos na serveru, který je spuštěn SQL Server.

Poznámka:
před provedením postupu instalace, stažení Kerbtray a SetSPN nástroje.

Chcete-li stáhnout nástroj Kerbtray, naleznete na následujícím webu společnosti Microsoft: S Kerbtray.exe, můžete snadno ověřit, nebo odebrat (nebo obojí) lístky protokolu Kerberos ze všech přidružených počítačů, které jsou používány.

Chcete-li stáhnout nástroj SetSPN, naleznete na následujícím webu společnosti Microsoft:

Následující postup obsahuje příklad nastavení sekvence, kde používáte ověřování pomocí protokolu Kerberos prostřednictvím stránky služby IIS k přístupu k serveru, který je spuštěn SQL Server.

Krok 1: Konfigurace řadiče domény

V řadiči domény Active Directory uživatelé a počítače:
  1. Klepněte pravým tlačítkem myši počítač, který chcete nastavit fordelegation (server služby IIS) a klepněte na Důvěřovat počítači pro delegování Tento_počítač. Pokud se zdá být poslední počítač kontaktovat počítač se systémem SQL Server iswhat, ale že má počítač linkedserver, musí být poskytnuta delegování oprávnění. Pokud není lastcomputer v řetězci, musí být všechny počítače, které jsou zprostředkovatelé betrusted pro delegování.
  2. Delegování oprávnění účet uživatele domény Účet_služby serveru SQL Server. Musí mít uživatelský účet domény pro instalace serveru clusteredSQL (Tento krok není vyžadovaná pro počítače s tímto arerunning serveru SQL Server pomocí účtu local system):
    1. Ve složce Uživatelé klepněte pravým tlačítkem myši na uživatelský účet a potom klepněte na příkaz Vlastnosti.
    2. V dialogovém okně Vlastnosti účtu uživatele klepněte na kartu účet .
    3. Ve skupinovém rámečku Možnosti účtu, klepněte na tlačítko Vybrat účet je důvěryhodný pro delegování políčko. Ujistěte se, že tento účet je zrušeno zaškrtnutí políčka účet je citlivý a nelze jej delegovat .

      Poznámka: Právo "Účet je důvěryhodný pro delegování" je vyžadován účet služby serveru SQL Server, pouze v případě, že vzdálený server SQL, jako v případě dvojité směrování jako distribuovaných dotazů (dotazy propojený server), které používají ověřování systému Windows jsou delegování pověření od cílového serveru SQL.
    Poznámka: Tento postup platí pouze pro systém Windows 2000 Server. Pokud používáte systém Windows Server 2003, navštivte následující Web společnosti Microsoft Developer Network (MSDN):
  3. Chcete-li ověřit, že Kerberostickets byly obdrženy od řadiče domény a hostitele, použijte nástroj Kerbtray.exe:
    1. Klepněte pravým tlačítkem myši na ikonu Kerbtray oznamovací oblast a potom klepněte na tlačítko Vymazat lístky.
    2. Čekání na zelenou ikonu Kerbtray změnily ze zelené na žlutou. Jakmile k tomu dojde, otevřete okno příkazového řádku a spusťte tento příkaz:
      NET session * /d
      To drop existující relace a stanovit nové relace a lístek protokolu Kerberos obdržel.

Krok 2: Konfigurace serveru služby IIS

  1. Nahraďte výchozí soubory webu Wwwroot sample.asp soubory. Vytvořit ukázkové soubory ASP, použijte kód, který je k dispozici v části "ASP test skriptu pro načítání dat serveru SQL Server".
  2. Přidáte soubor do složky Wwwroot. V části "ASP testovací skript pro SQL Server načtení dat" použijte kód thesample.Uložte soubor pod názvem Default.asp.
  3. Znovu nakonfigurujte webový server pro použití integrovaného WindowsAuthentication pouze:
    1. Klepněte pravým tlačítkem myši výchozí webový server a potom klepněte na složku zabezpečení.
    2. Ve složce zabezpečení správné změny a zrušte zaškrtnutí políčka anonymní přístup.
    3. Na příkazovém řádku zadejte následující příkaz:
      cscript C:\Inetpub\Adminscripts\adsutil.vbs get w3svc/NTAuthenticationProviders
      Pokud je povolena možnost Vyjednat , je vrácena následující hodnota:
       NTAuthenticationProviders : (STRING) Negotiate,NTLM
      Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
      215383 Jak nakonfigurovat službu IIS pro podporu protokolu Kerberos a protokol NTLM k ověřování k síti
    Poznámky
    • Microsoft Data Access (MDAC) 2.6 nebo novější, je nutné nainstalovat na server služby IIS. K tomu (a chcete-li k dispozici fortesting nástroje), klientské nástroje serveru SQL Server 2000 nainstalujte na webový server. Toinstall pouze součásti MDAC 2.6 nebo novější (bez instalace klientské nástroje), visitthe, na následujícím webu společnosti Microsoft:
    • Služba IIS je společný systém střední vrstvy. Služba IIS se však systém pouze mezistupeň. Pokud služba IIS není střední vrstvy systému ve vašem prostředí, postup pro střední úroveň systému.
  4. Ověřte, zda
    HKLM\SW\MS\MSSQLSERVER\Client\DSQUERY
    Hodnota registru existuje. Pokud hodnota není zobrazena, přidejte jej jako
    DSQUERY:Reg_SZ:DBNETLIB
    .
  5. Chcete-li ověřit, že Kerberostickets byly obdrženy od řadiče domény a hostitele, použijte nástroj Kerbtray.exe:
    1. Klepněte pravým tlačítkem myši na ikonu Kerbtray oznamovací oblast a potom klepněte na tlačítko Vymazat lístky.
    2. Čekání na zelenou ikonu Kerbtray změnily ze zelené na žlutou. Jakmile k tomu dojde, otevřete okno příkazového řádku a spusťte tento příkaz:
      NET session * /d
      To drop existující relace a stanovit nové relace a lístek protokolu Kerberos obdržel.

Krok 3: Konfigurace službu SQL Server dynamicky vytvářet SPN

Chcete-li to provést, je nutné udělit následující nastavení řízení přístupu pro účet služby serveru SQL Server v adresáři služby Active Directory:
  • Číst servicePrincipalName
  • Zápis servicePrincipalName
Upozornění
  • Pokud pomocí modulu snap-in služby rozhraní ADSI (Active Directory) Edit, nástroj LDP nebo klienti LDAP 3 a nesprávně upravíte atributy objektů služby Active Directory, dojít k vážným problémům. Chcete-li vyřešit tyto potíže, bude pravděpodobně přeinstalovat Microsoft Exchange 2000 Server nebo Microsoft Exchange Server 2003. V některých případech bude pravděpodobně přeinstalovat Microsoft Windows 2000 Server nebo Microsoft Windows Server 2003 a potom znovu nainstalujte Exchange 2000 Server nebo Exchange Server 2003. Nemůžeme zaručit, že tyto potíže možné odstranit. Tyto atributy upravujete na vlastní nebezpečí.
  • Musíte být přihlášeni jako správce domény. Také musíte požádat správce domény udělit příslušná oprávnění a příslušná uživatelská práva pro spouštěcí účet serveru SQL Server.
Chcete-li konfigurovat službu SQL Server dynamicky vytvářet SPN, při spuštění služby serveru SQL Server, postupujte takto:
  1. Klepněte na tlačítko Start, klepněte na tlačítko Spustit, typ Adsiedit.msca potom klepněte na tlačítko OK.

    Poznámka: Nástroj ADSIEdit je součástí nástrojů podpory systému Windows. Chcete-li získat nástroje podpory systému Windows, naleznete na následujícím webu společnosti Microsoft:
  2. V modulu snap-in ADSI Edit, rozbalte domény [Název_domény], rozbalte položku DC =<b00> </b00> RootDomainName, rozbalte položku CN = uživatelé, klepněte pravým tlačítkem myši CN =<b00> </b00> Název účtua potom klepněte na příkaz Vlastnosti.

    Poznámky
    • Název_domény je zástupný symbol pro název domény.
    • RootDomainName je zástupný symbol pro název kořenové domény.
    • Název účtu je zástupný symbol pro účet, který zadáte při spuštění služby SQL Server.
    • Pokud určíte místní systémový účet, chcete-li spustit službu SQL Server Název účtu je zástupný symbol pro účet, který používáte k přihlášení k systému Windows.
    • Pokud určíte uživatelský účet domény, spusťte službu serveru SQL Server Název účtu je zástupný symbol pro účet uživatele domény.
  3. V CN =<b00> </b00> Název účtu Dialogové okno Vlastnosti klepněte na kartu zabezpečení .
  4. Na kartě zabezpečení klepněte na tlačítko Upřesnit.
  5. Ujistěte se, že SELF je uveden v části oprávněnív dialogovém okně Upřesnit nastavení zabezpečení .

    SELF , není v seznamu uveden, klepněte na tlačítko Přidata potom přidejte SELF.
  6. Ve skupinovém rámečku oprávněníklepněte na tlačítko vlastnía klepněte na tlačítko Upravit.
  7. V dialogovém okně Položka oprávnění klepněte na kartu Vlastnosti .
  8. Na kartě Vlastnosti v seznamu použít pro klepněte pouze tento objekt a potom klepnutím zaškrtněte políčka pro následující oprávnění v seznamu oprávnění:
    • Číst servicePrincipalName
    • Zápis servicePrincipalName
  9. Klepněte dvakrát na tlačítko OK .

    Poznámka: Chcete-li zobrazit nápovědu k tomuto procesu obraťte se na odbornou pomoc služby Active Directory a uvést tento článek znalostní báze Microsoft Knowledge Base.

    Poznámka: Určit, pokud účet self má oprávnění k zápisu ServicePrincipalName použít nástroj dsacls, použijte příkaz dsacls . Syntaxe je následující:
    dsacls <distinguished_Name_of_service_account>
    Pokud účet self ServicePrincipalName zápis oprávnění, zobrazí se následující výstup:
    Allow NT Authority\SELF SPECIAL ACCESS for Validated Write to Service principal nameWRITE PROPERTY
    Nástroj dsacls je součástí nástrojů podpory.
  10. V CN =<b00> </b00> Název účtu Dialogové okno Vlastnosti klepněte na tlačítko Editor atributů.
  11. Ve skupinovém rámečku atributyklepněte na položku servicePrincipalName ve sloupci atribut a klepněte na tlačítko Upravit.
  12. V dialogovém okně Editor řetězce seznamem odeberte hlavní názvy služby (SPN) pro instance serveru SQL Server používající tento účet služby serveru SQL Server.

    Upozornění: Názvu SPN byste měli odstranit pouze pro instance serveru SQL Server, které aktuálně pracujete. Jiné instance serveru SQL Server používající tento účet služby, budete moci odebrat názvy SPN, které souvisejí tyto instance při příštím spuštění těchto instancí.
  13. Ukončete modul snap-in pro úpravu rozhraní ADSI.
Po provedení těchto kroků SPN problémy jsou také odstraněny, pokud změnit TCP/IP port nebo název domény pro nové instalace serveru SQL Server 2005 nebo existující instance serveru SQL Server 2005.

Důležité Doporučujeme neudělujte WriteServicePrincipalName právo k účtu služby SQL, pokud jsou splněny následující podmínky:
  • Existuje více řadičů domény.
  • Je v clusteru serveru SQL Server.
V tomto případě mohou být odstraněny hlavní název služby pro SQL Server z důvodu zpoždění při replikaci služby Active Directory. To může způsobit problémy s připojením k instanci SQL Server.

Předpokládejme, že máte následující:
  • Virtuální instance serveru SQL s názvem Sqlcluster s dvěma uzly: uzel A a B. uzlu
  • Uzel A je ověřen řadičem domény A a B uzel je ověřen řadičem domény B.


Může nastat následující:
  1. Sqlcluster instance je v uzlu A aktivní a zaregistrována SPN SQL v řadiči domény A při spuštění nahoru...
  2. Sqlcluster instance selhání uzlu B při uzlu A obvykle je ukončena.
  3. Sqlcluster instance vlastnícím jeho SPN z řadiče domény A během procesu vypnutí uzlu A.
  4. Hlavní název služby odebrán z řadiče domény A ale změna dosud nebyla replikována na řadič domény B.
  5. Při spuštění v uzlu B, Sqlcluster instance se pokusí zaregistrovat hlavní název služby SQL s řadičem domény B. Od té doby, SPN stále existuje uzel B registruje název SPN.
  6. Po určité době replikuje řadič domény A odstranění SPN (z kroku 3) do řadiče domény B v rámci replikace služby Active Directory. Konečným výsledkem je, že neexistuje žádný platný název SPN pro instanci SQL Server v doméně a tím i problémy s připojením k instanci Sqlcluster.

Poznámka: Tento problém je opraven v SQL Server 2012.


Krok 4: Konfigurace klientských počítačů

  1. Pro každého klienta, který se bude připojovat ověřte, že MicrosoftInternet Explorer je nakonfigurován pro použití ověřování systému Windows:
    1. V aplikaci Internet Explorer klepněte v nabídce Nástroje na příkaz Možnosti Internetu.
    2. Klikněte na kartu Upřesnit.
    3. Ve skupinovém rámečku zabezpečenízaškrtněte políčko Povolit Integrované ověření systémem Windows (vyžaduje restartování)a potom klepněte na tlačítko OK.

Krok 5: Testování konfigurace

Pro každý počítač, který se účastní:
  1. Přihlaste se k počítači a potom můžete Kerbtray.exe slouží k verifythat počítače získat platný lístek protokolu Kerberos řadičdomény.
  2. Kerbtray.exe slouží k odebrání všech lístků na thecomputer.
  3. Vytvořit a připojit k webové stránce, který vrací data SQL Server.

    Poznámka: Nahradit NÁZEV_SERVERU_SQL s názvem počítače, který je spuštěn SQL Server:
    • Pokud je vrácena data, tato stránka zobrazuje typ ověřování Negotiatea data serveru SQL Server pro výsledek sp_helpdb uloženou proceduru, který by měl vrátit seznam databází na serveru, který je připojení k až.Stránky ASP.
    • Pokud je auditování zapnuto v serveru SQL Server, v protokolu aplikace zobrazí se, že připojení je "důvěryhodné".

Test skriptu ASP pro načítání dat serveru SQL Server

Zde je test skriptu ASP pro data serveru SQL Server. Pokud použijete tento příklad kódu, ujistěte se, že nahradí NÁZEV_SERVERU_SQL s názvem počítače, který je spuštěn 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 " Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs;Data Source=SQLSERVERNAME <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>					

Jak získat seznam informací název zásady serveru služby Active Directory

Chcete-li získat seznam informací hlavní název (SPN) serveru služby Active Directory, zadejte následující příkaz na jednom řadiči domény, kde betaland je název domény NetBIOS a NewoutputUsers.txt je název výstupního souboru, který budete používat k portu výsledky. Pokud používáte úplnou cestu, soubor je umístěn v aktuální složce, kde je spustit příkazový řádek. Tento příklad vyhledá celou doménu:
ldifde -d "CN = Uživatelé, DC =betaland"servicePrincipalName -l -F NewoutputUsers.txt
Tato syntaxe se vytvoří soubor s názvem NewoutputUsers.txt, který obsahuje informace, který je podobný výstup v části "Úroveň výstupu pro domény z NewouputUsers.txt" v tomto článku.

Tento výstup může být náročné, když je shromáždit pro celou doménu. Proto, chcete-li omezit získané informace pro určité uživatelské jméno, použijte následující syntaxi, kde Uživatelské jméno uživatelské jméno a betaland je doména, ve které jsou dotazování:
ldifde -d "CN =Uživatelské jméno, DC =betaland"servicePrincipalName -l -F NewoutputUsers.txt
Data, která je třeba vyhledávat pomocí shromažďování informací pro konkrétního uživatele výrazně snižuje. Shromažďování informací pro celou doménu, hledat název konkrétního uživatele na daném serveru. V ukázce výstupu se zobrazí:
  • Položky pro servery, které již existují, ale které byly odebrány ze služby Active Directory notcompletely.
  • Uživatel"Uživatelské jméno"má validSPN informace o deset různých serverů.
Navíc můžete použít nástroj služby rozhraní ADSI (Active Directory) k odstranění položek služby Active Directory, které nejsou platné.

Upozornění: Pokud používáte modul snap-in pro úpravu rozhraní ADSI, nástroj LDP nebo jakéhokoli klienta LDAP verze 3 a nesprávně upravíte atributy objektů služby Active Directory, můžete způsobit vážné problémy. Tyto problémy mohou vyžadovat přeinstalaci systému Microsoft Windows 2000 Server, Microsoft Windows Server 2003, Microsoft Exchange 2000 Server, Microsoft Exchange Server 2003 nebo Windows i Exchange. Společnost Microsoft nemůže zaručit, že potíže způsobené nesprávnou úpravou atributů objektů služby Active Directory bude možné vyřešit. Tyto atributy upravujete na vlastní nebezpečí.

Úroveň výstupu domény 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
Odkazy
Další informace o zabezpečení účtu delegování naleznete v tématu "Zabezpečení účtu delegování" v SQL Server Books Online.

Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
262177 Jak povolit protokolování událostí protokolu Kerberos
321708 Použití nástroje Diagnostika sítě (Netdiag.exe) v systému Windows 2000
326985 Postup při řešení potíží souvisejících s protokolem Kerberos ve službě IIS
244474 Jak vynutit použití ověřování pomocí protokolu Kerberos použití protokolu TCP místo protokolu UDP v systému Windows Server 2003, Windows XP a Windows 2000

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 319723 - Poslední kontrola: 03/15/2015 03:35:00 - Revize: 25.0

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbinfo kbmt KB319723 KbMtcs
Váš názor
>