Napomena: ovo je ranija, još nedorađena verzija korisničkih uputa. Ažurirane upute su u pripremi; pojedini prikazi i nazivi mogu se razlikovati od trenutačne aplikacije.

Prijava i korisnici

Ove upute vode administratora kroz sve postavke prijave, korisničke atribute, grupe, korisnike, lokalnu registraciju, preuzimanje korisnika, API ključeve, SSO providere te osobnu sigurnost i pristup.

Primjeri su izrađeni na čistoj SQLite instalaciji. Prikazani računi, grupe i ključevi služe samo za dokumentaciju. Tajne vrijednosti i osobni atributi uklonjeni su sa screenshotova. U produkciji koristite vlastite nazive, domene, rokove važenja i načelo najmanjih ovlasti.

Sadržaj

  1. Postavke prijave
  2. Atributi korisnika
  3. Grupe
  4. Korisnici i lokalni računi
  5. Lokalna prijava i registracija
  6. Preuzimanje korisnika
  7. API ključevi
  8. Zajednički postupak za SSO
  9. SAML
  10. SAML proxy
  11. CAS
  12. OIDC
  13. OAuth2
  14. Osobni profil: sigurnost i pristup
  15. Provjera i sigurnosne preporuke

1. Postavke prijave

Otvorite Postavke → Korisnici → Postavke prijave. Ovdje se uključuju načini prijave za cijelu aplikaciju. Uključivanje providera samo omogućuje njegovu konfiguraciju i prikaz u meniju; svaki konkretan profil mora biti zasebno spremljen, aktiviran, testiran i ispravno mapiran.

Pregled postavki prijavePregled postavki prijave
Postavke prijave na čistoj instalaciji.
Što znače glavne postavke

„Profil aktivan” nije isto što i zelena kvačica. Aktivna kvačica znači da se profil smije koristiti. Zelena kvačica i poruka Testirano i operativno pojavljuju se tek nakon uspješnog testa veze i ispravnog mapiranja obaveznih atributa. Profil može biti aktivan, a ipak neoperativan.

2. Atributi korisnika

Otvorite Atributi korisnika. Model obično već sadrži e-mail, ime i prezime. Dodatni atribut dodajte kada aplikacija treba pohraniti podatak koji nije dio osnovnog korisničkog profila, primjerice ustanovu, odjel, broj zaposlenika ili ulogu iz vanjskog imenika.

Zadani korisnički atributiZadani korisnički atributi
Zadani atributi korisnika na čistoj instalaciji.

Dodavanje atributa

  1. Unesite stabilnu programsku oznaku, malim slovima i bez razmaka, primjerice affiliation.
  2. Unesite odvojeni hrvatski i engleski naziv koji će korisnici vidjeti.
  3. Odaberite vrstu podatka te zasebno postavite Obavezno, Registracija, Profil i Aktivno.
  4. Spremite atribut. Novo polje pojavljuje se u korisničkim profilima i u tablici mapiranja svakog SSO profila.
Primjer dvojezičnog atributaPrimjer dvojezičnog atributa
Tehničko polje affiliation ima nazive Ustanova / Institution, vidljivo je u profilu i SSO mapiranju, ali nije uključeno u samostalnu registraciju.

Mapiranje povezuje polje modela Simbioze s nazivom atributa koji vraća provider. Nazivi su osjetljivi na točan zapis: mail, givenName i given_name nisu ista polja. Najprije testirajte profil i pročitajte stvarno vraćene nazive, a tek zatim ih upišite u mapiranje. SSO mapiranje ne dodaje polje automatski u javni obrazac registracije.

Koja polja ulaze u samostalnu registraciju? To bira administrator za svaki atribut. Registracija određuje prikazuje li se polje u javnom obrascu, a Obavezno zabranjuje praznu vrijednost u kontekstima u kojima se polje koristi. Ako su uključene obje postavke, polje je obavezno pri samostalnoj registraciji. Obavezni atribut mora imati i valjano SSO mapiranje da bi test profila bio operativan. Polje affiliation u ovom primjeru služi za mapiranje ustanove providera i prikaz u profilu, pa je namjerno isključeno iz registracije.

3. Grupe

