Gestalten Sie die Zukunft der Softwarebereitstellung und tragen Sie Ihre Stimme durch. Nehmen Sie dazu den 2021 der DevOps-Umfrage an.

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 können Sie sich alle verfügbaren Google Cloud APIs in Ihrer IDE ansehen:

  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 die entsprechende Dokumentation aufzurufen.

Cloud APIs aktivieren

Mit den folgenden Schritten können Sie Cloud APIs für ein Projekt schnell mit den API-Details aktivieren:

  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 mit dem Dialogfeld "Google Cloud APIs verwalten" In diesem Dialogfeld können Sie ein Modul auswählen, dem Sie die Bibliotheken hinzufügen möchten. Sie sehen dann eine Liste der verfügbaren APIs und einen Arbeitsbereich mit Informationen zu den einzelnen APIs.
  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 mit dem Dialogfeld "Google Cloud APIs verwalten"
                      Dieses Dialogfeld zeigt die Liste der verfügbaren APIs und einen Arbeitsbereich mit Informationen zur API an.
  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 die Google Cloud-Clientbibliotheken Ihre ADC dann für die Authentifizierung identifizieren.

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 Ihr lokales gcloud-Verzeichnis in Ihren Kubernetes-Pods bereit, indem Sie die Pod-Spezifikation im Pod- oder Deployment-Manifeste bearbeiten, damit die Google Cloud-Clientbibliotheken Ihre Anmeldedaten finden können. 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 das ADC festzulegen. Dadurch kann auch die lokal ausgeführte Cloud Run-Umgebung Ihre ADC für die Authentifizierung identifizieren.

Remote-Entwicklung

Google Kubernetes Engine

Je nach Umfang Ihres Projekts können Sie auswählen, wie Google Cloud-Dienste auf GKE authentifiziert werden:

  • (Nur Entwicklung)
    1. Erstellen Sie einen GKE-Cluster mit den folgenden Einstellungen:
      • Achten Sie darauf, dass Sie das standardmäßig von GKE verwendete Dienstkonto verwenden, das Compute Engine-Standarddienstkonto und die Zugriffsbereiche auf Uneingeschränkten Zugriff auf Folgendes zulassen: Alle Cloud APIs (beide Einstellungen, die im Abschnitt Knotenpools > Sicherheit zugänglich sind)
        Da das Compute Engine-Dienstkonto von Alle Arbeitslasten, die auf Ihrem Knoten bereitgestellt sind, übersatzt die Berechtigungen und sollte nur für die Entwicklung verwendet werden.
      • Achten Sie darauf, dass Workload Identity auf Ihrem Cluster nicht aktiviert ist. Verwenden Sie hierfür im Cluster Cluster > Sicherheit.
    2. Weisen Sie dem Compute Engine-Standarddienstkonto die erforderlichen Rollen zu:
  • (für die Produktion empfohlen)
    1. GKE-Cluster und -Anwendung mit Workload Identity konfigurieren, 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 "Dienstkonten" das Projekt aus, in dem das Secret gespeichert ist, um ein neues eindeutiges Dienstkonto für die Bereitstellung Ihrer Cloud Run-Anwendung zu erstellen.

    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, weisen Sie ihm die Rollen zu, klicken Sie auf Weiter und dann auf Fertig.
  6. Wechseln Sie zur Ausführungskonfiguration für Cloud Run: Bereitstellen, maximieren Sie den Abschnitt Erweiterte Überarbeitungseinstellungen und 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 auswählen, wie Google Cloud-Dienste auf GKE authentifiziert werden:

  • (Nur Entwicklung)
    1. Erstellen Sie einen GKE-Cluster mit den folgenden Einstellungen:
      • Achten Sie darauf, dass Sie das standardmäßig von GKE verwendete Dienstkonto verwenden, das Compute Engine-Standarddienstkonto und die Zugriffsbereiche auf Uneingeschränkten Zugriff auf Folgendes zulassen: Alle Cloud APIs (beide Einstellungen, die im Abschnitt Knotenpools > Sicherheit zugänglich sind)
        Da das Compute Engine-Dienstkonto von Alle Arbeitslasten, die auf Ihrem Knoten bereitgestellt sind, übersatzt die Berechtigungen und sollte nur für die Entwicklung verwendet werden.
      • Achten Sie darauf, dass Workload Identity auf Ihrem Cluster nicht aktiviert ist. Verwenden Sie hierfür im Cluster Cluster > Sicherheit.
    2. Weisen Sie dem Compute Engine-Standarddienstkonto die erforderlichen Rollen zu:
  • (für die Produktion empfohlen)
    1. GKE-Cluster und -Anwendung mit Workload Identity konfigurieren, um Google Cloud-Dienste in GKE zu authentifizieren Dadurch wird Ihr Kubernetes-Dienstkonto mit Ihrem Google-Dienstkonto verknüpft.
    2. Wechseln Sie zur Ausführungskonfiguration für Cloud Run:Deploy, um den Abschnitt Erweiterte Ausführungseinstellungen aufzurufen. und geben Sie dann im Feld Dienstkonto Ihr Kubernetes-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 das Steuerfeld von Secret Manager, indem Sie in der rechten Seitenleiste von Cloud Code auf den Tab "Secret Manager" klicken.

  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 Berechtigung bearbeiten klicken. Durch Klicken auf das Stiftsymbol wird die Secret Manager-Konfigurationsseite für dieses Secret in Ihrem Webbrowser aufgerufen.

    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 spezielle Secret zuzugreifen.

Support

Wenn Sie uns Feedback geben möchten, können Sie ein Problem auf GitHub melden oder eine Frage auf Stack Overflow stellen.