
Jeg går rett på sak. ADFS-VMet er klart, og første steg er å melde serveren inn i domenet. So far so good, akkurat denne delen av oppsettet skal det en del til å fucke opp.

Så snart VMet er startet på nytt for at domeneinnmeldingen skal kunne fullføres, er det tid for neste skritt, å installere selve ADFS-tjenestene. Jeg gjør dette med PowerShell, og bruker følgende kommando: Install-windowsfeature adfs-federation –IncludeManagementTools

TLS er en viktig del av ADFS, og sertifikatene er svært vesentlige for at dette skal fungere. For å være på den sikre siden importerer jeg et gyldig sertifikat som inneholder DNS-navnet sso.’mittdomenenavn’.no på ADFS-serveren, og krysser av for at nøkkelen skal være eksporterbar. Om jeg ikke husker feil er dette et krav for at sertifikatet skal kunne brukes på serveren, men dette finner naturligvis ikke Microsoft det for godt å informere om før du graver deg flere hundre lag ned i Technet-forumene og finner ut at du ikke er den eneste som ikke visste dette.

Nå som sertifikatet (forhåpentligvis) er på plass, kan jeg starte konfigurasjonsveiviseren fra Server Manager. Her velger jeg «Create the first federation server», trykker neste og oppgir en brukerkonto med domeneadmin-rettigheter i mitt domene.

I dette trinnet oppgir jeg SSL-sertifikatet jeg importerte tidligere, velger hvilket av DNS-navnene fra domenet som skal brukes, og velger et navn på ADFS-tjenesten min. Et Wildcard-sertifikat hadde sikkert vært like enkelt her, men for å gjøre ting litt enklere for meg selv bruker jeg ikke dette for tiden da jeg har en litt sær tjeneste som nekter å fungere med dette, og jeg ikke gidder å holde styr på mer en ett sertifikat av gangen siden faenskapet må fornyes hver 3. måned og manuelt legges inn på flere servere.

Neste steg er å velge/lage en Group Managed Service Account som ADFS skal bruke. Her er det dog enda et trinn som må gjøres først, nemlig å opprette en KDS Root Key på en av domenekontrollerne. Er ikke dette gjort får man opp en feilmelding med beskjed om at dette må gjøres, og hvilken powershell-kommando som skal brukes. Det opplyses derimot IKKE om at dette må gjøres på en domenekontroller, hvilket det må. Enkelt forklart logger man inn på en domenekontroller, åpner powershell og skriver inn følgende kommando: Add-KdsRootKey –EffectiveTime (Get-Date).AddHours(-10) . That’s it, KDS-nøkkelen er opprettet.
Når dette er gjort må en også opprette kontoen i AD. Dette opplyses det ikke om på noen som helst måte, og dette er det ikke så lett å forstå mtp. at det står «Create….» i veiviseren. Hvem visste vel at Create slett ikke betyr create..?
For å opprette denne kontoen må en gjøre litt powershell-magi. Jeg fant dette på en guide, og det var ganske enkelt, men kunne vært betraktlig enklere hvis Microsoft hadde greid å opplyse om nåe såpass vesentlig i veiviseren sin.
$Name = ‘adfs_gmsa_01’
$DNS_Name = ‘WHATEVER.DITTDOMENE.no’
$PATRMP = ‘adfs$’
New-ADServiceAccount -Name $Name -DNSHostName $DNS_Name -PrincipalsAllowedToRetrieveManagedPassword $PATRMP

I neste skritt skal det velges database. Jeg har allerede to SQL-servere jeg kunne brukt til dette, men da disse stadig byttes ut og eksperimenteres med tviler jeg på at de er særlig egnet. Jeg velger derfor å bruke en Windows Internal Database, dette burde fungere minst like godt som en ekstern SQL.

Etter at dette er gjort klikker jeg meg bare gjennom de neste skjermbildene, og ser til min store overraskelse at «prerequisite-check» fullføres uten feil. Deretter klikker jeg neste enda en gang, og alt settes opp. Her begynner selvsagt problemene. Som jeg nevnte er Wildcard-sertifikater det beste for ADFS, men siden jeg ikke bruker dette er det en DNS-oppføring som mangler både som A-record i DNSen min, og som oppføring i sertifikatet. certauth.sso.mittdomene.no. Dette må jeg fikse, men jeg prøver å gå videre med oppsettet uten å løse dette foreløpig da jeg ikke tror det vil ha noen avgjørende betydning enda.

ADFS skal nå være klart, og for å teste at det fungerer kjører jeg en kommando i powershell på ADFS-serveren for å aktivere en SSO-loginside. ( Set-AdfsProperties -EnableIdPInitiatedSignonPage $true ).

Etter en kjapp endring på proxy-serveren for å dirigere ekstern trafikk fra sso.mittdomene.no til den interne ADFS-serveren fikk jeg først kun opp en 500-error. Etter en kjapp omstart fungerte det derimot, og jeg kan ta fatt på neste steg, Web Application Proxy.
Trykk her for del 3.