Grupe okupljaju korisnike i nose skup prava. Administratorska grupa je sistemska i ne treba je koristiti kao običnu poslovnu grupu. Za odjele, projekte ili uloge izradite zasebne grupe s najmanjim potrebnim skupom prava.

Popis sistemskih grupaPopis sistemskih grupa
Sistemske grupe na čistoj instalaciji.

Primjer nove grupe

  1. Odaberite Nova grupa i unesite jasan naziv i opis.
  2. Dodijelite samo ovlasti koje članovima zaista trebaju.
  3. Spremite grupu, zatim u detaljima korisnika dodajte ili uklonite članstvo.
  4. Za SSO korisnike grupu možete popunjavati i pravilima temeljenim na mapiranom atributu, ako je takvo pravilo konfigurirano u vašoj instalaciji.
Primjer nove grupePrimjer nove grupe
Primjer dokumentacijske grupe prije spremanja.

4. Korisnici i lokalni računi

Stavka Korisnici prikazuje sažet popis računa. Stupci za ID i oznaku namjerno su uži kako bi ime za prikaz i važne radnje ostale čitljive i na manjim zaslonima.

Responzivni popis korisnikaResponzivni popis korisnika
Popis korisnika s uravnoteženim širinama stupaca.

Stvaranje lokalnog korisnika

  1. Odaberite Novi korisnik.
  2. Unesite jedinstvenu login oznaku, ime za prikaz i e-mail.
  3. Odaberite lokalni izvor prijave i dodijelite privremenu snažnu lozinku.
  4. Uključite obaveznu promjenu lozinke pri prvom loginu.
  5. Dodijelite samo potrebne grupe; administratorska ovlast ne smije biti zadana.
Obrazac za lokalnog korisnikaObrazac za lokalnog korisnika
Primjer obrasca za stvaranje lokalnog korisnika bez prikazane lozinke.
Novi korisnik na popisuNovi korisnik na popisu
Dokumentacijski korisnik nakon stvaranja.
Detalji korisnikaDetalji korisnika
Detalji računa, povezani provideri i članstva u grupama.
Obavezna promjena lozinkeObavezna promjena lozinke
Privremena lozinka vodi na obaveznu promjenu prije nastavka rada.

U detaljima računa provjerite je li korisnik aktivan, koji je izvor prijave, koje su vanjske prijave povezane i kojim grupama pripada. Deaktivacija je sigurniji prvi korak od brisanja jer čuva trag aktivnosti. Za vanjske račune ne mijenjajte ručno stabilni identifikator providera.

5. Lokalna prijava i registracija

U Lokalnoj prijavi određujete smiju li se korisnici sami registrirati. Za zatvorene sustave registraciju ostavite isključenom i račune stvarajte administrativno ili kroz provjereni SSO. Ako registraciju uključite, uskladite je s pravilima privatnosti, zaštitom od automatiziranih prijava i postupkom potvrde e-maila. Javni obrazac prikazuje samo korisničke atribute kojima je u Atributima korisnika uključena postavka Registracija; SSO-only polje Ustanova zato se ovdje ne prikazuje.

Registracija isključenaRegistracija isključena
Preporučeno početno stanje za zatvorenu aplikaciju.
Registracija uključenaRegistracija uključena
Registracija uključena samo za kontrolirani primjer.
Poveznica za registracijuPoveznica za registraciju
Ekran prijave prikazuje poveznicu tek kada je registracija dopuštena.
Obrazac registracijeObrazac registracije
Javni obrazac s odabranim registracijskim poljima; atribut Ustanova iz SSO mapiranja namjerno je skriven.

Nakon demonstracije vratite željeno produkcijsko stanje. Lozinke moraju biti jedinstvene, dovoljne duljine i po mogućnosti spremljene u upravitelju lozinki. Administrator nikada ne treba tražiti korisnikovu postojeću lozinku.

6. Preuzimanje korisnika

Preuzmi korisnika privremeno otvara aplikaciju u kontekstu odabranog korisnika. Služi dijagnostici ovlasti i prikaza, ne radu umjesto korisnika.

  1. Odaberite korisnika i zabilježite razlog u internom postupku podrške.
  2. Potvrdite preuzimanje. Aplikacija jasno označava da je impersonacija aktivna.
  3. Provjerite samo prijavljeni problem; ne mijenjajte poslovne podatke bez odobrenja.
  4. Odmah odaberite povratak na administratorski račun.
