Vorbereitung (einmalig)

Erstellen eines Service-Kontos

Die Erstellung eines Service-Kontos in Google Cloud Platform (GCP) ist ein wichtiger Schritt, um sicherzustellen, dass deine Anwendungen und Dienste sichere und authentifizierte Zugriffe auf GCP-Ressourcen haben. Hier sind die Schritte, um ein Service-Konto zu erstellen:

  • Google Cloud Console öffnen: Melde dich in deinem Google Cloud-Konto an und öffne die Google Cloud Console.
  • Projekt auswählen: Wähle das Projekt aus, für das du das Service-Konto erstellen möchtest. Wenn du noch kein Projekt hast, musst du zuerst eines erstellen.
  • Zum IAM & Admin Bereich navigieren: Im Navigationsmenü der Google Cloud Console findest du die Option „IAM & Admin“. Klicke darauf und wähle dann „Servicekonten“.
  • Service-Konto erstellen: Klicke auf „Service-Konto erstellen“. Gib dem Service-Konto einen Namen und eine Beschreibung. Der Name ist ein eindeutiger Bezeichner für das Service-Konto innerhalb deines Projekts.
  • Service-Konto-ID festlegen: Die Service-Konto-ID wird automatisch basierend auf dem Namen generiert, kann aber bei Bedarf angepasst werden. Diese ID wird für die Authentifizierung bei verschiedenen Google Cloud-Diensten verwendet.
  • Rollen zuweisen: Weise dem Service-Konto eine oder mehrere Rollen zu. Diese Rollen bestimmen die Berechtigungen, die das Service-Konto hat. Wähle die Rollen, die für die Aufgaben erforderlich sind, die das Service-Konto ausführen soll.
  • Schlüssel erstellen (optional): Um das Service-Konto außerhalb der Google Cloud Platform zu nutzen (z.B. in einer lokalen Anwendung oder auf einem anderen Server), musst du einen privaten Schlüssel erstellen. Nachdem das Service-Konto erstellt wurde, kannst du auf „Schlüssel erstellen“ klicken, den Schlüsseltyp auswählen (normalerweise JSON) und den Schlüssel herunterladen. Bewahre diesen Schlüssel sicher auf, da er vollen Zugriff auf die zugewiesenen Ressourcen bietet.
  • Service-Konto verwenden: Nachdem du das Service-Konto und den privaten Schlüssel erstellt hast, kannst du diese in deinen Anwendungen oder Skripten verwenden, um sichere und authentifizierte Anfragen an Google Cloud-Dienste zu senden.

Denke daran, dass Service-Konten mächtige Werkzeuge sind und dass der Zugriff darauf entsprechend sicher gesteuert werden sollte. Teile die Schlüssel nicht und weise nur die notwendigen Berechtigungen zu, um das Prinzip der geringsten Berechtigungen zu befolgen.

Zuweisen zu anderen Projekten

Setzen der Umgebungsvariablen

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Pfad\zur\Schlüsseldatei.json"

Anmeldedaten für ADC bereistellen

Um nicht folgenden Fehler zu bekommen muss man folgenden Befehszeile ausführen:

gcloud auth application-default login
DefaultCredentialsError: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.

Aktivieren der Cloud Resource Manager API

Bevor man über Python auf die Cloud Resource Manager API zugreifen kann, muss man diese erst im Cloud Portal aktivieren:

sonst bekommt man folgende Fehlermeldung:

PermissionDenied: 403 Cloud Resource Manager API has not been used in project thinkbigger before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=xxx then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

dd

pip install google-api-python-client

wichtigsten Services

Service Nameapi_name
Cloud Storage APIstorage-component
BigQuery APIbigquery
Cloud Firestore APIfirestore
Cloud Functions APIcloudfunctions
Cloud Vision APIvision
Cloud Speech-to-Text APIspeech
Cloud Text-to-Speech APItexttospeech
Natural Language APIlanguage
Translation APItranslate
Dialogflow APIdialogflow
Cloud Talent Solution APIjobs
Cloud Machine Learning Engine APIml
Geocoding APIgeocoding
Directions APIdirections-backend
Distance Matrix APIdistance-matrix-backend
Maps JavaScript APImaps-backend
Places APIplaces-backend
Knowledge Graph Search APIkgsearch
Places APIplaces
Roads APIroads
Cloud Storagestorage-api
Google Custom Search JSON APIcustomsearch