Automatisk sperring av brukarar utan gyldig persontilknytting

Brukarar som ikkje lenger har ei gyldig tilknytting skal i dei fleste tilfeller ikkje lenger få tilgang til IT-system ved institusjonen. Cerebrum har generell funksjonalitet for å automatisere ei slik sperring av brukarar.

1   Introduksjon

Når en person slutter som student, ansatt eller tilknyttet, vil personen miste sine tilknytninger til institusjonen, i Cerebrum også kalt affiliations. Personens brukerkontoer vil i utgangspunktet likevel fortsette å være aktive selv om personen er uten gyldige tilknytninger. De fleste institusjoner ønsker ofte at slike personers brukere ikke lenger skal få tilgang til IT-systemene.

Denne automatiserte løsningen går ut på å fortløpende sperre alle brukerne til de som mangler person-tilknytninger, ved å sette en definert karantene. Brukeren kan få tilsendt et varsel på e-post en tid før sperringen.

1.1   Fordeler med at automatisk sperring

Det er flere fordeler med å kjøre automatisk sperring av brukerkontoer:

  • Perioden fra en bruker ikke skal ha IT-tilgang lenger til brukeren faktisk mister tilgangen, blir mye kortere.
  • Cerebrum drift eller andre trenger ikke å måtte gjøre en stor jobb med å teste og sette i gang store sperringer, for eksempel en gang i semesteret. Dette er tidkrevende, da det fort blir en stor brukerliste som må bli sett over før sperringen skjer.
  • Brukermassen vil bli ryddet opp i automatisk. Det blir da mindre arbeid for administratorer når personer for eksempel slutter.

1.2   Konsekvenser med automatisk sperring

Noen ulemper/konsekvenser:

  • Du vil ikke kunne ha manuelle personer i systemet, da brukerene som tilhører disse vil bli automatisk sperret. Alle personer må bli registrert i et kildesystem, eller få en manuell tilknytning, uten unntak.

    Noen systemer krever uansett at personen har en gyldig tilknytting for å få tilgang. Dette gjelder først og fremst Feide. For slike systemer vil dette ikke ha noen virkning, siden brukeren allerede har mistet tilgangen.

  • Personer som blir feilregistrert i et kildesystem, for eksempel SAP eller FS, står i fare for å miste IT-tilgangen sin. Det er likevel en liten ventetid mellom varslingen og sperringen av brukeren, slik at institusjonen har tid til å rydde opp i slike registreringer.

2   Virkemåte

Hvordan sperrerutinen fungerer:

  1. Finn alle personer uten gyldige tilknytninger.
  2. Finn alle aktive brukere til personene uten tilknytninger.
  3. Gå gjennom hver enkelt bruker som er blitt funnet:
    1. Er brukeren allerede i karantene, ignoreres den.
    2. Har brukeren allerede karantenen som settes av sperrerutinen, men med startdato en kort periode frem i tid, ignoreres den. Dette betyr at sperrerutinen allerede har behandlet denne brukeren.
    3. Send et varsel på e-post til brukerkontoens primæradresse. Dersom dette feiler, vil det bli logget, og brukeren vil ikke bli sperret. I slike situasjoner må administratorer sperre brukeren manuelt, men i fremtiden skal slike brukerer bli sperret uansett.
    4. Gi brukeren sperre-karantenen. Startdatoen settes til et visst antal dager frem i tid.
  4. Finn frem alle resterende brukere som har sperre-karantenen og fjern denne. Dette gjør at personer som er blitt riktig registrert bli aktive igjen.

Funksjonaliteten går altså gjennom alle personer registrert i Cerebrum og plukker ut brukerene til de som ikke er tilknyttet institusjonen og varsler og sperrer de. Brukere som allerede er i karantene, eller som allerede har fått et varsel og en karantene som ikke er aktivert enda, vil ikke bli varslet på nytt. Hvis noen fjerner karantenen vil den bli satt på nytt på brukeren ved neste kjøring, med mindre personen også er blitt registrert i et kildesystem.