Odabir korisnika za preuzimanjeOdabir korisnika za preuzimanje
Administrator odabire račun za kontroliranu dijagnostiku.
Aktivno preuzimanje korisnikaAktivno preuzimanje korisnika
Jasna oznaka da se radi u kontekstu drugog korisnika.
Povratak administratoruPovratak administratoru
Radnju završite povratkom na svoj administratorski račun.

Preuzimanje ne testira stvarnu SSO autentikaciju, MFA ni pravila providera. Za to koristite test profila ili zaseban testni račun.

7. API ključevi

API ključ predstavlja korisnika koji ga je dobio. Dopušteni opsezi mogu samo suziti njegove postojeće ovlasti; ne mogu mu dati prava koja vlasnik nema. Za svaku integraciju koristite zaseban ključ, opisnu oznaku, najkraći potreban rok i najmanji skup opsega.

Izravno izdavanje ključa

  1. Odaberite vlasnika i samo potrebne opsege.
  2. Postavite datum isteka i, gdje je primjenjivo, ograničenje mreže.
  3. Stvorite ključ i odmah kopirajte tajnu u sigurno spremište.
  4. Tajna se više ne prikazuje. Ako je izgubljena, opozovite ključ i izdajte novi.
API ključ s najmanjim ovlastimaAPI ključ s najmanjim ovlastima
Primjer ograničenog API ključa prije stvaranja.
Jednokratna API tajnaJednokratna API tajna
Tajna je namjerno uklonjena sa screenshota.
Aktivni API ključeviAktivni API ključevi
Popis aktivnih ključeva za reviziju i opoziv.

Zahtjev korisnika i odobrenje administratora

Korisnik može u osobnom profilu zatražiti ključ i obrazložiti namjenu. Administrator pregleda vlasnika, opsege, rok i razlog te zahtjev odobri ili odbije. Nakon odobrenja korisnik dobiva obavijest i tajnu vidi samo jednom.

Zahtjev za API ključZahtjev za API ključ
Korisnik traži ograničeni ključ i navodi namjenu.
Poslan zahtjevPoslan zahtjev
Zahtjev čeka administratorsku odluku.
Zahtjev na čekanjuZahtjev na čekanju
Administrator provjerava detalje prije odobrenja.
Odobren API zahtjevOdobren API zahtjev
Odobrenje stvara ključ bez otkrivanja tajne administratoru.
Obavijest o API ključuObavijest o API ključu
Korisnik dobiva obavijest o odluci.
Odobren zahtjev korisnikaOdobren zahtjev korisnika
Obavijest vodi na jednokratno preuzimanje tajne.
Jednokratno preuzimanje API tajneJednokratno preuzimanje API tajne
Tajna je uklonjena sa slike i nakon zatvaranja se ne može ponovno prikazati.
Dovršen API zahtjevDovršen API zahtjev
Dovršen zahtjev ostaje evidentiran bez otkrivanja tajne.

8. Zajednički postupak za SSO profile

Za svaki SSO profil koristite isti sigurni slijed:

  1. Registrirajte aplikaciju kod providera i upišite samo nužne endpointove, Client ID i tajnu.
  2. Spremite profil kao aktivan. Tajna se pri kasnijem uređivanju ne prikazuje; prazno polje zadržava postojeću tajnu.
  3. Prvi put odaberite Testiraj profil bez nagađanja mapiranja. Nakon stvarne prijave prikazat će se zadnje dohvaćeni atributi.
  4. Prema vraćenim nazivima upišite atribut subjekta, atribut za prijavu, prikazno ime i korisnička polja.
  5. Ponovno testirajte. Tek poruka Testirano i operativno i zelena kvačica potvrđuju cjelovit profil.

Dopuštene domene

Popis ograničava prijavu na organizacijske domene. Jedna domena ide u svaki red ili se koristi popis odvojen zarezima. Vrijednost domena.hr dopušta tu domenu i njezine poddomene; kraći sufiks poput hr dopušta sve identifikatore čija domena završava s .hr. Prazan popis ne ograničava prijavu.

Atribut koji sadrži domenu mora biti stvarni atribut providera s vrijednošću oblika korisnik@domena ili samom domenom. Obavezan je samo kada je popis dopuštenih domena popunjen. Ne oslanjajte se na prikazno ime ili drugi promjenjivi atribut.

