1 open besluit1414 voorstellen

Onderwerp

Rollen, groepen en rechten

Welke rollen er zijn, hoe rollen via groepen rechten worden, welke combinaties van rollen zijn uitgesloten, en hoe technische identiteiten en applicatie-identiteiten hun rechten krijgen.

Nog niet bevestigd door een mens. Eigenaar: vdo89. Bron in de atlas

Domein
Volgt uit
Functies
Producten
Verwant

Wat het is

Rechten komen alleen uit rollen: het identiteitsbeheer kent rollen toe, de toegangsvoorziening zet ze om in groepen, en clusters en diensten koppelen die groepen aan rechten. Dit onderwerp legt het rollenmodel en de groepen vast, wat per cel en wat vlootbreed geldt, welke combinaties van rollen zijn uitgesloten, hoe herbeoordeling werkt en hoe technische identiteiten en applicatie-identiteiten hun rechten krijgen.

Waarom zo

Rechten die via groepen uit één rollenmodel komen, zijn op één plek toe te kennen, te beoordelen en in te trekken. Functiescheiding voorkomt dat één persoon een eigen controle kan uitschakelen of zichzelf rechten kan geven.

Machines krijgen eigen identiteiten, los van de aanmelding van personen, zodat uitrol en toepassingen doorwerken als de toegangsvoorziening uitvalt.

Uitspraken

1 vastgesteld17 voorstellen

Alle 17 voorstellen vaststellen

Rechten uit rollen

VoorstelRegel#

Rechten van personen lopen alleen via groepen. Bedrijfsrollen en platformrollen in midPoint worden groepen in Keycloak; de toegangsvoorziening geeft bij iedere aanmelding en vernieuwing de actuele groepen mee in het toegangsbewijs, de groups-claim vult de groepen in OpenShift en de andere diensten, en rolbindingen voor personen verwijzen alleen naar groepen. Geen rolbinding of productrol verwijst naar een persoon.

Toelichting

Reden: toekenning op één plek. Controle: beleid van het vlootbeheer meldt rolbindingen aan individuele gebruikers, en een rapport toont rechten zonder rol.

VoorstelWaarde#

Het rollenmodel van de eerste levering telt tien rollen, elk met een vaste toekenning en herbeoordeling.

RolRechtenToekenning en herbeoordeling
TeamontwikkelaarToepassingen in de eigen naamruimten beheren: blijvend schrijven bij ontwikkelen en beproeven, in productie wijzigen via versiebeheer en ingrijpen met een verhoging; verhogingen van teamgenoten goedkeuren; logboeken en metingen van de eigen toepassingen lezenDoor de teameigenaar; ieder half jaar
TeameigenaarAls teamontwikkelaar, plus diensten aanvragen, teamleden toevoegen en de verhogingen van het team beoordelenDoor de productverantwoordelijke; ieder half jaar
PlatformlezerAlle clusters en platformdiensten lezen, zonder geheimen, opdrachtregel of poortdoorschakelingDoor platformbeheer; ieder kwartaal
PlatformbeheerderWijzigen via versiebeheer; overal lezen; platformbrede rechten alleen tijdelijk en per taak, met goedkeuring door een tweede persoonBasisrol blijvend, verhoging per taak; ieder kwartaal
Dienstdoende platformbeheerderAls platformbeheerder, plus platformbrede verhogingen van anderen goedkeuren en buiten kantoortijd de noodroute startenPer dienstperiode uit het rooster van platformbeheer; ieder kwartaal
BeveiligingsbeheerderBeleid en beveiligingsvoorzieningen beheren via versiebeheer, met verhoogde rechten alleen per taak; uitzonderingen voorbereiden en registreren, zonder er zelf over te besluitenDoor de CISO-functie; ieder kwartaal
SOC-analistBeveiligingslogboeken en meldingen lezen; isolatiemaatregelen uit de draaiboeken starten, binnen de reikwijdte van het draaiboekDoor het SOC; ieder kwartaal
AuditorInstellingen, rapporten en bewijs lezenTijdelijk, per audit
Technische identiteitPrecies de rechten voor één taak, zoals uitrol, back-up of automatiseringDoor de eigenaar van de taak; ieder kwartaal
NoodaccountVolledige rechten binnen één cel; de noodtoegang per platformcluster of apparaat alleen op dat cluster of apparaatUit de kluis, door twee personen die bij de uitgifte worden vastgelegd; ieder gebruik wordt gemeld
VoorstelWaarde#

Iedere rol heeft een groep met vaste rechten op de clusters, de platformdiensten en de werkplek.

