Cloud APIs und Cloudbibliotheken verwalten

Mithilfe von Cloud APIs können Sie direkt aus Ihrem Code auf Google Cloud-Produkte und -Dienste zugreifen. Diese Cloud APIs bieten eine einfache JSON-REST-Schnittstelle, die Sie über Clientbibliotheken aufrufen können.

In diesem Dokument wird beschrieben, wie Sie Cloud APIs aktivieren und Cloud-Clientbibliotheken zu Ihrem Projekt hinzufügen.

Cloud APIs finden

So prüfen Sie alle verfügbaren Google Cloud APIs in Ihrer IDE:

  1. Wählen Sie Tools > Cloud Code > Cloud APIs aus.
  2. Maximieren Sie den Explorer-Baum der Google Cloud APIs, um alle verfügbaren APIs ansehen zu können. Der Explorer gruppiert Cloud APIs nach Kategorie. Über die Suchleiste "Search APIs" können Sie auch nach einer bestimmten API suchen.
  3. Screenshot von der Liste der Cloud APIs, die im Explorer der Baumansicht angezeigt wird
  4. Klicken Sie auf eine API, um weitere Details wie Status, sprachspezifische Installationsanweisungen für die entsprechenden Clientbibliotheken und relevante Dokumentation anzusehen.

Cloud APIs aktivieren

So aktivieren Sie Cloud APIs für ein Projekt schnell mithilfe der API-Details:

  1. Wählen Sie in der Detailansicht der Cloud API ein Google Cloud-Projekt aus, für das Sie die Cloud API aktivieren möchten.
  2. Klicken Sie auf API aktivieren.

    Sobald die API aktiviert ist, wird eine Meldung zur Bestätigung dieser Änderung angezeigt.

Cloud-Clientbibliotheken hinzufügen

So fügen Sie Ihrem Projekt in IntelliJ Bibliotheken hinzu:

Für Java Maven-Projekte

  1. Wählen Sie Tools > Cloud Code > Cloud APIs aus.
  2. Im Dialogfeld Google Cloud APIs verwalten werden die unterstützten Bibliotheken angezeigt.

    Screenshot: Dialogfeld "Manage Google Cloud APIs" (Google Cloud APIs verwalten) In diesem Dialogfeld können Sie ein Modul auswählen, dem die Bibliotheken hinzugefügt werden sollen. Außerdem wird eine Liste der verfügbaren APIs und ein Arbeitsbereich mit Informationen zu den einzelnen APIs angezeigt.
  3. Wählen Sie den gewünschten Bibliothekstyp aus der Google Cloud-Clientbibliothek (empfohlen) oder der Java Spring GCP-Bibliothek.
  4. Wählen Sie im Drop-down-Menü Modul das Modul aus, dem Sie die Bibliothek hinzufügen möchten.
  5. Klicken Sie auf Maven-Abhängigkeit hinzufügen, um Ihrem Projekt die BOM und eine Clientbibliothek hinzuzufügen.

Für alle anderen Projekte

  1. Wählen Sie Tools > Cloud Code > Cloud APIs aus.
  2. Im Dialogfeld Google Cloud APIs verwalten werden die unterstützten Bibliotheken angezeigt.

    Screenshot: Dialogfeld "Manage Google Cloud APIs" (Google Cloud APIs verwalten)
                      In diesem Dialogfeld wird die Liste der verfügbaren APIs angezeigt. Außerdem wird ein Arbeitsbereich mit Informationen zur API angezeigt.
  3. Installieren Sie die API gemäß der Installationsanleitung auf der Seite der API-Details für Ihre bevorzugte Sprache.

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 erforderlichen Authentifizierungsschritte abgeschlossen haben, kann sich Ihre Anwendung authentifizieren und bereitgestellt werden.

Lokale Entwicklung

Lokaler Rechner

  1. Cloud Code gewährleistet, dass Ihre Standardanmeldedaten für Anwendungen (ADC) festgelegt sind, wenn Sie sich über Ihre IDE bei Google Cloud angemeldet haben.
    Wenn Sie sich außerhalb Ihrer IDE in Google Cloud angemeldet haben (z. B. über das gcloud-Befehlszeilentool), müssen Sie gcloud auth login --update-adc ausführen, um Ihre ADC festzulegen. Außerdem können Google Cloud-Clientbibliotheken damit Ihren ADC für die Authentifizierung finden.