Javne povratne adrese

Provider mora vratiti preglednik na javnu adresu iste instalacije. Za aplikaciju u poddirektoriju uključite i poddirektorij, primjerice https://simbioza.example.org/simbioza. To je osnovna javna adresa koju korisnički preglednik vidi, a ne interna adresa PHP-FPM-a, kontejnera ili baze. Konkretne callback adrese prikazane na profilu registrirajte točno, bez preusmjeravanja na drugu instalaciju.

9. SAML

SAML profil ovisi o zasebno instaliranom i ispravno podešenom SimpleSAMLphp. Prije konfiguracije Simbioze moraju raditi njegov autoload, SP auth source, certifikati, metadata i povratne adrese. Putanja do vendor/autoload.php i naziv auth sourcea moraju odgovarati stvarnoj instalaciji.

Početna SAML konfiguracijaPočetna SAML konfiguracija
Profil je spremljen, ali mapiranje još nije potvrđeno.
Prvi SAML testPrvi SAML test
Veza radi i atributi su dohvaćeni; vrijednosti su uklonjene radi privatnosti.
AAI prijava bez podatakaAAI prijava bez podataka
Čist ekran stvarne AAI prijave bez korisničke oznake i lozinke.
SAML mapiranjeSAML mapiranje
Obavezni atributi mapirani prema stvarno vraćenim nazivima.
Operativni SAML profilOperativni SAML profil
Ponovljeni test potvrđuje ispravnu vezu i mapiranje.

10. SAML proxy i podprofili

Proxy instanca predstavlja jedan SimpleSAMLphp auth source iza kojega se može nalaziti više upstream providera. Na kartici Standardno postavljaju se zajednička autoload putanja, auth source i osnovna mapiranja. Dodatni podprofili nasljeđuju te zajedničke vrijednosti, a svaka kartica dobiva vlastito mapiranje atributa.

Proxy nema Dopuštene domene ni Atribut koji sadrži domenu. To je namjerno: različiti upstream provideri mogu vraćati različite vrste stabilnih identifikatora i domene. Ograničenje treba provesti na proxyju ili pojedinom upstream provideru, a ne jednom zajedničkom domenom u Simbiozi.

Početna proxy konfiguracijaPočetna proxy konfiguracija
Standardna kartica proxy instance prije mapiranja.
Dodavanje proxy podprofilaDodavanje proxy podprofila
Gumb plus dodaje zasebnu karticu za novi upstream izvor.
Tri proxy podprofilaTri proxy podprofila
Standardno, Facebook i Google prije dovršetka testova.
Izbor providera na proxyjuIzbor providera na proxyju
Stvarna proxy prijava nudi AAI@EduHR, Facebook i Google.

Standardno / AAI@EduHR

Prvi test standardnog proxy profilaPrvi test standardnog proxy profila
Dohvaćeni atributi prije mapiranja, s uklonjenim vrijednostima.
Mapiranje standardnog proxy profilaMapiranje standardnog proxy profila
Mapiranje standardnog AAI izvora.
Operativni standardni proxy profilOperativni standardni proxy profil
Standardna kartica nakon uspješnog ponovljenog testa.

Facebook

Prvi Facebook proxy testPrvi Facebook proxy test
Dohvaćeni Facebook atributi prije mapiranja, s uklonjenim vrijednostima.
Mapiranje Facebook podprofilaMapiranje Facebook podprofila
Stabilni Facebook identifikator, login i korisnička polja mapirani su zasebno.
Operativni Facebook podprofilOperativni Facebook podprofil
Facebook kartica nakon uspješnog testa.

Google

Prvi Google proxy testPrvi Google proxy test
Dohvaćeni Google atributi prije mapiranja, s uklonjenim vrijednostima.
Mapiranje Google podprofilaMapiranje Google podprofila
Google UID je subjekt, Google e-mail login, a ime i prezime mapiraju se u model.
Operativni Google podprofilOperativni Google podprofil
Google kartica nakon uspješnog ponovljenog testa.

11. CAS

CAS profil traži bazni URL poslužitelja te login, validate i logout endpoint. Ako se koristi vlastiti CA lanac, navedite čitljivu putanju do odgovarajućeg certifikata. Ne isključujte TLS provjeru radi zaobilaženja pogrešne konfiguracije certifikata.