RolGroepRechten op clustersPlatformdiensten en werkplek
Teamontwikkelaar<cel>-<team>-ontwikkelaar; tijdelijk <cel>-<team>-verhoogdOntwikkelen en beproeven: admin in de eigen naamruimten. Reguliere en bedrijfskritische productie: view, en verhoogd admin plus pods/exec en pods/portforward in de eigen productienaamruimtenPortaal en opslagplaats Afnemers; gewoon werk via de gepubliceerde API, verhoging via de teamingang
Teameigenaar<cel>-<team>-eigenaarAls teamontwikkelaarPortaalrol teameigenaar; teamleden en verhogingen van het team in midPoint
Platformlezer<cel>-platformlezerLeesrol zonder geheimen, opdrachtregel of poortdoorschakeling, op alle clusters van de celLezen in Argo CD, Advanced Cluster Security en NetBox, via de beheeringang
Platformbeheerder<cel>-platformbeheerder; tijdelijk <cel>-platformbeheer-verhoogdLezen; verhoogd cluster-admin binnen de celWijzigen via de opslagplaatsen Platform en Draaiboeken
Dienstdoende platformbeheerder<cel>-dienstdoend, uit het roosterAls platformbeheerderPlatformbrede verhogingen goedkeuren; noodroute starten
Beveiligingsbeheerder<cel>-beveiligingsbeheer; tijdelijk <cel>-beveiligingsbeheer-verhoogdLezen; verhoogd beheer van beveiligingsvoorzieningenWijzigen via de opslagplaats Beleid
SOC-analist<cel>-soc-analistLezen van beveiligingsmeldingenAdvanced Cluster Security; isolatiedraaiboeken in Ansible Automation Platform
Auditor<cel>-auditor, met een einddatum per auditLeesrol als platformlezerVersiebeheer, nalevingsoverzicht en bewijs
Vlootbrede rollenvloot-<rol>, zoals ‘vloot-vlootbeheer-beheerder’ (ten hoogste 4 personen)Verhoogd op het vlootclusterSamenvoegen in Beleid en rollenmodel na twee goedkeuringen naast de auteur
Noodaccount<cel>-noodaccountsVolledige rechten binnen één celUit de kluis
VoorstelOntwerpbesluit#

Groepen, clients en technische identiteiten dragen de cel in hun naam, eventueel het team, en de rol, zoals ‘c1-platformbeheer-verhoogd’; vlootbrede groepen beginnen met ‘vloot’, zoals ‘vloot-vlootbeheer-beheerder’. Zij geven alleen rechten in die cel, behalve de vlootbrede groepen.

Toelichting

Zo blijven de rechten per cel controleerbaar en blijft misbruik in één cel. Controle: een rapport van rechten in meer dan één cel.

VoorstelRegel#

Een teameigenaar voegt teamleden toe en verwijdert ze, beoordeelt de verhogingen van het team en vraagt diensten aan in het portaal. Een teamontwikkelaar vraagt een verhoging aan via het portaal of de opdrachtregel en keurt die van een teamgenoot goed. Het applicatieteam spreekt met de eigenaar van een bron de rol van de applicatie-identiteit af, vastgelegd in de dienstbeschrijving. Groepen of clients maken, rolbindingen aan personen geven, een identiteitsaanbieder toevoegen, een eigen aanvraag goedkeuren of de platformpool bereiken kan een team niet.

Per cel en vlootbreed

VoorstelOntwerpbesluit#

Vlootdiensten melden zich aan bij de toegangsvoorziening van de leidende cel, cel 1. Wie een vlootbrede rol heeft, staat als code in de opslagplaats Platform en geldt in iedere cel; verhogingen op het vlootcluster kent alleen de leidende cel toe. Cel 2 past dezelfde code toe, zonder koppeling tussen de cellen, en wordt na uitsluiting van cel 1 leidend.

Toelichting

Gevolg: bij verlies van cel 1 is de vlootbrede aanmelding een herstel, geen ononderbroken werking. Beproefd met de opbouwproef in groeipadstap 2.

VoorstelRegel#

Ten hoogste vier personen hebben de rol ‘vlootbeheer-beheerder’ en kunnen dus verhoogde rechten op het vlootcluster krijgen. Samenvoegen in de opslagplaats Beleid en in het rollenmodel vraagt twee goedkeuringen naast de auteur, zonder zelfgoedkeuring, op een beschermde hoofdtak met eigenaarsbestand.

Toelichting

Reden: wijzigingen daar raken alle clusters. Controle: een rapport uit midPoint en een export van de instellingen van de hoofdtak.

Functiescheiding en herbeoordeling

VoorstelRegel#

