Automatisk avvikling av brukarar

Ei rutine i Cerebrum for å automatisk avvikle alle brukarkontoar som har vore sperra, dvs. i karantene, i ein periode. Dette settast gjerne opp i samanheng med rutina for automatisk sperring av brukarar, for å rydde opp i brukarkontoar når dei har vore sperra i ein lang nok periode.

1   Introduksjon

Dette er ei rutine for å automatisk vedlikeholde brukarmassen ved bruk av karantener. Når ein brukarkonto har hatt ei karantene i over eit gitt antal dagar og personen ikkje har noko tilknytting til instansen, skal ikkje personen lenger ha tilgang til brukarkontoen og IT-tilgangane den gir, og den kan difor avviklast.

Dette kan gjerne settast saman med rutina for automatisk sperring av brukarar. Sett i samanheng vil desse to rutinene fungere:

  1. Sperrerutina finn alle som ikkje lenger er tilknyttinga instansen varsler brukarane om sperringa. Kvar brukar får ei karantene, med startdato fram i tid.
  2. Karantena trer i kraft, og brukaren vert sperra frå alle IT-system. Personen kan no, avhengig av tilbudet til instansen, be IT-personalet om å få midlertidig tilgang for å til dømes hente ut sine data, e-postar og rydde opp.
  3. Etter at brukarkontoen har vore sperra i ein lang nok periode, tolker ein det som at personen ikkje lenger treng brukarkontoen, og denne rutina trer i kraft. Avhengig av korleis instansen er satt, vil heimeområdet og e-postkontoen kunne bli sendt til backup, alle gruppemedlemskap vert fjerna, og brukaren vert "ekspirert".

Denne avviklingsrutina kan brukast for ulike situasjonar:

  • Avvikle brukar med manuelle karantener: Til dømes kan IT-ansatte, når ein tilsett slutter ved instansen, gje brukarkontoar ei manuell karantene for å sei at personen har slutta. Avviklingsautomatikken vil deretter kunne ta seg avviklinga etter ein periode.
  • Passordvarslingrutina: Når ein brukarkonto ikkje har bytta passord på lenge, og er difor blitt sperra, kan denne rutina avvikle brukarkontoen straks personen ikkje lenger har noko tilknytting til instansen.

Nokre merknader om rutina:

  • Brukaren vil ikkje bli varsla om avviklinga, då det ikkje har noko praktisk betydning for personen sidan brukaren allereie ikkje er mulig å bruke.
  • Sjølve avviklinga gjerast ulikt per instans. Rutina tek seg berre av registreringane i Cerebrum. Før ein set opp denne rutina må ein ta hensyn til korleis avviklinga skal foregå.

1.1   Fordeler med automatisk avvikling

Fordeler ved å sette opp automatisk avvikling av brukarkontoar:

  • Brukarmassen vert rydda opp i automatisk og fortløpande.
  • Ein belaster IT-ressursane mindre, spesielt lagringsløysinger for heimeområde og e-postkontoar.
  • IT-tilsette får mindre manuelt arbeid rundt opprydding i brukarmassen, til dømes når tilsette slutter.
  • Bedring av sikkerheten, sidan fleire mister tilgangen automatisk, og ein unngår svikt i manuelle rutiner.

1.2   Konsekvenser med automatisk avvikling

Nokre ulemper/konsekvenser:

  • Rutina er sterkt avhengig av gode data frå kjeldesystema. Dersom aktive personar mangler tilknyttingar frå td. SAP, står dei i fare for å bli automatisk avvikla. Dette vil kunne skape ekstra arbeid for IT-personalet, som må gjenopprette brukarar.

    Personalavdelinga ved instansen må vere bevisst rundt konsekvensane av kva dei registrerer på personar. Dei må forstå at om dei gjer endringar i personalregistreringane vil det kunne føre til at personen mister IT-tilgangane sine.

  • Det vil kunne bli meir tungvindt å ha manuelle personar i systemet.

2   Virkemåte

Korleis avviklinga fungerer:

  1. Finn alle brukarkontoar som har ei bestemt karantene, og der start-datoen for karantena var for eit definert antal dagar sidan.

  2. Filtrer vekk alle brukarkontoar som tilhøyrer personar som har aktive tilknyttingar. Rutina kan settast opp til å ignorere enkelte tilknyttingstypar, til dømes manuelle tilknyttingar, slik at desse likevel vert sperra.

  3. Send kvar brukarkonto som vart funne til avvikling. Sjølve avviklinga fungerer ulikt per instans. Nokre dømer på kva som kan skje:

    • Brukarkontoen vert registrert som avvikla direkte. Kontoen får satt sluttdato og alle gruppemedlemskap vert fjerna. Alle integrasjonar vil deretter fjerne brukaren ved neste eksport.
    • Brukarkontoen kan sendast til ei eiga avviklingsrutine, som til dømes tek seg av å pakke ned heimeområdet og sende det til backup-løysinga til instansen.
    • All informasjon om brukarkontoen kan slettast, inkludert historikk, entitets-id og brukarnamn. Dette gjer at brukarnamnet kan bli gjenbrukt. Dette brukast til dømes for midlertidige gjestebrukarar.

