Deling av data
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:
- Gå til IaC-repoet til teamet på Github.
- Åpne filen
./infra/projects.yaml
. - Legg til en linje med
shared-buckets
underfeatures
i miljøet du ønsker, slik som vist til høyre. - Opprette en PR med endringen.
- Be en i gruppa data-admins se over endringen og godkjenne.
- Kjør
atlantis plan
ogatlantis 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:
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.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
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:
- Opprette en PR på repoet med endringen.
- Få en i gruppen data-admins til å gå gjennom og godkjenne.
- Kjør
atlantis plan
ogatlantis apply
som beskrevet her.
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 sifre0-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
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:
- ssb-dapla-example-data-delt-freg-prod
- 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:
- Opprette en PR med endringen.
- Få en i gruppen data-admins til å gå gjennom endringen og godkjenne.
- Kjør
atlantis plan
ogatlantis apply
som beskrevet her.