Cloud APIs und Cloud-Clientbibliotheken in Cloud Code für VS Code verwalten

Für den programmatischen Zugriff auf Google Cloud Produkte und Dienste verwenden Sie Cloud APIs. Diese APIs bieten eine einfache JSON-REST-Schnittstelle. Die empfohlene Methode für den Zugriff auf die Cloud APIs ist die Verwendung der Cloud-Clientbibliotheken.

Mit Cloud Code können Sie ganz einfach die Cloud-Clientbibliotheken für die Cloud APIs und die Sprache hinzufügen, die Sie zu Ihrem Projekt verwenden. In derselben Ansicht können Sie nach Beispielen für jede API suchen und einfach Beispiele in Ihre Anwendung einbinden.

Cloud APIs finden

So rufen Sie alle verfügbaren Google Cloud APIs auf:

  1. Klicken Sie auf Cloud Code und maximieren Sie dann den Abschnitt Cloud APIs.

    In der Ansicht „Cloud APIs“ werden Cloud APIs nach Kategorie gruppiert.

  2. Klicken Sie auf den API-Namen, um Details zu einer API aufzurufen. Daraufhin werden Details wie der Dienstname, Status, Installationsanweisungen für Clientbibliotheken, Dokumentation und Codebeispiele angezeigt.

Cloud APIs aktivieren

Gehen Sie so vor, um Cloud APIs für ein Projekt über die API-Detailseite zu aktivieren:

  1. Wählen Sie auf der Cloud API-Detailseite das Projekt aus, für das die Cloud API aktiviert werden soll.
  2. Klicken Sie auf API aktivieren. Nach Aktivierung der API wird eine Meldung zur Bestätigung der Änderung angezeigt.

Clientbibliotheken zu Ihrem Projekt hinzufügen

Sie können mit Cloud Code nicht nur Cloud APIs kennenlernen und aktivieren, sondern auch eine sprachenspezifische Clientbibliothek zu Ihrem Projekt hinzufügen.

Folgen Sie der Anleitung auf der API-Detailseite für Ihre Sprache, um eine Clientbibliothek zu installieren.

API-Beispiele verwenden

Sie können im API-Browser für jede API Codebeispiele suchen und verwenden.

  1. Klicken Sie auf Cloud Code und maximieren Sie dann den Abschnitt Cloud APIs.

  2. Klicken Sie zum Öffnen der Detailansicht auf den Namen einer API.

  3. Klicken Sie auf Codebeispiele, um Codebeispiele für die API aufzurufen.

  4. Wenn Sie die Liste der Beispiele filtern möchten, geben Sie den zu suchenden Text ein oder wählen Sie eine Programmiersprache aus der Liste Sprache aus.

  5. Klicken Sie auf den Namen des Beispiels, um es aufzurufen. Es gibt auch Optionen, um das Beispiel in die Zwischenablage zu kopieren oder in GitHub aufzurufen.

Authentifizierung einrichten

Nachdem Sie die erforderlichen APIs aktiviert und die erforderlichen Clientbibliotheken hinzugefügt haben, müssen Sie Ihre Anwendung für die Authentifizierung konfigurieren. Ihre Konfiguration hängt von Ihrer Art der Entwicklung und der Plattform ab, auf der Sie arbeiten.

Nachdem Sie die Authentifizierungsschritte abgeschlossen haben, kann sich Ihre Anwendung authentifizieren und bereitgestellt werden.

Lokale Entwicklung

Lokaler Rechner

Wenn Sie sich in Ihrer IDE in Google Cloud angemeldet haben, legt Cloud Code Ihre Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) fest und Sie können diesen Schritt überspringen. Wenn Sie sich außerhalb Ihrer IDE in angemeldet haben (z. B. mit der gcloud CLI), richten Sie Ihre ADC ein und lassen Sie Clientbibliotheken sich über ADC authentifizieren, indem Sie Folgendes ausführen: Google CloudGoogle Cloud

