by Andreas

Sharepoint 2010 – Secure Store Service (SSS)

Sikkerhet er en natulig del av Sharepoint 2010 (og selvfølgelig også tidligere versjoner, men vi fokuserer på den). Selve arkitekturen for plattformen involverer Sharepoint i seg selv (som tross alt “bare” er en avansert ASP.NET-applikasjon), IIS for hosting og gjerne Active Directory i bunnen. Hver enkelt av disse har sin egen håndtering av brukertilgang. I tillegg kjører et utall interne ASP.NET webservices, WCF og REST – men den biten får noen andre ta for seg. Dette innlegget skal kun gi en kjapp introduksjon til hvordan sikkerhet ivaretas for eksterne datakilder der AD-basert autentisering ikke er støttet. Dette kan være alt fra SAP-systemer til standard SQL Server-instanser hvor Windows Account login er deaktivert.

Secure Store Services – SSS
SSS er en service hvor man lagrer login-data og mapping mot eksterne systemer som skal aksesseres fra Sharepoint. For eksempel kan man lagre brukernavn og passord og mappe dette til en external content type som peker på en ekstern SQL Server-database med bedriftens ordrehistorikk. Dette gjøres ved å knytte en bruker i AD (la oss kalle ham Poppe for å gjøre det litt mer relevant – sikkerhet er kjedelig nok som det er) mot et sett med brukernavn og passord som ligger (kryptert) i SSS. Når Poppe åpner en side for å generere statistikk basert på data fra en eksterne kilde (PeopleSoft? SAP? Dynamics?) gjøres et forsøk på å mappe Poppes AD-konto mot en entry i SSS som videre brukes for autentisering . For Poppe skjer dette sømløst, men noe forarbeid må gjøres for at dette skal fungere.

Om dette er første gangen SSS brukes må en instans først opprettes:
Central Administration -> Application Management -> Manage Service Applications.  Trykker du New får du opp en liste hvor du kan velge Secure Store Service. Du får opp en wizard hvor du fyller inn navn på servicen, type login etc. Etter at du har opprettet SSS-applikasjonen må denne krypteres (den inneholder tross alt sensitive data..). Trykk Generate Key, oppgi passord og fullføre wizarden for å opprette en ApplicationID. Det er denne du senere bruker for å referere tilbake til SSS-elementet.

Når du senere oppretter en ny external content type, for eksempel mot en ekstern SQL Server, velger du Impersonated Custom Identity for påloggingstype og oppgir Secure Store Application ID. Om alt er satt opp korrekt brukes da denne autentiseringen ved oppkobling mot ekstern kilde.

Det er skrevet hele bøker om dette emnet, men det kan også oppsummeres på noen få linjer – gitt at du har litt bakgrunn i Sharepoint og er i stand til å finne ut ting på egenhånd. Dette var bare et spark i riktig retning!