SQLInsight Web: /instanser/{navn}/analyse?fra=&til= (datetime-local in the
display time zone; presets last hour, tonight 00-06, yesterday; at most 31
days). "Analysér et tidsrum" on the instance page, and blocking/deadlock
times there open the window half an hour around the event.
For the window: load (CPU, batch requests, compilations, PLE, connections,
memory grants pending, blocked processes) from 5-minute samples within
Retention:RawDays, otherwise hourly history (shown on the page); waits per
minute against the same hours and weekday of the previous 4 weeks, with
clear deviations marked; top SQL sortable by CPU, duration, reads and
executions; file I/O latency; blocking chains; deadlocks; findings active
in the window. An empty window explains the retention. "Hent som PDF"
renders the same via MigraDoc (/analyse.pdf).
Docs: docs/analyse.md (also on the community site); databehandling.md: the
statement text stays in the customer's repository and is never sent to
the hub.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
7.4 KiB
Databehandling og GDPR
Dette dokument beskriver, hvilke data SQLInsight Pro behandler, hvor de ligger, og hvem der har adgang. Det er grundlag for en databehandleraftale og for kundens egen risikovurdering. Det er ikke juridisk rådgivning. Afsnit markeret [udfyldes af SEOSoft] skal udfyldes, før dokumentet bruges over for kunder.
Kort fortalt
| Udgave | Forlader data kundens netværk? | Rolle |
|---|---|---|
| Community (gratis) | Nej. Agent, repository og webbrugerflade kører hos kunden. | SEOSoft behandler ingen data. |
| Professional / Enterprise med deling til SQLInsight Hub | Ja, fund pr. instans sendes til SEOSofts hub. Slået fra som standard. | Kunden er dataansvarlig, SEOSoft er databehandler (GDPR art. 28). |
Opdateringstjek sender ingen data om kunden. Agenten henter et signeret manifest og filer fra feedet, og feed-serveren ser kun den IP-adresse, der henter. Med et lokalt feed (mappe eller fildrev) kontaktes SEOSoft slet ikke.
Hvad sendes til SQLInsight Hub?
Kun når SQLInsight:Hub:Enabled er true og der er en gyldig licens. Agenten sender hver instans' samlede tilstand (højst hvert 15. minut, og straks ved ændringer):
| Data | Eksempel | Personoplysning? |
|---|---|---|
| Instansens navn, som kunden har valgt i konfigurationen | prod-sql01 |
Normalt nej |
| SQL Server-version, CU-niveau og edition | 15.0.4385.2, Enterprise |
Nej |
| Serverens netværksnavn | Kun hvis SendServerName er slået til |
Normalt nej |
| Hvilke regler der er kørt, og deres resultat | SQLI-CFG-002: Findings |
Nej |
| Fund: regel, alvor, titel, forklaring, anbefaling, emne | database: Sales, job: Nightly ETL |
Normalt nej. Database- og jobnavne kan i sjældne tilfælde indeholde navne. |
| Målinger (evidens) | MAXDOP: 0, Længste ventetid: 412 s |
Nej |
| Følsomme målinger: forespørgselstekst, logins, værts- og programnavne, fejlbeskeder fra jobs | DOMÆNE\jens |
Ja, kan være. Sendes som [udeladt], medmindre kunden slår SendSensitiveEvidence til. |
Der sendes aldrig tabeldata, forespørgselsresultater, adgangskoder eller forbindelsesstrenge.
Supportsager (Professional og Enterprise, se support.md): når en bruger opretter en sag i webbrugerfladen, sendes titel, beskrivelse, kontaktpersonens navn, e-mail og eventuelt telefonnummer samt brugerens Windows-brugernavn til hubben. Det er personoplysninger, som SEOSoft bruger til at besvare sagen. Beskrivelsen indeholder kun det, brugeren selv skriver; følsomme målinger sættes ikke automatisk ind.
Kunden kan se præcis det, der er sendt, under System i webbrugerfladen ("Det sendes til SQLInsight Hub").
Slår kunden SendSensitiveEvidence til, kan fund indeholde personoplysninger (brugernavne, og data i forespørgselstekst som fx WHERE cpr = '…'). Det bør kun ske efter aftale, og det skal fremgå af databehandleraftalen.
Formål
Data i hubben bruges kun til:
-
at yde den support, kunden har købt (Professional: prioriteret mail, Enterprise: telefon)
-
at gøre SEOSofts support opmærksom på kritiske fund hos kunden
-
at se, hvilke problemer der går igen på tværs af kunder, så regler, vejledninger og produkt kan forbedres (aggregeret)
-
at give alle kunder samlet, anonym erfaring tilbage: "hos 4 kunder forsvandt dette fund efter opdatering til CU21" (se nedenfor)
Data sælges ikke og videregives ikke.
Erfaring på tværs af kunder
Hubben registrerer, når en instans skifter build (fra og til version, CU-niveau og tidspunkt). Den ser derefter, hvilke fund der forsvandt kort efter, og hvilke der blev ved. Til agenterne deles kun:
- regel-id, SQL Server-hovedversion, build og CU-niveau
- antal kunder og antal instanser, hvor fundet forsvandt eller blev ved
Der deles aldrig kundenavne, instans- eller servernavne, databasenavne, målinger eller fundets tekster. En sammenhæng deles kun, når fundet er forsvundet hos mindst 3 forskellige kunder (SQLInsight:Hub:Insights:MinCustomers). Oplysningerne kan ikke føres tilbage til en bestemt kunde og er ikke personoplysninger. Det skal alligevel fremgå af databehandleraftalen, at kundens data indgår i denne statistik.
Opbevaring
| Data | Slettes |
|---|---|
| Aktive fund | Når de er løst, og derefter efter 365 dage (medmindre de hører til en åben supportsag) |
| Log over modtagelser (tidspunkt, antal fund; ikke indholdet) | 90 dage |
| Instanser, der ikke har rapporteret | 180 dage, med deres fund og versionshistorik |
| Alt om en kunde | Når aftalen ophører, eller kunden beder om det (delete-customer) |
Fristerne kan ændres i hubbens konfiguration (se hub.md). I kundens eget repository styres opbevaringen af SQLInsight:Retention.
Hvor ligger data?
- Hubben og PostgreSQL-databasen: [udfyldes af SEOSoft: land, datacenter/hostingleverandør]
- Backup: [udfyldes af SEOSoft: hvor, hvor længe, krypteret]
- Underdatabehandlere: [udfyldes af SEOSoft: fx hostingleverandør. Ingen, hvis hubben kører på SEOSofts egne servere]
- Overførsel til tredjelande: [udfyldes af SEOSoft: forventet ingen]
Sikkerhed (tekniske og organisatoriske foranstaltninger)
Indbygget i produktet:
- Kryptering under transport. Agenten sender kun til https-adresser (loopback undtaget), så licensen aldrig sendes i klartekst.
- Autentifikation. Hver kunde har en signeret licens (ECDSA P-256), der verificeres ved hver modtagelse. Spærrede og udløbne licenser afvises.
- Dataminimering. Følsomme målinger udelades som standard, og serverens navn sendes ikke som standard.
- Adskillelse. Data knyttes til kunden ud fra den signerede licens, ikke ud fra noget agenten selv angiver.
- Portalen. Kun navngivne SEOSoft-medarbejdere har adgang. Adgangskoder er PBKDF2-hashede og mindst 12 tegn, login er begrænset til 10 forsøg i minuttet pr. IP, og cookies er HttpOnly, SameSite=Strict og Secure. Der er CSRF-beskyttelse og en streng Content-Security-Policy.
- Opbevaring og sletning, som beskrevet ovenfor.
- Gennemsigtighed. Kunden kan se det sendte indhold i sin egen webbrugerflade.
Mangler (planlagt):
- Log over, hvilke medarbejdere der har set hvilke kunders data
- Tofaktorlogin til portalen (indtil da: kør portalen bag VPN eller en reverse proxy med SSO)
Hos SEOSoft ([udfyldes af SEOSoft]): kryptering af disk og backup, adgangsstyring til serveren, patching, fortrolighedserklæring for medarbejdere, procedure ved brud på persondatasikkerheden (underretning af kunden uden unødig forsinkelse), og hvordan databehandleraftalen følges op.
Hvis kunden ikke ønsker at dele data
Deling er slået fra som standard og er ikke en betingelse for Professional eller Enterprise. Uden deling kan supporten stadig hjælpe ud fra skærmbilleder eller udtræk, som kunden selv sender. Så gælder kundens egne regler for, hvad der deles.
Kundens egen installation
Agent og webbrugerflade gemmer data i kundens eget repository hos kunden. Her er kunden selv ansvarlig. Repositoriet indeholder de samme typer data som ovenfor, inklusive følsomme målinger (forespørgselstekst, logins, deadlock-grafer), fordi de er nødvendige for at løse problemerne lokalt. Til analyse af tidsrum gemmes desuden de tungeste forespørgsler med tekst og forbrug hvert 5. minut i RawDays (standard 14 dage); den tekst bruges kun lokalt og indgår aldrig i det, der sendes til SQLInsight Hub. Adgang til webbrugerfladen styres med Windows-login, og databasebrugeren har kun læserettigheder.