Startdatoen for sperringen settes et gitt antal dager frem i tid. På den måten vil en kunne se om en bruker vil snart bli sperret eller ikke, og en har noe tid på seg til å få registrert personen ved feil.

3   Ta i bruk

3.1   Avklaringer

For å kunne ta i bruk denne automatikken trenger Cerebrum drift noen svar:

  1. Hvilken karantene skal settes på brukerkontoene?

    Vi anbefaler at det brukes en egen karantene for dette, siden vi da også kan oppheve karantenen automatisk når personer blir korrekt registrert.

    Eksempel: auto_no_affiliations

  2. Hvor mange dager fram i tid skal karantenen virke fra?

    Dette er antalet dager mellom varsling og sperring. Standard er 7 dager.

  3. Hvor mange dager etter fjerningen av tilknytninger skal personen bli varslet?

    Det kan legges inn en grace-periode, fra en tilknytning har blitt slettet til sperrerutinen ser på den som ugyldig. Personer vil da ikke bli varslet med en gang, men først etter noen dager. Standard er 0, som vil si at varslingen skjer umiddelbart neste gang rutinen kjører.

    Dette kan brukes for å unngå unødvendige varsler for ulike situasjoner:

    • Rutiner i noen kildesystemer kan gjøre at personer er uten tilknytning i kortere perioder, for eksempel mellom ulike semester.
    • Noen kildesystemer markerer personer som ikke tilknyttet i en dag eller to i situasjoner der personen bytter arbeidssted internt på instansen.
  4. Hva skal e-postvarselet inneholde?

    Et generelt tips er at e-posten bør bare inneholde den absolutt nødvendige informasjonen, og lenke til en nettside med mer informasjon. For eksempel vil det gjerne vere ulike kontaktpunkt for studenter og ansatte, som kan beskrives bedre på en nettside enn i en e-post.

    Et eksempel på hvordan e-posten kan se ut:

    From: noreply@usit.uio.no
    Reply-To: noreply@usit.uio.no
    Subject: Automatisk sperring av din bruker "${USERNAME}"
    
    -- English text follows --
    
    Din brukerkonto '${USERNAME}' vil bli sperret som følge av at du ikke
    lenger har noen gyldig tilknytning til INSTANS. Sperringen vil tre i kraft
    om ${DAYS_TO_START} dager.
    
    For mer informasjon om dette, se https://INSTANS.no/sperring.
    
    Dersom du har spørsmål til dette, eller mener dette er feil, ta kontakt med
    din IT-ansvarlige, din personalavdeling eller ditt lokale studentkontor.
    Det er ikke mulig å svare til avsender av denne meldingen.
    
    Hilsen USIT
    
    -- English version --
    
    This is a notice to you that your account '${USERNAME}' will be
    deactivated, as you are not registered as affiliated with INSTANS any more.
    The deactivation will occur in ${DAYS_TO_START} days.
    
    For more information, please see https://INSTANS.no/english/sperring.
    
    If you have any questions, or if this is wrong, please contact your local
    IT support, your personal office or student office.
    
    USIT
    
  5. Hvor ofte, og når, skal sperringen kjøre?

    Eksempel: Hver dag, kl 07:00.

    Når og hvor ofte varslingen skal kjøres må vurderes opp mot:

    • Når har førstelinjen kapasitet til å ta seg av personer som vil ta kontakt rundt dette? Er det for eksempel ok å varsle personer i helgene, eller er det faste dager som passer best? Jo oftere varslingen kjøres, jo færre henvendelser vil det komme i hver runde.
    • Hvor lang tid skal brukere kunne ha IT-tilgang uten å skulle ha det? Hvis sperringen skal skje 7 dager etter varsling, og det blir kjørt fast hver dag vil brukeren bare ha tilgang i opp til 8 dager over tiden, men hvis sperringen kjøres en gang i uken vil brukeren ha IT-tilgang i opp til 14 dager over tiden.
  6. Er det noen tilknytningstyper som skal ignoreres?

    Tilknyttingstyper som ignoreres av sperrerutinen vil føre til at personer som bare er registrert med en slik tilknytning blir betraktet på lik linje med personer uten tilknytninger. Dette er typisk manuelle tilknytninger som ikke er blitt oppdatert av et kildesystem.

    Eksempel: Ved å oppgi MANUELL/gjest og MANUELL/inaktiv, vil alle brukere som har disse person-tilknyttingene også bli sperret hvis de ikke har andre, gyldige tilknytninger.

  7. Skal brukerene bli avviklet etter at de er blitt sperret? I så fall, hvor lenge etter sperring?

    Dersom dette er ønskelig, kan du også bestille oppsett av rutinen for automatisk avvikling av brukere.

