Color scheme: Riviera
You are here: start » sl » Dokumentacija » Integracija podatkov in dostop do podatkov » WKL Database Gateway » Koncepti » Prijava in posredovanje identitete

Prijava in posredovanje identitete

Prehod odgovori na dve ločeni vprašanji: kdo pošilja zahtevo (način prijave) in pod čigavo identiteto se stavek izvede v SQL Serverju (posredovanje identitete, ki ga nastavite za vsak alias posebej). Na tej strani sta pojasnjeni obe vprašanji in dovoljene kombinacije. Podrobna pravila so v HTTP: prijava in Posredovanje identitete in identitete podatkovne zbirke.

Ključne funkcije

  • Prijava s ključem storitve, računom Windows, prijavo SQL Server ali osebnim ključem.
  • 2FA (dvostopenjsko preverjanje identitete) po pravilniku prijave, ločeno za vsak način prijave, področje in omrežje.
  • Stavki se izvajajo pod prijavo aliasa, lastno prijavo osebe ali dodeljeno skupno prijavo. Oseba ostane vidna v kontekstu seje.

Osnovni pojmi

Posredovanje identitete SQL Serverju

Gradniki: Persons z vrednostma Service in Impersonate, seznam zavrnitev DenyImpersonate s pogoji glede omrežja in TrustedProxies, prijava SQL Server prek HTTP Basic z lastno povezavo ter identitete podatkovne zbirke iz skrbniške shrambe.

Vodilo: do podatkovne zbirke se prehod vede tako, kot bi se oseba povezala neposredno. To pomeni tri lastnosti, ki jih lahko preverite:

  • Ko se stavek izvaja kot oseba, USER_NAME(), SUSER_SNAME() in CURRENT_USER vrnejo to osebo, in to tudi v privzetih vrednostih stolpcev, sprožilcih in pogledih.
  • SQL Server preveri dovoljenja osebe. Če jih ni, prehod odgovori z 403, enako kot bi bila zavrnjena neposredna povezava.
  • Prijavo SQL Server preveri SQL Server sam, ko odpre njeno povezavo.

Kjer to ne velja, torej pri ključih storitve in pri posredovanju Service, podatkovna zbirka vidi prijavo aliasa. Zato prehod loči dve vprašanji:

  1. Kdo kliče? To ugotovi način prijave.
  2. Pod čigavo identiteto se stavek izvede v SQL Serverju? To določa konfiguracija aliasa.

To je pomembno, ker podatkovne zbirke prijavo vrednotijo same. Privzete vrednosti stolpcev se izpolnijo z USER_NAME() (na primer polje “ustvaril”), sprožilci, pogledi in procedure pa berejo USER_NAME(), CURRENT_USER, SYSTEM_USER ali HOST_NAME(). Pri Service vsi vidijo prijavo aliasa: v polju “spremenil” je zapisan račun storitve, pogled, ki uporablja CURRENT_USER, pa vrne podatke za račun storitve namesto za osebo.

Kdo kliče – načini prijave:

NačinIdentitetaKdo jo preveri
Ključ storitveaplikacijaprehod
Osebni ključoseba, vpisana v skrbniški shrambiprehod, na podlagi skrbniške shrambe
Windows (Negotiate)račun Windows z njegovimi skupinamiWindows (Kerberos ali NTLM)
Prijava SQL Server prek HTTP Basicprijava SQL Server z imenom in geslomSQL Server sam, ko odpre povezavo

Identitete, ki jo posredniški strežnik pred prehodom pošlje v glavi zahteve, prehod ne prevzame. Dokler je prehod dosegljiv tudi mimo tega posrednika, bi lahko vsakdo tako glavo nastavil sam.

Pod čigavo identiteto se stavek izvede – posredovanje, ki ga nastavite za vsak alias:

PosredovanjeSQL Server vidiPogoj
Service (privzeto)prijavo iz niza povezave aliasa–
Impersonateosebo: vsak stavek zahteve se izvede pod EXECUTE AS LOGIN = '<prijava>' WITH COOKIEoseba ima lastno prijavo (dostop samo prek skupine ne zadošča, SQL Server ga zavrne z napako 15406); prijava aliasa ima pravico IMPERSONATE ANY LOGIN ali IMPERSONATE za prijavo osebe
lastna povezavaprijavo SQL Server samo, prek povezave z njenimi poverilnicamiAllowSqlLogins pri aliasu; samo prek zaščitene povezave, glejte prijava SQL Server

Kako nastavitev Persons aliasa deluje pri posameznem načinu prijave:

NačinService (privzeto)Impersonate
Ključ storitveprijava aliasaprijava aliasa; ključ storitve ni oseba in identitete nikoli ne zamenja
Osebni ključprijava aliasaprijava SQL Server, ki je vpisana pri osebi v skrbniški shrambi; če prijava ni vpisana, prijava aliasa, oseba pa je zapisana v kontekstu seje (brez 403)
Windowsprijava aliasaprijava Windows tega računa v SQL Serverju; brez lastne prijave 403
Prijava SQL Serverlastna povezava prijavelastna povezava prijave, ker bi EXECUTE AS obšel preverjanje gesla

Identiteta podatkovne zbirke, ki jo izbere oseba, ima prednost pred obema nastavitvama (glejte identitete podatkovne zbirke).

Oseba ostane vidna. Ko se oseba, vpisana v skrbniški shrambi, prijavi z osebnim ključem ali izbere identiteto podatkovne zbirke, jo prehod pred vsako zamenjavo identitete zapiše v kontekst seje, in sicer samo za branje (SESSION_CONTEXT(N'wkl.person'), poleg tega še wkl.key in wkl.role). To velja tudi pri Service. Pri prijavi z računom Windows ali s prijavo SQL Server ostane wkl.person prazen, tudi če je račun dodeljen osebi; tam SQL Server osebo vrne prek SUSER_SNAME(), če se stavek izvaja pod njeno identiteto. Posebne nastavitve za to ni; pravila so opisana v razdelku Omejitev po vrsticah.

Sorodne teme

sl/wiki/data-conectivity/database-gateway/concepts/sign-in-and-identity.txt · Last modified: by Wolfgang van der Stille