Gestire API Cloud e librerie in Cloud Code for IntelliJ

Puoi accedere ai prodotti e ai servizi Google Cloud dal tuo codice utilizzando le API Cloud. Queste API Cloud espongono una semplice interfaccia REST JSON che puoi chiamare tramite le librerie client.

Questo documento descrive come sfogliare le API disponibili, attivare le API Cloud e aggiungere le librerie client Cloud al tuo progetto, nonché configurare l'autenticazione in base alle tue esigenze di sviluppo.

Sfogliare le API Cloud

Per esplorare tutte le API Google Cloud disponibili nel tuo IDE:

  1. Seleziona Strumenti > Cloud Code > Aggiungi librerie cloud e gestisci API Cloud.
  2. Espandi l'albero dell'Explorer API di Google Cloud per visualizzare tutte le API disponibili. Explorer raggruppa le API Cloud per categoria. Puoi anche cercare un'API specifica utilizzando la barra di ricerca Cerca API.
  3. Screenshot che mostra l'elenco delle API Cloud visualizzate in Esplora
            visualizzazione ad albero.
  4. Fai clic su un'API per visualizzare ulteriori dettagli, ad esempio lo stato, le istruzioni di installazione specifiche per la lingua per le librerie client corrispondenti e la documentazione pertinente.

Abilitazione delle API Cloud

Per abilitare rapidamente le API Cloud per un progetto utilizzando i dettagli dell'API:

  1. Nella visualizzazione dei dettagli dell'API Cloud, scegli un progetto Google Cloud per cui vuoi abilitare l'API Cloud.
  2. Fai clic sul pulsante Abilita API.

    Una volta abilitata l'API, visualizzerai un messaggio di conferma della modifica.

Aggiunta delle librerie client di Cloud

Per aggiungere librerie al tuo progetto in IntelliJ:

Per i progetti Java Maven

  1. Seleziona Strumenti > Cloud Code > API Cloud.
  2. La finestra di dialogo Gestisci API Google Cloud mostra le librerie supportate.

    Screenshot che mostra la finestra di dialogo Gestisci API Cloud. Questa finestra di dialogo
          fornisce un menu a discesa per selezionare un modulo a cui aggiungere le librerie,
          mostra l'elenco delle API disponibili da aggiungere e fornisce un'area di lavoro
          che mostra informazioni sull'API.
  3. Seleziona il tipo di libreria che preferisci tra la libreria client Google Cloud (consigliata) o la libreria Java Spring Google Cloud.
  4. Nel menu a discesa Modulo, seleziona il modulo a cui vuoi aggiungere la raccolta.
  5. Fai clic su Aggiungi dipendenza Maven per aggiungere la distinta materiali e la libreria client al tuo progetto.

Per tutti gli altri progetti

  1. Seleziona Strumenti > Cloud Code > Aggiungi librerie cloud e gestisci API Cloud.
  2. La finestra di dialogo Aggiungi librerie Google Cloud mostra le librerie supportate.

    Screenshot che mostra la finestra di dialogo Aggiungi librerie cloud. Questa
                      finestra di dialogo mostra l'elenco delle API disponibili da aggiungere e
                      fornisce un'area di lavoro che mostra informazioni sull'API.
  3. Installa l'API seguendo le istruzioni di installazione riportate nella pagina dei dettagli dell'API per la lingua che preferisci.

Configurazione dell'autenticazione

Dopo aver abilitato le API richieste e aggiunto le librerie client necessarie, devi configurare l'applicazione in modo che venga autenticata correttamente. La configurazione dipende dal tipo di sviluppo e dalla piattaforma su cui viene eseguito.

Una volta completati i passaggi di autenticazione pertinenti, l'applicazione può autenticarsi ed è pronta per essere implementata.

Sviluppo locale

minikube

  1. Assicurati di aver impostato le Credenziali predefinite dell'applicazione (ADC) eseguendo gcloud auth application-default login. In questo modo minikube può trovare le tue credenziali predefinite dell'applicazione per l'autenticazione.

minikube

  1. Assicurati di aver impostato le Credenziali predefinite dell'applicazione (ADC) eseguendo gcloud auth application-default login. In questo modo minikube può trovare il tuo ADC per l'autenticazione.
  2. Avvia minikube con minikube start --addons gcp-auth. In questo modo, il tuo ADC viene montato nei pod. Per una guida dettagliata all'autenticazione di minikube per Google Cloud, consulta la documentazione di minikube gcp-auth.

Cluster Kubernetes locale

  1. Assicurati di aver impostato le Credenziali predefinite dell'applicazione (ADC) eseguendo gcloud auth application-default login.
  2. Monta la directory gcloud locale nei pod Kubernetes modificando i manifest di deployment, in modo che le librerie client Google Cloud possano trovare le tue credenziali. Esempio di configurazione del pod Kubernetes:
    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. Assicurati di aver impostato le Credenziali predefinite dell'applicazione (ADC) eseguendo gcloud auth application-default login. In questo modo, l'ambiente simulato locale di Cloud Run può trovare le credenziali predefinite dell'applicazione da utilizzare per l'autenticazione.

