Per accedere in modo programmatico ai prodotti e ai servizi Google Cloud, puoi utilizzare API Cloud. Queste API espongono un semplice REST JSON a riga di comando. Il modo consigliato per accedere alle API Cloud è utilizzare le librerie client Cloud.
Cloud Code semplifica l'aggiunta delle librerie client di Cloud per le API Cloud e il linguaggio che usi nel tuo progetto. Nella stessa visualizzazione, puoi cercare esempi per ogni API e incorporarli facilmente nella tua applicazione.
Sfogliare le API Cloud
Per esplorare tutte le API Google Cloud disponibili:
Fai clic su Cloud Code ed espandi la sezione API Cloud.
La visualizzazione API Cloud raggruppa le API Cloud per categoria.
Per visualizzare i dettagli di un'API, fai clic sul nome dell'API. Dettagli come il servizio nome, stato, istruzioni di installazione per le librerie client, documentazione ed esempi di codice.
Attivazione delle API Cloud
Per abilitare le API Cloud per un progetto utilizzando la pagina dei dettagli delle API, segui questi passaggi passaggi:
- Nella pagina dei dettagli dell'API Cloud, scegli il progetto per cui attivare l'API Cloud.
- Fai clic su Abilita API. Dopo aver abilitato l'API, viene visualizzato un messaggio per confermare la modifica.
Aggiungere librerie client al progetto
Oltre a esplorare e abilitare le API Cloud utilizzando Cloud Code, puoi aggiungere al tuo progetto una libreria client specifica per ogni linguaggio.
Per installare una libreria client, segui le istruzioni riportate nella pagina dei dettagli dell'API per la tua lingua.
Utilizzare gli esempi di API
Puoi cercare ed eseguire esempi di codice per ogni API nel browser API.
Fai clic su Cloud Code ed espandi le API Cloud .
Per aprire la visualizzazione dei dettagli, fai clic sul nome di un'API.
Per visualizzare gli esempi di codice per l'API, fai clic su Esempi di codice.
Per filtrare l'elenco degli esempi, digita il testo da cercare o scegli una linguaggio di programmazione dall'elenco Lingua.
Per visualizzare un campione, fai clic sul suo nome. Esistono anche opzioni per copia l'esempio negli appunti o visualizzalo in GitHub.
Configurazione dell'autenticazione
Dopo aver abilitato le API richieste e aggiunto il client necessario librerie, devi configurare la tua applicazione affinché venga autenticati. La configurazione dipende dal tipo di sviluppo la piattaforma su cui stai utilizzando.
Dopo aver completato i passaggi di autenticazione, l'applicazione può autenticarsi ed è pronto per il deployment.
Sviluppo locale
Macchina locale
Se hai eseguito l'accesso a Google Cloud nel tuo IDE, Cloud Code imposta le credenziali predefinite dell'applicazione (ADC) e puoi saltare questo passaggio. Se hai eseguito l'accesso a Google Cloud all'esterno del tuo IDE (ad esempio, usando gcloud CLI), configurare l'ADC e consentire l'autenticazione delle librerie client di Google Cloud tramite ADC eseguendo:
gcloud auth login --update-adc
minikube
Se hai eseguito l'accesso a Google Cloud nel tuo IDE, Cloud Code imposta le tue credenziali predefinite dell'applicazione (ADC) e puoi saltare questo passaggio. Se hai eseguito l'accesso a Google Cloud al di fuori dell'IDE (ad esempio utilizzando gcloud CLI), configura l'ADC e consenti alle librerie client Google Cloud di autenticarsi tramite l'ADC eseguendo:
gcloud auth login --update-adc
- Avvia minikube eseguendo
minikube start --addons gcp-auth
. Questo comando monta l'ADC nei tuoi pod. Per informazioni dettagliate sull'autenticazione di minikube con Google Cloud, consulta la documentazione di minikube gcp-auth.
Altri cluster K8s locali
Se hai eseguito l'accesso a Google Cloud nel tuo IDE, Cloud Code imposta le tue credenziali predefinite dell'applicazione (ADC) e puoi saltare questo passaggio. Se hai eseguito l'accesso a Google Cloud al di fuori dell'IDE (ad esempio utilizzando gcloud CLI), configura l'ADC e consenti alle librerie client Google Cloud di autenticarsi tramite l'ADC eseguendo:
gcloud auth login --update-adc
- Per assicurarti che le librerie client Google Cloud possano trovare
le tue credenziali, monta la directory
~/.config/gcloud
locale nei pod Kubernetes modificando i manifest di deployment. - Imposta l'ID progetto Google Cloud come variabile di ambiente
denominata
GOOGLE_CLOUD_PROJECT
.
Esempio di configurazione dei pod di 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
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
Se hai eseguito l'accesso a Google Cloud nel tuo IDE, Cloud Code imposta le credenziali predefinite dell'applicazione (ADC) e puoi saltare questo passaggio. Se hai eseguito l'accesso a Google Cloud all'esterno del tuo IDE (ad esempio, usando gcloud CLI), configurare l'ADC e consentire l'autenticazione delle librerie client di Google Cloud tramite ADC eseguendo:
gcloud auth login --update-adc
Sviluppo locale con API che richiedono un account di servizio
Alcune API, come l'API Cloud Translation, richiedono un account di servizio con le autorizzazioni appropriate per autenticare le tue richieste. Per scoprire di più, consulta la pagina Creare e gestire gli account di servizio. Per una guida rapida che utilizza un account di servizio, consulta Utilizzare le librerie client di Cloud in Cloud Code.
Per aprire un terminale, fai clic su Terminale > Nuovo terminale.
Crea un account di servizio per autenticare le richieste API:
gcloud iam service-accounts create \ SERVICE_ACCOUNT_ID \ --project PROJECT_ID
Sostituisci i seguenti valori:
SERVICE_ACCOUNT_ID
: l'ID account di servizioPROJECT_ID
: l'ID progetto
Per trovare questi ID, in Google Cloud fai clic sul menu di navigazione nella in alto a sinistra dello schermo, tieni il puntatore del mouse su IAM e Amministratore e fai clic su Account di servizio.
La colonna Email mostra l'indirizzo
SERVICE_ACCOUNT_ID
ePROJECT_ID
per ciascuno dei tuoi account di servizio nella seguente formato:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
Ad esempio, un indirizzo email dell'account di servizio
my-service-account@my-project.iam.gserviceaccount.com
ha i seguenti valori:SERVICE_ACCOUNT_ID
:my-service-account
PROJECT_ID
:my-project
Concedi all'account di servizio il ruolo appropriato. Il seguente comando di esempio concede il ruolo Utente dell'API Cloud Translation. Per determinare il ruolo da concedere, consulta la documentazione dell'API Cloud in uso.
gcloud projects \ add-iam-policy-binding \ PROJECT_ID \ --member='serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com' \ --role='roles/cloudtranslate.user'
Crea una chiave dell'account di servizio:
gcloud iam service-accounts keys \ create key.json --iam-account \ SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
Imposta la chiave come credenziale predefinita:
export \ GOOGLE_APPLICATION_CREDENTIALS=key.json
(Facoltativo) Per consentire agli utenti di simulare l'identità dell'account di servizio, esegui il comando
gcloud iam service-accounts add-iam-policy-binding
per concedere a un utente il ruolo Utente account di servizio (roles/iam.serviceAccountUser
) nell'account di servizio:gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Sostituisci i seguenti valori:
USER_EMAIL
: l'indirizzo email dell'utente
Sviluppo da remoto
GKE
A seconda dell'ambito del progetto, puoi scegliere come autentica i servizi Google Cloud su GKE:
- (Solo per lo sviluppo)
- Crea un cluster GKE con le seguenti impostazioni:
- Assicurati di utilizzare l'account di servizio utilizzato da GKE predefinito, l'account di servizio predefinito di Compute Engine. L'opzione Ambiti di accesso sia impostata su Consenti l'accesso completo a tutte le API Cloud (entrambe le impostazioni sono accessibili Pool di nodi > Sicurezza). Poiché il L'account di servizio Compute Engine è condiviso da tutti carichi di lavoro di cui è stato eseguito il deployment sul tuo nodo, questo metodo l'overprovisioning delle autorizzazioni e deve essere usato solo per lo sviluppo.
- Assicurati che Workload Identity non sia abilitato sul tuo (nella sezione Cluster > Sicurezza).
- Assegna i ruoli necessari al tuo account di servizio:
- Se stai cercando di accedere a un secret, segui i passaggi specifici di Secret Manager per configurare i ruoli richiesti nel tuo account di servizio.
- Se utilizzi il servizio predefinito di Compute Engine potrebbero essere già stati applicati i ruoli IAM corretti.
- Per un elenco dei tipi di ruoli IAM e dei ruoli predefiniti che puoi concedere alle identità, consulta la guida Informazioni sui ruoli. Per la procedura di concessione dei ruoli, vedi Concessione, modifica e revoca dell'accesso alle risorse.
- Crea un cluster GKE con le seguenti impostazioni:
- (Consigliato per la produzione)
- Configura il cluster e l'applicazione GKE con Workload Identity per autenticare i servizi Google Cloud su GKE. Questa operazione associa l'account di servizio Kubernetes con il tuo account di servizio Google.
- 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'applicazione di esempio Cloud Code, questo file si trova nella cartella kubernetes-manifests. - Se il servizio Google Cloud a cui stai tentando di accedere richiede ruoli aggiuntivi, assegnali all'account del servizio Google che utilizzi per sviluppare l'app:
- Se stai tentando di accedere a un secret, segui queste istruzioni Passaggi specifici per Secret Manager per configurare i ruoli richiesti nel tuo account di servizio.
- Per un elenco dei tipi di ruoli IAM e dei ruoli predefiniti che puoi concedere alle identità, consulta la guida ai ruoli. Per la procedura di concessione dei ruoli, vedi Concessione, modifica e revoca dell'accesso alle risorse.
Cloud Run
- Per creare un nuovo account di servizio univoco per il deployment dell'applicazione Cloud Run, vai alla pagina Account di servizio e seleziona il progetto in cui è archiviato il secret.
- Fai clic su Crea account di servizio.
- Nella finestra di dialogo Crea account di servizio, inserisci un nome descrittivo per l'account di servizio.
- Modifica l'ID account di servizio in un valore univoco e riconoscibile, quindi fai clic su Crea.
- Se il servizio Google Cloud a cui stai tentando di accedere richiede altri ruoli, concedi i ruoli, fai clic su Continua e poi su Fine.
- Per aggiungere l'account di servizio alla configurazione di deployment:
- Utilizza la barra di stato di Cloud Code per scegliere il comando Cloud Run: Deploy.
- Nell'interfaccia utente di Deployment di Cloud Run, in Impostazioni revisione, nel campo Account di servizio, specifica il tuo account di servizio.
Cloud Run
A seconda dell'ambito del progetto, puoi scegliere come autenticare i servizi Google Cloud su GKE:
- (Solo sviluppo)
- Crea un cluster GKE
con le seguenti impostazioni:
- Assicurati di utilizzare l'account di servizio GKE utilizza per impostazione predefinita l'account di servizio predefinito di Compute Engine e L'opzione Ambiti di accesso sia impostata su Consenti l'accesso completo a Tutte le API Cloud (entrambe le impostazioni sono accessibili nella sezione Pool di nodi > Sicurezza). Poiché Compute Engine è condiviso da tutti i carichi di lavoro di cui è stato eseguito il deployment sul nodo, questo metodo esegue l'overprovisioning delle autorizzazioni e deve essere usato solo per lo sviluppo.
- Assicurati che Workload Identity non sia abilitato nel cluster (nella sezione Cluster > Sicurezza).
- Assegna i ruoli necessari all'account di servizio:
- Se stai cercando di accedere a un secret, segui questi passaggi specifici di Secret Manager per configurare i ruoli richiesti nel tuo account di servizio.
- Se utilizzi l'account di servizio predefinito di Compute Engine, i ruoli IAM corretti potrebbero essere già applicati.
- Per un elenco dei tipi di ruoli IAM e dei ruoli predefiniti che puoi concedere alle identità, consulta la guida ai ruoli. Per la procedura di concessione dei ruoli, consulta Concessione, modifica e revoca dell'accesso alle risorse.
- Crea un cluster GKE
con le seguenti impostazioni:
- (Consigliato per la produzione)
- 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.
- Per aggiungere l'account di servizio alla configurazione di deployment:
- Utilizza la barra di stato di Cloud Code per scegliere il comando Cloud Run: Deploy.
- Nella UI del deployment di Cloud Run, sotto Impostazioni revisione, nel campo Account di servizio, e specificare il tuo account di servizio.
- Se il servizio Google Cloud a cui stai tentando di accedere richiede ruoli aggiuntivi, assegnali all'account di servizio Google che utilizzi per sviluppare la tua app:
- Se stai tentando di accedere a un secret, segui questi passaggi specifici per Secret Manager per configurare i ruoli richiesti per il tuo account di servizio.
- Per un elenco dei tipi di ruoli IAM e dei ruoli predefiniti che puoi concedere alle identità, consulta la guida ai ruoli. Per la procedura di concessione dei ruoli, consulta Concessione, modifica e revoca dell'accesso alle risorse.
Sviluppo remoto con autorizzazioni di Secret Manager abilitate
Se stai sviluppando da remoto, utilizzando un account di servizio per l'autenticazione, e la tua applicazione usa dei segreti, devi completare alcuni passaggi in più istruzioni per lo sviluppo da remoto. Questi passaggi assegnano al tuo account di servizio Google il ruolo richiesto per accedere a un determinato secret di Secret Manager:
Fai clic su Cloud Code ed espandi nella sezione Secret Manager.
Fai clic con il tasto destro del mouse sul secret e seleziona Modifica autorizzazioni nella console Cloud. Viene avviata la pagina di configurazione di Secret Manager pertinente nel tuo browser web.
Nella console Google Cloud, fai clic su Autorizzazioni, quindi su Aggiungi.
Nel campo Nuove entità, inserisci il nome del tuo account di servizio.
Nel campo Seleziona un ruolo, scegli la Funzione di accesso ai secret di Secret Manager ruolo.
Fai clic su Salva.
Il tuo account di servizio ora dispone dell'autorizzazione per accedere a questo particolare secret.