SharePoint 2010, ADFS ja claims
Postitatud: 4. juuli 2012 Filed under: tarkvara | Tags: ADFS, SharePoint, TechED Europe 2012 1 kommentaarEhk siis mida tarka ma õppisin TechEd Europe 2012 eelseminarilt PRC01 Building Federated External Access for Microsoft SharePoint 2010 (John Craddock):
- Claims ja Federation – mingi Identity Provider (IP) annab meie rakendusele info kasutaja kohta, autentimine toimub tema juures, vastu saame Security Tokeni (ST). Usaldus on kahepoolne, st STS usaldab rakendust, rakendus usaldab STSi (kaks sertifikaati). STSina saab kasutada ka näiteks Facebooki, LiveID, Google jms.
- Autoriseerimine toimub rakenduses vastavalt saadud claimile. Kõik Security Token Providerid (STS) saavad ise claime ümber kirjutada vastavalt vajadustele (nt lisada teatud IP (mitte segi ajada IPga) kaudu autenditud kasutajatele kindel roll). Seal saab kasutada ka muid andmeallikaid (Attribute Stores), milleks võib olla AD, LDAP, SQL või muu taoline andmebaas. Kui me lisame SPle Custom Claims Provideri, toimib ka tema nagu STS.
- ADFS – konfigureerimine läbi PowerShelli (PS). SPTrustedIdentityTokenIssuer tuleb luua, et saaks vastavat STSi valida. Ühel Web Applicationil võib olla mitu STSi ja üks STS võib olla mitmel Web Applicationil.
- Claimide lugemine: tegelikult on Claim objekt, millel on tüüp, väärtuse tüüp, väljaandja ja väärtus. SP konverteerib need stringideks:
- OOTB isikutevalija (PeoplePicker) ei toimi just mõistlikult, vajab eraldi koodi (otsing + valideerimine). Vaja lisada Custom Claims Provider, vt http://blogs.technet.com/b/speschka/archive/2010/05/25/replacing-the-out-of-box-name-resolution-in-sharepoint-2010-part-2.aspx
- SP Home Realm Discovery (HomeRealmDiscovery.aspx) ehk see lehekülg, kus kasutaja peab valima STS (kui neid on mitu), ei ole just eriline kasutusmugavuse meistriteos. Jällegi vajab koodi, et kuidagi automaatselt tuvastada, millise STSi juures kasutaja ennast autentida tahab
- SP teeb kasutajatel vahet sõltuvalt sellest, mis STS kaudu nad ennast autendivad (nt sama kasutaja otse AD või AD läbi ADFS autentides on erineva kasutaja). Võib põhjustada segadusi, seega on targem jätta ainult üks variant.
- Küpsised! ADFS küpsised (4 erinevat http://blogs.technet.com/b/geoffrey_carlisle_on_idm__security/archive/2010/10/13/common-adfs-cookies.aspx) ja SP Web Application küpsised (FedAuth). SP küpsised peavad olema persistent (st mitte-sessioonipõhised), kui tahetakse kasutada Office’it. Ühtlasi peab olema sait ka brauseri arvates trusted. Vaikimisi on FedAuth kestus (TokenLifeTime) 60 min (kuigi kirjas on 0). Ühesõnaga, erinevad küpsised vaatavad, kas kasutaja on autentitud SP mõttes ja STS mõttes. Seadistus sõltub olukorrast ja turvakaalutlustest. Võimalus on ka sliding sessions.
- Väljalogimine – millest me välja logime, ainult SP või ka STS? Mõistlik on välja logida ka STSist. OOTB SharePoint seda ei tee, vaja kirjutada koodi (tekitada eraldi leht). Omaette teema on ADFSist välja logimine – tuleb välja logida ka kõigist WA või muudest asjadest.
- Claims Augmentation (claimide ümberkirjutamine, suurendamine, transformeerimine?) – kõige mõistlikum on claime hallata AD FSis: grupeerimine, metaclaims ja claims store
- User Identity Store – kust me saame infot kasutajate kohta (nt SP profiili jaoks)? Kasutaja info import, andmete võtmine claimist (aga seal ei pruugi just palju olla), eraldi andmete kogumine (nö registreerumine)
- UAG? http://www.microsoft.com/en-us/server-cloud/forefront/unified-access-gateway.aspx
- ADFS deploy – kui me ei luba enam Windowsi autentimist on ainus viis, kuidas rakendustele ligi saada = kriitiline komponent. Alati farm, saab laiendada, dubleerida jne. Proxyd, tulemüürid…
- Üldiselt hakkabki elu nii käima, vaja on väga mitme osapoole koostööd – arendajad, IT, konsultandid jpt
TL,DR – jah, SharePoint, claims ja ADFS töötavad ka OOTB, aga vähegi viisakama kasutuskogemuse jaoks on vaja arendajatel ka tööd teha.
Lingid:
- John Craddock ADFSist
- Steve Peschka claimidest
- A Guide to Claims-Based Identity and Access Control (olemas ka Liisus)
- Implementing Claims-Based Authentication with SharePoint Server 2010
- AD FS 2.0 Troubleshooting Guide
- AD FS 2.0 Content Map
- http://claimsid.codeplex.com/
- ADFS 2.0 SDK
- Identity Developer Training Kit
Kes rohkem kuulda tahab, mis seminaril näidati või räägiti, võib minuga ühendust võtta.
Muidu – oli väga hariv ja silmi avav päev. Nii mõnigi “ahhaa-koht” tuli ette ja ütleme nii, et oleks kõike seda sügisel teadnud, oleks hulka aega ja närve ilmselt kokku hoidnud. Aga parem nüüd kui mittekunagi. Igal juhul suur tänu John Craddockile meeldejääva päeva eest ja mõni teine kord jälle.