Sviluppo remoto

Google Kubernetes Engine

  1. Configura il cluster e l'applicazione GKE con Workload Identity per autenticare i servizi Google Cloud su GKE. In questo modo, il tuo account di servizio Kubernetes viene associato al tuo account di servizio Google.
  2. Se il servizio Google Cloud a cui stai tentando di accedere richiede ruoli aggiuntivi, concedili per il account di servizio Google che utilizzi per sviluppare l'app.
    Per un elenco dei tipi di ruoli IAM e dei ruoli predefiniti che puoi concedere alle identità, consulta la guida alla comprensione dei ruoli. Per i passaggi per concedere i ruoli, vedi Concessione, modifica e revoca dell'accesso alle risorse.
  3. Configura il deployment Kubernetes in modo che faccia riferimento al service account Kubernetes impostando il campo .spec.serviceAccountName nel file YAML del deployment Kubernetes.
    Se stai lavorando a un'app creata da un modello Cloud Code, questo file si trova nella cartella kubernetes-manifests.

Cloud Run

  1. Per creare un nuovo account di servizio univoco per il deployment dell'applicazione Cloud Run, nella pagina Service account, seleziona il progetto in cui è archiviato il secret.

    Vai alla pagina Service account

  2. Fai clic su Crea account di servizio.
  3. Nella finestra di dialogo Crea service account, inserisci un nome descrittivo per il account di servizio.
  4. Modifica l'ID account di servizio con un valore univoco e riconoscibile e poi fai clic su Crea.
  5. Se il servizio Google Cloud a cui stai tentando di accedere richiede ruoli aggiuntivi, concedili, fai clic su Continua e poi su Fine.
  6. Per aggiungere il account di servizio alla configurazione di deployment, vai alla configurazione di esecuzione Cloud Run: Deploy, espandi la sezione Impostazioni avanzate della revisione e poi specifica il account di servizio nel campo Service Account.
    Sezione delle impostazioni avanzate della revisione espansa in Cloud Run: campo Deployment e service account compilato con il nome account di servizio nel formato service-account-name@project-name.iam.gserviceaccount.com

Cloud Run

  1. Configura il cluster e l'applicazione GKE con Workload Identity per autenticare i servizi Google Cloud su GKE. In questo modo, il tuo account di servizio Kubernetes viene associato al tuo account di servizio Google.
  2. Se il servizio Google Cloud a cui stai tentando di accedere richiede ruoli aggiuntivi, concedili per il account di servizio Google che utilizzi per sviluppare l'app.
    La guida alla comprensione dei ruoli descrive i tipi di ruoli IAM ed elenca i ruoli predefiniti disponibili che puoi concedere alle identità.
  3. Per aggiungere il account di servizio Kubernetes alla configurazione di deployment, vai alla configurazione di esecuzione Cloud Run: Deploy, espandi la sezione Impostazioni avanzate della revisione e poi specifica il account di servizio Kubernetes nel campo Service Account.
    Sezione Impostazioni avanzate revisione espansa in Cloud Run: campo Deployment e service account compilato con il nome del account di servizio Kubernetes

Sviluppo remoto con Secret Manager abilitato

Se esegui lo sviluppo in remoto, utilizzi un account di servizio per l'autenticazione e la tua applicazione utilizza secret, devi completare alcuni passaggi aggiuntivi per assegnare al tuo account di servizio Google il ruolo necessario per accedere a un determinato secret di Secret Manager:

  1. Apri il riquadro di Secret Manager e seleziona il secret a cui vuoi accedere nel tuo codice.

    Secret Manager in Cloud Code evidenziato nella barra laterale destra e il riquadro di Secret Manager aperto con tre secret elencati e i dettagli della versione del secret "test" elencati nel riquadro inferiore

  2. Passa alla scheda Autorizzazioni e configura le autorizzazioni del secret facendo clic su Modifica Modifica autorizzazione. La pagina di configurazione di Secret Manager per il segreto si apre nel browser web.

    Scheda Autorizzazioni selezionata in Secret Manager e icona Modifica autorizzazioni evidenziata

  3. Nella console Google Cloud , fai clic su Mostra riquadro Informazioni e poi su Aggiungi entità.

  4. Assegna al tuo account di servizio il ruolo Secret Manager Secret Accessor.

    Il account di servizio ha l'autorizzazione per accedere a questo secret.

Assistenza

Per inviare un feedback o segnalare un problema nel tuo IDE IntelliJ, vai a Strumenti > Cloud Code > Guida / Informazioni > Invia feedback o segnala un problema per segnalare un problema su GitHub.