Deling av data

Sist endret

April 23, 2025

Dapla-team kan dele data mellom team via såkalte delt-bøtter. Hvert team kan opprette de delt-bøttene de har behov for, og deretter gi tilgang til grupper i andre team. Opprettelse av bøtter skal følge retningslinjene som er definert her.

Forberedelser

For å opprette delt-bøtter må man først skru på featuren shared-buckets for teamet. Det gjøres ved at en på teamet gjør følgende:

  1. Gå til IaC-repoet til teamet på Github.
  2. Åpne filen ./infra/projects.yaml.
  3. Legg til en linje med shared-buckets under features i miljøet du ønsker, slik som vist til høyre.
  4. Opprette en PR med endringen.
  5. Be en i gruppa data-admins se over endringen og godkjenne.
  6. Kjør atlantis plan og atlantis apply slik som beskrevet her.
projects.yaml
team_uniform_name: dapla-example

projects:
  - project_name: dapla-example
    env: prod
    features:
      - dapla-buckets
      - transfer-service
      - shared-buckets

Typer av delt-bøtter

Det finnes to typer av delt-bøtter som team kan opprette:

  1. Standard
    Standard er en type delt-bøtte som teamet selv har lese- og skriverettigheter til bøtta. Dvs. at den er ment for deling av data som det delende team også har tilgang til i produkt-bøtta.

  2. Delomat
    Delomat er en type delt-bøtte som kan benyttes med Delomaten-tjenesten. Denne benyttes når delende teamet skal dele personidentifiserende informasjon (PII) på en annen måte enn de selv har tilgang til. F.eks. hvis et team som jobber med pseudonymisert PII, men må dele en versjon av datasettet hvor PII er i klartekst.

Hvilken type delt-bøtte som skal opprettes vil avgjøres av om delende og konsumerende behandler PII likt eller ikke.

Opprettelse av bøtte

Opprettelse av delt-bøtter gjøres i teamets IaC-repo. For å opprette en delt-bøtte må man legge til en linje i fila ./infra/projects/<teamnavn>-prod/buckets-shared.yaml. Du legger bare til kortnavnet for bøtta, altså den delen av bøtte-navnet som teamet kan styre selv, og hvilken type bøtte som ønskes.

buckets-shared.yaml
version: kuben/v1
kind: SharedBuckets
buckets:
- name: ameld
  type: standard
- name: ledstill
  type: standard
- name: ameld-pii
  type: delomat

I eksempelet over så opprettes to standardbøtter med navn ameld og ledstill. I tillegg opprettes bøtta ameld-pii for å dele en versjon av ameld der PII er i klartekst. Sistnevnte må deles via Delomaten, siden delende team ikke skal ha tilgang til disse dataene.

De fulle bøttenavnene som blir opprettet fra eksempelet over vil være:

  • ssb--data-delt-ameld-prod
  • ssb--data-delt-ledstill-prod
  • ssb--data-delt-delomat-ameld-pii-prod

Etter at endringen er gjort i buckets-shared.yaml, så gjør du følgende:

  1. Opprette en PR på repoet med endringen.
  2. Få en i gruppen data-admins til å gå gjennom og godkjenne.
  3. Kjør atlantis plan og atlantis apply som beskrevet her.
Navngivning av bøtter

Navngivning av bøtter følger RFC 1123. Dvs. at navnet må følge disse reglene:

  • Max 63 tegn i navnet (gjelder fullt navn på bøtta)
  • kun små bokstaver a-z og sifre 0-9
  • tillatt med -
  • det er ikke tillatt med _

Tilgangsstyring

Tilgangsstyring kan skje i samme steg som opprettelse av bøtta, men her beskrives det som et eget steg for de tilfellene der man ønsker å gi nye tilganger til eksisterende delt-bøtter.

Tilganger til delt-bøtter kan gis av teamet som eier bøtta. Hvem som har tilgang blir definert i fila ./infra/projects/<teamnavn>-prod/shared-buckets.yaml i IaC-repoet til teamet. Det er den samme filen som hvor selve bøtta ble opprettet.

Hvem som skal ha tilgang angis under sharedWith for hver bøtte, og dette gir tilgangsgruppen som oppgis lesetilgang til filene i bøtta.

buckets-shared.yaml
version: kuben/v1
kind: SharedBuckets
buckets:
- name: ameld
  type: standard
  sharedWith:
  - play-obr-b-developers
- name: ledstill
  type: standard
  sharedWith:
  - play-obr-b-developers  
- name: ameld-pii
  type: delomat
  sharedWith:
  - dapla-felles-developers

Av eksempelet over ser vi at det spesifisert tilgang til play-obr-b-developers for standardbøttene ameld og ledstill. For delomat-bøtta ameld-pii er det spedisfisert tilgang for dapla-felles-developers.

Over ser vi at teamet dapla-example har to delt-bøtter:

  1. ssb-dapla-example-data-delt-freg-prod
  2. ssb-dapla-example-data-delt-ameld-prod

Den første bøtta har de gitt lesetilgang til data-admins og developers i team-alpha. Fra linje 8 og nedover ser vi at de har gitt developers i team-beta lesetilgang til ssb-dapla-example-data-delt-ameld-prod.

Når man har gjort endringer i iam.yaml så gjør man følgende:

  1. Opprette en PR med endringen.
  2. Få en i gruppen data-admins til å gå gjennom endringen og godkjenne.
  3. Kjør atlantis plan og atlantis apply som beskrevet her.