Organisaties, Entra en werkplekregistratie
FAQ › Profielserver › Organisaties · English
Wat is het?
Een organisatie op de profielserver bundelt alles wat bij een bedrijf hoort:
- haar Microsoft Entra-tenant-id en haar toegestane e-maildomeinen, zodat medewerkers op een EUZOS-pc kunnen inloggen met hun Microsoft-werkaccount (er wordt just-in-time een EUZOS-account voor ze gemaakt);
- haar beheerders (
org-admin), die de werkplekservers van het bedrijf vanaf een EUZOS-pc met Server Admin mogen beheren; - haar geregistreerde EUZOS-pc's (apparaatsleutels,
pc-register); - haar werkplekservers (EUZOS Server met het pakket Werkplekbeheer), geregistreerd vanuit het serverinstallatieprogramma of met de CLI;
- optioneel haar eigen beleid voor offline inloggen (
offline-policy @domein …).
Organisaties worden beheerd met de CLI (in de code heeft de beheerpagina geen pagina voor organisaties).
Hoe doe ik…?
Hoe richt ik een organisatie in voor inloggen met Microsoft?
euzos-profielserver org-create "Bedrijf BV"
euzos-profielserver org-tenant "Bedrijf BV" <tenant-id (GUID)>
euzos-profielserver org-domain "Bedrijf BV" bedrijf.example
euzos-profielserver orgs
Een tenant en een domein horen elk bij hoogstens één organisatie. De server heeft ook entra_client_id nodig (de client-id van de EUZOS-app in Entra); zonder geeft /api/pc/entra 404. De beheerder van de klant geeft één keer beheerderstoestemming voor de app.
Wat gebeurt er als een medewerker voor het eerst met Microsoft inlogt?
De server controleert het ID-token (RS256 met de sleutels van Microsoft, iss, aud = entra_client_id, tid/oid, tijden, eenmalig gebruik). De tid moet bij een organisatie horen en het adres (preferred_username, anders email) moet een van haar domeinen hebben. Dan wordt (tid, oid) gekoppeld aan een bestaand account met dat adres, of er wordt een nieuw account gemaakt: actief, alleen een zakelijk profiel, zonder wachtwoord. Gasten met een ander domein komen er niet in.
Hoe werkt offboarding?
Bij de statusvraag van een pc die met Microsoft is ingelogd, ververst de server op de achtergrond het Microsoft-refreshtoken van de gebruiker uit de kluis, hoogstens één keer per entra_check_s (standaard 900 s) per account:
| Microsoft zegt | EUZOS doet |
|---|---|
| account uitgeschakeld of verwijderd (AADSTS50057, AADSTS50034) | account geblokkeerd (by_entra): pc's afgemeld, telefoons ingetrokken, kluis leeg |
andere invalid_grant (sessies ingetrokken, wachtwoord gereset, toestemming ingetrokken) | alle pc's van het account afgemeld, refreshtoken verwijderd; het account blijft |
interaction_required / nieuwe MFA | niets |
| account weer ingeschakeld | de volgende geslaagde Microsoft-login maakt een door Entra geblokkeerd account weer actief |
Een medewerker die in Entra opnieuw is aangemaakt (nieuwe oid, hetzelfde adres), wordt geweigerd (reden=account); wis eerst het oude EUZOS-account (user-delete).
Hoe maak ik iemand beheerder van een organisatie?
org-admin <org> <email> (weghalen met --off). Een beheerder van een organisatie mag de werkplekservers van die organisatie beheren; een serverbeheerder (rol beheerder, zie Beheerpagina) die van elke organisatie.
Hoe registreer ik een EUZOS-pc zodat hij Server Admin mag draaien?
Op de pc: pckey create, daarna toont pckey de publieke sleutel en de vingerafdruk. Op de profielserver: pc-register '<naam>' <sleutel> <org> (vergelijk de getoonde vingerafdruk); tonen met pcs, intrekken met pc-revoke <sleutel>.
Hoe registreer ik een werkplekserver?
Normaal doet het serverinstallatieprogramma van EUZOS Server dat: de beheerder logt in bij de stap Account van het installatieprogramma, en dat stuurt POST /api/workplace/v1/register?token=<pc-token> met de publieke sleutel en de naam van de server. Alleen een beheerder (beheerder van de organisatie, of serverbeheerder die de organisatie noemt) mag dit. Met de hand op de VPS: workplace-register <naam> <sleutel> [--network <ip>[,<ip>]], daarna workplace-org <id> <organisatie>.
Hoe trek ik een werkplekserver in of beperk ik waar pc's hem zien?
workplace-revoke <id>. workplace-network <id> <ip>[,<ip>]|auto bepaalt voor welke (publieke) netwerken de catalogus de werkplekserver noemt (auto: het publieke adres van zijn laatste aanmelding).
Details
Tabellen (schema 13, 15, 16; Engelse namen sinds schema 18): organizations, org_domains, entra_links (tenant, oid → account, by_entra), org_admins, pc_keys (apparaatsleutel, naam, organisatie, ingetrokken), workplaces (id, naam, sleutel, netwerken, lan, tls, publiek adres, laatste aanmelding, intrekking, organisatie, installed_by, installed, external). Vóór schema 18 heetten ze organisaties, org_domeinen, entra_koppelingen, org_beheerders, pc_sleutels, werkplekken.
Aanmelden van een werkplekserver: de werkplekserver haalt een uitdaging op (POST /api/workplace/v1/challenge, 60 s, eenmalig), ondertekent het document EUZOS-werkplek-aanmelden-v1 met zijn Ed25519-sleutel en krijgt een werkplektoken eze_… (1 uur, alleen als SHA-256 in het geheugen), de servertijd en de regel met de downloadsleutel. Hij meldt zich elke 30 minuten opnieuw aan. De server bewaart zijn LAN-adres, TLS-pin, publieke IP en de tijd; zo kan de appcatalogus pc's op hetzelfde netwerk naar hem verwijzen (zie Apps en downloads).
Beheerbewijs voor Server Admin: als een beheerder Server Admin draait op een geregistreerde pc, vraagt de kernel POST /api/workplace/v1/admin-proof?token=<pc-token> (werkplek=, pcsleutel=). De server controleert: de pc is geregistreerd en niet ingetrokken; de gebruiker is serverbeheerder of beheerder van de organisatie; werkplek, pc en beheerder horen bij dezelfde organisatie. Hij antwoordt met een beheerbewijs, ondertekend met de ondertekensleutel van de omgeving (10 minuten), plus het LAN-adres en de TLS-pin van de werkplekserver. De werkplekserver controleert het bewijs zelf, en de opdracht met de pc-sleutel (TCP-poort 8446 aan de kant van de werkplek; zie de pagina's over EUZOS Server in deze FAQ).
Limieten bij registreren: 10 per minuut per netwerk, 10 per uur per account (workplace_registration::PER_NET, PER_ACCOUNT); het externe adres is hoogstens 253 tekens.
Naslag
CLI-opdrachten
| Opdracht | Argumenten | Wat het doet |
|---|---|---|
org-create | <naam> | een organisatie maken |
org-tenant | <naam> <tenant-id> | --delete | de Entra-tenant-id zetten of weghalen |
org-domain | <naam> <domein> [--delete] | een toegestaan domein toevoegen of weghalen |
orgs | — | alle organisaties met tenant, domeinen en aantal accounts |
org-admin | <org> <email> [--off] | beheerder van een organisatie maken (of niet meer) |
pc-register | <naam> <sleutel> <org> | de apparaatsleutel van een EUZOS-pc registreren |
pcs | — | geregistreerde pc's |
pc-revoke | <sleutel> | een pc-sleutel intrekken |
workplace-register | <naam> <sleutel> [--network <ip>[,<ip>]] | een werkplekserver registreren |
workplaces | — | werkplekservers en hun toestand |
workplace-revoke | <id> | een werkplekserver intrekken |
workplace-network | <id> <ip>[,<ip>]|auto | netwerken waarvoor de catalogus hem noemt |
workplace-org | <id> <organisatie>|geen | zijn organisatie |
offline-policy | @domein <0..30> | dagen offline inloggen voor het domein van de organisatie |
Oude namen: org-maak, org-domein, --wis, org-beheerder, --uit, pc-registreer, pc-intrek, werkplek-registreer, werkplekken, werkplek-intrek, werkplek-netwerk, werkplek-org, --netwerk.
Functies en modules
| Functie / module | Rol |
|---|---|
euzos_profileserver::org (cli, USAGE) | organisaties, domeinen, Entra-koppelingen |
euzos_profileserver::entra::login | POST /api/pc/entra, controle van het ID-token, just-in-time accounts, offboarding-controle |
euzos_profileserver::workplace (challenge, sign_in, download_token, cli) | aanmelden van een werkplekserver en de bijbehorende CLI |
euzos_profileserver::workplace_registration::register | registreren vanuit het serverinstallatieprogramma |
euzos_profileserver::workplace_admin (proof, list, may_server_admin, cli) | beheerbewijzen, de lijst voor Server Admin, pc-sleutels, beheerders van organisaties |
libs/workplace (euzos_workplace) | gedeelde code met de werkplekserver (ondertekende documenten, admin::Proof, role::fingerprint) |
Configuratiebestanden
| Sleutel (serverconfiguratie) | Betekenis |
|---|---|
entra_client_id | client-id van de EUZOS-app in Entra (geen geheim); zonder staat inloggen met Microsoft uit |
entra_check_s (oud entra_controle_s) | interval van de offboarding-controle per account, standaard 900 s, minimaal 60 |
Op de pc: \EOS\FW\MSAPP.TXT (client-id en tenant common) zet de knop "Inloggen met Microsoft" aan; \EOS\FW\PCKEY.TXT bevat de seed van de apparaatsleutel van de pc (het installatieprogramma kopieert hem nooit).
API-eindpunten
| Methode | Pad | Oud Nederlands pad | Doel |
|---|---|---|---|
| POST | /api/pc/entra | — | inloggen met Microsoft (zie Pc-login) |
| POST | /api/workplace/v1/challenge | /api/werkplek/v1/uitdaging | uitdaging voor een werkplekserver |
| POST | /api/workplace/v1/sign-in | /api/werkplek/v1/aanmelden | aanmelden van een werkplekserver |
| POST | /api/workplace/v1/download-token?token=eze_… | /api/werkplek/v1/downloadtoken | downloadtoken voor de cache van de werkplek |
| POST | /api/workplace/v1/admin-proof?token=<pc-token> | /api/werkplek/v1/beheerbewijs | beheerbewijs voor Server Admin |
| GET | /api/workplace/v1/admin-list?token=<pc-token> | /api/werkplek/v1/beheerlijst | werkplekservers die deze gebruiker mag beheren |
| POST | /api/workplace/v1/register?token=<pc-token> | /api/werkplek/v1/registreer | een werkplekserver registreren (installatieprogramma) |
Protocolberichten en formaten
Registreren (regels in de inhoud):
sleutel=<64 hex> publieke Ed25519-sleutel van de werkplekserver
naam=<naam>
organisatie=<id> alleen nodig bij meer dan één organisatie
extern=<adres> optioneel: publiek IP of DNS-naam (achter NAT)
→ ok / werkplek=<id> / organisatie=<id> / organisatie_naam=<naam>
→ 401 token | 403 geen_beheerder | 409 kies_organisatie (+ regels organisatie=<id>\t<naam>)
| 409 al_geregistreerd | 400 ongeldig | 429 te_vaak
Aanmelddocument van de werkplek (Ed25519 met de werkplek-sleutel over EUZOS-werkplek-aanmelden-v1\0 en alles tot de \n vóór handtekening=):
EUZOS-werkplek-aanmelden-v1
omgeving=<omgeving>
server=<domein>
sleutel=<64 hex>
uitdaging=<32 hex>
tijd=<Unix-tijd>
lan=https://<lan-adres>:8445/
tls=<SHA-256 van de SPKI, 64 hex>
naam=<naam uit WORKPLC.TXT (name=, oud naam=)>
handtekening=<128 hex>
→ ok / werkplek=<16 hex> / token=eze_<64 hex> / verloopt= / servertijd= / downloadsleutel=<kid> <64 hex>
Beheerbewijs (ondertekend met de sleutel van de omgeving, domein EUZOS-werkplek-beheerbewijs-v1\0, 10 minuten): regels omgeving=, server=, werkplek=, organisatie=, pcsleutel=, account=, beheer=werkplek, uitgegeven=, geldig-tot=, sleutel-id=, handtekening=.
Beheerlijst: ok, daarna per werkplek werkplek=<id>\t<naam>\t<lan>\t<actief|niet actief>\t<geïnstalleerd door>\t<datum>\t<extern adres>.
Zie ook
- docs/WORK-LOGIN.md
- docs/WORKPLACE.md, "Phase E2" en "The protocol of the MVP"
- docs/WORKPLACE-PROTOCOL.md
- docs/OFFLINE-LOGIN.md
- Pc-login · Apps en downloads · CLI · API
EUZOS