minikube

  1. Cloud Code gewährleistet, dass Ihre Standardanmeldedaten für Anwendungen (ADC) festgelegt sind, wenn Sie sich über Ihre IDE bei Google Cloud angemeldet haben.
    Wenn Sie sich außerhalb Ihrer IDE in Google Cloud angemeldet haben (z. B. über das gcloud-Befehlszeilentool), müssen Sie gcloud auth login --update-adc ausführen, um Ihre ADC festzulegen. Damit kann minikube Ihre ADC finden, um sich zu authentifizieren.
  2. Starten Sie minikube mit minikube start --addons gcp-auth. Dadurch werden Ihre ADC in Ihren Pods bereitgestellt. Eine detaillierte minikube-Authentifizierungsanleitung für Google Cloud finden Sie in der minikube gcp-auth-Dokumentation.

Andere lokale K8s-Cluster

  1. Cloud Code gewährleistet, dass Ihre Standardanmeldedaten für Anwendungen (ADC) festgelegt sind, wenn Sie sich über Ihre IDE bei Google Cloud angemeldet haben.
    Wenn Sie sich außerhalb Ihrer IDE in Google Cloud angemeldet haben (z. B. über das gcloud-Befehlszeilentool), müssen Sie gcloud auth login --update-adc ausführen, um Ihre ADC festzulegen.
  2. Stellen Sie das lokale gcloud-Verzeichnis in Ihren Kubernetes-Pods bereit. Bearbeiten Sie dazu die Pod-Spezifikation im Pod oder in den Deployment-Manifesten, damit die Google Cloud-Clientbibliotheken Ihre Anmeldedaten finden. Beispiel für die Konfiguration eines Kubernetes-Pods:
    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
        volumeMounts:
          - mountPath: /root/.config/gcloud
            name: gcloud-volume
      volumes:
        - name: gcloud-volume
          hostPath:
            path: /path/to/home/.config/gcloud

Cloud Run

  1. Cloud Code gewährleistet, dass Ihre Standardanmeldedaten für Anwendungen (ADC) festgelegt sind, wenn Sie sich über Ihre IDE bei Google Cloud angemeldet haben.
    Wenn Sie sich außerhalb Ihrer IDE in Google Cloud angemeldet haben (z. B. mit dem gcloud-Befehlszeilentool), müssen Sie gcloud auth login --update-adc ausführen, um Ihren ADC festzulegen. Dadurch kann die lokale simulierte Umgebung von Cloud Run auch Ihren ADC finden, um sich zu authentifizieren.

Remote-Entwicklung

Google Kubernetes Engine