3   Ta i bruk

3.1   Avklaringar

For å kunne ta i bruk rutina treng Cerebrum drift først svar på nokre spørsmål:

  1. Kva karantene skal rutina sjå på?

    Rutina kan settast opp for ein eller fleire karantener. Rutina kan settast opp ulikt per karantene, til dømes på ein måte for autopassord, og med andre innstillingar for auto_no_affiliation.

    Døme: auto_no_affiliation

  2. Kor mange dager skal brukaren ha vore sperra før avvikling?

    Dette er antalet dager frå karantena sin startdato tredde i kraft. Ein set dette gjerne til kor lenge ein trur at personar framleis vil kunne komme tilbake for å rydde opp i brukarkontoen sin.

    Døme: 7 dager

  3. Kva skal skje ved avvikling?

    Som oftast har ein berre behov for at brukarkontoen markerast som avvikla i Cerebrum, og så tek alle integrasjonar seg av å fjerne brukarkontoen frå IT-systema. I visse tilfeller er det behov for å innføre ei meir aktiv avvikling. Dette må i så fall spesifiserast, om det er behov for det.

  4. Kor mange brukarkontoar kan avviklast samtidig?

    Det kan for enkelte avviklingsløysinga vere behov for å begrense antalet brukarkontoar som vert avvikla samtidig. Til dømes vil nedpakkinga av heimeområder kunne ta litt tid, så ein vil berre kunne ta eit visst antal brukarkontoar i døgnet.

    Standard innstillingar er uendeleg, dvs. alle brukarane som oppfyller krava for å bli avvikla.

  5. Kor ofte, og når, skal avviklinga køyre?

    Døme: Kvar dag, kl 07:15.

    Dette kan vurderast opp mot:

    • Når har IT-systema kapasitet til å avvikle brukarkontoar? Systema har gjerne bedre kapasitet om natta, når det er få brukarar av systema.

    • Når har IT-tilsette kapasitet til å ta seg av henvendingar?

      Feilregistreringar vil kunne føre til at brukarkontoar vert avvikla ved ein feil, så IT-avdelinga må ha kapasitet til å kunne ta seg av dette om det skulle oppstå slike situasjonar.

      Dette skjer forhåpentlegvis sjeldan, spesielt fordi brukarkontoen vil ha vore sperra i ein periode på førehand.

  6. Er det nokre tilknytningstyper som skal ignorerast?

    I utgangspunktet vil ikkje rutina avvikle ein brukar dersom personen har ei person-tilknytting. Ein kan legge inn unntak for dette, for å ignorere enkelte tilknyttingstypar. Dette er typisk manuelle tilknyttingar, som ikkje kjem frå eit kjeldesystem.

    Døme: MANUELL og UPERSONLIG

    Merk: Rutina støtter berre tilknyttingstypar, og ikkje status. Ein kan til dømes ikkje velge MANUELL/gjest, men må velge alt under MANUELL.

3.2   Førebuingar

Før automatikken vert satt i produksjon må følgande utførast:

  1. Cerebrum drift testkøyrer rutina og sender over ei liste over kva brukere som ville blitt avvikla.

  2. Instansen må gå gjennom lista over brukarane og bekrefte at lista er riktig, og at det er OK å starte rutina.

    Dette er viktig då det er stor sannsynlighet for at det er ei større mengde brukarkontoer som settast i karantene ved første køyring, som kan påføre meirarbeid for admin. I verste fall kan det føre til at brukarkontoar, som det er behov for at er aktive, vert avvikla.

4   Oppsett i Cerebrum

Denne delen er berre av interesse for dei som skal sette opp sperringa i Cerebrum.

  • Jobben for å sperre brukere automatisk:

    cerebrum/contrib/no/deactivate_quarantined_accounts.py -q QUARANTINE -s DAYS
    

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

  • Døme på scheduled_jobs:

    deactivate_accounts = Action(
        call=System(pj(contrib, 'no', 'deactivate_quarantined_accounts.py'),
                    params=['-q', 'QUARANTINE',
                            '-s', 'DAYS',],
        ),
        max_freq=23*60*60,
        pre = ['quarantine_accounts'],
        # Run Tuesday mornings, after quarantines are set and reset:
        when=When(time=[Time(wday=[1], hour=[6], min=[0])]))
    
Av jokim
Publisert 23. okt. 2014 12:12