Naar de inhoud
RolloutDocs
EN
3Livegang, stap voor stap· stap 3 van 7

Klanttenants koppelen

Rollout leest bij je klanten of alles klaarstaat voor de overstap: account, licentie, groepen, MFA en laptop. Daarvoor maak je één app-registratie met alleen leesrechten, zonder wachtwoord of geheim, en geeft elke klant één keer toestemming.

App-registratie "Rollout – Readiness"

Sneller met de installatie-assistent

In Rollout staat onder Installatie een assistent die een PowerShell-script maakt dat beide app-registraties (Login én Readiness) in één keer goed aanmaakt. Hieronder staat wat dat script doet, zodat je het kunt controleren of met de hand kunt doen.

  1. Nieuwe registratie, multitenant

    Entra → App-registraties → Nieuwe registratie

    • Naam: Rollout – Readiness
    • Ondersteunde accounttypen: Accounts in elke organisatiemap (multitenant: klanten geven toestemming aan deze app)
    • Omleidings-URI (Web): https://<jouw-domein>/toestemming
  2. Alleen leesrechten

    API-machtigingen → Een machtiging toevoegen → Microsoft Graph → Toepassingsmachtigingen:

    MachtigingWaarvoor
    User.Read.AllBestaat het account, staat het aan, welke licenties
    GroupMember.Read.AllZit de medewerker in de juiste groepen
    LicenseAssignment.Read.AllLicentietoewijzing en vrije licenties
    AuditLog.Read.AllLaatste aanmelding, MFA-registratie, nazorg
    DeviceManagementServiceConfig.Read.AllAutopilot-registratie van de laptop
    DeviceManagementManagedDevices.Read.AllLaptop in Intune, compliant, laatste sync
    DeviceManagementApps.Read.AllVereiste apps toegewezen
    Organization.Read.AllTenantnaam en domeinen (verkeerd tenant-id herkennen)

    Optioneel voor migratiecontroles: MailboxSettings.Read en BitlockerKey.ReadBasic.All.

    Klik niet op "Beheerderstoestemming verlenen" voor je eigen tenant tenzij je die zelf als testklant gebruikt.

  3. Geen geheim: federatie met Vercel

    In plaats van een wachtwoord vertrouwt de app-registratie alleen jouw Vercel-project. Er is dus niets dat kan uitlekken.

    Eerst in Vercel: project → Settings → Security → Secure backend access with OIDC federation: aan, modus Team.

    Dan in Entra: Certificaten en geheimen → Federatieve referenties → Referentie toevoegen → Andere verlener:

    VeldWaarde
    Verlener (Issuer)https://oidc.vercel.com/<team-slug>
    Onderwerp-id (Subject)owner:<team-slug>:project:<projectnaam>:environment:production
    Doelgroep (Audience)https://vercel.com/<team-slug> (wijzig de standaardwaarde!)
    Naamvercel-<projectnaam>-production

    Hoofdlettergevoelig: neem het precies zo over. Maak geen clientgeheim of certificaat aan.

  4. Toepassings-id noteren

    Die wordt GRAPH_CLIENT_ID in stap 4. Het is geen geheim.

Waarom dit veilig is

Met federatie bestaat er geen sleutel tot de tenants van je klanten: Vercel bewijst bij elke aanvraag "ik ben dit project", en Microsoft vertrouwt alleen dat ene project. Zelfs iemand met toegang tot de code of de database kan niet bij je klanten. Zelf hosten zonder Vercel? Dan gebruik je een certificaat of een managed identity, zie Zelf hosten.

Een klant koppelen

Dit doe je per klant, in de app zelf (Project → Koppeling → Klant koppelen). Alleen een beheerder kan een tenant aan een klant koppelen.

Toestemming van de klant
Stap 0 / 8
Jij (beheerder)in Rollout
Rolloutjouw domein
Beheerder klantGlobale beheerder
Microsofttenant van de klant
Domein: contoso.nl
Toestemmingslink + mail
Stuurt de mail
Opent link, logt in, Accepteren
Terug naar /toestemming
Verbinding testen
Welke rechten heb ik echt?alleen lezen
Gekoppeld

Scroll hierheen of druk op afspelen.

Twee sloten op elke tenant

Rollout leest alleen bij een tenant als hij door beide sloten komt:

  1. Slot 1: allowlist
    Tenant-id staat in GRAPH_ALLOWED_TENANTS, buiten de app en de database
  2. Slot 2: eigen klant
    De tenant hoort bij een klant van jouw organisatie (Row Level Security)
  3. Pas dan lezen
    Alleen de leesrechten die de klant heeft goedgekeurd

Een nieuwe klant toevoegen is daarom bewust een handmatige stap: tenant-id aan GRAPH_ALLOWED_TENANTS toevoegen en opnieuw deployen. Zelfs als iemand in de database een klant met een vreemd tenant-id weet aan te maken, leest Rollout daar niet.

Controleren

  • Verbinding testen op een testtenant geeft groen voor de machtigingen
  • De app-registratie heeft geen clientgeheim en geen certificaat, alleen een federatieve referentie
  • Een engineer (geen beheerder) kan geen tenant-id bij een klant invullen
Klanttenants koppelen · Rollout Docs