it-swarm-eu.dev

Jak aktualizovat skupinu zabezpečení AD na oprávnění serveru Sql

Používám Sql Server 2008 na Small Business Server 2003; klient používá WinXP.

Přidal jsem uživatele do své skupiny zabezpečení služby Active Directory; Proč nemůže tento uživatel okamžitě přistupovat k databázi? Zdá se, že existuje zpoždění, než je uživatel rozpoznán na serveru Sql.

Používám AD Security Groups výslovně, abych nemusel přidávat jednotlivé uživatele na Sql Server. Abych udělil přístup, nemusím účinně dělat nic jiného, ​​než přidat uživatele do AD Security Group.

Ale z nějakého důvodu Sql Server nerozezná přidání okamžitě. Viděl jsem to mnohokrát. Přidám uživatele do skupiny, ale tento uživatel nebude mít přístup k datům až následující den. Zdá se, že nezkoumá Active Directory v reálném čase. Můžete to potvrdit?

Co musím udělat, aby server Sql „aktualizoval“ seznam uživatelů ze služby Active Directory?

12
D_Bester

Uživatel se musí odhlásit ze své pracovní stanice a znovu se přihlásit. Proto se zdá, že se změny projeví následující den. Důvodem je to, že když se uživatel přihlásí příští den, získají nový token z řadiče domény a tento token obsahuje seznam skupin domén, které jsou členy. Tento token se seznamem doménových skupin je aktualizován, pouze když se uživatel přihlásí do svého počítače, takže pokud se uživatel nikdy neodhlásí, token není nikdy aktualizován.

Existují také zpoždění replikace domén na více webech, které je třeba vzít v úvahu, pokud jsou vaše řadiče domény na různých fyzických místech.

12
mrdenny

Když se uživatel přihlásí, je mu přidělen bezpečnostní klíč, který obsahuje všechny informace o členství ve skupině.

Tento token přetrvává, dokud se uživatel neodhlásí - v tomto okamžiku je vyřazen - i když mezitím změníte členství ve skupině v AD. Změny, které provedete, se projeví až při příštím přihlášení uživatele a přijetí nového bezpečnostního tokenu.

Stejný scénář můžete reprodukovat například při přiřazování oprávnění v systému souborů; je to chování AD, nikoli chování serveru SQL.

5
Jon Seigel

Okamžité výsledky získáte tak, že pokaždé získáte nové přihlašovací údaje spuštěním cmd/skriptu, jako například:

runas /netonly /user:domain\username "sqlcmd -S serverName -d dbname -q \"insert into testpermissions values (65)\""

pomocí cmd.exe (ne powerhell, nemohl jsem získat citace správně).

Tímto způsobem získáte vždy každý nový token (ale musíte zadat svůj pwd). Pravděpodobně byste mohli také něco udělat s uloženým textem hesla, pokud by to bylo příliš obtížné.

Každopádně pracuje pro mě a doufám, že to pomůže někomu jinému.

1
Karl