Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions docs/iam/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,43 @@ module.exports = [
'iam/integrasjoner/Writebacktofs',
],
},
{
type: 'category',
label: 'Tools actionsets',
items: [
'iam/tools-actionsets/QueryIDW_dokumentasjon',
'iam/tools-actionsets/QueryMergeUserInfo_dokumentasjon',
'iam/tools-actionsets/QueryMV_dokumentasjon',
'iam/tools-actionsets/QueryPortal_dokumentasjon',
'iam/tools-actionsets/QueryUser_dokumentasjon',
'iam/tools-actionsets/ActiveDirectoryDelete_dokumentasjon',
'iam/tools-actionsets/PersonProfiling_dokumentasjon',
'iam/tools-actionsets/RenamePDAccount_dokumentasjon',
'iam/tools-actionsets/Report_appRoles10_dokumentasjon',
'iam/tools-actionsets/REPORT_DBTableSize_dokumentasjon',
'iam/tools-actionsets/Report_Entitlements_dokumentasjon',
'iam/tools-actionsets/Report_Group_Members_dokumentasjon',
'iam/tools-actionsets/Report_Healthchecks_dokumentasjon',
'iam/tools-actionsets/Report_JMLStatsPD_dokumentasjon',
'iam/tools-actionsets/Report_ManageReportFiles_dokumentasjon',
'iam/tools-actionsets/Report_MVTableAnalytics_dokumentasjon',
'iam/tools-actionsets/Report_PortalAnalytics_dokumentasjon',
'iam/tools-actionsets/Report_SystemTests_dokumentasjon',
'iam/tools-actionsets/TOOL_DELETE_LDAP_OBJECT_dokumentasjon',
'iam/tools-actionsets/TOOL_DiffBetweenRIAndAD_dokumentasjon',
'iam/tools-actionsets/TOOL_Fix_Legacy_Username_MasterPersons_dokumentasjon',
'iam/tools-actionsets/TOOL_FutreDatedMessages_Move_dokumentasjon',
'iam/tools-actionsets/TOOL_GetGalItems_dokumentasjon',
'iam/tools-actionsets/TOOL_ExportGAL_dokumentasjon',
'iam/tools-actionsets/TOOL_InitializeUsersForARequestableEntitlement_csv_dokumentasjon',
'iam/tools-actionsets/TOOL_OrgProfiling_dokumentasjon',
'iam/tools-actionsets/TOOL_CourseProfiling_dokumentasjon',
'iam/tools-actionsets/TOOL_Manually_Update_Workflow_dokumentasjon',
'iam/tools-actionsets/WFM_MergeIdentities_dokumentasjon',
'iam/tools-actionsets/WFM_RenameUser_dokumentasjon',
'iam/tools-actionsets/WFM_DeleteIdentifier_dokumentasjon',
],
},
{
type: 'category',
label: 'Versjoner',
Expand Down
52 changes: 52 additions & 0 deletions docs/iam/tools-actionsets/ActiveDirectoryDelete_dokumentasjon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@

# ActiveDirectoryDelete


Kategori: Account Management / Deprovisioning


## Formål

Sletter et objekt fra Active Directory (AD) basert på sAMAccountName.
Actionsettet er en del av deprovisioneringsflytene i Felles IAM og brukes
når en brukerkonto skal fjernes permanent fra AD.

Brukes til:
- Permanent sletting av AD-kontoer ved avslutning av arbeidsforhold eller studierett
- Opprydding av AD-objekter som ikke lenger skal eksistere
- Testing/simulering av sletting uten å gjøre faktiske endringer (log_only-modus)


## Hvordan kjøre

### Input-parametere:
- username (string): sAMAccountName til AD-objektet som skal slettes
- idautoid (string): UH-ID til brukeren – brukes til revisjonslogging
- log_only (boolean, valgfri): Hvis satt til true kjøres actionsettet i simuleringsmodus
uten å gjøre faktiske endringer i AD

### Eksempler:
- ActiveDirectoryDelete("laols0070", "3ddf4822-77ed-4c27-909e-7c826ca10423")
- ActiveDirectoryDelete("laols0070", "3ddf4822-77ed-4c27-909e-7c826ca10423", true) ← simulering


Resultat

Actionsettet returnerer true ved suksess, false ved feil.

Fargekoding i logger:
- GRØNN: AD-objektet ble slettet
- BLÅ: Simuleringsmodus (log_only=true) – objektet ville blitt slettet
- ORANSJE: Brukeren ble ikke funnet i AD – anses som allerede slettet (returnerer true)
- RØD: Feil – tilkobling til AD mislyktes, eller sletting feilet

Revisjonslogging:
Alle slettinger (vellykkede og mislykkede) logges som audit-hendelse av typen
"deleteAccount" mot målsystemet "Active Directory", med UH-ID og DN som referanse.

Mulige feilsituasjoner:
- Kan ikke koble til AD → avbryter og returnerer false
- Bruker ikke funnet i AD → advarselsmelding, returnerer true (idempotent)
- Sletting mislykkes → feilmelding og audit-logg med successful=false, returnerer false

Skrevet med hjelp av AI
87 changes: 87 additions & 0 deletions docs/iam/tools-actionsets/PersonProfiling_dokumentasjon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@

# PersonProfiling


Kategori: Person Profiling / Query


## Formål

Genererer en fullstendig HTML-brukerprofil basert på UH-ID. Samler data fra
Portal Directory (LDAP), Identity Warehouse (IdW), MetaVault (RIDB) og
EVU-kursdata, og presenterer alt i en Bootstrap-formatert HTML-rapport.

Rapporten er kumulativ, ny informasjon legges til i samme fil for samme dato,
slik at man kan spore endringer gjennom dagen.

Brukes til:
- Troubleshooting av brukerkontoer på tvers av alle systemer
- Verifisering av data fra kildesystemer (FS, SAP/DFØ, GREG)
- Debugging av JML-prosesser og provisjonering
- Support-saker med behov for komplett brukeroversikt
- Se hvilke kurs (EVU) en bruker er påmeldt


## Hvordan kjøre

Input-parameter:
- uhid (string): UH-ID

### Eksempel:
PersonProfiling("3ddf4822-77ed-4c27-909e-7c826ca10423")


Resultat

Genererer HTML-fil:
`/person_profiles/SE_PersonProfile_<uhun>-<dd-MM-yyyy>.html`

Filen åpnes i append-modus, så hver kjøring samme dag legger til en ny
tidsstemplet seksjon nederst i rapporten.

Rapporten henter og viser data fra følgende seksjoner:

1. PORTAL DIRECTORY (LDAP)
- Alle LDAP-attributter for brukeren (unntatt userPassword)
- Vises i fet skrift per attributt
- Hvis bruker ikke finnes: vises "User not found in PD"

2. IDENTITY WAREHOUSE (IDW)
- Kaller _QueryIDW med uhid
- Viser identifikatorer og institusjonstilknytning

3. EVU-KURS
- Kaller TOOL_CourseProfiling med uhid
- Viser alle EVU-kurspåmeldinger for brukeren

4. MASTER VAULT (RIDB): tabeller basert på affiliasjon
Alltid inkludert:
- master_persons

Hvis student (id inneholder "/fs/"):
- master_studyrights
- master_studentteacher
- master_studentassessments
- master_roles
- students_load
- studyrights_load
- studentteaching_load
- studentassessments_load
- roles_load

Hvis ansatt/gjest (id inneholder "/employee/"):
- master_positions
- master_contracts
- employees_load
- positions_load
- contracts_load

Gjester fra GREG identifiseres via "/grg/" i kildeID-en og inngår
i employee-tabellene.

Mulige feilsituasjoner:
- Kan ikke koble til RIDB → avbryter og returnerer false
- Kan ikke koble til Portal LDAP → avbryter
- UH-ID finnes ikke i master_persons → loggfeil og avbryter

Skrevet med hjelp av AI
73 changes: 73 additions & 0 deletions docs/iam/tools-actionsets/QueryIDW_dokumentasjon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@

# _QueryIDW

Kategori: Query / Identity Warehouse

## Formål

Slår opp identifikatorer i Identity Warehouse (IdW) basert på ulike søketyper.
Viser all identitetsinformasjon for en person på tvers av institusjoner,
inkludert UH-ID, brukernavn, personnummer, ansattnummer og andre identifikatorer.

Brukes til:
- Finne UH-ID basert på personnummer eller brukernavn
- Identifisere alle identifikatorer knyttet til en person
- Verifisere identitetsmatching på tvers av institusjoner
- Troubleshooting av identitetskollisjoner
- Kontrollere hvilke institusjoner som har registrert brukeren
- Avdekke duplikater i master_persons for samme UH-ID

## Hvordan kjøre

### Input-parametere:
- type (enum, valgfri): Søketype
* "uhid" – UH-ID
* "brukernavn" – UH brukernavn
* "personnummer (fnr/dnr/snr)" – Fødselsnummer / D-nummer / S-nummer
* "SAP Ansattnummer" – Ansattnummer fra SAP/DFØ
* "FS personløpenummer" – Personløpenummer fra FS
* "Greg ansattnummer" – Ansattnummer fra GREG
* "Passnummer" – Passnummer

- value (string, valgfri): Verdien som skal søkes etter

### Eksempler:
* _QueryIDW("uhid", "3ddf4822-77ed-4c27-909e-7c826ca10423")
* _QueryIDW("personnummer (fnr/dnr/snr)", "01019912345")
* _QueryIDW("brukernavn", "laols0070")
* _QueryIDW("SAP Ansattnummer", "12345")

## Resultat

Viser informasjon i logger med fargekoding:

1. INSTITUSJONER (lilla)
Liste over alle institusjoner som har registrert identifikatorer for personen,
kommaseparert på én linje.

2. IDENTIFIKATORER I IDW (lilla overskrift, grå detaljer)
Alle identifikatorer gruppert per UH-ID (held_by) og institusjon:
- Institusjon vises i mørk rød (f.eks. "**** uib ****")
- Per identifikator vises: tidsstempel, type og verdi
Format: " YYYY-MM-DD HH:MM:SS - `<type>:<verdi>`"

3. LEGACY OG UH-OPPRETTEDE NAVN (lilla overskrift, grå detaljer)
Brukernavn i namespace, gruppert per institusjon:
- Institusjon vises i mørk rød
- Per oppføring: tidsstempel, type, kildesystem (hvis ikke "idw") og verdi
Format: " YYYY-MM-DD HH:MM:SS: `<type> (<source_system>) = <verdi>`"

4. MASTER_PERSONS ANALYSE (kun hvis flere records finnes for samme UH-ID)
Hvis det finnes multiple records i master_persons for et UH-ID:
- Viser alle kolonner med verdier på tvers av records
- MØRK RØD: kolonner med like verdier (matching på tvers av records)
- SØLV: kolonner med unike verdier
- Hjelper med å identifisere identitetskollisjoner og duplikater
- Ignorerte kolonner (ikke vist): uhid, source_institution, updated_at,
uhun, soft_match_conflicts, legacy_username, legacy_email, created_at

Feilsituasjoner:
- API-kall til IdW returnerer ikke HTTP 200 → feilmelding i rød + API-respons
- Ingen UH-ID funnet for oppslag mot master_persons → advarsel i rød

Skrevet med hjelp av AI
62 changes: 62 additions & 0 deletions docs/iam/tools-actionsets/QueryMV_dokumentasjon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@

# _QueryMV

Kategori: Query / Master Vault


## Formål

Spør opp data fra RIDB (Master Vault) tabeller. Gir tilgang til alle master-
tabeller og load-tabeller for ansatte, studenter, organisasjoner og roller.

Brukes til:
- Rask ad-hoc spørring mot Master Vault uten SQL-klient
- Verifisering av data i master_persons, master_identifiers, master_positions etc.
- Debugging av datainnlasting fra kildesystemer (employees_load, students_load)
- Kontroll av meldingskøer (message_queue_cache, message_queue_errors)
- Eksport av tabelldata til CSV for analyse


## Hvordan kjøre

### Input-parametere:
- table (enum, påkrevd): Tabellnavn fra Master Vault
* Master-tabeller: master_persons, master_identifiers, master_positions,
master_contracts, master_loa, master_orgs, master_studyrights,
master_studentassessments, master_roles, etc.
* Load-tabeller: employees_load, students_load, positions_load,
contracts_load, orgs_load, roles_load, etc.
* Kø-tabeller: message_queue_cache, message_queue_errors,
message_queue_history, message_queue_future_dated

- limit (string, valgfri): Maks antall records (default: 1000)
- filter (string, valgfri): WHERE clause uten "WHERE" keyword
- distinct (boolean, valgfri): Bruk DISTINCT i SELECT
- write_to_file (boolean, valgfri): Skriv Resultater til CSV-fil

### Eksempler:
- _QueryMV("master_persons")
- _QueryMV("master_persons", "10")
- _QueryMV("master_persons", "100", "uhid='3ddf4822-77ed-4c27-909e-7c826ca10423'")
- _QueryMV("master_identifiers", "50", "source_institution='uio'")
- _QueryMV("employees_load", "1000", "", false, true)

## Resultat

Viser data i logger:
- SQL-spørring som kjøres (brun farge)
- Antall records funnet
- Tabell med Resultater (hvis >1 record) eller enkeltoppføring
- Total record count for tabellen

Hvis write_to_file=true:
- Skriver CSV-fil til /reports/SE_QueryMV_asTable_`<tabellnavn>_<dato>`.csv
- Filnavn vises i logger
- CSV-format med semikolon (;) som separator
- Inkluderer header med kolonnenavn

Returnerer: results array (returnsValue=true)

Uten table-parameter: Viser liste over alle tilgjengelige tabeller i databasen.

Skrevet med hjelp av AI
56 changes: 56 additions & 0 deletions docs/iam/tools-actionsets/QueryMergeUserInfo_dokumentasjon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@

# _QueryMergeUserInfo

Kategori: Query / Merge Information


## Formål

Samler og viser fullstendig brukerinformasjon fra alle systemer for én eller
flere brukere basert på UH-ID. Kombinerer data fra Identity Warehouse (IdW),
RIDB, Portal LDAP og målsystemer (AD og Feide LDAP).

Brukes til:
- Verifisere synkronisering av brukerdata på tvers av alle systemer
- Sammenligne identitetsinformasjon før/etter merge-operasjoner
- Troubleshooting av provisjoneringsfeil
- Validere datakonsistens mellom kildesystemer og målsystemer


## Hvordan kjøre

Input-parameter:
- uhids (string, valgfri): Kommaseparert liste med UH-IDer

### Eksempler:
- _QueryMergeUserInfo("3ddf4822-77ed-4c27-909e-7c826ca10423")
- _QueryMergeUserInfo("3ddf4822-77ed-4c27-909e-7c826ca10423,62d5e2aa-ae46-428f-a8ec-abb7b8d4f4c5")

Uten parameter kjøres med test-verdier.


## Resultat

Viser strukturert informasjon i logger med fargekoding:

1. IDENTITY WAREHOUSE (IDW)
- Institusjoner som har registrert brukeren
- Identifikatorer: nin, un, dfo:employee, fs:student, grg:employee, privat:passport
- Namespace: Legacy og UH-opprettede brukernavn

2. LOCAL MASTER DATA (RIDB)
- master_identifiers: Lokale identifikatorer (uhid, nin, source_institution, source_system)
- master_persons: Komplett brukerinfo (navn, organisasjon, datoer, kildeinformasjon)

3. PORTAL (Portal LDAP)
- Portal-brukerkontoer matchet på UH-ID
- Alle LDAP-attributter (idAutoId, idautoPersonSystem1ID, etc.)

4. TARGET SYSTEMS
- Active Directory: Brukere matchet på sAMAccountName
- Feide LDAP: Brukere matchet på uid

Typisk brukt etter merge-operasjoner for å bekrefte konsistent brukerinformasjon.
Viser dataflyt: IDW → RIDB → Portal → Target Systems.

Skrevet med hjelp av AI
Loading
Loading