gcloud auth login --update-adc

minikube

  1. Wenn Sie sich in Ihrer IDE in Google Cloud angemeldet haben, legt Cloud Code Ihre Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) fest und Sie können diesen Schritt überspringen. Wenn Sie sich außerhalb Ihrer IDE in angemeldet haben (z. B. mit der gcloud CLI), richten Sie Ihre ADC ein und lassen Sie Clientbibliotheken sich über ADC authentifizieren, indem Sie Folgendes ausführen: Google CloudGoogle Cloud

    gcloud auth login --update-adc
  2. Starten Sie minikube mit minikube start --addons gcp-auth. Mit diesem Befehl werden Ihre ADC in Ihren Pods bereitgestellt. Ausführliche Informationen zur minikube-Authentifizierung in Google Cloud, finden Sie in der minikube gcp-auth-Dokumentation.

Andere lokale K8s-Cluster

  1. Wenn Sie sich in Ihrer IDE in Google Cloud angemeldet haben, legt Cloud Code Ihre Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) fest und Sie können diesen Schritt überspringen. Wenn Sie sich außerhalb Ihrer IDE in angemeldet haben (z. B. mit der gcloud CLI), richten Sie Ihre ADC ein und lassen Sie Clientbibliotheken sich über ADC authentifizieren, indem Sie Folgendes ausführen: Google CloudGoogle Cloud

    gcloud auth login --update-adc
  2. Damit die Google Cloud Clientbibliotheken Ihre Anmeldedaten finden können, stellen Sie Ihr lokales Verzeichnis~/.config/gcloudin Ihren Kubernetes-Pods bereit, indem Sie die Bereitstellungsmanifeste bearbeiten.
  3. Legen Sie Ihre Google Cloud Projekt-ID als Umgebungsvariable mit dem Namen GOOGLE_CLOUD_PROJECT fest.

Beispiel für eine Kubernetes-Pod-Konfiguration:

apiVersion: v1
kind: Pod
metadata:
  name: my-app
  labels:
    name: my-app
spec:
  containers:
  - name: my-app
    image: gcr.io/google-containers/busybox
    ports:
      - containerPort: 8080
    env:
    - name: GOOGLE_CLOUD_PROJECT
      value: my-project-id
    volumeMounts:
      - mountPath: /root/.config/gcloud
        name: gcloud-volume
  volumes:
    - name: gcloud-volume
      hostPath:
        path: /path/to/home/.config/gcloud

Cloud Run

Wenn Sie sich in Ihrer IDE in Google Cloud angemeldet haben, legt Cloud Code Ihre Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) fest und Sie können diesen Schritt überspringen. Wenn Sie sich außerhalb Ihrer IDE in angemeldet haben (z. B. mit der gcloud CLI), richten Sie Ihre ADC ein und lassen Sie Clientbibliotheken sich über ADC authentifizieren, indem Sie Folgendes ausführen: Google CloudGoogle Cloud

gcloud auth login --update-adc

Lokale Entwicklung mit APIs, für die ein Dienstkonto erforderlich ist