Niemand krijgt een onverenigbare combinatie van rollen, en niemand keurt een eigen aanvraag of een eigen wijzigingsvoorstel goed.

CombinatieWaarom onverenigbaar
Indiener en goedkeurder van hetzelfde wijzigingsvoorstelDe onafhankelijke beoordeling vervalt
Platformbeheerder en beveiligingsbeheerder van dezelfde celEen beheerder kan dan zijn eigen controles uitschakelen
Beheerder van het vlootcluster en beheerder van de onveranderbare kopieEén misbruikt account treft dan productie én herstel
Beheerder van het geheimenbeheer en houder van meer dan één herstelsleutelHet quorum van herstelsleutelhouders wordt ondergraven
SOC-analist en platformbeheerderDetectie en beheer moeten elkaar kunnen controleren
Aanvrager en goedkeurder van dezelfde verhogingIemand kan zichzelf dan rechten geven
Lid van het ontwikkelteam en goedkeurder van de acceptatieEigen werk wordt dan zelf geaccepteerd
Toelichting

midPoint heeft uitsluitingsregels voor deze combinaties. In Forgejo, voor het platform, en GitLab, voor toepassingen, vraagt iedere productiewijziging twee verplichte beoordelaars naast de indiener, zonder zelfgoedkeuring. Controle: een rapport van onverenigbare rollen, een negatieve proef en een dagelijkse vergelijking van de beschermingsregels met versiebeheer.

VoorstelRegel#

Teamrollen worden ieder half jaar herbeoordeeld, andere blijvende rollen en technische identiteiten ieder kwartaal, met campagnes per rolsoort in midPoint. Rechten die na de termijn niet zijn beoordeeld, vervallen.

Toelichting

Reden: rechten volgen het werk. Bewijs: het campagnerapport met besluiten.

Technische identiteiten

VoorstelRegel#

Iedere technische identiteit, zoals een serviceaccount, heeft een eigenaar, een registratie, rechten voor één taak binnen de eigen naamruimte, geen interactieve aanmelding en sleutels van ten hoogste 90 dagen. Rechten buiten de eigen naamruimte krijgt zij alleen voor vastgelegde platformtaken, zoals uitrol, back-up en vlootbeheer.

Toelichting

Invulling: per toepassing een eigen ServiceAccount in de eigen naamruimte, met automountServiceAccountToken op false tenzij zij de API nodig heeft; rolbindingen alleen binnen de naamruimte; kortlevende, gebonden tokens; Kubernetes-authenticatie in OpenBao met een token van 15 minuten. In Quay gefedereerde robotaccounts voor pijplijnen met kortlevende toegangsbewijzen, en per cluster een leesrobot als enig langlevend robotaccount. Het identiteitsbeheer legt technische identiteiten vast als dienstobject met eigenaar. Controle: een kwartaalrapport van technische identiteiten zonder eigenaar of met te lange geldigheid; beleid meldt serviceaccounts met een clusterbrede binding en werklasten die het standaardaccount default gebruiken.

VoorstelOntwerpbesluit#

Een technische identiteit heeft nooit een account in de realm platform. Technische identiteiten en applicatie-identiteiten hangen zo niet af van de toegangsvoorziening: uitrol, back-up, automatisering en toepassingen werken door als die uitvalt.

Applicatie-identiteit

VoorstelWerking#

Het gebonden serviceaccounttoken, ten hoogste 1 uur geldig, dient de aanmelding bij het geheimenbeheer via Kubernetes-authenticatie, met een eigen aanmeldpad per cluster. De SPIFFE-identiteit dient andere diensten en bestaande systemen: een X.509-certificaat van 24 uur voor wederzijdse TLS, of een JWT voor systemen die geen certificaat kunnen controleren. Het vertrouwensdomein is het domein van de cel; de SPIFFE-ID bevat cluster, naamruimte en serviceaccount.

VoorstelOntwerpbesluit#

Een bron herkent een applicatie-identiteit aan een X.509-certificaat onder de tussen-CA van de cel, of aan een JWT met de sleutels van het ontdekkingsadres van het cluster; per bron ligt vast welke. Voor een dienst met het profiel bedrijfskritische productie registreert de bron de identiteit uit beide cellen, zodat een overname geen nieuwe afspraak vraagt.

Toelichting

Dat de SPIRE-server van ieder cluster onder de tussen-CA van de cel tekent, is een voorwaarde bij de acceptatie van clusters als dienst. Terugvaloptie: een ontvangende dienst krijgt de bundel per cluster, en een bron die alleen een JWT controleert, haalt de sleutels bij het ontdekkingsadres van het cluster.

Verwijzen hiernaar

Onderwerpen 3