# Auditlogs instellen voor Vertex AI [[TOC]] Als er ooit iets misgaat, is de eerste vraag altijd: wie deed wat, en wanneer? Zonder logs kun je daar alleen naar gissen. Auditlogs geven je het antwoord. Ze leggen systematisch vast welke acties er in je Vertex AI-omgeving plaatsvonden, door wie en op welk moment. Dat maakt ze onmisbaar voor beveiliging, naleving en het oplossen van problemen. Het mooie van auditlogs is dat ze stil hun werk doen. Je merkt ze pas als je ze nodig hebt, maar dan zijn ze van onschatbare waarde. Het lastige is dat je ze niet achteraf kunt maken: een log die er niet was toen iets gebeurde, krijg je niet alsnog. Daarom schakel je auditlogging in voordat je het nodig hebt, niet erna. ## Wat auditlogs vastleggen Auditlogs registreren acties op je resources. Wie een model aanriep, wie een endpoint aanmaakte of verwijderde, wie de instellingen van een dataset wijzigde. Per actie zie je de identiteit die hem uitvoerde, het tijdstip en wat er precies gebeurde. Zo ontstaat een sluitend spoor van alles wat er in je omgeving plaatsvond. In Vertex AI onderscheidt Google Cloud een paar soorten Cloud Audit Logs: - **Admin Activity**: beheeracties die resources aanmaken, wijzigen of verwijderen. Deze logs staan altijd aan, kun je niet uitzetten en zijn gratis. - **Data Access, Admin Read**: configuratie opvragen, zoals `models.get`, `datasets.list` of `endpoints.get`. - **Data Access, Data Read**: datatoegang, zoals `endpoints.predict`, `endpoints.explain` en het aanroepen van generatieve modellen via methodes als `generateContent` en `streamGenerateContent`. - **Data Access, Data Write**: gegevens wegschrijven, zoals `indexes.upsertDatapoints` of `ragFiles.upload`. Welke je nodig hebt, hangt af van wat je wilt kunnen verantwoorden. :::info title="Data Access staat standaard uit" Beheeracties (Admin Activity) worden altijd gelogd, maar Data Access-logging is standaard uitgeschakeld en moet je bewust aanzetten. Juist die datatoegang, zoals welke prompts en data naar een model gingen, is voor gevoelige toepassingen het belangrijkst. Controleer dus of die logging aanstaat. ::: ## Logging inschakelen Data Access-logging voor Vertex AI regel je in de Google Cloud-console onder IAM en beheer, bij Auditlogs. Daar vind je per service in welke mate gelogd wordt. Zoek de service Vertex AI API, vink die aan en kies in het zijpaneel welke logtypes je wilt vastleggen. Denk vooraf na over wat je wilt kunnen aantonen. Moet je kunnen laten zien wie gevoelige data of een model heeft benaderd? Schakel dan Data Read in. Wil je alleen weten wie resources wijzigde? Dan volstaan de Admin Activity-logs die al draaien. Stem je logging af op je werkelijke behoefte. :::howto title="Data Access-logging inschakelen voor Vertex AI" 1. Open in de Google Cloud-console **IAM en beheer**, ga naar **Auditlogs**. 2. Selecteer het juiste project (of een map of organisatie voor brede dekking). 3. Zoek in de servicelijst de service **Vertex AI API** en vink die aan. 4. Kies in het zijpaneel de gewenste logtypes: **Admin Read**, **Data Read** en/of **Data Write**. 5. Sla op. Admin Activity-logs draaien al en hoef je niet aan te zetten. 6. Richt veilige, manipulatiebestendige bewaring in via een log sink, bijvoorbeeld naar een Cloud Storage-bucket of BigQuery. 7. Stel meldingen in voor verdachte of belangrijke acties en controleer periodiek of de logging volledig is. ::: :::warn title="Data Access-logs kunnen flink in volume oplopen" Modelaanroepen zoals `generateContent` worden vaak en in hoge frequentie gedaan. Data Read-logging op zulke endpoints levert veel volume en dus kosten op. Gebruik log sinks met filters of stel uitzonderingen in voor specifieke identiteiten, zodat je logt wat ertoe doet zonder de rekening te laten ontsporen. ::: ## Logs veilig bewaren Een auditlog is alleen betrouwbaar als hij zelf niet gemanipuleerd kan worden. Bewaar je logs daarom op een plek waar niemand ze achteraf kan aanpassen of wissen. Een aanvaller die zijn sporen wil uitwissen, mikt juist op de logs, dus die moeten beter beschermd zijn dan de rest. Een gebruikelijke aanpak is een log sink naar een Cloud Storage-bucket met retentiebeleid (bucket lock) of naar een apart, streng afgeschermd project. Zo staan de logs los van de omgeving die ze bewaken en kan iemand met rechten in het bronproject ze niet stilletjes wijzigen. Denk ook na over hoe lang je logs bewaart. Voor naleving gelden vaak minimale bewaartermijnen, soms jaren. Stem je bewaarbeleid daarop af, zodat je logs nog beschikbaar zijn als een audit of onderzoek erom vraagt, ook lang na de feiten. :::warn title="Maak logs manipulatiebestendig" Bewaar auditlogs op een plek waar ze niet kunnen worden gewijzigd of verwijderd, ook niet door wie ruime rechten heeft. Een log die een aanvaller kan wissen, beschermt je niet. Manipulatiebestendige bewaring is geen luxe maar een voorwaarde. ::: ## Logs gebruiken Logs zijn niet alleen voor noodgevallen. Je gebruikt ze ook proactief. Door regelmatig te kijken wie welke acties uitvoert, spoor je ongebruikte rechten op, merk je afwijkend gebruik en zie je of alles loopt zoals bedoeld. Een patroon dat opvalt, kan een vroeg teken van een probleem zijn. Je kunt ook automatische meldingen instellen voor bepaalde acties. Verwijdert iemand een belangrijk model, of benadert een onverwachte identiteit gevoelige data, dan krijg je direct een seintje. Zo verandert logging van een passief archief in een actieve bewaker. Drie manieren om logs in te zetten: - **Reactief**: bij een incident achterhalen wie wat wanneer deed en de oorzaak vaststellen. - **Proactief**: regelmatig patronen bekijken en ongebruikte rechten of afwijkend gebruik opsporen. - **Met meldingen**: een waarschuwing krijgen zodra een gevoelige of onverwachte actie plaatsvindt, via log-based metrics en alerting in Cloud Monitoring. ## Naleving Voor veel organisaties zijn auditlogs niet optioneel maar verplicht. Regelgeving en certificeringen eisen vaak dat je kunt aantonen wie toegang had tot welke data en wat ermee gebeurde. Zonder auditlogs kun je dat niet, en faal je een audit. Met goede logs toon je aan dat je in control bent. Stem je logging daarom af op de eisen die voor jou gelden. Welke acties moet je kunnen aantonen, hoe lang moet je ze bewaren, hoe beschermd moeten ze zijn? Beantwoord die vragen vanuit je nalevingseisen en richt je logging daarop in. Beter vooraf goed geregeld dan tijdens een audit ontdekken dat het ontbreekt. :::tip title="Regel logging meteen bij het opzetten" Behandel auditlogging als een vast onderdeel van het opzetten van elke nieuwe omgeving, niet als iets dat je later wel regelt. De goedkoopste en betrouwbaarste log is er een die al draaide voordat je hem nodig had. ::: ## Tot slot Auditlogs zijn het geheugen van je Vertex AI-omgeving. Ze vertellen je wie wat wanneer deed, ondersteunen je beveiliging, en bewijzen dat je voldoet aan de regels. Schakel ze in voordat je ze nodig hebt, bewaar ze manipulatiebestendig en gebruik ze zowel om te onderzoeken als om proactief te bewaken. :::faq ### Wat leggen auditlogs vast? Wie welke actie wanneer uitvoerde op je resources, zoals het aanroepen van een model, het wijzigen van een dataset of het verwijderen van een endpoint. Per actie zie je de identiteit, het tijdstip en wat er precies gebeurde. ### Moet ik datatoegangslogging apart inschakelen? Ja. Admin Activity-logs (beheeracties) staan altijd aan en kun je niet uitzetten. Data Access-logging, waaronder Data Read, is standaard uit en zet je zelf aan via IAM en beheer, Auditlogs. Voor gevoelige toepassingen wil je dit vrijwel altijd inschakelen. ### Worden modelaanroepen zoals generateContent gelogd? Die vallen onder Data Read. Zet je Data Read aan voor de Vertex AI API, dan worden methodes zoals `generateContent` en `streamGenerateContent` vastgelegd. Houd er rekening mee dat dit veel volume kan opleveren. ### Hoe lang moet ik logs bewaren? Dat hangt af van je nalevingseisen, soms jaren. Stem je bewaarbeleid af op de regels die voor jou gelden en gebruik een log sink met retentiebeleid om dat af te dwingen. ### Waarom moeten logs manipulatiebestendig zijn? Omdat een aanvaller zijn sporen wil wissen via de logs. Een log die gewijzigd of verwijderd kan worden, biedt geen betrouwbaar bewijs. Bewaar daarom in een afgeschermde bucket of apart project waar niemand ze achteraf kan aanpassen. ### Kosten Data Access-logs geld? Admin Activity-logs zijn gratis. Data Access-logs kunnen door hun volume kosten met zich meebrengen via Cloud Logging. Beperk de kosten met log sinks, filters of uitzonderingen voor specifieke identiteiten. ::: Auditlogs zijn een onmisbaar onderdeel van een volwassen Vertex AI-omgeving. Zet ze vroeg op, bescherm ze goed en gebruik ze actief, zodat je altijd kunt aantonen wat er gebeurde en op tijd ingrijpt als er iets niet klopt.