3.2   Forberedelser

Før automatikken blir satt i produksjon må følgende utføres:

  1. Cerebrum drift testkjører rutinen og oversender en liste over hvilke brukere som ville blitt varslet ved første kjøring.

  2. Institusjonen må gå gjennom listen over brukere, og bekrefte at dette er ønskede endringer, og at det er OK å starte rutinen.

    Dette er viktig da det er en stor sannsynlighet for at det er en større mengde brukerkontoer som settes i karantene ved første kjøring, som kan påføre merarbeid for admin. I verste fall kan det føre til at brukerkontoer, som det er behov for at er aktive, blir sperret, og misfornøyde brukere.

  3. Hvis instansen har automatisk sperring av studentbrukere gjennom studentautomatikken, må dette bli slått av. Studentbrukere vil få samme varselet som alle andre brukere.

4   Konsekvenser

4.1   Feilregistreringer

Hvis en person blir feilregistreringer i kildesystemene, for eksempel SAP eller FS, kan det få resultatene:

  • Personens brukerkontoer får varsel om sperring.
  • Personens brukerkontoer blir sperret.

Hvis en person uheldigvis skulle bli feilregistrert i et av kildesystemene, må personen bli korrekt registrert. Eventuelt er det en mulighet å legge til manuelle tilknytninger i bofh, dersom det er tillatt.

Dersom en sletter en brukers automatisk satte karantene:

  1. Brukeren vil få et nytt e-postvarsel om sperring neste gang rutinen kjører.
  2. Brukeren vil få satt karantenen på nytt, med ny startdato det definerte antallet dager frem i tid.

5   Oppsett i Cerebrum

Denne delen er bare av interesse for de som skal sette opp sperringen i Cerebrum.

  • Jobben for å sperre brukere automatisk:

    cerebrum/contrib/quarantine_accounts.py -r -q QUARANTINE -o DAYS -m MESSAGEFILE
    

    Ved å bruke --help vil du få ut mer informasjon om oppsettet.

    Parameteret MESSAGEFILE må referere til en tekstfil med innholdet som instansen ønsker skal sendes til brukere som skal sperres. Denne legges i instansen sin templates-mappe:

    cerebrum_sites/templates/INSTANS/no_NO/email/autosperring.txt
    
  • Eksempel på scheduled_jobs:

    quar_accounts = Action(
        call=System(pj(contrib, 'quarantine_accounts.py'),
                    params=['-q', 'QUARANTINE',
                            '-o', 'DAYS',
                            '-m', pj(cerebrum_sites, 'templates', INSTANCE,
                                     'no_NO', 'email', 'autosperring.txt'),]
        ),
        max_freq=23*60*60,
        # Run Tuesday mornings
        when=When(time=[Time(wday=[1], hour=[5], min=[30])]))
    
  • Husk å slå av automatisk sperring i process_students.py. Dette må oppdateres i studconfig.xml, og eventuelt parameteret til jobben i scheduled_jobs.py.

6   Senere utvidinger

Det kan vurderes å legge til funksjonalitet:

  • Mulighet for å sende ut varsel på SMS i steden for på e-post.
Av jokim, jsama
Publisert 23. okt. 2014 12:10