Für einige APIs, z. B. die Cloud Translation API, ist ein Dienstkonto mit den entsprechenden Berechtigungen erforderlich, um Ihre Anfragen zu authentifizieren. Weitere Informationen finden Sie unter Dienstkonten erstellen und verwalten. Eine Kurzanleitung zur Verwendung eines Dienstkontos finden Sie unter Cloud-Clientbibliotheken in Cloud Code verwenden.

  1. Klicken Sie auf Terminal > Neues Terminal, um ein Terminal zu öffnen.

  2. Erstellen Sie ein Dienstkonto zur Authentifizierung Ihrer API-Anfragen:

    gcloud iam service-accounts create \
    SERVICE_ACCOUNT_ID \
    --project PROJECT_ID

    Ersetzen Sie die folgenden Werte:

    • SERVICE_ACCOUNT_ID: die Dienstkonto-ID
    • PROJECT_ID: die Projekt-ID

    Klicken Sie in Google Cloudauf das Navigationsmenü oben links auf dem Bildschirm, bewegen Sie den Mauszeiger auf IAM & Verwaltung und klicken Sie auf Dienstkonten , um diese IDs zu finden.

    In der Spalte E-Mail werden die eindeutigen Werte SERVICE_ACCOUNT_ID und PROJECT_ID für jedes Ihrer Dienstkonten im folgenden Format angezeigt:

    SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com

    Beispiel: Eine E-Mail-Adresse für ein Dienstkonto my-service-account@my-project.iam.gserviceaccount.com hat die folgenden Werte:

    • SERVICE_ACCOUNT_ID: my-service-account
    • PROJECT_ID: my-project
  3. Weisen Sie Ihrem Dienstkonto die entsprechende Rolle zu. Mit dem folgenden Beispielbefehl wird die Rolle „Cloud Translation API-Nutzer“ zugewiesen. Welche Rolle zugewiesen werden muss, erfahren Sie in der Dokumentation für die verwendete Cloud API.

    gcloud projects \
    add-iam-policy-binding \
    PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com' \
    --role='roles/cloudtranslate.user'
  4. Erstellen Sie einen Dienstkontoschlüssel:

    gcloud iam service-accounts keys \
    create key.json --iam-account \
    SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
  5. Legen Sie den Schlüssel als Standardanmeldedaten fest:

    export \
     GOOGLE_APPLICATION_CREDENTIALS=key.json
    
  6. Optional: Wenn Sie Nutzern erlauben möchten, die Identität des Dienstkontos anzunehmen, führen Sie den Befehl aus. Damit gewähren Sie einem Nutzer die Rolle „Dienstkontonutzer“ () für das Dienstkonto:gcloud iam service-accounts add-iam-policy-bindingroles/iam.serviceAccountUser

    gcloud iam service-accounts add-iam-policy-binding \
        SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \
        --member="user:USER_EMAIL" \
        --role="roles/iam.serviceAccountUser"

    Ersetzen Sie die folgenden Werte:

    • USER_EMAIL: die E-Mail-Adresse des Nutzers

Remote-Entwicklung

GKE

Je nach Umfang des Projekts können Sie auswählen, wie Sie Dienste in GKE authentifizieren: Google Cloud

  • (Nur Entwicklung)
    1. Erstellen Sie einen GKE-Cluster mit den folgenden Einstellungen:
      • Achten Sie darauf, dass Sie das Dienstkonto verwenden, das GKE standardmäßig verwendet, das Compute Engine-Standarddienstkonto, und dass für Zugriffsbereiche die Einstellung Uneingeschränkten Zugriff auf alle Cloud APIs erlauben (beide Einstellungen im Abschnitt Knotenpools > Sicherheit verfügbar) eingestellt ist. Da das Compute-Engine-Dienstkonto von allen auf Ihrem Knoten bereitgestellten Arbeitslasten gemeinsam genutzt wird, überdimensioniert diese Methode die Berechtigungen und sollte nur für die Entwicklung verwendet werden. Da das Compute Engine-Dienstkonto von allen auf Ihrem Knoten bereitgestellten Arbeitslasten gemeinsam genutzt wird, stellt diese Methode zu viele Berechtigungen bereit und sollte nur für die Entwicklung verwendet werden.
      • Achten Sie darauf, dass Workload Identity in Ihrem Cluster nicht aktiviert ist. Dies geschieht unter Cluster > Sicherheit.
    2. Weisen Sie Ihrem Dienstkonto die erforderlichen Rollen zu:
      • Wenn Sie auf ein Secret zugreifen möchten, folgen Sie den Schritten für Secret Manager, um die erforderlichen Rollen für Ihr Dienstkonto einzurichten.
      • Wenn Sie das Compute Engine-Standarddienstkonto verwenden, werden möglicherweise bereits die richtigen IAM-Rollen angewendet.
      • Eine Liste der IAM-Rollentypen und vordefinierten Rollen, die Sie Identitäten zuweisen können, finden Sie in der Anleitung zu Rollen. Die Schritte zum Zuweisen der Rollen finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.
  • (für die Produktion empfohlen)
    1. Konfigurieren Sie Ihren GKE-Cluster und Ihre Anwendung mit Workload Identity zur Authentifizierung von Google Cloud Diensten in GKE. Dadurch wird Ihr Kubernetes-Dienstkonto mit Ihrem Google-Dienstkonto verknüpft.
    2. Konfigurieren Sie Ihre Kubernetes-Bereitstellung so, dass sie auf das Kubernetes-Dienstkonto verweist. Legen Sie dazu das Feld .spec.serviceAccountName in der YAML-Datei Ihrer Kubernetes-Bereitstellung fest. Wenn Sie an einer Anwendung arbeiten, die mit einer Cloud Code-Codebeispielanwendung erstellt wurde, befindet sich diese Datei im Ordner „kubernetes-manifests“.
    3. Wenn der Google Cloud Dienst, auf den Sie zugreifen möchten, zusätzliche Rollen benötigt, gewähren Sie diese für das Google-Dienst Konto, das Sie zur Entwicklung Ihrer Anwendung verwenden:

Cloud Run

  1. Wenn Sie ein neues eindeutiges Dienstkonto für die Bereitstellung Ihrer Cloud Run-Anwendung erstellen möchten, rufen Sie die Seite „Dienstkonten“ auf und wählen Sie das Projekt aus, in dem Ihr Secret gespeichert ist.

    Zur Seite „Dienstkonten“

  2. Klicken Sie auf Dienstkonto erstellen.
  3. Geben Sie in das Dialogfeld Dienstkonto erstellen einen aussagekräftigen Namen für das Dienstkonto ein.
  4. Ändern Sie die Dienstkonto-ID in einen eindeutigen, erkennbaren Wert und klicken Sie dann auf Erstellen.
  5. Wenn der Google Cloud Dienst, auf den Sie zugreifen möchten, zusätzliche Rollen benötigt, gewähren Sie diese Rollen, klicken Sie auf Weiter und dann auf Fertig.
  6. Fügen Sie das Dienstkonto Ihrer Bereitstellungskonfiguration hinzu:
    1. Wählen Sie in der Cloud Code-Statusleiste den Befehl Cloud Run: Bereitstellen aus.
    2. Geben Sie in der Cloud Run Deployment-UI unter Einstellungen bearbeiten im Feld Dienstkonto Ihr Dienstkonto an.
    Der Abschnitt „Erweiterte Revisionseinstellungen“ wurde in Cloud Run erweitert: Bereitstellungs- und Dienstkontofeld mit Dienstkontoname ausgefüllt im Format service-account-name@project-name.iam.gserviceaccount.com

Cloud Run

