Autentica tramite chiavi API

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

In questa pagina viene descritto come utilizzare le chiavi API per eseguire l'autenticazione nelle API e nei servizi Google Cloud.

Per informazioni sull'utilizzo delle chiavi API per l'autenticazione in Google Maps Platform, consulta la documentazione di Google Maps Platform.

Per ulteriori informazioni sull'API delle chiavi API, consulta la documentazione dell'API delle chiavi API.

Introduzione alle chiavi API

Una chiave API include i seguenti componenti, che puoi utilizzare per gestire e utilizzare la chiave:

Stringa
La stringa chiave API è una stringa criptata, ad esempio AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. Quando utilizzi una chiave API per l'autenticazione, utilizzi sempre la stringa della chiave. Alle chiavi API non è associato un file JSON.
ID
L'ID chiave API viene utilizzato dagli strumenti amministrativi di Google Cloud per identificare in modo univoco la chiave. L'ID chiave non può essere utilizzato per l'autenticazione. Puoi trovare l'ID chiave nell'URL della pagina di modifica della chiave in Google Cloud Console o utilizzando Google Cloud CLI per elencare le chiavi nel tuo progetto.
Nome visualizzato
Il nome visualizzato è un nome descrittivo facoltativo per la chiave, che puoi impostare quando crei o aggiorni la chiave.

Quando utilizzi una chiave API per l'autenticazione in un'API, la chiave API non identifica un entità né fornisce informazioni sull'autorizzazione. La chiave API associa la richiesta a un progetto Google Cloud per motivi di fatturazione e quota. Poiché le chiavi API non identificano il chiamante, sono generalmente utilizzate per accedere a dati o risorse pubblici.

Molte API Google Cloud non accettano le chiavi API per l'autenticazione. Rivedi la documentazione di autenticazione per il servizio o l'API che vuoi utilizzare per determinare se supporta le chiavi API.

Per gestire le chiavi API, devi avere il ruolo Amministratore chiavi API (roles/serviceusage.apiKeysAdmin) nel progetto.

Crea una chiave API

Per creare una chiave API, utilizza una delle seguenti opzioni:

Console

  1. In Google Cloud Console, vai alla pagina Credenziali:

    Vai a Credenziali

  2. Fai clic su Crea credenziali, quindi seleziona Chiave API dal menu a discesa.

    Nella finestra di dialogo Chiave API creata viene visualizzata la stringa per la chiave appena creata.

gcloud

Utilizza il comando gcloud alpha services api-keys create per creare una chiave API.

Sostituisci DISPLAY_NAME con un nome descrittivo per la chiave.

gcloud alpha services api-keys create --display-name=DISPLAY_NAME

REST

Il metodo keys.create consiste nel creare una chiave API. Questa richiesta restituisce un'operazione a lunga esecuzione; devi eseguire il polling dell'operazione per ottenere le informazioni per la nuova chiave.

Sostituisci i seguenti valori:

  • DISPLAY_NAME: facoltativo. Un nome descrittivo per la chiave.
  • PROJECT_ID: ID o nome del progetto Google Cloud.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d {'"displayName" : "DISPLAY_NAME"'} \
"https://apikeys.googleapis.com/v2/projects/PROJECT/locations/global/keys"

Per ulteriori informazioni sulla creazione di chiavi API utilizzando l'API REST, consulta la sezione Creazione di una chiave API nella documentazione dell'API API Key.

Dovresti copiare la stringa della chiave e tenerla al sicuro. A meno che non utilizzi una chiave di test che intendi eliminare in seguito, aggiungi le limitazioni delle applicazioni e delle chiavi API.

Usa una chiave API

Puoi utilizzare le chiavi API con le richieste REST e con le librerie client che le supportano.

usando una chiave API con REST.

Puoi passare la chiave API in una chiamata API REST come parametro di ricerca con il seguente formato. Sostituisci API_KEY con la stringa della chiave della chiave API.