Početna CAS konfiguracijaPočetna CAS konfiguracija
CAS veza je pripremljena, a mapiranje još nije dovršeno.
Prvi CAS testPrvi CAS test
CAS autentikacija radi i vraća atribute; vrijednosti su uklonjene.
CAS mapiranjeCAS mapiranje
Stabilni subjekt, login, ime i korisnička polja mapirani su prema rezultatu testa.
Operativni CAS profilOperativni CAS profil
Ponovljeni test potvrđuje operativan CAS profil.

12. OIDC

OIDC koristi Client ID i tajnu, authorization, token, userinfo i po mogućnosti end-session endpoint. Scope mora sadržavati openid, a zatim samo podatke koji su potrebni, primjerice profile i email. Javni redirect base URL je javna osnovna adresa ove instalacije; za https://simbioza.example.org/simbioza upisuje se upravo cijela ta vrijednost s poddirektorijem.

Početna OIDC konfiguracijaPočetna OIDC konfiguracija
OIDC endpointovi i javna osnovna adresa prije mapiranja.
Prvi OIDC testPrvi OIDC test
Dohvaćeni OIDC claimovi prije mapiranja; vrijednosti su uklonjene.
OIDC mapiranje i domenaOIDC mapiranje i domena
Subjekt, login, prikazno ime, korisnička polja i domenski atribut nakon pregleda claimova.
Operativni OIDC profilOperativni OIDC profil
Ponovljeni test potvrđuje OIDC profil i prikazuje zelenu kvačicu.

Parametar forsiranja prijave, primjerice max_age=0, koristite samo kada provider podržava tu semantiku i kada je uključeno Forsiraj prijavu. Inače ostavite prazno kako se ne bi nepotrebno prekidala postojeća SSO sesija.

13. OAuth2

OAuth2 profil koristi authorization, token i userinfo endpoint te scopeove potrebne za korisničke podatke. Za providere koji nude OpenID Connect prednost dajte OIDC profilu jer standardizira identitet i validaciju tokena. OAuth2 logout može tražiti poseban endpoint, naziv redirect parametra i dodatni hint; popunite samo ono što dokumentacija providera izričito zahtijeva.

Početna OAuth2 konfiguracijaPočetna OAuth2 konfiguracija
OAuth2 profil prije mapiranja atributa.
Prvi OAuth2 testPrvi OAuth2 test
Userinfo atributi dohvaćeni su stvarnom prijavom; vrijednosti su uklonjene.
OAuth2 mapiranje i domenaOAuth2 mapiranje i domena
Mapiranje i domensko ograničenje upisani prema rezultatima testa.
Operativni OAuth2 profilOperativni OAuth2 profil
Ponovljeni test potvrđuje operativan OAuth2 profil.
Svi SSO profili operativniSvi SSO profili operativni
Zelene kvačice u meniju potvrđuju sve testirane profile i proxy kartice.

14. Osobni profil: sigurnost i pristup

U korisničkom meniju otvorite Osobni profil. Osnovni dio prikazuje identitet i prilagođene atribute. U odjeljku Sigurnost i pristup korisnik može provjeriti grupe, lokalnu lozinku, povezane vanjske prijave i zahtjeve za API ključeve.

Prilagođeni atribut u profiluPrilagođeni atribut u profilu
Dodatni atribut prikazuje se u osobnom profilu.
Sigurnost i pristupSigurnost i pristup
Sažetak sigurnosnih postavki osobnog računa.
Proširena sigurnost i pristupProširena sigurnost i pristup
Grupe, lokalna prijava, povezani provideri i API zahtjevi na jednom mjestu.

Vanjski račun povežite samo dok ste sigurni da upravljate oba identiteta. Nepoznatu ili više nepotrebnu vezu uklonite, ali prije toga provjerite postoji li drugi način prijave kako se korisnik ne bi zaključao izvan računa. Promjenu lokalne lozinke obavite kroz ovaj sigurni obrazac, nikada e-poštom ili administrativnom porukom.

15. Završna provjera i sigurnosne preporuke

Kada su profili testirani, mapiranja potvrđena, domenska pravila provjerena i sigurni administratorski pristup sačuvan, Auth dio Simbioze spreman je za kontrolirano produkcijsko uvođenje.