PIVOT 1.1.0
This commit is contained in:
commit
8a53234eb6
161 files changed
+31109
No files matched your search
@@ -0,0 +1,347 @@
|
||||
"""
|
||||
Handleidingen die PIVOT meelevert. Bij het opstarten komt elke handleiding waarvan de slug nog niet bestaat in de
|
||||
tabel Handleidingen. Daarna pas je ze aan in PIVOT zelf (📘 Handleidingen › Bewerken); wijzigingen hier overschrijven niets.
|
||||
Een verwijderde handleiding blijft verborgen (Zichtbaar = 'weg') en komt dus niet terug.
|
||||
"""
|
||||
|
||||
TWEESTAPS_UITZONDERING = """
|
||||
<p>Met deze handleiding stel je in Google Admin alles in zodat PIVOT iemand <strong>tijdelijk zonder 2FA</strong> (tot 23:59 dezelfde dag) kan laten inloggen
|
||||
(uitzondering) en 2FA kan <strong>resetten</strong> bij een nieuwe telefoon. Je doet dit één keer per domein; daarna enkel opnieuw
|
||||
als er een organisatie-eenheid (OU) bijkomt.</p>
|
||||
|
||||
<div class="info"><strong>Hoe werkt het?</strong> PIVOT zet een gebruiker in de groep <em>2fa-uitzondering</em>. Voor die groep staat
|
||||
"Afdwingen" op <strong>Uit</strong>. Zolang de gebruiker in de groep zit, mag hij zonder 2FA inloggen. Om 23:59 dezelfde dag haalt PIVOT
|
||||
hem er automatisch weer uit.</div>
|
||||
|
||||
<h2 id="stap-1">Stap 1 – De groep aanmaken</h2>
|
||||
<ol>
|
||||
<li>Ga naar <a href="https://admin.google.com" target="_blank">admin.google.com</a> › <strong>Directory › Groepen</strong> › <strong>Groep maken</strong>.</li>
|
||||
<li>Naam: <code>2fa-uitzondering</code>, e-mailadres: <code>2fa-uitzondering@jouwdomein.be</code>.</li>
|
||||
<li>Bij de instellingen van de groep:
|
||||
<ul>
|
||||
<li>Wie kan lid worden: <strong>Alleen uitgenodigde gebruikers</strong>.</li>
|
||||
<li>Wie kan berichten plaatsen: <strong>Groepseigenaren</strong> (de groep dient niet om te mailen).</li>
|
||||
<li>Wie kan leden bekijken: <strong>Groepsbeheerders</strong>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Voeg zelf <strong>geen</strong> vaste leden toe. PIVOT voegt mensen toe en haalt ze er weer uit.</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="stap-2">Stap 2 – 2FA uitzetten voor de groep, in élke OU waar 2FA verplicht is</h2>
|
||||
<div class="let-op"><strong>Let op:</strong> een 2FA-instelling op een <strong>onderliggende OU gaat altijd vóór</strong> een groepsinstelling
|
||||
hoger in de boom. Stel de groep daarom in bij <strong>elke OU waar 2FA afgedwongen wordt</strong>, ook bij sub-OU's.</div>
|
||||
<ol>
|
||||
<li>Ga naar <strong>Beveiliging › Authenticatie › Verificatie in 2 stappen</strong> (2-Step Verification).</li>
|
||||
<li>Kies links onder <strong>Organisatie-eenheden</strong> de OU, bv. <em>GO-Antwerpen</em>. Klap met het pijltje open om sub-OU's te zien.</li>
|
||||
<li>Klik links onderaan bij <strong>Groepen</strong> op de groep <em>2fa-uitzondering</em> (of voeg ze toe via "Groepen zoeken").
|
||||
Bovenaan moet nu staan: <em>"Instellingen tonen voor gebruikers in <strong>[jouw OU]</strong> (organisatie-eenheid) die zich ook in
|
||||
<strong>2fa-uitzondering</strong> (groep) bevinden"</em>.</li>
|
||||
<li>Laat <strong>Gebruikers toestaan tweestapsverificatie aan te zetten</strong> aangevinkt.</li>
|
||||
<li>Zet <strong>Afdwingen</strong> op <strong>Uit</strong>.</li>
|
||||
<li>Klik op <strong>Overschrijven</strong> (of Opslaan). Onder "Verificatie" moet nu <strong>Overschreven</strong> staan, niet "Overgenomen".</li>
|
||||
<li>Herhaal stap 2 tot 6 voor elke OU en sub-OU waar 2FA op <strong>Aan</strong> staat.</li>
|
||||
</ol>
|
||||
<div class="tip"><strong>Tip:</strong> per OU kan je maar één groep instellen. Gebruik daarom overal dezelfde groep <em>2fa-uitzondering</em>.</div>
|
||||
|
||||
<h2 id="stap-3">Stap 3 – Rechten voor PIVOT (domeinbrede delegatie)</h2>
|
||||
<ol>
|
||||
<li>Ga naar <strong>Beveiliging › Toegangs- en gegevensbeheer › API-beheer › Domeinbrede delegatie beheren</strong>.</li>
|
||||
<li>Klik bij het service-account van PIVOT op <strong>Bewerken</strong>.</li>
|
||||
<li>Controleer dat minstens deze scopes erbij staan (in het veld gescheiden door komma's):
|
||||
<ul>
|
||||
<li><code>https://www.googleapis.com/auth/admin.directory.user</code></li>
|
||||
<li><code>https://www.googleapis.com/auth/admin.directory.user.security</code> (2FA resetten, back-upcodes)</li>
|
||||
<li><code>https://www.googleapis.com/auth/admin.directory.group.member</code> (in/uit de groep zetten)</li>
|
||||
<li><code>https://www.googleapis.com/auth/admin.directory.orgunit</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Klik op <strong>Autoriseren</strong>. Het kan enkele minuten duren voor Google dit toepast.</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="stap-4">Stap 4 – De groep invullen in PIVOT</h2>
|
||||
<ol>
|
||||
<li>Open in PIVOT <strong>🔌 Koppelingen van deze school › 🛡️ 2FA-hulp</strong>.</li>
|
||||
<li>Vul bij <strong>Uitzonderingsgroep</strong> het e-mailadres van de groep in: <code>2fa-uitzondering@jouwdomein.be</code>.</li>
|
||||
<li>Opslaan en <strong>Testen</strong>.</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="stap-5">Stap 5 – Testen met een testaccount</h2>
|
||||
<ol>
|
||||
<li>Geef in PIVOT (🛡️ 2FA-hulp) een testgebruiker een tijdelijke uitzondering (loopt tot 23:59).</li>
|
||||
<li>Kijk in Google Admin bij <strong>Gebruikers › [testgebruiker] › Groepen</strong>: <em>2fa-uitzondering</em> moet in de lijst staan.</li>
|
||||
<li>Kijk bij <strong>Gebruikers › [testgebruiker] › Beveiliging › Tweestapsverificatie</strong>.
|
||||
Zolang daar <strong>"Afgedwongen in uw hele organisatie"</strong> staat, heeft Google de uitzondering nog niet toegepast.</li>
|
||||
</ol>
|
||||
<div class="let-op"><strong>Geduld:</strong> Google past een nieuwe groepsinstelling meestal binnen enkele minuten toe, maar het kan
|
||||
<strong>tot 24 uur</strong> duren, zeker bij een nieuwe groep of een nieuw account. PIVOT blijft een 2FA-reset elke minuut opnieuw proberen
|
||||
zolang de uitzondering loopt.</div>
|
||||
|
||||
<h2 id="nieuwe-telefoon">Iemand heeft een nieuwe telefoon</h2>
|
||||
<p>Gebruik eerst een <strong>back-upcode</strong>: die werkt meteen, ook als 2FA afgedwongen wordt.</p>
|
||||
<ol>
|
||||
<li>PIVOT: 🛡️ 2FA-hulp › zoek de gebruiker › <strong>Back-upcodes tonen / aanmaken</strong>
|
||||
(of in Google Admin: Gebruikers › gebruiker › Beveiliging › Tweestapsverificatie › <em>Back-upverificatiecodes ophalen</em>).</li>
|
||||
<li>Geef de gebruiker één code. Hij logt in met zijn wachtwoord en die code.</li>
|
||||
<li>Daarna koppelt hij zijn nieuwe telefoon via <a href="https://myaccount.google.com/security" target="_blank">myaccount.google.com › Beveiliging</a>
|
||||
› Verificatie in 2 stappen.</li>
|
||||
</ol>
|
||||
<p>Lukt dat niet, gebruik dan in PIVOT <strong>📵 2FA resetten</strong>. PIVOT zet de gebruiker dan in de uitzonderingsgroep en zet 2FA uit
|
||||
zodra Google de uitzondering toepast.</p>
|
||||
|
||||
<h2 id="problemen">Problemen oplossen</h2>
|
||||
<table>
|
||||
<thead><tr><th>Wat zie je?</th><th>Oorzaak</th><th>Oplossing</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Gebruiker zit in de groep, maar 2FA blijft "Afgedwongen"</td>
|
||||
<td>De gebruiker staat in een (sub-)OU waar de groep niet ingesteld is, of Google past de instelling nog toe.</td>
|
||||
<td>Controleer de OU van de gebruiker (Gebruikers › gebruiker, links onder "Organisatie-eenheid") en voer stap 2 uit voor
|
||||
precies die OU. Wacht anders tot 24 uur.</td></tr>
|
||||
<tr><td>"2-Step Verification cannot be turned off: … enforced"</td>
|
||||
<td>Google dwingt 2FA nog af voor deze gebruiker.</td>
|
||||
<td>Zie hierboven. PIVOT probeert automatisch opnieuw.</td></tr>
|
||||
<tr><td>"Google weigert de toegang" / unauthorized_client</td>
|
||||
<td>Een scope ontbreekt.</td><td>Stap 3.</td></tr>
|
||||
<tr><td>"Gebruiker of groep niet gevonden"</td>
|
||||
<td>Het e-mailadres van de groep in PIVOT klopt niet.</td><td>Stap 4.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
"""
|
||||
|
||||
MAIL_DELEGATIE = """
|
||||
<p>Met deze handleiding stel je Google Admin zo in dat PIVOT (<strong>✉️ Mailbox-delegatie</strong>) iemand toegang kan geven tot de
|
||||
mailbox van iemand anders, bv. het secretariaat tot de mailbox van de directie. De gedelegeerde kan dan lezen, versturen en verwijderen
|
||||
namens de eigenaar, maar kent het wachtwoord niet en kan de instellingen niet wijzigen.</p>
|
||||
|
||||
<h2 id="stap-1">Stap 1 – Maildelegatie toelaten</h2>
|
||||
<ol>
|
||||
<li>Ga naar <a href="https://admin.google.com" target="_blank">admin.google.com</a> › <strong>Apps › Google Workspace › Gmail › Gebruikersinstellingen</strong>.</li>
|
||||
<li>Kies links de <strong>organisatie-eenheid</strong> van de mailboxen die gedeeld moeten worden (bv. <em>GO-Antwerpen</em>).
|
||||
Kies de hoogste OU als het voor iedereen mag; sub-OU's nemen de instelling over, tenzij ze ze zelf overschrijven.</li>
|
||||
<li>Open het onderdeel <strong>Maildelegatie</strong> (Mail delegation).</li>
|
||||
<li>Vink aan: <strong>Gebruikers toestaan toegang tot hun mailbox te delegeren aan andere gebruikers in het domein</strong>.</li>
|
||||
<li>Kies hoe verzonden mails getoond worden:
|
||||
<ul>
|
||||
<li><strong>De accounteigenaar en de gedelegeerde die de e-mail heeft verzonden tonen</strong> (aangeraden: de ontvanger ziet wie echt schreef), of</li>
|
||||
<li><strong>Alleen de accounteigenaar tonen</strong>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Klik op <strong>Opslaan</strong>.</li>
|
||||
</ol>
|
||||
<div class="let-op"><strong>Let op:</strong> staat maildelegatie in een sub-OU op "Overschreven" en uit, dan werkt delegatie daar niet,
|
||||
ook al staat ze hoger in de boom aan. Controleer de OU van de mailbox-eigenaar.</div>
|
||||
|
||||
<h2 id="stap-2">Stap 2 – Gmail API aanzetten (eenmalig)</h2>
|
||||
<ol>
|
||||
<li>Ga naar <a href="https://console.cloud.google.com/apis/library/gmail.googleapis.com" target="_blank">console.cloud.google.com › API's › Gmail API</a>.</li>
|
||||
<li>Kies bovenaan het project van het PIVOT-service-account.</li>
|
||||
<li>Klik op <strong>Inschakelen</strong> (staat er "Beheren", dan is het al aan).</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="stap-3">Stap 3 – Rechten voor PIVOT (domeinbrede delegatie)</h2>
|
||||
<ol>
|
||||
<li>Ga in Google Admin naar <strong>Beveiliging › Toegangs- en gegevensbeheer › API-beheer › Domeinbrede delegatie beheren</strong>.</li>
|
||||
<li>Klik bij het service-account van PIVOT op <strong>Bewerken</strong>.</li>
|
||||
<li>Voeg deze twee scopes toe aan de bestaande lijst (gescheiden door komma's; verwijder de andere niet):
|
||||
<ul>
|
||||
<li><code>https://www.googleapis.com/auth/gmail.settings.sharing</code> (delegatie toevoegen en verwijderen)</li>
|
||||
<li><code>https://www.googleapis.com/auth/gmail.settings.basic</code> (bestaande delegaties tonen)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Klik op <strong>Autoriseren</strong>.</li>
|
||||
</ol>
|
||||
<div class="tip"><strong>Tip:</strong> ontbreekt <em>gmail.settings.basic</em>, dan kan PIVOT wel delegaties toevoegen maar de lijst niet tonen
|
||||
("insufficient authentication scopes").</div>
|
||||
|
||||
<h2 id="stap-4">Stap 4 – Rechten in PIVOT</h2>
|
||||
<ol>
|
||||
<li>Geef wie delegaties mag beheren het recht <strong>Mailbox-delegatie</strong> in de juiste school
|
||||
(⚙️ Beheer › 🔐 Gebruikers & rechten › 🔐 Rechten).</li>
|
||||
<li>Test in <strong>✉️ Mailbox-delegatie</strong> met twee testaccounts: geef account B toegang tot de mailbox van account A.</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="werking">Goed om te weten</h2>
|
||||
<ul>
|
||||
<li>Een delegatie via PIVOT werkt meestal na <strong>ongeveer een minuut</strong>. De gedelegeerde hoeft niets te bevestigen.</li>
|
||||
<li>Een nieuwe instelling in Google Admin (stap 1) kan <strong>tot 24 uur</strong> duren voor ze overal geldt.</li>
|
||||
<li>De gedelegeerde opent de mailbox in Gmail via zijn <strong>profielfoto rechtsboven</strong> › de gedeelde mailbox kiezen.</li>
|
||||
<li>Eigenaar en gedelegeerde moeten in <strong>dezelfde Google Workspace-organisatie</strong> zitten. Gebruik het
|
||||
<strong>primaire e-mailadres</strong>, geen alias.</li>
|
||||
<li>Een mailbox kan maximaal <strong>25 gedelegeerden</strong> hebben; iemand kan maximaal <strong>10 mailboxen</strong> openen
|
||||
(Google kan deze limieten per organisatie anders instellen).</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="problemen">Problemen oplossen</h2>
|
||||
<table>
|
||||
<thead><tr><th>Wat zie je?</th><th>Oorzaak</th><th>Oplossing</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>"insufficient authentication scopes" bij het tonen</td><td><em>gmail.settings.basic</em> ontbreekt.</td><td>Stap 3.</td></tr>
|
||||
<tr><td>"unauthorized_client" / Google weigert de toegang</td><td><em>gmail.settings.sharing</em> ontbreekt of is nog niet toegepast.</td>
|
||||
<td>Stap 3, en enkele minuten wachten.</td></tr>
|
||||
<tr><td>Gmail API has not been used / is disabled</td><td>Gmail API staat uit in het Cloud-project.</td><td>Stap 2.</td></tr>
|
||||
<tr><td>Toevoegen mislukt voor één persoon, voor anderen lukt het</td>
|
||||
<td>Maildelegatie staat uit in de OU van die mailbox-eigenaar, of er zijn al 25 gedelegeerden.</td><td>Stap 1 voor die OU.</td></tr>
|
||||
<tr><td>Gedelegeerde ziet de mailbox niet</td><td>Nog niet toegepast, of hij kijkt niet via zijn profielfoto.</td>
|
||||
<td>Even wachten, opnieuw inloggen in Gmail.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
"""
|
||||
|
||||
GOOGLE_KOPPELING = """
|
||||
<p>PIVOT praat met Google via een <strong>serviceaccount</strong>: een technisch account in Google Cloud dat namens een beheerder
|
||||
(bv. <code>ict@school.be</code>) handelt. Daarvoor zijn er drie plaatsen: <strong>Google Cloud Console</strong> (project, API's,
|
||||
serviceaccount, sleutel), <strong>Google Admin</strong> (domeinbrede delegatie) en <strong>PIVOT</strong> (sleutel uploaden).
|
||||
Optioneel stel je ook <strong>Inloggen met Google</strong> in.</p>
|
||||
|
||||
<div class="info"><strong>Wie?</strong> Je hebt een account nodig dat in Google Cloud projecten mag aanmaken en in Google Admin
|
||||
<strong>superbeheerder</strong> is. Je doet dit één keer; meerdere scholen in hetzelfde Google-domein mogen dezelfde sleutel gebruiken.</div>
|
||||
|
||||
<h2 id="stap-1">Stap 1 – Project aanmaken</h2>
|
||||
<ol>
|
||||
<li>Ga naar <a href="https://console.cloud.google.com" target="_blank">console.cloud.google.com</a> en log in met je beheerdersaccount.</li>
|
||||
<li>Klik bovenaan op de projectkiezer › <strong>Nieuw project</strong>.</li>
|
||||
<li>Naam: bv. <code>PIVOT</code>. Organisatie: jullie domein. Klik op <strong>Maken</strong>.</li>
|
||||
<li>Controleer bovenaan dat het nieuwe project gekozen is voor je verder gaat.</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="stap-2">Stap 2 – API's inschakelen</h2>
|
||||
<p>Ga naar <strong>API's en services › Bibliotheek</strong>, zoek elke API en klik op <strong>Inschakelen</strong>:</p>
|
||||
<table>
|
||||
<thead><tr><th>API</th><th>Nodig voor</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><strong>Admin SDK API</strong></td><td>Gebruikers, wachtwoorden, OU's, Chromebooks, groepen, 2FA</td></tr>
|
||||
<tr><td><strong>Gmail API</strong></td><td>Mailbox-delegatie</td></tr>
|
||||
<tr><td><strong>Enterprise License Manager API</strong></td><td>Google-licenties</td></tr>
|
||||
<tr><td><strong>Groups Settings API</strong></td><td>Verzendlijsten: wie mag mailen naar de lijst</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="stap-3">Stap 3 – Serviceaccount aanmaken</h2>
|
||||
<ol>
|
||||
<li>Ga naar <strong>IAM en beheer › Serviceaccounts</strong> › <strong>Serviceaccount maken</strong>.</li>
|
||||
<li>Naam: bv. <code>pivot</code>. Klik op <strong>Maken en doorgaan</strong>.</li>
|
||||
<li>De stappen "Rollen" en "Gebruikerstoegang" laat je <strong>leeg</strong> (PIVOT werkt via domeinbrede delegatie, niet via
|
||||
Cloud-rollen). Klik op <strong>Klaar</strong>.</li>
|
||||
<li>Open het serviceaccount en noteer de <strong>Unieke ID</strong> (een lang getal, ook "OAuth 2-client-ID" genoemd).
|
||||
Die heb je nodig in stap 5.</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="stap-4">Stap 4 – JSON-sleutel maken</h2>
|
||||
<ol>
|
||||
<li>Open het serviceaccount › tabblad <strong>Sleutels</strong> › <strong>Sleutel toevoegen › Nieuwe sleutel maken</strong>.</li>
|
||||
<li>Kies <strong>JSON</strong> › <strong>Maken</strong>. Het bestand wordt gedownload.</li>
|
||||
<li>Bewaar het veilig: wie dit bestand heeft, kan alles wat PIVOT kan. Verwijder het van je pc na stap 6.</li>
|
||||
</ol>
|
||||
<div class="let-op"><strong>"Het maken van serviceaccountsleutels is uitgeschakeld"?</strong> Nieuwe Google Cloud-organisaties blokkeren
|
||||
sleutels standaard met de organisatiebeleidsregel <code>iam.disableServiceAccountKeyCreation</code>
|
||||
(of <code>iam.managed.disableServiceAccountKeyCreation</code>). Zet ze uit voor <strong>enkel dit project</strong>:
|
||||
<ol>
|
||||
<li>Geef jezelf op organisatieniveau de rol <strong>Beheerder van organisatiebeleid</strong> (Organization Policy Administrator)
|
||||
via IAM en beheer › IAM (kies bovenaan de organisatie, niet het project).</li>
|
||||
<li>Kies bovenaan opnieuw het project PIVOT › <strong>IAM en beheer › Organisatiebeleid</strong>.</li>
|
||||
<li>Zoek <code>disableServiceAccountKeyCreation</code> › <strong>Beleid beheren</strong> › <strong>Beleid van bovenliggend item
|
||||
overschrijven</strong> › regel toevoegen › <strong>Afdwingen: Uit</strong> › <strong>Beleid instellen</strong>.</li>
|
||||
<li>Wacht enkele minuten (soms tot een uur) en probeer stap 4 opnieuw.</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<h2 id="stap-5">Stap 5 – Domeinbrede delegatie in Google Admin</h2>
|
||||
<ol>
|
||||
<li>Ga naar <a href="https://admin.google.com" target="_blank">admin.google.com</a> › <strong>Beveiliging › Toegangs- en
|
||||
gegevensbeheer › API-beheer</strong> › <strong>Domeinbrede delegatie beheren</strong>.</li>
|
||||
<li>Klik op <strong>Nieuwe toevoegen</strong>.</li>
|
||||
<li>Client-ID: de <strong>Unieke ID</strong> uit stap 3 (PIVOT toont ze ook na het uploaden van de sleutel).</li>
|
||||
<li>OAuth-bereiken: plak deze regel in zijn geheel:
|
||||
<pre><code>https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.user.security,https://www.googleapis.com/auth/admin.directory.group.member,https://www.googleapis.com/auth/admin.directory.orgunit,https://www.googleapis.com/auth/admin.directory.device.chromeos,https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly,https://www.googleapis.com/auth/admin.directory.device.mobile,https://www.googleapis.com/auth/admin.directory.device.mobile.readonly,https://www.googleapis.com/auth/apps.licensing,https://www.googleapis.com/auth/gmail.settings.sharing,https://www.googleapis.com/auth/gmail.settings.basic,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/apps.groups.settings,https://www.googleapis.com/auth/gmail.modify,https://www.googleapis.com/auth/contacts,https://www.googleapis.com/auth/drive</code></pre>
|
||||
</li>
|
||||
<li>Klik op <strong>Autoriseren</strong>. Het kan enkele minuten duren voor Google dit toepast.</li>
|
||||
</ol>
|
||||
<table>
|
||||
<thead><tr><th>Scope (zonder https://www.googleapis.com/auth/)</th><th>Waarvoor in PIVOT</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>admin.directory.user</code></td><td>Accounts aanmaken, wachtwoord resetten, leerlingen</td></tr>
|
||||
<tr><td><code>admin.directory.user.security</code></td><td>2FA: back-upcodes, 2FA resetten</td></tr>
|
||||
<tr><td><code>admin.directory.group.member</code></td><td>2FA-uitzonderingsgroep</td></tr>
|
||||
<tr><td><code>admin.directory.orgunit</code></td><td>Organisatie-eenheden</td></tr>
|
||||
<tr><td><code>admin.directory.device.chromeos</code> (+ <code>.readonly</code>)</td><td>Chromebooks blokkeren/deblokkeren, opzoeken</td></tr>
|
||||
<tr><td><code>admin.directory.device.mobile</code> (+ <code>.readonly</code>)</td><td>Mobiele toestellen</td></tr>
|
||||
<tr><td><code>apps.licensing</code></td><td>Google-licenties</td></tr>
|
||||
<tr><td><code>gmail.settings.sharing</code></td><td>Mailbox-delegatie toevoegen/verwijderen</td></tr>
|
||||
<tr><td><code>gmail.settings.basic</code></td><td>Mailbox-delegaties tonen, Gmail-handtekeningen instellen</td></tr>
|
||||
<tr><td><code>gmail.modify</code></td><td>E-mails met een label kopiëren/verplaatsen naar een andere mailbox</td></tr>
|
||||
<tr><td><code>drive</code></td><td>Gedeelde drives: overzicht, leden en rechten (Google Drive API moet aanstaan)</td></tr>
|
||||
<tr><td><code>contacts</code></td><td>Contactlijsten in de mailboxen van gebruikers (People API moet aanstaan)</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="tip"><strong>Tip:</strong> Bestaat er al een regel voor deze client-ID, klik dan op <strong>Bewerken</strong> en
|
||||
vervang de lijst; anders heb je er twee.</div>
|
||||
|
||||
<h2 id="stap-6">Stap 6 – Sleutel en beheerder instellen in PIVOT</h2>
|
||||
<ol>
|
||||
<li>Open in PIVOT <strong>🏫 Alle scholen beheren</strong> › de school › <strong>Bewerken</strong>
|
||||
(of <strong>🔌 Koppelingen van deze school</strong>).</li>
|
||||
<li>Bij <strong>Algemeen › Beheerder (Google-admin)</strong>: het account waarnamens PIVOT werkt, bv. <code>ict@school.be</code>.
|
||||
Dit moet een <strong>superbeheerder</strong> zijn (of een beheerder met de nodige rechten) in Google Admin.</li>
|
||||
<li>Bij <strong>🔑 Google Workspace › Serviceaccount (JSON-sleutel)</strong>: upload het JSON-bestand uit stap 4.
|
||||
PIVOT bewaart het versleuteld en toont daarna het e-mailadres en de client-ID van het serviceaccount.</li>
|
||||
<li>Opslaan, en daarna op <strong>🩺 Testen</strong> klikken. Alles in orde? Verwijder het JSON-bestand van je pc.</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="stap-7">Stap 7 (optioneel) – Inloggen met Google</h2>
|
||||
<p>Hiermee loggen leerkrachten en PIVOT-gebruikers in met hun Google-account in plaats van een wachtwoord.</p>
|
||||
<ol>
|
||||
<li>In de Cloud Console (zelfde project): <strong>API's en services › OAuth-toestemmingsscherm</strong>
|
||||
(in de nieuwe versie: <strong>Google Auth Platform › Branding</strong>). Kies als doelgroep <strong>Intern</strong>,
|
||||
app-naam <code>PIVOT</code>, ondersteunings-e-mail en je ontwikkelaarsadres. Opslaan.</li>
|
||||
<li><strong>Inloggegevens</strong> (of Google Auth Platform › <strong>Clients</strong>) › <strong>Inloggegevens maken › OAuth-client-ID</strong>.</li>
|
||||
<li>Type: <strong>Webapplicatie</strong>, naam <code>PIVOT login</code>.</li>
|
||||
<li>Bij <strong>Geautoriseerde omleidings-URI's</strong>: het adres van PIVOT + <code>/callback</code>,
|
||||
bv. <code>https://pivot.school.be/callback</code>. Gebruik je meerdere adressen (per school een eigen hostnaam), voeg ze allemaal toe.</li>
|
||||
<li>Klik op <strong>Maken</strong> en kopieer de <strong>client-ID</strong> en het <strong>clientgeheim</strong>.</li>
|
||||
<li>In PIVOT: vul ze in bij de school onder <strong>🔑 Google Workspace › Google-login client-ID / client-secret</strong>,
|
||||
of één keer voor alle scholen in <code>config.ini</code> onder <code>[google_sso]</code>.</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="problemen">Problemen oplossen</h2>
|
||||
<table>
|
||||
<thead><tr><th>Wat zie je?</th><th>Oorzaak</th><th>Oplossing</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><code>unauthorized_client</code> / "Client is unauthorized to retrieve access tokens"</td>
|
||||
<td>Client-ID of scope ontbreekt in de domeinbrede delegatie, of nog niet toegepast.</td>
|
||||
<td>Stap 5 nakijken (juiste Unieke ID, alle scopes), enkele minuten wachten.</td></tr>
|
||||
<tr><td>"Invalid Input" / "Not Authorized to access this resource"</td>
|
||||
<td>Het beheerdersaccount klopt niet of is geen beheerder.</td><td>Stap 6, Beheerder (Google-admin).</td></tr>
|
||||
<tr><td>"<API> has not been used in project … or it is disabled"</td>
|
||||
<td>De API staat niet aan.</td><td>Stap 2, in het juiste project.</td></tr>
|
||||
<tr><td>"insufficient authentication scopes"</td><td>Eén scope ontbreekt (vaak een Gmail-scope).</td><td>Stap 5.</td></tr>
|
||||
<tr><td>"redirect_uri_mismatch" bij inloggen met Google</td>
|
||||
<td>Het adres van PIVOT staat niet bij de omleidings-URI's.</td>
|
||||
<td>Stap 7.4: exact hetzelfde adres (https, hostnaam, <code>/callback</code>).</td></tr>
|
||||
<tr><td>Sleutel maken lukt niet</td><td>Organisatiebeleid blokkeert sleutels.</td><td>Kader bij stap 4.</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
"""
|
||||
|
||||
STANDAARD = [
|
||||
{
|
||||
'slug': 'google-koppeling-cloud-console',
|
||||
'titel': 'Google-koppeling instellen (Google Cloud Console)',
|
||||
'categorie': 'Google Workspace',
|
||||
'samenvatting': 'Project, API\'s, serviceaccount en JSON-sleutel, domeinbrede delegatie met alle scopes, '
|
||||
'sleutel in PIVOT en inloggen met Google.',
|
||||
'inhoud': GOOGLE_KOPPELING,
|
||||
},
|
||||
{
|
||||
'slug': '2fa-uitzondering-google-admin',
|
||||
'titel': '2FA-uitzondering instellen in Google Admin',
|
||||
'categorie': 'Google Workspace',
|
||||
'samenvatting': 'Groep 2fa-uitzondering aanmaken, 2FA uitzetten per OU, rechten voor PIVOT en testen.',
|
||||
'inhoud': TWEESTAPS_UITZONDERING,
|
||||
},
|
||||
{
|
||||
'slug': 'mailbox-delegatie-google-admin',
|
||||
'titel': 'Mailbox-delegatie instellen in Google Admin',
|
||||
'categorie': 'Google Workspace',
|
||||
'samenvatting': 'Maildelegatie toelaten per OU, Gmail API, scopes voor PIVOT en testen.',
|
||||
'inhoud': MAIL_DELEGATIE,
|
||||
},
|
||||
]
|
||||
Reference in new issue
Block a user