Werkt een organisatie met Google Workspace, dan hoef je haar medewerkers niet meer met een csv-bestand in te lezen. Je koppelt het platform aan de Google-omgeving van die organisatie en kiest één groep waarvan de leden meedoen. Vanaf dat moment worden nieuwe medewerkers vanzelf aangemaakt, gewijzigde gegevens overgenomen, en medewerkers die uit de groep verdwijnen op inactief gezet.
Het werkt op dezelfde manier als de bestaande koppeling met Microsoft Entra. Je vindt beide onder Gebruikerssynchronisatie bij de organisatie.
Wat je nodig hebt
De klant moet twee dingen voor je regelen in zijn eigen Google-omgeving. Zonder die twee werkt de koppeling niet, en dat merk je pas bij de eerste synchronisatie.
- Een serviceaccount met een sleutelbestand. Dat maakt de klant aan in Google Cloud, in het project waar zijn Workspace onder valt. Het sleutelbestand is een bestand in json-vorm dat maar één keer te downloaden is.
- Domeinbrede delegatie voor dat serviceaccount, met precies deze twee bevoegdheden:
https://www.googleapis.com/auth/admin.directory.user.readonlyhttps://www.googleapis.com/auth/admin.directory.group.readonly
Beide zijn alleen-lezen. Het platform kan in de Google-omgeving van de klant dus niets wijzigen of verwijderen, het leest alleen de groep en de gegevens van de leden.
Daarnaast heb je het e-mailadres nodig van een beheerder van dat Google-domein. Google staat een serviceaccount namelijk niet toe om op eigen houtje gegevens op te vragen. Het doet dat altijd namens een bestaande gebruiker, en die gebruiker moet de rechten hebben om de gebruikerslijst te mogen zien.
Let op bij nieuwe Google-omgevingen. Google zet tegenwoordig standaard een organisatiebeleid aan dat het aanmaken van sleutels voor serviceaccounts verbiedt. Loopt de klant daar tegenaan, dan moet zijn Google-beheerder dat beleid voor dit ene project uitzetten. Dat is een bewuste keuze van de klant en niets wat wij vanaf onze kant kunnen doen.
Stap 1: de koppeling vastleggen
Ga bij de organisatie naar Gebruikerssynchronisatie en klik onder Google Workspace op Google Workspace-koppeling toevoegen. Je vult vier dingen in:
- Bij titel zet je een naam waaraan je de koppeling herkent, bijvoorbeeld de naam van de klant.
- Bij beheerder vul je het e-mailadres in van de beheerder namens wie het platform de gegevens opvraagt.
- Bij domein vul je het domein van de klant in.
- Bij serviceaccountsleutel plak je de volledige inhoud van het json-bestand.
Op het scherm staan de twee bevoegdheden nog een keer, zodat je ze kunt overnemen naar de Google-beheeromgeving van de klant.
De sleutel wordt versleuteld opgeslagen en na het bewaren nooit meer getoond. Wil je hem later vervangen, dan plak je een nieuwe in het veld. Laat je het veld leeg, dan blijft de bestaande sleutel staan. Herkent het platform de geplakte tekst niet als een Google-sleutel, dan krijg je dat meteen te zien in plaats van pas bij de eerste synchronisatie.
Stap 2: het schema instellen
Ga naar Synchronisatieschema's en maak er een aan. Bij bron kies je Google Workspace, en het scherm past zich daarop aan: je kiest de zojuist gemaakte koppeling en vult bij Google-groep het e-mailadres in van de groep waarvan de leden meedoen, bijvoorbeeld medewerkers@klant.nl.
De rest is gelijk aan een Entra-schema. Je kiest de rol die nieuwe gebruikers krijgen, hoe vaak de synchronisatie draait, en of nieuwe gebruikers een welkomstmail en een wachtwoordlink krijgen.
Is er nog geen Google-koppeling voor deze organisatie, dan zegt het scherm dat en verwijst het je naar de plek waar je er een aanmaakt.
Wat er bij elke ronde gebeurt
Het platform haalt de leden van de opgegeven groep op en loopt ze één voor één langs.
- Medewerkers die nog niet bestaan worden aangemaakt, met de rol uit het schema.
- Bestaande medewerkers worden bijgewerkt.
- Staat er een afdeling bij een medewerker, dan wordt die afdeling in het platform aangemaakt als ze nog niet bestaat, en wordt de medewerker eraan gekoppeld.
- Medewerkers die eerder wel via deze groep binnenkwamen maar er nu niet meer in zitten, worden op inactief gezet.
- Zit er een groep ín de groep, dan worden de leden daarvan ook meegenomen.
Deze velden komen uit Google mee:
| In Google | In het platform |
|---|---|
| Voor- en achternaam | Voor- en achternaam |
| Primair e-mailadres | E-mailadres |
| Afdeling uit de organisatiegegevens | Afdeling |
| Landcode uit het adres | Land |
| Taal | Taal |
| Tweede e-mailadres | Alternatief e-mailadres |
| Geschorst | Actief of inactief |
Een geschorst account in Google komt dus als inactief in het platform binnen.
Goed om te weten
Licentieplaatsen. Zit de organisatie aan haar maximum, dan stopt het aanmaken van nieuwe gebruikers. Iemand op inactief zetten geeft geen plaats terug, want inactieve gebruikers tellen mee. Wil je plaats vrijmaken, dan moet een gebruiker van de organisatie worden losgekoppeld.
Leidinggevende en profielfoto worden bij Google nog niet overgenomen. Bij Entra gebeurt dat wel. Er is niets kapot als de klant die gegevens heeft ingevuld, ze komen alleen niet mee.
Handmatig ophalen kan nog niet. Het scherm Importeren uit Azure werkt alleen met Entra-schema's. Bij Google wacht je dus op de volgende geplande ronde, of je zet die tijdelijk vaker.
Het opschonen kan zichzelf uitschakelen. Zitten er heel veel groepen in elkaar genest, dan haalt het platform er een beperkt aantal op en beschouwt het de ledenlijst als onvolledig. Het slaat het op inactief zetten dan over, want anders zouden medewerkers die gewoon nog in dienst zijn worden uitgezet. In het logboek van het schema staat waarom.
Als het misgaat
Bij elke ronde komt er een regel in het logboek van het schema, ook wanneer het misgaat. Daar staat de melding van Google zelf in. Dit zijn de meest voorkomende:
“unauthorized_client”
De domeinbrede delegatie is niet ingesteld, of de twee bevoegdheden staan er niet exact bij. Laat de Google-beheerder van de klant controleren of het juiste serviceaccount is toegevoegd en of beide adressen letterlijk kloppen.
“Not a valid email or user ID”
Het opgegeven beheerdersadres bestaat niet in het Google-domein van de klant, of is verkeerd gespeld. Controleer het veld beheerder bij de koppeling.
“Google gaf geen ledenlijst voor groep …”
Het opgegeven groepsadres bestaat niet, of de beheerder namens wie we werken mag die groep niet zien. Controleer het adres in het schema. Het gaat om het e-mailadres van de groep, niet om de naam ervan.
“Geen Google-groep ingesteld bij dit schema”
Het groepsveld is leeg gebleven. Vul het aan in het schema.
“Deze koppeling mist een sleutel of een beheerder”
De koppeling is niet af. Vul hem aan, of maak hem opnieuw aan met het sleutelbestand bij de hand.