Ad esempio, per passare una chiave API per una richiesta API Cloud Natural Language per documents.analyzeEntities:

POST https://language.googleapis.com/v1/documents:analyzeEntities?key=API_KEY

In alternativa, puoi usare l'intestazione x-goog-api-key per trasmettere la chiave. Questa intestazione deve essere utilizzata con le richieste gRPC.

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-goog-api-key: API_KEY" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://translation.googleapis.com/language/translate/v2"

usando una chiave API con le librerie client.

Quando l'API di un servizio supporta le chiavi API, la libreria client per quel servizio di solito supporta le chiavi API. Controlla la documentazione della libreria client per vedere se il metodo di creazione del client accetta una chiave API.

Proteggere una chiave API

Quando utilizzi le chiavi API nelle applicazioni, assicurati che siano protette durante lo spazio di archiviazione e la trasmissione. L'esposizione pubblica delle chiavi API può comportare addebiti imprevisti sul tuo account. Per proteggere le tue chiavi API, segui queste best practice:

  • Aggiungi le limitazioni delle chiavi API alla chiave.

    L'aggiunta di limitazioni può limitare i modi in cui una chiave API può essere utilizzata, riducendo l'impatto di una chiave API compromessa.

  • Eliminare le chiavi API non necessarie per ridurre al minimo l'esposizione agli attacchi.

  • Ricrea le chiavi API periodicamente.

    Ti consigliamo di creare periodicamente nuove chiavi API, eliminare quelle precedenti e aggiornare le tue applicazioni per utilizzare nuove chiavi API.

Applica restrizioni alle chiavi API

Le chiavi API non sono limitate per impostazione predefinita. Le chiavi senza restrizioni non sono sicure perché possono essere utilizzate da chiunque e da qualsiasi luogo. Per le applicazioni di produzione, devi impostare sia le limitazioni delle applicazioni sia le limitazioni delle API.

Aggiungi limitazioni dell'applicazione

Le limitazioni delle applicazioni specificano i siti web, gli indirizzi IP o le app che possono utilizzare una chiave API.

Puoi applicare un solo tipo di limitazione dell'applicazione alla volta. Scegliere il tipo di limitazione in base al tipo di applicazione:

Opzione Tipo di applicazione Note
Referrer HTTP Applicazioni web Specifica i siti web che possono utilizzare la chiave.
Indirizzi IP Applicazioni chiamate da server specifici Specifica i server o i cron job che possono utilizzare la chiave.
App per Android App Android Specifica l'applicazione Android che può utilizzare la chiave.
App per iOS Applicazioni iOS Specifica i bundle iOS che possono utilizzare la chiave.

Referrer HTTP

Per limitare i siti web che possono utilizzare la chiave API, aggiungi una o più restrizioni per i referrer HTTP.

Puoi sostituire un carattere jolly (*) nel sottodominio o nel percorso, ma non puoi inserire un carattere jolly al centro dell'URL. Ad esempio, *.google.com è valido e accetta tutti i siti che terminano con .google.com. Tuttavia, mysubdomain*.google.com non è una limitazione valida.

I numeri di porta possono essere inclusi nelle limitazioni dei referrer HTTP. Se includi un numero di porta, vengono soddisfatte solo le richieste che utilizzano tale porta. Se non specifichi un numero di porta, le richieste provenienti da qualsiasi numero di porta vengono soddisfatte.

Puoi aggiungere fino a 1200 referrer HTTP a una chiave API.

La seguente tabella mostra alcuni scenari di esempio e limitazioni del browser:

Scenario Restrizioni
Consenti un URL specifico Aggiungi un URL con un percorso esatto. Ad esempio:
www.example.com/path
www.example.com/path/path
Consentire qualsiasi URL del sito Devi impostare due URL nell'elenco "allowedReferers".
  1. URL del dominio, senza un sottodominio e con un carattere jolly per il percorso. Ad esempio:
    example.com/*
  2. Un secondo URL che include un carattere jolly per il sottodominio e un carattere jolly per il percorso. Ad esempio:
    *.example.com/*
Consentire qualsiasi URL in un singolo sottodominio o dominio semplice

Devi impostare due URL nell'elenco "allowedReferers" per consentire un intero dominio:

  1. URL del dominio, senza una barra finale. Ad esempio:
    www.example.com
    sub.example.com
    example.com
  2. Un secondo URL per il dominio che include un carattere jolly per il percorso. Ad esempio:
    www.example.com/*
    sub.example.com/*
    example.com/*

Per limitare la chiave API a siti web specifici, utilizza una delle seguenti opzioni:

Console

  1. In Google Cloud Console, vai alla pagina Credenziali:

    Vai a Credenziali

  2. Fai clic sul nome della chiave API che vuoi limitare.

  3. In Restrizioni delle applicazioni, seleziona Referrer HTTP.

  4. Per ogni limitazione che vuoi aggiungere, fai clic su Aggiungi un elemento, inserisci la limitazione e fai clic su Fine.

  5. Fai clic su Salva per salvare le modifiche e tornare all'elenco delle chiavi API.

gcloud

  1. Ottieni l'ID della chiave che vuoi limitare.

    L'ID non corrisponde al nome visualizzato o alla stringa di chiave. Puoi ottenere l'ID utilizzando il comando gcloud services api-keys list per elencare le chiavi nel progetto.

  2. Utilizza il comando gcloud alpha services api-keys update per aggiungere limitazioni dei referrer HTTP a una chiave API.

    Sostituisci i seguenti valori:

    • KEY_ID: l'ID della chiave che vuoi limitare.
    • ALLOWED_REFERRER_1: la tua limitazione referrer HTTP.

      Puoi aggiungere tutte le restrizioni necessarie. Utilizza le virgole per separare le restrizioni. Devi fornire tutte le limitazioni dei referrer con il comando update; le limitazioni dei referrer sostituite sostituiscono eventuali restrizioni esistenti per i referrer sulla chiave.

    gcloud alpha services api-keys update KEY_ID \
     --allowed-referrers="ALLOWED_REFERRER_1"
    

REST

  1. Ottieni l'ID della chiave che vuoi limitare.

    L'ID non corrisponde al nome visualizzato o alla stringa di chiave. Puoi ottenere l'ID utilizzando il metodo keys.list. L'ID è indicato nel campo uid della risposta.

    Sostituisci PROJECT_ID con l'ID o il nome del tuo progetto Google Cloud.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Utilizza il metodo keys.patch per aggiungere limitazioni per i referrer HTTP alla chiave API.

    Questa richiesta restituisce un'operazione a lunga esecuzione; devi eseguire il polling dell'operazione per sapere quando l'operazione viene completata e conoscere il relativo stato.

    Sostituisci i seguenti valori:

    • ALLOWED_REFERRER_1: la tua limitazione referrer HTTP.

      Puoi aggiungere tutte le restrizioni necessarie. Utilizza le virgole per separare le restrizioni. Devi fornire tutte le limitazioni dei referrer con la richiesta; le limitazioni dei referrer fornite sostituiscono eventuali restrizioni esistenti per i referrer sulla chiave.

    • PROJECT_ID: ID o nome del progetto Google Cloud.

    • KEY_ID: l'ID della chiave che vuoi limitare.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "browserKeyRestrictions": {
      "allowedReferrers": ["ALLOWED_REFERRER_1"]
    }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Per ulteriori informazioni sull'aggiunta di limitazioni per i referrer HTTP a una chiave tramite l'API REST, consulta la sezione Aggiungere limitazioni del browser nella documentazione dell'API Key API.

Indirizzi IP

Puoi specificare uno o più indirizzi IP dei chiamanti, ad esempio server web o cron job, a cui è consentito utilizzare la chiave API. Puoi specificare gli indirizzi IP in uno dei seguenti formati:

  • IPv4 (198.51.100.1)
  • IPv6 (2001:db8::1)
  • Una subnet che utilizza la notazione CIDR (198.51.100.0/24, 2001:db8::/64)

L'utilizzo di localhost non è supportato per le limitazioni del server. Devi specificare un indirizzo IP esterno.

Per limitare la chiave API a indirizzi IP specifici, utilizza una delle seguenti opzioni:

Console

  1. In Google Cloud Console, vai alla pagina Credenziali:

    Vai a Credenziali

  2. Fai clic sul nome della chiave API che vuoi limitare.

  3. In Restrizioni delle applicazioni, seleziona Indirizzi IP.

  4. Per ogni indirizzo IP che vuoi aggiungere, fai clic su Aggiungi elemento, inserisci l'indirizzo e fai clic su Fine.

  5. Fai clic su Salva per salvare le modifiche e tornare all'elenco delle chiavi API.

gcloud

  1. Ottieni l'ID della chiave che vuoi limitare.

    L'ID non corrisponde al nome visualizzato o alla stringa di chiave. Puoi ottenere l'ID utilizzando il comando gcloud services api-keys list per elencare le chiavi nel progetto.

  2. Utilizza il comando gcloud alpha services api-keys update per aggiungere limitazioni del server (indirizzo IP) a una chiave API.

    Sostituisci i seguenti valori:

    • KEY_ID: l'ID della chiave che vuoi limitare.
    • ALLOWED_IP_ADDR_1: il tuo indirizzo IP consentito.

      Puoi aggiungere tutti gli indirizzi IP che ti servono. Utilizza le virgole per separare gli indirizzi.

    gcloud alpha services api-keys update KEY_ID \
    --allowed-ips="ALLOWED_IP_ADDR_1"
    

REST

  1. Ottieni l'ID della chiave che vuoi limitare.

    L'ID non corrisponde al nome visualizzato o alla stringa di chiave. Puoi ottenere l'ID utilizzando il metodo keys.list. L'ID è indicato nel campo uid della risposta.

    Sostituisci PROJECT_ID con l'ID o il nome del tuo progetto Google Cloud.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Utilizza il metodo keys.patch per aggiungere limitazioni del server (indirizzo IP) a una chiave API.

    Questa richiesta restituisce un'operazione a lunga esecuzione; devi eseguire il polling dell'operazione per sapere quando l'operazione viene completata e conoscere il relativo stato.

    Sostituisci i seguenti valori:

    • ALLOWED_IP_ADDR_1: il tuo indirizzo IP consentito.

      Puoi aggiungere tutti gli indirizzi IP che ti servono. Utilizza le virgole per separare le restrizioni. Devi fornire tutti gli indirizzi IP con la richiesta; le limitazioni dei referrer fornite sostituiscono eventuali restrizioni esistenti per gli indirizzi IP sulla chiave.

    • PROJECT_ID: ID o nome del progetto Google Cloud.

    • KEY_ID: l'ID della chiave che vuoi limitare.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
      "serverKeyRestrictions": {
        "allowedIps": ["ALLOWED_IP_ADDR_1"]
      }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Per ulteriori informazioni sull'aggiunta di limitazioni relative agli indirizzi IP a una chiave tramite l'API REST, consulta la sezione Aggiungere limitazioni del server nella documentazione dell'API API Key.

App per Android

Puoi limitare l'utilizzo di una chiave API a specifiche app Android. Devi fornire il nome del pacchetto e l'impronta digitale del certificato SHA-1 da 20 byte per ogni app.

Per limitare la chiave API a una o più app Android, utilizza una delle seguenti opzioni:

Console

  1. In Google Cloud Console, vai alla pagina Credenziali:

    Vai a Credenziali

  2. Fai clic sul nome della chiave API che vuoi limitare.

  3. In Restrizioni delle applicazioni, seleziona App Android.

  4. Per ogni app Android che vuoi aggiungere, fai clic su Aggiungi un elemento e inserisci il nome del pacchetto e l'impronta digitale del certificato SHA-1, quindi fai clic su Fine.

  5. Fai clic su Salva per salvare le modifiche e tornare all'elenco delle chiavi API.

gcloud

  1. Ottieni l'ID della chiave che vuoi limitare.

    L'ID non corrisponde al nome visualizzato o alla stringa di chiave. Puoi ottenere l'ID utilizzando il comando gcloud services api-keys list per elencare le chiavi nel progetto.

  2. Usa il comando gcloud alpha services api-keys update per specificare le app Android che possono utilizzare una chiave API.

    Sostituisci i seguenti valori:

    • KEY_ID: l'ID della chiave che vuoi limitare.
    • SHA1_FINGERPRINT e PACKAGE_NAME: informazioni sull'app per un'app Android che possono utilizzare la chiave.

      Puoi aggiungere tutte le app necessarie. Utilizza altri flag --allowed-application.

    gcloud alpha services api-keys update KEY_ID \
    --allowed-application=sha1_fingerprint=SHA1_FINGERPRINT_1,package_name=PACKAGE_NAME_1 \
    --allowed-application=sha1_fingerprint=SHA1_FINGERPRINT_2,package_name=PACKAGE_NAME_2
    

REST

  1. Ottieni l'ID della chiave che vuoi limitare.

    L'ID non corrisponde al nome visualizzato o alla stringa di chiave. Puoi ottenere l'ID utilizzando il metodo keys.list. L'ID è indicato nel campo uid della risposta.

    Sostituisci PROJECT_ID con l'ID o il nome del tuo progetto Google Cloud.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Utilizza il metodo keys.patch per specificare le app Android che possono utilizzare una chiave API.

    Questa richiesta restituisce un'operazione a lunga esecuzione; devi eseguire il polling dell'operazione per sapere quando l'operazione viene completata e conoscere il relativo stato.

    Sostituisci i seguenti valori:

    • SHA1_FINGERPRINT_1 e PACKAGE_NAME_1: informazioni sull'app per un'app Android che possono utilizzare la chiave.

      Puoi aggiungere le informazioni di tutte le app che vuoi; usa le virgole per separare gli oggetti AndroidApplication. Devi fornire tutte le applicazioni con la richiesta; le applicazioni fornite sostituiscono eventuali applicazioni consentite esistenti nella chiave.

    • PROJECT_ID: ID o nome del progetto Google Cloud.

    • KEY_ID: l'ID della chiave che vuoi limitare.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "androidKeyRestrictions": {
      "allowedApplications": [
        {
          "sha1Fingerprint": "SHA1_FINGERPRINT_1",
          "packageName": "PACKAGE_NAME_1"
        },
     ]
    }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Per ulteriori informazioni sull'aggiunta di limitazioni per le app Android a una chiave tramite l'API REST, consulta la sezione Aggiungere limitazioni Android nella documentazione dell'API Key API.

App per iOS

Puoi limitare l'utilizzo di una chiave API a specifiche app per iOS fornendo l'ID bundle di ogni app.

Per limitare la chiave API a una o più app per iOS, utilizza una delle seguenti opzioni:

Console

  1. In Google Cloud Console, vai alla pagina Credenziali:

    Vai a Credenziali

  2. Fai clic sul nome della chiave API che vuoi limitare.

  3. In Restrizioni delle applicazioni, seleziona App per iOS.

  4. Per ogni app per iOS che vuoi aggiungere, fai clic su Aggiungi un elemento e inserisci l'ID pacchetto, quindi fai clic su Fine.

  5. Fai clic su Salva per salvare le modifiche e tornare all'elenco delle chiavi API.

gcloud

  1. Ottieni l'ID della chiave che vuoi limitare.

    L'ID non corrisponde al nome visualizzato o alla stringa di chiave. Puoi ottenere l'ID utilizzando il comando gcloud services api-keys list per elencare le chiavi nel progetto.

  2. Utilizza il metodo gcloud alpha services api-keys update per specificare le app per iOS che possono utilizzare la chiave.

    Sostituisci i seguenti valori:

    • KEY_ID: l'ID della chiave che vuoi limitare.
    • ALLOWED_BUNDLE_ID: l'ID bundle di un'app per iOS per cui vuoi utilizzare questa chiave API.

      Puoi aggiungere tutti gli ID pacchetto necessari; utilizza le virgole per separare gli ID.

    gcloud alpha services api-keys update KEY_ID \
    --allowed-bundle-ids=ALLOWED_BUNDLE_ID_1,ALLOWED_BUNDLE_ID_2
    

REST

  1. Ottieni l'ID della chiave che vuoi limitare.

    L'ID non corrisponde al nome visualizzato o alla stringa di chiave. Puoi ottenere l'ID utilizzando il metodo keys.list. L'ID è indicato nel campo uid della risposta.

    Sostituisci PROJECT_ID con l'ID o il nome del tuo progetto Google Cloud.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Utilizza il metodo keys.patch per specificare le app per iOS che possono utilizzare una chiave API.

    Questa richiesta restituisce un'operazione a lunga esecuzione; devi eseguire il polling dell'operazione per sapere quando l'operazione viene completata e conoscere il relativo stato.

    Sostituisci i seguenti valori:

    • ALLOWED_BUNDLE_ID: l'ID bundle di un'app per iOS che può utilizzare la chiave.

      Puoi aggiungere le informazioni per tutte le app necessarie. Utilizza le virgole per separare gli ID bundle. Devi fornire tutti gli ID bundle con la richiesta; gli ID bundle forniti sostituiscono le eventuali applicazioni consentite esistenti nella chiave.

    • PROJECT_ID: ID o nome del progetto Google Cloud.

    • KEY_ID: l'ID della chiave che vuoi limitare.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "iosKeyRestrictions": {
      "allowedBundleIds": ["ALLOWED_BUNDLE_ID_1","ALLOWED_BUNDLE_ID_2"]
    }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Per ulteriori informazioni sull'aggiunta di limitazioni per le app iOS a una chiave tramite l'API REST, consulta la sezione Aggiungere limitazioni per iOS nella documentazione dell'API Key dell'API.

Aggiungi limitazioni API

Le limitazioni API specificano le API che possono essere chiamate tramite la chiave API.

Per aggiungere limitazioni delle API, utilizza una delle seguenti opzioni:

Console

  1. In Google Cloud Console, vai alla pagina Credenziali:

    Vai a Credenziali

  2. Fai clic sul nome della chiave API che vuoi limitare.

  3. Nella sezione Restrizioni API, fai clic su Limita chiave.

  4. Seleziona tutte le API dal menu a discesa che la chiave API sarà utilizzata per accedere.

  5. Fai clic su Salva per salvare le modifiche e tornare all'elenco delle chiavi API.

gcloud

  1. Ottieni l'ID della chiave che vuoi limitare.

    L'ID non corrisponde al nome visualizzato o alla stringa di chiave. Puoi ottenere l'ID utilizzando il comando gcloud services api-keys list per elencare le chiavi nel progetto.

  2. Usa il comando gcloud alpha services api-keys update per specificare i servizi con cui è possibile utilizzare una chiave API per l'autenticazione.

    Sostituisci i seguenti valori:

    • KEY_ID: l'ID della chiave che vuoi limitare.
    • SERVICE_1, SERVICE_2...: i nomi dei servizi delle API a cui può essere utilizzata la chiave.

      Devi fornire tutti i nomi di servizio con il comando di aggiornamento; i nomi di servizio forniti sostituiscono tutti i servizi esistenti sulla chiave.

    Puoi trovare il nome del servizio cercando l'API nella dashboard dell'API. I nomi dei servizi sono stringhe come bigquery.googleapis.com.

    gcloud alpha services api-keys update KEY_ID \
    --api-target=service=SERVICE_1 --api-target=service=SERVICE_2
    

REST

  1. Ottieni l'ID della chiave che vuoi limitare.

    L'ID non corrisponde al nome visualizzato o alla stringa di chiave. Puoi ottenere l'ID utilizzando il metodo keys.list. L'ID è indicato nel campo uid della risposta.

    Sostituisci PROJECT_ID con l'ID o il nome del tuo progetto Google Cloud.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Utilizza il metodo keys.patch per specificare i servizi con cui una chiave API può essere utilizzata per l'autenticazione.

    Questa richiesta restituisce un'operazione a lunga esecuzione; devi eseguire il polling dell'operazione per sapere quando l'operazione viene completata e conoscere il relativo stato.

    Sostituisci i seguenti valori:

    • SERVICE_1, SERVICE_2...: i nomi dei servizi delle API con cui vuoi utilizzare questa chiave.

      Devi fornire tutti i nomi di servizio con la richiesta; i nomi dei servizi forniti sostituiscono tutti i servizi esistenti sulla chiave.

      Puoi trovare il nome del servizio cercando l'API nella dashboard dell'API. I nomi dei servizi sono stringhe come bigquery.googleapis.com.

    • PROJECT_ID: ID o nome del progetto Google Cloud.

    • KEY_ID: l'ID della chiave che vuoi limitare.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "apiTargets": [
      {
        "service": "SERVICE_1"
      },
      {
        "service" : "SERVICE_2"
      },
    ]
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Per ulteriori informazioni sull'aggiunta di limitazioni API a una chiave tramite l'API REST, consulta la sezione Aggiungere limitazioni API nella documentazione dell'API Key.

Recupera informazioni sul progetto da una stringa di chiave

Se hai una stringa di chiavi e vuoi determinare a quale progetto di Google Cloud è associato, puoi trovare informazioni sulla chiave tramite la stringa di chiavi.

Sostituisci KEY_STRING con la stringa della chiave per cui ti servono informazioni sul progetto.

gcloud

Puoi utilizzare il comando gcloud alpha services api-keys lookup per recuperare l'ID progetto da una stringa di chiave.

gcloud alpha services api-keys lookup KEY_STRING

REST

Puoi utilizzare il metodo lookupKey per recuperare l'ID progetto da una stringa della chiave.

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://apikeys.googleapis.com/v2/keys:lookupKey?keyString=KEY_STRING"

Operazioni a lunga esecuzione dei sondaggi

I metodi API delle chiavi API utilizzano operazioni a lunga esecuzione. Se utilizzi l'API REST per creare e gestire le chiavi API, viene restituito un oggetto operazione dalla richiesta del metodo iniziale. Puoi utilizzare il nome dell'operazione per eseguire il polling dell'operazione a lunga esecuzione. Quando viene completata la richiesta a lunga esecuzione, l'operazione di polling restituisce i dati della richiesta a lunga esecuzione.

Per eseguire il polling di un'operazione a lunga esecuzione dell'API API Key, utilizza il metodo operations.get.

Sostituisci OPERATION_NAME con il nome dell'operazione restituito dall'operazione a lunga esecuzione. Ad esempio, operations/akmf.p7-358517206116-cd10a88a-7740-4403-a8fd-979f3bd7fe1c.

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    "https://apikeys.googleapis.com/v2/OPERATION_NAME"

Limiti sulle chiavi API

Puoi creare fino a 300 chiavi API per progetto. Si tratta di un limite di sistema e non può essere modificato utilizzando una richiesta di aumento della quota.

Se sono necessarie più chiavi API, devi utilizzare più di un progetto.

Passaggi successivi