Werkwijze Voor: beheerders

Single sign-on

Koppel een OpenID Connect-identiteitsprovider in de console, geef de groepen ervan rollen en meld u aan met een organisatieaccount.

Kyvernon meldt gebruikers aan via een identiteitsprovider die OpenID Connect spreekt. Het gebruikt de authorization code flow met PKCE en leest de groepen van de gebruiker uit een claim van het identiteitstoken. De provider voert de authenticatie uit, inclusief zijn eigen tweede factor. U hebt de bevoegdheid Global.Settings op de root nodig.

Registreer voordat u begint Kyvernon als client bij de provider en noteer het issueradres, de client-id en het clientgeheim. Zorg dat de provider de groepen van de gebruiker in een claim verstuurt, standaard groups, bijvoorbeeld via de scope groups. Behoud de lokale beheerder en het noodaccount (break-glass): daarmee komt u binnen wanneer de provider niet beschikbaar is.

In de console

  1. Open het Gebruikersmenu rechtsboven, selecteer Beheer en selecteer in de lijst links Single sign-on. De kop Identiteitsprovider toont de status, Ingesteld of Niet ingesteld.

    Instellingen voor eenmalige aanmelding bij een OpenID Connect-provider (Groter weergeven)
  2. Voer de Issuer-URL in: het https-adres van de provider. Kyvernon leest het discovery-document op <issuer>/.well-known/openid-configuration.
  3. Voer de Client-id en het Clientgeheim in die de provider u heeft gegeven. Het geheim wordt opgeslagen en nooit meer getoond. Wanneer er een is opgeslagen, laat u het veld leeg om het te behouden, of typt u een nieuw geheim om het te vervangen.
  4. Controleer de Redirect-URI. De console vult het adres in waaronder u haar hebt bereikt, en u registreert precies dit adres bij de provider.
  5. Vermeld onder Scopes de scopes naast openid, gescheiden door spaties, bijvoorbeeld profile email groups. Geef onder Groepenclaim de claim op die de groepsnamen bevat. Voer onder Tijd om de aanmelding af te ronden (minuten) een geheel getal van 1 tot 60 in.
  6. Selecteer Opslaan.

De aanmeldpagina biedt nu de knop Aanmelden met uw organisatie, of Aanmelden met ... met de hostnaam van de issuer, boven de regel of gebruik een lokaal account en het lokale aanmeldformulier. Een gebruiker selecteert de knop, meldt zich aan bij de provider en keert terug naar de console.

Een gefedereerde gebruiker heeft eerst geen rol. Geef een rol aan de groep die de provider verstuurt: voeg op het scherm Machtigingen een machtiging toe voor de Groep waarvan de naam de waarde van de groepsclaim is, zoals beschreven in Rollen en machtigingen.

Selecteer Provider verwijderen en bevestig om het aanmelden via de provider te stoppen. De accounts blijven bestaan en lokaal aanmelden blijft werken; zorg er dus eerst voor dat minstens één lokale beheerder zich kan aanmelden.

Opmerking

Het scherm vereist een control plane dat de instelling aanbiedt. Op een control plane dat dit niet doet, toont het Nog niet beschikbaar op dit controlevlak; het gedeelte Automatisering beschrijft de methode die nu werkt.

Resultaat

Mensen van de provider melden zich aan met het organisatieaccount. Een gefedereerd account wordt bij de eerste aanmelding aangemaakt, met de voorkeursgebruikersnaam van de provider in kleine letters als gebruikersnaam, of oidc:<subject> wanneer de provider er geen verstuurt. Kyvernon werkt de groepen, het e-mailadres en de weergavenaam bij elke aanmelding bij, dus een groepswijziging bij de provider geldt vanaf de volgende aanmelding, en een gebruiker die u uitschakelt, blijft geweigerd. Een gefedereerde gebruiker wiens naam gelijk is aan die van een lokale gebruiker wordt geweigerd, zodat een lokaal account niet kan worden overgenomen. Het auditlogboek legt elke aanmelding vast als identity.login.oidc met de issuer; zie Sessies en audit.

De CLI meldt zich aan met een wachtwoord of een token, dus een gefedereerde gebruiker die de CLI nodig heeft, vraagt een beheerder om een API-token.

Automatisering

Met de CLI

De provider wordt native ingesteld, zonder het configuratiebestand te wijzigen. Toon de huidige instelling, stel de provider in en verwijder hem:

Shell
kyvernon users oidc
kyvernon users set-oidc --issuer https://idp.example.com --client-id kyvernon \
  --client-secret-file /root/oidc-secret \
  --redirect-uri https://controller.example.com/v1/identity/oidc/callback \
  --scope profile --scope email --scope groups --groups-claim groups --login-ttl 600
kyvernon users remove-oidc

--client-secret-file leest het geheim uit een bestand, of van standaardinvoer met -. Zonder die optie blijft het opgeslagen geheim behouden; de eerste keer is het verplicht, tenzij de sectie [oidc] van controller.toml er al een heeft. Voordat de controller iets opslaat, voert zij OpenID-discovery uit op <issuer>/.well-known/openid-configuration. Een provider die niet antwoordt, wordt geweigerd met error.identity.oidc_unreachable en de opgeslagen provider blijft staan.

De instelling gaat boven de sectie [oidc] van controller.toml. remove-oidc verwijdert de provider en schakelt ook een provider uit die uit de sectie [oidc] komt. Lokale aanmelding blijft.

U kunt de provider ook instellen in de sectie [oidc] van de controllerconfiguratie: issuer, client-id, een bestand met het clientgeheim, omleidingsadres, scopes en groepsclaim. Start de controller na de wijziging opnieuw en controleer dan of de console de provider aanbiedt:

Shell
kyvernon auth config

Het antwoord toont oidc met enabled op true en het label van de knop. Geef een rol aan de groep die de provider verstuurt:

Shell
kyvernon roles list
kyvernon permissions set group-d1 vm-admins --group --role <role-id>

group-d1 is de rootmap en vm-admins is de waarde van de groepsclaim.

Met de API

GET /v1/auth/config vertelt een client, voordat iemand is aangemeld, of de provider is ingesteld. De browserflow gebruikt GET /v1/identity/oidc/start, dat het adres van de provider teruggeeft en een cookie instelt dat de aanmelding aan de browser bindt, en GET /v1/identity/oidc/callback, dat de provider aanroept. Programmatische clients gebruiken deze routes niet.

De provider zelf beheert u met GET, PUT en DELETE /v1/identity/oidc/config. Alle drie vragen Global.Settings en wijzigingen worden geauditeerd. De weergave heeft deze velden:

VeldBetekenis
configuredOf er een provider is ingesteld.
issuer, clientId, redirectUri, scopes, groupsClaim, loginTtlSecondsDe instellingen in gebruik.
clientSecretSetOf er een geheim is opgeslagen. Het geheim wordt nooit teruggegeven.
sourceconsole, configuration of none.

PUT neemt deze velden:

VeldBetekenis
issuerHet https-adres van de provider.
clientIdDe client-id.
clientSecretAlleen schrijven. Leeg of afwezig behoudt het opgeslagen geheim. De eerste keer verplicht, tenzij de sectie [oidc] van controller.toml er al een heeft.
redirectUriNormaal https://<controller>/v1/identity/oidc/callback.
scopesScopes naast openid.
groupsClaimDe claim met de groepsnamen. Standaard groups.
loginTtlSeconds60 tot 3600.

Het geheim wordt verzegeld met de identiteitssleutel van de controller in de gerepliceerde store. DELETE verwijdert de provider.

Versie 0.1. Laatst gewijzigd: 2026-11-14