Login og SAML

Login til OS2sofd sker via SAML. Kommunen opsætter OS2sofd som en Relying Party hos sin Identity Provider (typisk AD FS, OS2faktor eller en tilsvarende SAML Identity Provider) og sender brugerens identitet og roller med i SAML-token’et.

Nødvendige oplysninger#

OS2sofd skal bruge følgende om brugeren ved login:

  • Brugerens identitet (sAMAccountName fra AD), sendt som NameID.
  • Brugerens roller i OS2sofd, angivet ved rolle-identifikatoren (fx admin, edit, read). Se Roller i OS2sofd for den fulde liste.

Eksempel på de relevante elementer i et SAML-token. Bruger I en anden Identity Provider end AD FS, kan dette bruges som målbillede for, hvad der skal konfigureres:

<Subject>
  <NameID>bsg</NameID>
</Subject>
<AttributeStatement>
  <Attribute Name="roles">
    <AttributeValue>admin</AttributeValue>
    <AttributeValue>edit</AttributeValue>
    <AttributeValue>read</AttributeValue>
  </Attribute>
</AttributeStatement>

Roller i OS2sofd#

Roller administreres i OS2rollekatalog og sendes med i SAML-token’et som rolle-identifikatoren (kolonnen Identifier nedenfor). En bruger kan have flere roller. Nogle roller hører til valgfrie moduler og har kun effekt, hvis modulet er aktiveret.

RolleIdentifierBeskrivelse
AdministratoradminAdgang til alt, inkl. opsætning og konfiguration af løsningen.
LæseadgangreadSe organisationsdata, men ikke redigere dem.
SkriveadgangeditFuld skriveadgang til data. Kan dog ikke redigere indstillinger; det kræver Administrator.
OrganisationsadministratorlosadminBruges sammen med LOS-modulet: administrér enheder (opret, nedlæg, redigér og flyt enheder i enhedshierarkiet).
Kontaktinforedaktøredit_contact_infoRedigér kontaktinformationer for brugere og enheder. Har implicit læseadgang til alle organisationsdata.
TelefonadministratortelephonyadminBruges sammen med Telefoni-modulet: adgang til telefonisystemet.
KommunikationsadgangsmsBruges sammen med SMS-modulet: adgang til kommunikations-funktionerne.
CPR-adgangcpr_accessTillægsrolle uden funktion alene. Giver adgang til at se CPR-numre på brugerne. Ingen anden rolle (heller ikke Administrator) giver denne adgang; den vælges til som ekstra rolle.
Hasteopretterperson_createrLæseadgang til organisationsdata plus mulighed for haste-oprettelse af personer.
Organisationsdiagramredaktørchart_editorLæseadgang til organisationsdata plus mulighed for at vedligeholde organisationsdiagrammer.

Opsætning af Relying Party i AD FS#

Opret en ny Relying Party i AD FS på normal vis. Metadatafilen hentes her (udskift kommune med kommunens navn):

https://kommune.sofd.io/saml/metadata

Opsæt derefter de nødvendige Claim Rules.

Claim Rule for NameID#

  1. Højreklik på din Relying Party og vælg “Edit Claim rules…”.
  2. Tryk “Add Rule” og vælg “Send LDAP Attribute as Claims”.
  3. Map “SAM-Account-Name” til “Name ID”, og gem.

Claim Rule for roller#

Tilføj en “custom” claim rule, der henter brugerens roller fra OS2rollekatalog, hvor de administreres:

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
 => issue(store = "RoleCatalogueAttributeStore",
          Types = ("roles"),
          query = "getSystemRoles",
          param = c.Value, param = "sofdcore");

Det forudsættes, at I har kendskab til konfiguration af AD FS (eller tilsvarende SAML Identity Provider).