Je nach Umfang Ihres Projekts können Sie festlegen, wie Google Cloud-Dienste in GKE authentifiziert werden sollen:

  • (Nur für 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 Zugriffsbereiche auf Uneingeschränkten Zugriff zulassen für festgelegt ist. Alle Cloud APIs (beide Einstellungen sind im Bereich Knotenpools > Sicherheit zugänglich).
        Da das Compute Engine-Dienstkonto von Alle auf dem Knoten bereitgestellten Arbeitslasten. Diese Methode bietet zu viele Berechtigungen und sollte nur für die Entwicklung verwendet werden.
      • Achten Sie darauf, dass Workload Identity nicht auf Ihrem Cluster aktiviert ist (im Abschnitt Cluster > Sicherheit).
    2. Weisen Sie dem Compute Engine-Standarddienstkonto 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 das Compute Engine-Standarddienstkonto verwendet wird, wurden 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 im Leitfaden zu Rollen.

        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, um Google Cloud-Dienste in GKE zu authentifizieren. 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-Vorlage 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-Dienstkonto, das Sie zur Entwicklung Ihrer Anwendung verwenden:

Cloud Run

  1. Wählen Sie auf der Seite ServiceDienstkonten“ das Projekt aus, in dem Ihr Secret gespeichert ist, um ein neues eindeutiges Dienstkonto für die Bereitstellung Ihrer Cloud Run-Anwendung zu erstellen.

    Zur Seite ServiceDienstkonten“

  2. Klicken Sie auf Dienstkonto erstellen.
  3. Geben Sie im 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 erfordert, klicken Sie auf Weiter und dann auf Fertig.
  6. Rufen Sie die Konfiguration von Cloud Run: Deploy auf, maximieren Sie den Bereich Advanced versions settings (Erweiterte Überarbeitungseinstellungen), um das Kubernetes-Dienstkonto Ihrer Bereitstellungskonfiguration hinzuzufügen. Geben Sie Ihr Dienstkonto im Feld 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 Ihres Projekts können Sie festlegen, wie Google Cloud-Dienste in GKE authentifiziert werden sollen:

  • (Nur für 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 Zugriffsbereiche auf Uneingeschränkten Zugriff zulassen für festgelegt ist. Alle Cloud APIs (beide Einstellungen sind im Bereich Knotenpools > Sicherheit zugänglich).
        Da das Compute Engine-Dienstkonto von Alle auf dem Knoten bereitgestellten Arbeitslasten. Diese Methode bietet zu viele Berechtigungen und sollte nur für die Entwicklung verwendet werden.
      • Achten Sie darauf, dass Workload Identity nicht auf Ihrem Cluster aktiviert ist (im Abschnitt Cluster > Sicherheit).
    2. Weisen Sie dem Compute Engine-Standarddienstkonto 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 das Compute Engine-Standarddienstkonto verwendet wird, wurden 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 im Leitfaden zu Rollen.

        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, um Google Cloud-Dienste in GKE zu authentifizieren. Dadurch wird Ihr Kubernetes-Dienstkonto mit Ihrem Google-Dienstkonto verknüpft.
    2. Rufen Sie die Ausführungskonfiguration Cloud Run:Deploy auf und maximieren Sie den Bereich Erweiterte Überarbeitungseinstellungen, um das Kubernetes-Dienstkonto Ihrer Deployment-Konfiguration hinzuzufügen. und geben Sie Ihr Kubernetes-Dienstkonto im Feld Dienstkonto an.
      Der Abschnitt Erweiterte Revisionseinstellungen wurde in Cloud Run erweitert: Bereitstellungs- und Dienstkontofeld mit Kubernetes-Dienstkontoname
    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. Öffnen Sie den Bereich "Secret Manager". Klicken Sie dazu in der rechten Seitenleiste von Cloud Code auf den Tab "Secret Manager".

  2. Wählen Sie das Secret aus, auf das Sie in Ihrem Code zugreifen möchten.

  3. Wechseln Sie zum Tab "Berechtigungen" und konfigurieren Sie die Berechtigungen Ihres Secrets, indem Sie auf das Stiftsymbol Bearbeiten klicken. Wenn Sie auf das Stiftsymbol klicken, wird die Konfigurationsseite für Secret Manager in Ihrem Webbrowser geöffnet.

    Der Tab „Berechtigungen“ im Secret Manager wurde ausgewählt und das Symbol „Berechtigungen bearbeiten“ ist hervorgehoben

  4. Klicken Sie in der Cloud Console auf Infofeld ansehen und anschließend auf Mitglied hinzufügen.

    Secret-Details, die auf der Seite „Secret“ der Console im Browser aufgeführt sind; Schaltfläche „Mitglied hinzufügen“ im maximierten Infofenster hervorgehoben

  5. Weisen Sie Ihrem Dienstkonto die Rolle Secret Manager Secret Accessor zu.

    Im Feld „Mitglieder zum Test hinzufügen“ wurde ein Dienstkonto im Format „service-account-name@project-name.iam.gservicesaccount.com“ im Feld „Neue Mitglieder“ aufgeführt. Das Drop-down-Menü „Rolle auswählen“ wird so ausgefüllt, dass unter der Kategorie Secret Manager eine Rolle vom Typ „Secret Manager Accessor“ ausgewählt wird.

    Ihr Dienstkonto ist jetzt berechtigt, auf dieses bestimmte Secret zuzugreifen.

Support

Wenn Sie Feedback geben oder ein Problem in Ihrer IntelliJ-IDE melden möchten, gehen Sie zu Tools > Cloud Code > Help / About > . Senden Sie Feedback oder melden Sie ein Problem, um ein Problem auf GitHub zu melden, oder stellen Sie eine Frage in Stack Overflow.

Sie können auch dem Kanal #cloud-code beitreten, der Teil der Google Cloud-Slack-Community ist.