Je nach Umfang des Projekts können Sie auswählen, wie Sie Dienste in GKE authentifizieren: Google Cloud

  • (Nur Entwicklung)
    1. Erstellen Sie einen GKE-Cluster mit den folgenden Einstellungen:
      • Achten Sie darauf, dass Sie das Dienstkonto nehmen, das GKE standardmäßig verwendet, das Compute Engine-Standarddienstkonto, und dass Zugriffsbereiche festgelegt sind auf Uneingeschränkten Zugriff auf alle Cloud APIs zulassen (beide Einstellungen sind im Abschnitt Knotenpools >Sicherheit zugänglich. Da das Compute Engine-Dienstkonto von allen auf Ihrem Knoten bereitgestellten Arbeitslasten gemeinsam genutzt wird, stellt diese Methode zu viele Berechtigungen bereit und sollte nur für die Entwicklung verwendet werden.
      • Achten Sie darauf, dass Workload Identity in Ihrem Cluster nicht aktiviert ist. Dies geschieht unter Cluster > Sicherheit.
    2. Weisen Sie Ihrem Dienstkonto die erforderlichen Rollen zu:
      • Wenn Sie auf ein Secret zugreifen möchten, folgen Sie den Schritten für Secret Manager, um die erforderlichen Rollen für Ihr Dienstkonto einzurichten.
      • Wenn Sie das Compute Engine-Standarddienstkonto verwenden, werden möglicherweise bereits die richtigen IAM-Rollen angewendet.
      • Eine Liste der IAM-Rollentypen und vordefinierten Rollen, die Sie Identitäten zuweisen können, finden Sie in der Anleitung zu Rollen. Die Schritte zum Zuweisen der Rollen finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.
  • (für die Produktion empfohlen)
    1. Konfigurieren Sie Ihren GKE-Cluster und Ihre Anwendung mit Workload Identity zur Authentifizierung von Google Cloud Diensten in GKE. Dadurch wird Ihr Kubernetes-Dienstkonto mit Ihrem Google-Dienstkonto verknüpft.
    2. Fügen Sie das Dienstkonto Ihrer Bereitstellungskonfiguration hinzu.:
      1. Wählen Sie in der Cloud Code-Statusleiste den Befehl Cloud Run: Bereitstellen aus.
      2. Geben Sie in der Cloud Run Deployment-UI unter Einstellungen bearbeiten im Feld Dienstkonto Ihr Dienstkonto an.
      Der Abschnitt „Erweiterte Revisionseinstellungen“ wurde in Cloud Run erweitert: Bereitstellungs- und Dienstkontofeld mit Kubernetes-Dienstkontoname ausgefüllt im Format service-account-name@project-name.iam.gserviceaccount.com
    3. Wenn der Google Cloud Dienst, auf den Sie zugreifen möchten, zusätzliche Rollen benötigt, gewähren Sie diese für das Google-Dienstkonto, das Sie zur Entwicklung Ihrer Anwendung verwenden:

Remote-Entwicklung mit aktivierten Secret Manager-Berechtigungen

Wenn Sie aus der Ferne entwickeln, ein Dienstkonto zur Authentifizierung verwenden und Ihre Anwendung Secrets verwendet, müssen Sie zusätzlich zur Anleitung für die Remote-Entwicklung noch ein paar weitere Schritte ausführen. Durch diese Schritte wird Ihrem Google-Dienstkonto die Rolle zugewiesen, die für den Zugriff auf ein bestimmtes Secret Manager-Secret erforderlich ist:

  1. Klicken Sie auf Cloud Code und maximieren Sie dann den Secret Manager Abschnitt.

    Secret Manager in Cloud Code wird mit zwei aufgeführten Secrets geöffnet

  2. Klicken Sie mit der rechten Maustaste auf das Secret und wählen Sie Berechtigungen in Cloud Console bearbeiten aus. Dadurch wird die Konfigurationsseite von Secret Manager für dieses Secret in Ihrem Webbrowser gestartet.

    Rechtsklick auf ein Secret im Feld „Secret Manager“

  3. Klicken Sie in der Google Cloud Console auf Berechtigungen und dann auf Hinzufügen.

  4. Geben Sie im Feld Neue Hauptkonten den Namen Ihres Dienstkontos ein.

  5. Wählen Sie im Feld Rolle auswählen die Rolle Secret Manager Secret Accessor aus.

  6. Klicken Sie auf Speichern.

    Ihr Dienstkonto ist jetzt berechtigt, auf dieses Secret zuzugreifen.

Support erhalten

Wenn Sie uns Feedback geben möchten, können Sie Probleme auf GitHub, oder eine Frage in Stack Overflowstellen.