ssb-gcp-identity-client
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
= get_federated_storage_client(
storage_client ="1234567890",
project_number="my-pool",
workload_identity_pool_id="maskinporten-provider",
provider_id=token_as_string
maskinporten_token
)
# 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
= get_federated_credentials(
creds ="1234567890",
project_number="my-pool",
workload_identity_pool_id="maskinporten-provider",
provider_id=token_as_string
maskinporten_token
)
# Eksempel på bruk av credentials
= storage.Client(credentials=creds)
storage_client for bucket in storage_client.list_buckets():
print(bucket.name)
Andre ressurser
Se koden og dokumentasjonen for ssb-gcp-identity-client på Github.