Een koppeling met een bestaand systeem krijgt toegang op grond van haar applicatie-identiteit en de rol die de eigenaar van de bron daaraan koppelt. Het netwerk begrenst alleen de bereikbaarheid: een werkende netwerkverbinding verleent geen recht op de gegevens van de bron.
Onderwerp
Koppelingen met bestaande systemen
Nog niet bevestigd door een mens. Eigenaar: vdo89. Bron in de atlas
- Domein
- Volgt uit
- Functies
- Producten
- Verwant
Wat het is
Een toepassing op het platform kan gegevens lezen uit een bestaand systeem buiten het platform. Zo’n koppeling is een gedeclareerde verbinding met een eigen identiteit, en de eigenaar van de bron bepaalt wat die identiteit mag. De eerste levering bevat één leeskoppeling met een testexemplaar van een bestaand systeem.
Waarom zo
Het platform kan niet zelf garanderen dat een toepassing alleen leest: dat doet de bron. Daarom is de koppeling in vier lagen begrensd, is instemming van de eigenaar een voorwaarde en wordt altijd getest dat schrijven wordt geweigerd.
Toegang op grond van identiteit in plaats van netwerkpositie voorkomt langlevende gedeelde wachtwoorden. Waar een bron geen identiteit kent, is een leesaccount met een beheerd en regelmatig vervangen geheim de gedateerde uitzondering.
Grondslag
Een leeskoppeling wordt in vier lagen begrensd: netwerk, identiteit, autorisatie in de bron en vastlegging. Het platform levert netwerk en identiteit; welke handelingen de toepassing mag, bepaalt het bestaande systeem met de rol die zijn eigenaar aan haar identiteit koppelt. De vastlegging begrenst niets, maar maakt de toegang achteraf controleerbaar.
| Laag | Wat wordt vastgelegd en afgedwongen | Door wie | Bewijs |
|---|---|---|---|
| Netwerk | Alleen de gedeclareerde verbinding (bron, doel, poort, richting); al het andere wordt geweigerd, en de filterregels in het datacenternetwerk loggen de weigering en melden haar aan het SOC | Platform (netwerkbeleid in het cluster) en netwerkbeheer (filterregels) | Weigering van een niet-gedeclareerde verbinding |
| Identiteit | Aanmelding met de applicatie-identiteit of, als de bron die niet kent, met een leesaccount waarvan het geheim centraal wordt beheerd en vervangen | Platform (identiteits- en geheimenbeheer) | Aanmelding zonder wachtwoord, of vervanging van het geheim zonder onderbreking of binnen een gedateerde onderbrekingsuitzondering |
| Autorisatie in de bron | Een rol met alleen leesrecht, gekoppeld aan die identiteit: een databaserol met leesrecht op de afgesproken tabellen of weergaven en zonder uitvoerrecht op procedures, een API-toegang met alleen leesbereik of een bestandsdeling met alleen leesrecht; de toegekende rechten per object vastgelegd | Eigenaar van het bronsysteem | Een schrijfpoging geweigerd door de bron; vastgelegde rechten beperkt tot de afgesproken objecten |
| Vastlegging | Bron en toepassing loggen de toegang (identiteit, tijdstip en handeling, geen gegevensinhoud); de dienstbeschrijving bewaart koppeling, rechten en een verwijzing naar de instemming van de eigenaar, geen geheimen | Platform en bron | Logboeken van bron en toepassing; het besluit bij de dienstbeschrijving |
Een koppeling heeft instemming van de eigenaar van de bron over identiteit, gegevens, doel en einddatum, en de eigenaar levert de gegevens voor de toegang. Zij gaat standaard naar een testexemplaar van het bestaande systeem en wordt jaarlijks door die eigenaar herbeoordeeld. Voor het lezen van productiegegevens bij ontwikkelen en beproeven ligt een besluit van de gegevenseigenaar vast, ook over de omgang met gekopieerde gegevens in logboeken en back-ups.
Toelichting
Eigenaar: het applicatieteam en de eigenaar van de bron. Het besluit staat bij de dienstbeschrijving.
Omdat het platform niet zelf kan garanderen dat een toepassing alleen leest, wordt bij een leeskoppeling altijd getest dat de bron schrijven weigert. Ook toont de koppeling aan dat een niet-gedeclareerde verbinding, ook via een ander adres of een andere poort, in het cluster en het datacenternetwerk wordt geweigerd en gemeld.
Toelichting
Dit hoort bij de toets gecontroleerde koppeling met een bestaand systeem. Eigenaar: platformbeheer, met de eigenaar van de bron.
Aanleg
Een koppeling wordt gedeclareerd in de dienstbeschrijving: bron, doel, poort, richting en gebruiksdoel, met de gegevensclassificatie, de eigenaar en het technisch contact van de bron en de versie van het koppelvlak. Daarna volgen de zonecontrole, de filterregel in het datacenter, de uitgaande regel in het cluster, de identiteit en de proef langs het gebruikerspad; draaiboeken in de automatisering richten het netwerkpad in.
| Van | Naar | Handeling |
|---|---|---|
| Dienstbeschrijving | Zonecontrole | Legt bron, doel, identiteit, poort en gegevensrechten vast. |
| Automatisering | Firewall en cluster | Past alleen de toegestane zoneregel en uitgaande regel toe. |
| Toepassing | Ontvangende bron | Authenticeert met haar applicatie-identiteit of met de beoordeelde terugval. |
| Bron | Autorisatie | Staat de aangevraagde gegevenshandeling toe of weigert haar. |
| Bewaking | Vergelijking | Vergelijkt waargenomen stromen met de declaraties, met onbekende perioden expliciet. |
Toelichting
Zo registreert de dienstbeschrijving de koppeling, die de eigenaar van de bron jaarlijks herbeoordeelt. Het resultaat: een werkende netwerkverbinding verleent geen schrijfrecht op de bron.
Een koppeling van buiten naar een toepassing op het platform is een publicatie op de externe verkeersverdeling, geen gedeclareerde uitgaande verbinding.
Na de eerste leeskoppeling komen koppelingen per dienst via Applicatieverkeer en ketenkoppelingen, en in groeipadstap 4 API-beheer aan de applicatie-ingang: toegang en dosering per API, via een API-gateway achter de clusteringang en volgens het API-contract, voor teams die API’s aanbieden.
Toelichting
Iedere uitbreiding vraagt een eigen ontwerpbesluit.
Identiteit en geheimen
De identiteit van een koppeling wordt per koppeling bepaald, in een vaste volgorde: eerst een SPIFFE-identiteit als X.509-certificaat voor wederzijdse TLS, dan als JWT, en alleen als de bron geen van beide kan controleren een leesaccount als uitzondering. De terugval wordt vooraf gepland.
Toelichting
De federatie met een bestaand systeem is een ontwerpbesluit per bron. Afgewezen: alleen leesaccounts, want dat geeft langlevende gedeelde geheimen zonder toegang per identiteit; leesaccounts blijven voor bronnen zonder identiteit, als uitzondering met einddatum.
Kent de bron geen applicatie-identiteit, dan gebruikt de koppeling een leesaccount met een statisch geheim in OpenBao. Het geheim wordt iedere 30 dagen vervangen, met overlap als de bron twee geldige waarden tegelijk toestaat en anders binnen een gedateerde onderbrekingsuitzondering, en na een incident binnen 24 uur. Het is een beheerd langlevend geheim, als goedgekeurde uitzondering geregistreerd met eigenaar, reden en einddatum. Bij een database als bron levert de database-engine van het geheimenbeheer de inloggegevens.
Toelichting
Een vervanging is geslaagd als het nieuwe geheim zonder onderbreking in gebruik is en het oude niet meer werkt, ook niet voor bestaande verbindingen. Controle: het register en de proef van vervanging.
Bij problemen met de applicatie-identiteit valt een koppeling tijdelijk terug op een leesaccount met centraal beheerd geheim en einddatum, als goedgekeurde uitzondering met instemming van de eigenaar van de bron. Een mislukte koppeling wordt volledig verwijderd; de gegevens van het bestaande systeem veranderen niet.
Beproeving
De eerste koppeling wordt met het eerste applicatieteam langs het werkelijke gebruikerspad beproefd, ook op wat er gebeurt als iets misgaat. Zij is gereed wanneer de testtoepassing een opdracht kan opslaan en de brongegevens kan lezen maar niet wijzigen, en de scenario’s zijn beproefd met vastgelegd resultaat.
| Scenario | Verwachte uitkomst | Bewijs |
|---|---|---|
| Lezen van brongegevens | De toepassing leest de afgesproken gegevens. | Logboek van bron en toepassing |
| Schrijven naar de bron | Geweigerd door het bestaande systeem wegens ontbrekend recht. | Foutmelding en logboek van de bron |
| Niet-gedeclareerde verbinding | Geweigerd in het cluster en het datacenternetwerk, ook via een ander adres of een andere poort, en vastgelegd. | Weigering in het logboek; melding bij het SOC |
| Vervangen inloggegevens | Het nieuwe geheim is in gebruik zonder onderbreking of binnen de vastgelegde onderbrekingsuitzondering; het oude werkt niet meer, ook niet voor bestaande verbindingen. | Verslag van de vervanging |
| Gedeeltelijk mislukte levering | Status ‘Onvolledig’ met de ontbrekende stap; het beheer hervat de levering zonder dubbele regels of objecten. | Leverstatus en verslag |
| Beëindiging | Verbinding, filterregels, identiteit, geheim en account of rol in de bron verwijderd; lopende sessies beëindigd. | Verslag van de beëindiging |
Toelichting
De proef hoort bij de toetsen gecontroleerde koppeling met een bestaand systeem en toegang op applicatie-identiteit. Voorwaarde is dat ingang en zonering, de standaardinrichting van de applicatieclusters en de beheerde database gereed zijn.
Bevindingen van het eerste team komen op de verbeterplanning voordat volgende afnemers aansluiten. Een open bevinding met gevolgen voor beveiliging of beheer blokkeert het aansluiten tot zij is opgelost of de diensteigenaar het restrisico heeft geaccepteerd, medeondertekend door de CISO-functie.
De stromen van een koppeling worden gecontroleerd met de netwerkweergave van Advanced Cluster Security, en vanaf groeipadstap 2 met het netwerkinzicht van de eigen bewakingsvoorziening. Afwijkingen worden gemeld, en werkelijke en gedeclareerde stromen komen in het maandelijkse verslag.