Skip to main content

Spesialhåndtere datasett

I noen tilfeller har man behov for å håndtere data på Saga som har spesifikke restriksjoner eller krever spesialhåndtering. Slike data kan ligge i et datasett som man setter en spesifikk tag på.

Tags på dataplattformen består av en nøkkel (tag key) og en eller flere tilsvarende verdier (tag values). I BigQuery kan man se hvilke tags som er satt ved å se på Dataset info. Eksempelet under viser et datasettet hvor taggen PII med verdien ikke-sensitive er satt.

Informasjon om datasettet hvor taggen PII med verdien ikke-sensitive er satt

Sette tags

Tagging av et datasett gjøres som en del av en pipeline. Det finnes en operator som kan benyttes BigQuerySetTagOnDatasetOperator, se eksempelkode under:

from gcp_tag_operators import BigQuerySetTagOnDatasetOperator
from pipeline import SagaContext, make_pipeline
from airflow.providers.google.cloud.operators.bigquery import (
BigQueryCreateEmptyDatasetOperator,
BigQueryDeleteDatasetOperator,
)

"""
An example of how to create a dataset and place a pii tag on that dataset.
If you set a pii tag that is "ikke-sensitive" or "sensitive", the dataset will not be shared with others by default.
A "pii" tag with a value of "nei" is equivalent to no pii tag at all, and means that the dataset will be shared with others by default.

Note that the last step is just to clean up after the example.

Use BigQuerySetTagOnDatasetOperator.Tags to see available tags and values.
"""


def pipeline(context: SagaContext):
create_new_dataset = BigQueryCreateEmptyDatasetOperator(
task_id="create_new_dataset",
dataset_id="gcp_tag_test",
project_id=context.project_id,
location="EU",
)

set_tags = BigQuerySetTagOnDatasetOperator(
task_id="set_tags",
dataset_id="gcp_tag_test",
tag_value=BigQuerySetTagOnDatasetOperator.Tags.Pii.IKKE_SENSITIVE,
project_id=context.project_id,
)

delete_dataset = BigQueryDeleteDatasetOperator(
task_id="delete_dataset",
dataset_id="gcp_tag_test",
)

create_new_dataset >> set_tags >> delete_dataset


dag = make_pipeline(pipeline, schedule=None)

Den samme operatoren kan benyttes for å endre verdien på en tag, eksempelvis fra pii:ikke-sensitiv til pii:nei. For øyeblikket er det ikke mulig å slette en tag key etter at den er satt på en ressurs.

Tilgjengelige tags

PII

Tagen pii brukes for å indikere om det finnes persondata i dataen.

info

Merk: I utgangspunktet skal du ikke behandle persondata data på Saga. Se også når bør du ikke velge Saga for relevant informasjon. Ta kontakt med Team Yggdrasil ved spørsmål.

Tag ValueBeskrivelse
neiBrukes når det ikke er PII data. Tilsvarende som at ingen tag key er satt.
ikke-sensitiveInneholder persondata som ikke er sensitive.
sensitiveInneholder persondata som er sensitive.

Default share policy

Tagen default-share-policy brukes for å tilpasset tilgangsstyring på datasettet, eksempelvis begrenset leserettigheter til de underliggende tabellene. Se Manuell tilgangsstyring for når denne tagen skal brukes.

Tag ValueBeskrivelse
organizationDatasettet er default tilgjengelig for alle brukere på Saga. Tilsvarende som at ingen tag key er satt og datasettet deles med alle brukere som normalt.
teamDatasetter er default kun tilgjengelig for teamet. Teamet kan selv administrere ytterligere tilgang til datasettet.