Questa pagina descrive come utilizzare le chiavi API per l'autenticazione nelle API Google Cloud e servizi che supportano le chiavi API.
La maggior parte delle API Google Cloud non supporta le chiavi API. Verifica che l'API che hai da utilizzare supporta le chiavi API prima di utilizzare questo metodo di autenticazione.
Per informazioni sull'utilizzo delle chiavi API per l'autenticazione in Google Maps Platform, vedi il Documentazione di Google Maps Platform. Per ulteriori informazioni sull'API API Keys, consulta la Documentazione relativa all'API Chiavi API.Introduzione alle chiavi API
Quando utilizzi una chiave API per l'autenticazione in un'API, la chiave API non identifica un'entità, né fornisce informazioni sull'autorizzazione. Pertanto, non utilizza Identity and Access Management (IAM) per verificare se il chiamante ha per eseguire l'operazione richiesta.
La chiave API associa la richiesta a un progetto Google Cloud per la fatturazione e ai fini della quota. Poiché le chiavi API non identificano il chiamante, vengono spesso utilizzate per accedere a risorse o dati pubblici.
Molte API Google Cloud non accettano chiavi API per l'autenticazione. Rivedi la documentazione sull'autenticazione per il servizio o l'API che vuoi utilizzare determinare se supporta le chiavi API.
Una chiave API include i seguenti componenti, che puoi utilizzare per gestire e utilizzare chiave:
- Stringa
- La stringa della chiave API è una stringa criptata, ad esempio
AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe
. Quando utilizzi una chiave API per autentica, utilizzerai sempre la stringa della chiave. Le chiavi API non hanno file JSON associato. - ID
- L'ID chiave API viene utilizzato dagli strumenti amministrativi di Google Cloud per eseguire in modo univoco identificare la chiave. L'ID chiave non può essere utilizzato per l'autenticazione. L'ID chiave può essere presente nell'URL della pagina di modifica della chiave nella console Google Cloud. Puoi anche Recupera l'ID chiave utilizzando Google Cloud CLI per elencare le chiavi nel tuo progetto.
- Nome visualizzato
- Il nome visualizzato è un nome descrittivo facoltativo della chiave, che puoi impostare quando crei o aggiorni la chiave.
Per gestire le chiavi API devi disporre del ruolo Amministratore chiavi API
(roles/serviceusage.apiKeysAdmin
) sul progetto.
Prima di iniziare
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Java
Per utilizzare gli Java esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, vedi Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
Python
Per utilizzare gli Python esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, vedi Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
crea una chiave API
Per creare una chiave API, utilizza una delle seguenti opzioni:
Console
Nella console Google Cloud, vai alla pagina Credenziali:
Fai clic su Crea credenziali, quindi seleziona Chiave API dal menu.
La finestra di dialogo Chiave API creata mostra la stringa per i file chiave creata.
gcloud
Puoi utilizzare
Comando gcloud services api-keys create
per creare una chiave API.
Sostituisci DISPLAY_NAME
con un nome descrittivo per il tuo
chiave.
gcloud services api-keys create --display-name=DISPLAY_NAME
Java
Per eseguire questo esempio, devi installare
Libreria client di google-cloud-apikeys
.
Python
Per eseguire questo esempio, devi installare Libreria client delle chiavi API.
REST
Puoi utilizzare
Metodo keys.create
per creare una chiave API. Questa richiesta restituisce un
operazione a lunga esecuzione; devi sondaggio
l'operazione per ottenere le informazioni
per la nuova chiave.
Sostituisci i seguenti valori:
DISPLAY_NAME
: facoltativo. Un nome descrittivo per chiave.PROJECT_ID
: l'ID o il nome del tuo 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 mediante l'API REST, consulta Creazione di una chiave API nel documentazione dell'API API Keys.
Copia la stringa della chiave e tienila al sicuro. A meno che tu non stia utilizzando un chiave di test che intendi eliminare in un secondo momento, aggiungi restrizioni relative alle applicazioni e alle chiavi API.
Usa una chiave API
Se un'API supporta l'uso di chiavi API, puoi utilizzare le chiavi API per autenticare quell'API. Puoi utilizzare le chiavi API con le richieste REST e con librerie client che le supportano.
Utilizzo di una chiave API con REST
Puoi passare la chiave API in una chiamata API REST come parametro di query con
che segue. Sostituisci API_KEY
con la stringa chiave di
la 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 utilizzare l'intestazione x-goog-api-key
per trasmettere la chiave.
Questa intestazione deve essere utilizzata con le richieste gRPC.
curl -X POST \ -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"
Utilizzo di una chiave API con librerie client
Il supporto della libreria client per le chiavi API è specifico per ogni lingua.
In questo esempio viene utilizzata l'API Cloud Natural Language, che supporta le chiavi API per l'autenticazione, per dimostrare come forniresti una chiave API alla libreria.
Node.js
Per eseguire questo esempio, devi installare Libreria client di Natural Language e ai Libreria client delle chiavi API.
Python
Per eseguire questo esempio, devi installare Libreria client di Natural Language e ai Libreria client delle chiavi API.
Proteggere una chiave API
Quando utilizzi chiavi API nelle tue applicazioni, assicurati che siano sempre protette sia durante l'archiviazione che la trasmissione. L'esposizione pubblica delle chiavi API può comportare addebiti imprevisti sul tuo conto. Per proteggere le tue chiavi API, segui queste best practice:
Aggiungi restrizioni relative alle chiavi API alla chiave.
Aggiungendo limitazioni, puoi limitare le modalità di utilizzo di una chiave API, riducendo l'impatto di una chiave API compromessa.
Elimina le chiavi API non necessarie per ridurre al minimo l'esposizione agli attacchi.
Ricrea periodicamente le chiavi API.
Creare periodicamente nuove chiavi API, eliminare le vecchie chiavi e aggiornare le tue applicazioni a usare le nuove chiavi API.
Applica limitazioni relative alle chiavi API
Per impostazione predefinita, le chiavi API non sono limitate. Le chiavi senza restrizioni non sono sicure perché possono essere utilizzati da chiunque, ovunque. Per le applicazioni di produzione, devi impostare sia le restrizioni dell'applicazione Restrizioni delle API.
Aggiungi limitazioni delle applicazioni
Le limitazioni delle applicazioni specificano i siti web, gli indirizzi IP o le app che possono essere utilizzati di una chiave API.
Puoi applicare un solo tipo di limitazione delle applicazioni alla volta. Scegli il tipo di restrizione in base al tuo tipo di applicazione:
Opzione | Tipo di applicazione | Note |
---|---|---|
Referrer HTTP | Applicazioni web | Specifica i siti web che possono utilizzare la chiave. |
Indirizzi IP | Applicazioni richiamate 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 tua chiave API, aggiungi uno o più Restrizioni per i referrer HTTP.
Puoi sostituire il sottodominio o il percorso con un carattere jolly (*
), ma
non puoi inserire un carattere jolly al centro dell'URL. Ad esempio:
*.example.com
è valido e accetta tutti i siti che terminano con .example.com
. Tuttavia,
mysubdomain*.example.com
non è una restrizione valida.
I numeri di porta possono essere inclusi nelle restrizioni relative ai referrer HTTP. Se includi un parametro numero di porta, verranno trovate solo le richieste che la utilizzano. In caso contrario se specifichi un numero di porta, verranno soddisfatte le richieste provenienti da qualsiasi numero di porta.
Puoi aggiungere fino a 1200 referrer HTTP a una chiave API.
La tabella seguente 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 Alcuni browser implementano criterio referrer che invia solo l'URL di origine per le richieste multiorigine. Gli utenti di questi browser non possono utilizzare chiavi con restrizioni URL specifiche della pagina. |
Consenti qualsiasi URL nel tuo sito | Devi impostare due URL nell'elenco allowedReferers .
|
Consenti qualsiasi URL in un singolo sottodominio o dominio semplice |
Devi impostare due URL nell'elenco
|
Per limitare la chiave API a siti web specifici, utilizza una delle seguenti opzioni:
Console
Nella console Google Cloud, vai alla pagina Credenziali:
Fai clic sul nome della chiave API che vuoi limitare.
Nella sezione Restrizioni delle applicazioni, seleziona Referrer HTTP.
Per ogni restrizione che vuoi aggiungere, fai clic su Aggiungi un elemento, inserisci la restrizione e fai clic su Fine.
Fai clic su Salva per salvare le modifiche e tornare all'elenco delle chiavi API.
gcloud
Recupera l'ID della chiave che vuoi limitare.
L'ID non corrisponde al nome visualizzato o alla stringa della chiave. Puoi ottenere l'ID utilizzando Comando
gcloud services api-keys list
per elencare le chiavi nel tuo progetto.Utilizza la Comando
gcloud services api-keys update
per aggiungere restrizioni per i referrer HTTP a una chiave API.Sostituisci i seguenti valori:
KEY_ID
: l'ID della chiave che vuoi limitare.ALLOWED_REFERRER_1
: il tuo referrer HTTP delle risorse.Puoi aggiungere tutte le restrizioni che vuoi. utilizza le virgole per separare le restrizioni. Devi fornire tutte le restrizioni per i referrer con il parametro il comando update; le limitazioni relative ai referrer fornite sostituiscono eventuali restrizioni del referrer sulla chiave.
gcloud services api-keys update KEY_ID \ --allowed-referrers="ALLOWED_REFERRER_1"
Java
Per eseguire questo esempio, devi installare
Libreria client di google-cloud-apikeys
.
Python
Per eseguire questo esempio, devi installare Libreria client delle chiavi API.
REST
Recupera l'ID della chiave che vuoi limitare.
L'ID non corrisponde al nome visualizzato o alla stringa della chiave. Puoi ottenere l'ID utilizzando keys.list . L'ID è elencato nel campo
uid
della risposta.Sostituisci
PROJECT_ID
con il tuo progetto Google Cloud ID o nome.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
Utilizza la keys.patch per aggiungere restrizioni del referrer HTTP alla chiave API.
Questa richiesta restituisce un'operazione a lunga esecuzione; devi eseguire il polling dell'operazione quando l'operazione viene completata e conoscerne lo stato.
Sostituisci i seguenti valori:
ALLOWED_REFERRER_1
: il tuo referrer HTTP delle risorse.Puoi aggiungere tutte le restrizioni che vuoi. utilizza le virgole per separare le restrizioni. Devi fornire tutte le restrizioni per i referrer con il parametro richiesta; le limitazioni relative ai referrer fornite sostituiscono eventuali restrizioni del referrer sulla chiave.
PROJECT_ID
: l'ID del tuo progetto Google Cloud o .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 restrizioni per i referrer HTTP a una chiave utilizzando l'API REST, consulta Aggiunta di limitazioni del browser nella documentazione dell'API API Keys.
Indirizzi IP
Puoi specificare uno o più indirizzi IP dei chiamanti, ad esempio un indirizzo web server o cron job autorizzati a usare la tua chiave API. Puoi specificare 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.
Per limitare la chiave API a indirizzi IP specifici, utilizza una delle seguenti opzioni: opzioni:
Console
Nella console Google Cloud, vai alla pagina Credenziali:
Fai clic sul nome della chiave API che vuoi limitare.
Nella sezione Restrizioni delle applicazioni, seleziona Indirizzi IP.
Per ogni indirizzo IP che vuoi aggiungere, fai clic su Aggiungi un elemento, inserisci l'indirizzo e fai clic su Fine.
Fai clic su Salva per salvare le modifiche e tornare all'elenco delle chiavi API.
gcloud
Recupera l'ID della chiave che vuoi limitare.
L'ID non corrisponde al nome visualizzato o alla stringa della chiave. Puoi ottenere l'ID utilizzando Comando
gcloud services api-keys list
per elencare le chiavi nel tuo progetto.Utilizza la Comando
gcloud services api-keys update
per aggiungere restrizioni 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 necessari; utilizza le virgole per separare gli indirizzi.
gcloud services api-keys update KEY_ID \ --allowed-ips="ALLOWED_IP_ADDR_1"
Java
Per eseguire questo esempio, devi installare
Libreria client di google-cloud-apikeys
.
Python
Per eseguire questo esempio, devi installare Libreria client delle chiavi API.
REST
Recupera l'ID della chiave che vuoi limitare.
L'ID non corrisponde al nome visualizzato o alla stringa della chiave. Puoi ottenere l'ID utilizzando keys.list . L'ID è elencato nel campo
uid
della risposta.Sostituisci
PROJECT_ID
con l'ID del tuo progetto Google Cloud o un nome.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
Utilizza la keys.patch per aggiungere restrizioni del server (indirizzo IP) a una chiave API.
Questa richiesta restituisce un'operazione a lunga esecuzione; devi eseguire il polling dell'operazione quando l'operazione viene completata e conoscerne lo stato.
Sostituisci i seguenti valori:
ALLOWED_IP_ADDR_1
: il tuo indirizzo IP consentito.Puoi aggiungere tutti gli indirizzi IP necessari; utilizza le virgole per separare le restrizioni. Devi fornire tutti gli indirizzi IP con richiesta; le limitazioni relative ai referrer fornite sostituiscono eventuali Limitazioni dell'indirizzo IP della chiave.
PROJECT_ID
: l'ID del tuo progetto Google Cloud o .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 utilizzando il API REST, consulta Aggiunta di limitazioni del server nella documentazione dell'API API Keys.
App Android
Puoi limitare l'utilizzo di una chiave API a specifiche app per Android. Devi fornire il nome del pacchetto e l'impronta digitale del certificato SHA-1 da 20 byte per ogni app.
Quando utilizzi la chiave API in una richiesta, devi specificare il nome del pacchetto e l'impronta digitale del certificato utilizzando le seguenti intestazioni HTTP:
X-Android-Package
X-Android-Cert
Per limitare la chiave API a una o più app per Android, utilizza una delle seguenti opzioni: opzioni:
Console
Nella console Google Cloud, vai alla pagina Credenziali:
Fai clic sul nome della chiave API che vuoi limitare.
Nella sezione Limitazioni delle applicazioni, seleziona App Android.
Per ogni app per Android che vuoi aggiungere, fai clic su Aggiungi un articolo e inserisci il nome del pacchetto e l'impronta digitale del certificato SHA-1, quindi fai clic su Fine.
Fai clic su Salva per salvare le modifiche e tornare all'elenco delle chiavi API.
gcloud
Recupera l'ID della chiave che vuoi limitare.
L'ID non corrisponde al nome visualizzato o alla stringa della chiave. Puoi ottenere l'ID utilizzando Comando
gcloud services api-keys list
per elencare le chiavi nel tuo progetto.Utilizza la Comando
gcloud services api-keys update
per specificare le app per Android che possono utilizzare una chiave API.Sostituisci i seguenti valori:
KEY_ID
: l'ID della chiave che vuoi limitare.SHA1_FINGERPRINT
ePACKAGE_NAME
: l'app informazioni relative a un'app per Android che può utilizzare la chiave.Puoi aggiungere tutte le app che vuoi. utilizza ulteriori
--allowed-application
flag.
gcloud 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
Java
Per eseguire questo esempio, devi installare
Libreria client di google-cloud-apikeys
.
Python
Per eseguire questo esempio, devi installare Libreria client delle chiavi API.
REST
Recupera l'ID della chiave che vuoi limitare.
L'ID non corrisponde al nome visualizzato o alla stringa della chiave. Puoi ottenere l'ID utilizzando keys.list . L'ID è elencato nel campo
uid
della risposta.Sostituisci
PROJECT_ID
con il tuo progetto Google Cloud ID o nome.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
Utilizza la 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 quando l'operazione viene completata e conoscerne lo stato.
Sostituisci i seguenti valori:
SHA1_FINGERPRINT_1
e PACKAGE_NAME_1: l'app informazioni relative a un'app per Android che può utilizzare la chiave.Puoi aggiungere le informazioni per tutte le app di cui hai bisogno. utilizza le virgole per separa i AndroidApplication di oggetti strutturati. Devi fornire la richiesta in tutte le applicazioni. il le applicazioni fornite sostituiscono quelle esistenti chiave.
PROJECT_ID
: l'ID del tuo progetto Google Cloud o .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 delle app per Android a una chiave tramite il API REST, consulta Aggiunta di limitazioni Android nella documentazione dell'API API Keys.
App per iOS
Puoi limitare l'utilizzo di una chiave API a specifiche app per iOS fornendo l'ID pacchetto di ogni app.
Quando utilizzi la chiave API in una richiesta, devi specificare l'ID pacchetto utilizzando
l'intestazione HTTP X-Ios-Bundle-Identifier
.
Per limitare la chiave API a una o più app per iOS, utilizza una delle seguenti opzioni opzioni:
Console
Nella console Google Cloud, vai alla pagina Credenziali:
Fai clic sul nome della chiave API che vuoi limitare.
Nella sezione Restrizioni delle applicazioni, seleziona App per iOS.
Per ogni app per iOS che vuoi aggiungere, fai clic su Aggiungi un elemento e inserisci l'ID pacchetto, quindi fai clic su Fine.
Fai clic su Salva per salvare le modifiche e tornare all'elenco delle chiavi API.
gcloud
Recupera l'ID della chiave che vuoi limitare.
L'ID non corrisponde al nome visualizzato o alla stringa della chiave. Puoi ottenere l'ID utilizzando Comando
gcloud services api-keys list
per elencare le chiavi nel tuo progetto.Utilizza la
gcloud 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 pacchetto di un'app per iOS che vogliano poter usare questa chiave API.Puoi aggiungere tutti gli ID pacchetto necessari. utilizza le virgole per separare ID.
gcloud services api-keys update KEY_ID \ --allowed-bundle-ids=ALLOWED_BUNDLE_ID_1,ALLOWED_BUNDLE_ID_2
Java
Per eseguire questo esempio, devi installare
Libreria client di google-cloud-apikeys
.
Python
Per eseguire questo esempio, devi installare Libreria client delle chiavi API.
REST
Recupera l'ID della chiave che vuoi limitare.
L'ID non corrisponde al nome visualizzato o alla stringa della chiave. Puoi ottenere l'ID utilizzando keys.list . L'ID è elencato nel campo
uid
della risposta.Sostituisci
PROJECT_ID
con il tuo progetto Google Cloud ID o nome.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
Utilizza la 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 quando l'operazione viene completata e conoscerne lo stato.
Sostituisci i seguenti valori:
ALLOWED_BUNDLE_ID
: l'ID pacchetto di un'app per iOS che possono utilizzare la chiave.Puoi aggiungere le informazioni per tutte le app di cui hai bisogno. utilizza le virgole per separa gli ID pacchetto. Devi fornire tutti gli ID pacchetto con il campo richiesta; gli ID pacchetto forniti sostituiscono quelli esistenti applicazioni sulla chiave.
PROJECT_ID
: l'ID del tuo progetto Google Cloud o .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 per iOS a una chiave tramite REST sull'API, consulta Aggiunta di limitazioni iOS nella documentazione dell'API API Keys.
Aggiungi limitazioni API
Le restrizioni delle API specificano le API che è possibile chiamare usando la chiave API.
Per aggiungere limitazioni delle API, utilizza una delle seguenti opzioni:
Console
Nella console Google Cloud, vai alla pagina Credenziali:
Fai clic sul nome della chiave API che vuoi limitare.
Nella sezione Restrizioni API, fai clic su Limita chiave.
Seleziona tutte le API alle quali accederà la tua chiave API.
Fai clic su Salva per salvare le modifiche e tornare all'elenco delle chiavi API.
gcloud
Recupera l'ID della chiave che vuoi limitare.
L'ID non corrisponde al nome visualizzato o alla stringa della chiave. Puoi ottenere l'ID utilizzando Comando
gcloud services api-keys list
per elencare le chiavi nel tuo progetto.Utilizza la Comando
gcloud services api-keys update
per specificare su quali servizi può essere utilizzata 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 è possibile utilizzare la chiave per accedere.Devi fornire tutti i nomi dei servizi con il comando update. il servizio i nomi forniti sostituiscono eventuali servizi esistenti nella chiave.
Puoi trovare il nome del servizio cercando l'API nella dashboard delle API. Servizio i nomi sono stringhe come
bigquery.googleapis.com
.gcloud services api-keys update KEY_ID \ --api-target=service=SERVICE_1 --api-target=service=SERVICE_2
Java
Per eseguire questo esempio, devi installare
Libreria client di google-cloud-apikeys
.
Python
Per eseguire questo esempio, devi installare Libreria client delle chiavi API.
REST
Recupera l'ID della chiave che vuoi limitare.
L'ID non corrisponde al nome visualizzato o alla stringa della chiave. Puoi ottenere l'ID utilizzando keys.list . L'ID è elencato nel campo
uid
della risposta.Sostituisci
PROJECT_ID
con il tuo progetto Google Cloud ID o nome.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
Utilizza la keys.patch per specificare quali servizi è possibile utilizzare per l'autenticazione con una chiave API a.
Questa richiesta restituisce un'operazione a lunga esecuzione; devi eseguire il polling dell'operazione quando l'operazione viene completata e conoscerne lo stato.
Sostituisci i seguenti valori:
SERVICE_1
,SERVICE_2
...: I nomi dei servizi delle API a cui è possibile utilizzare la chiave per accedere.Devi fornire tutti i nomi dei servizi nella richiesta. il servizio i nomi forniti sostituiscono eventuali servizi esistenti nella chiave.
Puoi trovare il nome del servizio cercando l'API nella dashboard delle API. Servizio i nomi sono stringhe come
bigquery.googleapis.com
.PROJECT_ID
: l'ID del tuo progetto Google Cloud o .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 utilizzando il REST sull'API, consulta Aggiunta di limitazioni delle API nella documentazione dell'API API Keys.
Recupera le informazioni sul progetto da una stringa chiave
Puoi determinare a quale progetto Google Cloud è associata una chiave API. dalla sua stringa.
Sostituisci KEY_STRING
con la stringa della chiave che ti serve per il progetto
informazioni.
gcloud
Puoi utilizzare
Comando gcloud services api-keys lookup
per ottenere l'ID progetto da una stringa chiave.
gcloud services api-keys lookup KEY_STRING
Java
Per eseguire questo esempio, devi installare
Libreria client di google-cloud-apikeys
.
Python
Per eseguire questo esempio, devi installare Libreria client delle chiavi API.
REST
Puoi utilizzare
Metodo lookupKey
per ottenere l'ID progetto da una stringa 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"
Annullamento eliminazione di una chiave API
Se elimini una chiave API per errore, puoi annullarne l'eliminazione (ripristinarla) all'interno 30 giorni dall'eliminazione della chiave. Dopo 30 giorni, non potrai annullare l'eliminazione della chiave API.
Console
Nella console Google Cloud, vai alla pagina Credenziali:
Fai clic su Ripristina credenziali eliminate.
Trova la chiave API eliminata di cui vuoi annullare l'eliminazione e fai clic su Ripristina.
L'annullamento dell'eliminazione di una chiave API potrebbe richiedere alcuni minuti per propagarsi. Dopo il giorno durante la propagazione, la chiave API non eliminata viene visualizzata nell'elenco delle chiavi API.
gcloud
Recupera l'ID della chiave di cui vuoi annullare l'eliminazione.
L'ID non corrisponde al nome visualizzato o alla stringa della chiave. Puoi ottenere l'ID utilizzando Comando
gcloud services api-keys list --show-deleted
per elencare le chiavi eliminate nel progetto.Utilizza la Comando
gcloud services api-keys undelete
per annullare l'eliminazione di una chiave API.gcloud services api-keys undelete KEY_ID
Sostituisci i seguenti valori:
KEY_ID
: l'ID della chiave che vuoi annullare l'eliminazione.
REST
Recupera l'ID della chiave di cui vuoi annullare l'eliminazione.
L'ID non corrisponde al nome visualizzato o alla stringa della chiave. Puoi ottenere l'ID utilizzando keys.list con il parametro di query
showDeleted
impostato sutrue
. L'ID chiave è elencato nel campouid
della risposta.Sostituisci
PROJECT_ID
con il tuo progetto Google Cloud ID o nome.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys?showDeleted=true"
Utilizza la annullare eliminazione per annullare l'eliminazione della chiave API.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID:undelete"
Questa richiesta restituisce un'operazione a lunga esecuzione; devi eseguire il polling dell'operazione quando l'operazione viene completata e conoscerne lo stato.
Sostituisci i seguenti valori:
PROJECT_ID
: l'ID del tuo progetto Google Cloud o .KEY_ID
: l'ID della chiave che vuoi limitare.
Operazioni a lunga esecuzione del sondaggio
I metodi API Chiavi API utilizzano operazioni a lunga esecuzione. Se utilizzi l'API REST per per creare e gestire le chiavi API, viene restituito un oggetto richiesta di metodo. Dovrai usare il nome dell'operazione per eseguire il polling dell'operazione a lunga esecuzione. Al completamento della richiesta a lunga esecuzione, il polling dell'operazione restituisce il valore i dati della richiesta a lunga esecuzione.
Per eseguire il polling di un'operazione dell'API Chiavi API a lunga esecuzione, utilizza
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 delle chiavi API
Puoi creare fino a 300 chiavi API per progetto. Questo limite è un limite del 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
- Consulta una panoramica dei metodi di autenticazione.
- Scopri di più sull'API API Keys.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-09-12 UTC.