ssb-gcp-identity-client

Sist endret

September 10, 2026

ssb-gcp-identity-client er en Python-pakke med funksjonalitet for å koble seg til eksterne Google Cloud skyressurser med Maskinporten-tokens gjennom Skyporten.

Installasjon

For å benytte ssb-gcp-identity-client må man først installere pakken i et ssb-project:

Terminal
poetry add ssb-gcp-identity-client

Maskinporten-tokens

Når du skal autentisere deg mot Skyporten må du først hente ut et gyldig Maskinporten-token. Se Maskinporten-dokumentasjonen for mer informasjon.

Funksjonalitet

get_federated_storage_client()

Funksjonen get_federated_storage_client() returnerer en Google Cloud Storage-klient autentisert gjennom Skyporten, som kan brukes mot bøtter i eksterne Google Cloud prosjekter.

Funksjonen tar inn parametre som identifiserer den eksterne aktørens Workload Identity-pool samt Maskinporten-tokenet som en streng.

from ssb_gcp_identity_client import get_federated_storage_client

storage_client = get_federated_storage_client(
    project_number="1234567890",
    workload_identity_pool_id="my-pool",
    provider_id="maskinporten-provider",
    maskinporten_token=token_as_string
)

# Eksempel på bruk av klienten
for bucket in storage_client.list_buckets():
    print(bucket.name)

get_federated_credentials()

Funksjonen get_federated_credentials() returnerer Google Cloud-credentials autentisert gjennom Skyporten, som kan brukes til å opprette Google Cloud-klienter. Funksjonen er nyttig dersom man ønsker å opprette klienter av andre typer enn Storage.

Funksjonen tar inn parametre som identifiserer den eksterne aktørens Workload Identity-pool samt Maskinporten-tokenet som en streng.

from ssb_gcp_identity_client import get_federated_credentials

creds = get_federated_credentials(
    project_number="1234567890",
    workload_identity_pool_id="my-pool",
    provider_id="maskinporten-provider",
    maskinporten_token=token_as_string
)

# Eksempel på bruk av credentials
storage_client = storage.Client(credentials=creds)
for bucket in storage_client.list_buckets():
    print(bucket.name)

Andre ressurser

Se koden og dokumentasjonen for ssb-gcp-identity-client på Github.