Best practice per la sicurezza delle API

Per le app e i progetti che utilizzano le API e gli SDK di Google Maps Platform, è necessario utilizzare le chiavi API o, se supportati, OAuth, per impedire l'uso non autorizzato e gli addebiti. Se utilizzi chiavi API, per la massima sicurezza, applica limitazioni alle chiavi API quando le crei. Queste best practice mostrano come limitarle.

Oltre ad applicare limitazioni delle applicazioni e delle chiavi API, segui tutte le pratiche di sicurezza applicabili a prodotti specifici di Google Maps Platform. Ad esempio, consulta l'API Maps JavaScript di seguito in Limitazioni consigliate per applicazioni e API.

Se le chiavi API sono già in uso, consulta i suggerimenti riportati di seguito in Se stai limitando o rigenerando una chiave API in uso.

Per ulteriori informazioni sulle firme digitali, consulta la Guida alla firma digitale.

Best practice consigliate

Per maggiore sicurezza ed evitare addebiti per l'uso non autorizzato, segui queste best practice per la sicurezza delle API per tutti i servizi, le API e gli SDK di Google Maps Platform:

Limitare le chiavi API

Utilizzare chiavi API separate per ogni app

Eliminare le chiavi API non utilizzate

Controllare l'utilizzo delle chiavi API

Fai attenzione durante la rigenerazione delle chiavi API

Ulteriori suggerimenti per i siti web che utilizzano API web statiche

Proteggere le app utilizzando API web statiche

Consigli aggiuntivi per le app che utilizzano servizi web

Proteggere le app tramite i servizi web

Consigli aggiuntivi per le app mobile iOS e Android

Proteggi le app mobile utilizzando i servizi web o le API web statiche

Se limiti o rigenera una chiave API in uso

  • Prima di modificare la chiave API, controlla l'utilizzo della chiave API Questo passaggio è particolarmente importante se aggiungi limitazioni dopo che la chiave è in uso.

  • Dopo aver cambiato la chiave, aggiorna tutte le app con le nuove chiavi API, se necessario.

  • Se non esiste un abuso attivo della tua chiave API, puoi eseguire la migrazione delle tue app a più nuove chiavi API secondo i tuoi tempi, lasciando la chiave API originale invariata finché non vedi un solo tipo di traffico, a cui puoi limitare le chiavi API con una limitazione delle applicazioni. Per ulteriori istruzioni, consulta Eseguire la migrazione a più chiavi API.

    Monitora l'utilizzo nel tempo e verifica quando API, tipi di piattaforma e domini specifici sono stati migrati dalla chiave API precedente prima di scegliere di limitare o eliminare la vecchia chiave. Per ulteriori informazioni, consulta Report e monitoraggio e Metriche.

  • Se la tua chiave API è stata compromessa, puoi procedere più rapidamente per proteggere la chiave API e bloccare l'abuso. Nelle app per Android e iOS, le chiavi non vengono sostituite finché i clienti non aggiornano le proprie app. L'aggiornamento o la sostituzione delle chiavi in JavaScript o nelle app di servizi web è molto più semplice, ma può comunque richiedere un'attenta pianificazione e un lavoro rapido.

    Per maggiori informazioni, consulta Gestire l'uso non autorizzato di una chiave API.

Limitare le chiavi API

La best practice prevede di limitare sempre le chiavi API con una restrizione delle applicazioni e una o più limitazioni delle API. Per le limitazioni suggerite per API, SDK o servizio JavaScript, consulta la sezione Restrizioni consigliate per API e applicazioni di seguito.

  • Restrizioni delle applicazioni Puoi limitare l'utilizzo di una chiave API a piattaforme specifiche: applicazioni Android o iOS, siti web specifici per le applicazioni lato client oppure indirizzi IP o subnet CIDR specifici per le app lato server che emettono chiamate API REST dei servizi web.

    Puoi limitare una chiave aggiungendo una o più limitazioni delle applicazioni dei tipi che vuoi autorizzare, dopodiché sono consentite solo le richieste provenienti da queste origini.

  • Limitazioni delle API Puoi limitare le API, gli SDK o i servizi Google Maps Platform su cui è possibile utilizzare la tua chiave API. Le restrizioni delle API consentono solo le richieste alle API e agli SDK specificati. Per ogni chiave API puoi specificare tutte le restrizioni API necessarie. L'elenco delle API disponibili include tutte le API abilitate in un progetto.

Imposta una restrizione delle applicazioni per una chiave API

  1. Apri la pagina Credenziali di Google Maps Platform della console Google Cloud.

  2. Seleziona la chiave API che vuoi limitare.

  3. Nella pagina Modifica chiave API, in Limitazioni delle chiavi, seleziona Imposta una limitazione delle applicazioni.

    Pagina Modifica chiave API

  4. Seleziona uno dei tipi di limitazione e fornisci le informazioni richieste in base all'elenco delle restrizioni.

    Tipo di restrizione Descrizione
    Siti web Specifica uno o più siti web referrer.
    • Gli schemi degli URI referrer supportati a livello globale sono https e http.
    • Fornisci sempre l'URI del referrer completo, inclusi lo schema di protocollo, il nome host e la porta facoltativa (ad es. https://google.com).
    • Puoi utilizzare i caratteri jolly per autorizzare tutti i sottodomini. Ad esempio, https://*.google.com accetta tutti i siti che terminano con .google.com. Tieni presente che se specifichi www.dominio.com, questo funge da carattere jolly www.dominio.com/* e autorizza qualsiasi percorso secondario su quel nome host.
    • Fai attenzione quando autorizzi i referrer del percorso completo, ad esempio https://google.com/some/path, poiché, per impostazione predefinita, la maggior parte dei browser attuali elimina il percorso dalle richieste multiorigine.
    Indirizzi IP Specifica uno o più indirizzi IPv4 o IPv6 oppure subnet utilizzando la notazione CIDR. Gli indirizzi IP devono corrispondere all'indirizzo di origine osservato dai server di Google Maps Platform. Se utilizzi il protocollo NAT (Network Address Translation), questo indirizzo corrisponde in genere all'indirizzo IP pubblico della tua macchina.
    App Android Aggiungi il nome del pacchetto Android (dal file AndroidManifest.xml) e l'impronta digitale del certificato di firma SHA-1 di ogni applicazione Android che vuoi autorizzare. Se utilizzi la firma dell'app di Google Play, consulta l'articolo Collaborare con i provider di API per recuperare l'impronta del certificato di firma. Se gestisci autonomamente la tua chiave di firma, consulta Autofirma dell'applicazione o fai riferimento alle istruzioni per il tuo ambiente di build.
    App per iOS Aggiungi l'identificatore bundle di ogni applicazione iOS che vuoi autorizzare.

    Per suggerimenti su una limitazione delle applicazioni, vedi Limitazioni consigliate delle applicazioni.

  5. Seleziona Salva.

Impostare le restrizioni delle API per una chiave API

  1. Apri la pagina Credenziali di Google Maps Platform della console Google Cloud.

  2. Seleziona la chiave API che vuoi limitare.

  3. Nella pagina Modifica chiave API, in Limitazioni delle API:

    • Seleziona Limita chiave.

    • Apri Seleziona API e seleziona le API o gli SDK a cui vuoi che la tua applicazione acceda utilizzando la chiave API.

      Se un'API o un SDK non è elencato, devi abilitarli. Per maggiori dettagli, consulta Per attivare uno o più API o SDK.

    Limitare un'API nella pagina Modifica chiave API

  4. Seleziona Salva.

    Dopo questo passaggio, la limitazione diventa parte della definizione della chiave API. Assicurati di fornire i dettagli appropriati e seleziona Salva per salvare le limitazioni relative alle chiavi API. Per ulteriori informazioni, consulta la guida Ottenere una chiave API nella documentazione dell'API o dell'SDK specifici che ti interessano.

Per le limitazioni consigliate per le API, consulta la pagina relativa alle limitazioni API consigliate.

Controllare l'utilizzo delle chiavi API

Se limiti le chiavi API dopo averle create o se vuoi vedere quali API vengono utilizzate da una chiave in modo da poterle limitare, controlla l'utilizzo della chiave API. Questi passaggi mostrano in quali servizi e metodi API viene usata una chiave API. Se rilevi utilizzi diversi dai servizi di Google Maps Platform, esaminali per stabilire se è necessario aggiungere altre restrizioni per evitare usi indesiderati. Puoi utilizzare Google Maps Platform Cloud Console Metrics Explorer per determinare quali limitazioni delle applicazioni e delle API applicare alla tua chiave API:

Determina le API che utilizzano la tua chiave API

I seguenti report sulle metriche ti consentono di determinare quali API utilizzano le tue chiavi API. Utilizza questi report per:

  • Scopri come vengono utilizzate le tue chiavi API
  • Individuare l'utilizzo imprevisto
  • Aiuta a verificare se una chiave inutilizzata può essere eliminata in sicurezza. Per informazioni sull'eliminazione di una chiave API, consulta Eliminare le chiavi API inutilizzate.

Quando applichi le restrizioni delle API, utilizza questi report per creare un elenco di API da autorizzare o per convalidare i suggerimenti sulle limitazioni delle chiavi API generate automaticamente. Per saperne di più sulle limitazioni consigliate, consulta Applicare le limitazioni consigliate. Per ulteriori informazioni sull'uso di Metrics Explorer, consulta Creare grafici con Metrics Explorer.

  1. Vai a Metrics Explorer nella console Google Cloud.

  2. Accedi e seleziona il progetto per le chiavi API che vuoi controllare.

  3. Vai alla pagina Metrics Explorer per il tipo di API:

    • Per le chiavi API che utilizzano qualsiasi API tranne l'API Maps Embed: vai alla pagina Metrics Explorer.

    • Per le chiavi API che utilizzano l'API Maps Embed: vai a Metrics Explorer.

  4. Esamina ogni chiave API:

    1. Seleziona AGGIUNGI FILTRO.

    2. Seleziona l'etichetta credential_id.

    3. Seleziona il valore corrispondente alla chiave da esaminare.

    4. Annota le API per le quali viene utilizzata questa chiave API e conferma che l'utilizzo sia previsto.

    5. Al termine, seleziona Rimuovi filtro alla fine della riga del filtro attivo per eliminare il filtro aggiuntivo.

  5. Ripeti l'operazione per tutte le chiavi rimanenti.

  6. Limita le chiavi API solo alle API in uso.

  7. Se rilevi un utilizzo non autorizzato, consulta Gestire l'uso non autorizzato di una chiave API.

Scegli il tipo corretto di limitazione delle applicazioni utilizzando Metrics Explorer

Dopo aver verificato e eseguito le azioni necessarie per assicurarti che la tua chiave API venga utilizzata solo per i servizi Google Maps Platform in uso, assicurati anche che la chiave API abbia le restrizioni corrette delle applicazioni.

Applica le restrizioni consigliate se per la tua chiave API sono presenti limitazioni consigliate. Per ulteriori informazioni, consulta la sezione Applicare le limitazioni consigliate per le chiavi API.

Se la tua chiave API non presenta suggerimenti sulle limitazioni, determina il tipo di restrizione dell'applicazione da applicare in base al platform_type segnalato utilizzando Metrics Explorer:

  1. Vai a Metrics Explorer nella console Google Cloud.

  2. Accedi e seleziona il progetto per le API che vuoi controllare.

  3. Vai a questa pagina Metrics Explorer: Metrics Explorer.

  4. Esamina ogni chiave API:

    1. Seleziona AGGIUNGI FILTRO.

    2. Seleziona l'etichetta credential_id.

    3. Seleziona il valore corrispondente alla chiave da esaminare.

    4. Al termine, seleziona Rimuovi filtro alla fine della riga del filtro attivo per eliminare il filtro aggiuntivo.

  5. Ripeti l'operazione per tutte le chiavi rimanenti.

  6. Una volta trovato il tipo di piattaforma per le chiavi API, applica la limitazione delle applicazioni per platform_type:

    PLATFORM_TYPE_JS
    Applica le limitazioni dei siti web sulla chiave.
    PLATFORM_TYPE_ANDROID
    Applica le limitazioni delle app Android alla chiave.
    PLATFORM_TYPE_IOS
    Applica le limitazioni delle applicazioni iOS alla chiave.
    PLATFORM_TYPE_WEBSERVICE
    Potresti dovresti dover fare affidamento sulle limitazioni degli indirizzi IP sulla chiave per limitarla correttamente. Per ulteriori opzioni per l'API Maps Static e l'API Street View Static, consulta Proteggere le app utilizzando le API Static Web. Per ulteriori istruzioni sull'API Maps Embed, consulta Siti web con l'API Maps Embed.
    La mia chiave API utilizza più tipi di piattaforma
    Il tuo traffico non può essere protetto correttamente con una sola chiave API. Devi eseguire la migrazione a più chiavi API. Per maggiori informazioni, consulta Eseguire la migrazione a più chiavi API.

Usa chiavi API separate per ogni app

Questa prassi limita l'ambito di ogni chiave. Se una chiave API viene compromessa, puoi eliminarla o rigenerarla senza dover aggiornare le altre chiavi API. Puoi creare fino a 300 chiavi API per progetto. Per ulteriori informazioni, consulta Limiti sulle chiavi API.

Sebbene una chiave API per applicazione sia l'ideale per motivi di sicurezza, puoi utilizzare chiavi limitate in più app purché usino lo stesso tipo di limitazione delle applicazioni.

Applica le limitazioni consigliate per le chiavi API

Per alcuni proprietari ed editor di progetti, la console Google Cloud suggerisce limitazioni specifiche delle chiavi API per le chiavi API senza restrizioni in base al loro utilizzo e attività su Google Maps Platform.

Se disponibili, i consigli vengono visualizzati come opzioni precompilate nella pagina Credenziali di Google Maps Platform.

Motivi per cui non viene visualizzato un consiglio o un consiglio incompleto

  • Stai utilizzando la chiave API anche su servizi diversi da Google Maps Platform. Se noti l'utilizzo di altri servizi, non applicare il consiglio senza prima aver eseguito le seguenti operazioni:

    1. Verifica che l'utilizzo dell'API indicato in Metrics Explorer di Google Cloud Console sia legittimo.

    2. Aggiungi manualmente i servizi mancanti all'elenco delle API da autorizzare.

    3. Aggiungi manualmente eventuali limitazioni delle applicazioni mancanti per i servizi aggiunti all'elenco delle API. Se l'altra funzionalità aggiunta richiede un tipo diverso di limitazioni delle applicazioni, consulta Eseguire la migrazione a più chiavi API.

  • La chiave API non viene utilizzata negli SDK o nelle API lato client.

  • Utilizzi la chiave API in un'app o un sito web con volume ridotto che non sono stati utilizzati negli ultimi 60 giorni.

  • Di recente hai creato una nuova chiave o di recente hai eseguito il deployment di una chiave esistente in una nuova app. In questo caso, attendi qualche giorno in più per consentire l'aggiornamento dei suggerimenti.

  • Stai utilizzando la chiave API in più applicazioni che richiederebbero tipi in conflitto di limitazioni delle applicazioni oppure stai utilizzando la stessa chiave API in troppe app o siti web diversi. In entrambi i casi, come best practice, devi eseguire la migrazione a più chiavi. Per maggiori dettagli, consulta Eseguire la migrazione a più chiavi API.

Motivi per cui potresti vedere consigli che non sono visibili nei grafici

  • La tua app o il tuo sito web ha inviato solo brevi picchi di traffico. In questo caso, passa da una visualizzazione CHART per visualizzare una TABLE o BOTH, poiché l'utilizzo è ancora visibile nella legenda. Per ulteriori informazioni, consulta Attivazione/disattivazione delle legende complete del grafico.

  • Il tuo traffico proviene dall'API Maps Embed. Per le istruzioni, consulta Determinare le API che utilizzano la tua chiave API.

  • Il traffico proveniente dall'app o dal sito web non rientra nell'intervallo di date disponibile in Google Cloud Console Metrics Explorer.

  1. Apri la pagina Credenziali di Google Maps Platform della console Google Cloud.

  2. Se disponibile, seleziona Applica limitazioni consigliate.

    Applica limitazioni consigliate

    Nota: se non vedi restrizioni consigliate, consulta Impostare le restrizioni delle API per una chiave API per impostare le restrizioni appropriate.

  3. Seleziona Controlla utilizzo API per verificare su quali servizi viene utilizzata la chiave API. Se vedi servizi diversi da Google Maps Platform, metti in pausa per rivedere manualmente i passaggi per i consigli precedenti. Consulta la procedura di risoluzione dei problemi all'inizio della sezione Applicare le limitazioni consigliate per le chiavi API.

  4. Verifica che le limitazioni precompilate corrispondano ai siti web e alle app in cui prevedi di utilizzare la chiave API.

    Best practice: documenta e rimuovi eventuali restrizioni delle applicazioni o delle API non affiliate ai tuoi servizi. Se qualcosa si interrompe a causa di una dipendenza imprevista, puoi aggiungere di nuovo le app o le API richieste.

    • Se noti che un'app, un sito web o un'API manca chiaramente dal suggerimento, aggiungili manualmente o attendi un paio di giorni per consentire l'aggiornamento del consiglio.

    • Se hai bisogno di ulteriore aiuto in merito al consiglio suggerito, contatta l'assistenza.

  5. Seleziona Applica.

Cosa fare se la richiesta viene rifiutata dopo l'applicazione di un consiglio

Se noti che un'app o un sito web vengono rifiutati dopo l'applicazione di una restrizione, cerca la restrizione dell'applicazione che devi aggiungere nel messaggio di errore della risposta dell'API.

Per gli SDK lato client, vedi di seguito:

Per verificare le restrizioni API richieste, consulta Determinare le API che utilizzano la tua chiave API.

Se non riesci a determinare quali limitazioni applicare:

  1. Documentare le restrizioni attuali per riferimento futuro.
  2. Rimuovili temporaneamente mentre analizzi il problema. Puoi controllare l'utilizzo nel tempo seguendo i passaggi descritti in Controllare l'utilizzo delle chiavi API.
  3. Se necessario, contatta l'assistenza.

Elimina le chiavi API non utilizzate

.

Prima di eliminare una chiave API, assicurati che non venga utilizzata in produzione. Se non c'è traffico, è probabile che la chiave venga eliminata. Per ulteriori informazioni, consulta Controllare l'utilizzo delle chiavi API.

Per eliminare una chiave API:

  1. Apri la pagina Credenziali di Google Maps Platform della console Google Cloud.

  2. Seleziona la chiave API che vuoi eliminare.

  3. Seleziona il pulsante Elimina nella parte superiore della pagina.

  4. Nella pagina Elimina credenziale, seleziona Elimina.

    La propagazione dell'eliminazione di una chiave API richiede alcuni minuti. Una volta completata la propagazione, tutto il traffico che utilizza la chiave API eliminata viene rifiutato.

Fai attenzione durante la rigenerazione delle chiavi API

La rigenerazione di una chiave API crea una nuova chiave con tutte le restrizioni della chiave precedente. Questo processo avvia anche un timer di 24 ore, dopodiché viene eliminata la vecchia chiave API.

Durante questo periodo di tempo, vengono accettate sia la vecchia che la nuova chiave, dandoti la possibilità di eseguire la migrazione delle tue app per utilizzare la nuova chiave. Tuttavia, una volta trascorso questo periodo, tutte le app che utilizzano ancora la chiave API precedente smetteranno di funzionare.

Prima di rigenerare una chiave API:

  • Innanzitutto, prova a limitare le chiavi API come descritto in Limitare le chiavi API.

  • Se non è possibile limitare la chiave API a causa di tipi di restrizioni delle applicazioni in conflitto, esegui la migrazione a più chiavi nuove (limitate) come descritto in Eseguire la migrazione a più chiavi API. La migrazione consente di controllare la migrazione e di implementare le tempistiche per le nuove chiavi API.

Se i suggerimenti precedenti non sono possibili e devi rigenerare la chiave API per impedirne l'uso non autorizzato, segui questi passaggi:

  1. Apri la pagina Credenziali di Google Maps Platform della console Google Cloud.

  2. Apri la chiave API che vuoi rigenerare.

  3. Nella parte superiore della pagina, seleziona Rigenera chiave.

  4. Seleziona Sostituisci chiave.

Nota: se necessario, puoi eseguire il rollback di qualsiasi chiave rigenerata alla versione precedente. Non sono previsti limiti di tempo per il rollback.

Eseguire il rollback di una chiave rigenerata

  1. Apri la pagina Credenziali di Google Maps Platform della console Google Cloud.

  2. Apri la chiave API di cui vuoi eseguire il rollback.

  3. Seleziona Ripristina la chiave precedente.

  4. Nella finestra di dialogo Ripristina, seleziona Ripristina chiave.

Dopo il rollback, la versione "nuova" precedente della chiave diventa la versione precedente e viene impostato un nuovo timer di disattivazione di 24 ore. È possibile tornare da una coppia all'altra finché non rigeneri la chiave.

Se rigeneri di nuovo la chiave, il valore della chiave non attivo precedente verrà sovrascritto.

Esegui la migrazione a più chiavi API

Per eseguire la migrazione da una chiave API per più app a una singola chiave API univoca per ogni app:

  1. Identifica le app che richiedono nuove chiavi:

    • Le app web sono le più facili da aggiornare, poiché sei tu a controllare tutto il codice. Pianifica l'aggiornamento di tutte le chiavi delle tue app basate sul web.
    • Le app mobile sono molto più difficili, poiché i clienti devono aggiornare le app prima di poter utilizzare le nuove chiavi.
  2. Crea e limita le nuove chiavi: aggiungi sia una restrizione delle applicazioni sia almeno una restrizione API. Per ulteriori informazioni, consulta le best practice consigliate.

  3. Aggiunta delle nuove chiavi alle app: per le app mobile, questo processo potrebbe richiedere mesi finché tutti gli utenti non eseguono l'aggiornamento all'app più recente con la nuova chiave API.

Proteggi le app utilizzando API web statiche

Le API web statiche, come l'API Maps Static e l'API Street View Static, sono simili alle chiamate API dei servizi web.

Effettua una chiamata a entrambi utilizzando una semplice API REST HTTPS e in genere generi l'URL della richiesta API sul server. Tuttavia, invece di restituire una risposta JSON, le API web statiche generano un'immagine che puoi incorporare nel codice HTML generato. Ancora più importante, in genere è l'client dell'utente finale, non il server, a chiamare il servizio Google Maps Platform.

Utilizzare una firma digitale

Come best practice, utilizza sempre le firme digitali oltre a una chiave API. Inoltre, controlla il numero di richieste non firmate che vuoi consentire al giorno e modifica le quote per le richieste non firmate di conseguenza.

Per ulteriori informazioni sulle firme digitali, consulta la Guida alla firma digitale.

Proteggi il tuo secret di firma

Per proteggere le API web statiche, non incorporare i secret di firma API direttamente nel codice o nella struttura dell'origine, né esporli nelle applicazioni lato client. Segui queste best practice per proteggere i secret di firma:

  • Firma le richieste lato server, non sul client. Se esegui la firma lato client in JavaScript, lo esponi a chiunque visiti il tuo sito. Pertanto, per le immagini generate dinamicamente, genera sempre gli URL di richiesta dell'API Maps Static e dell'API Street View Static firmati sul lato server quando pubblica la pagina web. Per i contenuti web statici, puoi utilizzare il widget Firma un URL ora nella pagina Credenziali di Google Maps Platform di Cloud Console.

  • Archivia i secret di firma al di fuori del codice sorgente e della struttura di origine della tua applicazione. Se inserisci i secret di firma o qualsiasi altra informazione privata nelle variabili di ambiente o includi file archiviati separatamente e poi condividi il codice, i secret di firma non saranno inclusi nei file condivisi. Se archivi secret di firma o altre informazioni private nei file, mantienili al di fuori della struttura di origine dell'applicazione per mantenere i secret di firma al di fuori del sistema di controllo del codice sorgente. Questa precauzione è particolarmente importante se utilizzi un sistema di gestione del codice sorgente pubblico, come GitHub.

Proteggi la tua chiave API nelle app che utilizzano i servizi web

Archivia le chiavi API al di fuori del codice sorgente o della struttura di origine dell'applicazione. Se inserisci le chiavi API o altre informazioni nelle variabili di ambiente o includi file archiviati separatamente e poi condividi il tuo codice, le chiavi API non vengono incluse nei file condivisi. Questo è particolarmente importante se utilizzi un sistema di gestione del codice sorgente pubblico, come GitHub.

Proteggi la tua chiave API e il secret di firma nelle app mobile utilizzando i servizi web o le API web statiche

Per proteggere le app mobile, utilizza un archivio chiavi o un server proxy protetto:

  • Archivia la chiave API o il secret di firma in un archivio chiavi sicuro. Con questo passaggio sarà più difficile eseguire lo scraping di chiavi API e altri dati privati direttamente dall'applicazione.

  • Utilizza un server proxy sicuro. Il server proxy fornisce una solida fonte per interagire con l'API Google Maps Platform appropriata. Per ulteriori informazioni sull'utilizzo di un server proxy, consulta l'articolo sulla condivisione indiretta: utilizzo dei server proxy con le librerie client dell'API di dati di Google.

    • Crea le tue richieste Google Maps Platform sul server proxy. Non consentire ai client di inoltrare chiamate API arbitrarie tramite il proxy.

    • Post-elabora le risposte di Google Maps Platform sul tuo server proxy. Filtrare i dati di cui il client non ha bisogno.

Gestire l'uso non autorizzato di una chiave API

Se rilevi un utilizzo non autorizzato della tua chiave API, procedi nel seguente modo per risolvere il problema:

  1. Limita le chiavi: se hai utilizzato la stessa chiave in più app, esegui la migrazione a più chiavi API e utilizza chiavi API separate per ogni app. Per maggiori dettagli, vedi:

  2. Rigenera le chiavi solo se non riesci a limitarle. Leggi la sezione Fai attenzione durante la rigenerazione delle chiavi API prima di procedere.

  3. Se i problemi persistono o se hai bisogno di aiuto, contatta l'assistenza.

Limitazioni consigliate per applicazioni e API

Le seguenti sezioni suggeriscono restrizioni relative ad applicazioni e API appropriate per ogni API, SDK o servizio di Google Maps Platform.

Limitazioni API consigliate

Le seguenti linee guida per le restrizioni delle API si applicano all'intera piattaforma di Google Maps:

  • Limita la chiave API solo alle API per cui la utilizzi, con le seguenti eccezioni:

    • Se la tua app utilizza l'SDK Places per Android o l'SDK Places per iOS, autorizza l'API Places.

    • Se la tua app utilizza l'API Maps JavaScript, autorizza sempre la tua chiave.

    • Se utilizzi anche uno qualsiasi dei seguenti servizi API Maps JavaScript, devi autorizzare anche le seguenti API:

    Servizio Restrizione delle API
    Servizio Directions, API Maps JavaScript API Directions
    Servizio Distance Matrix, API Maps JavaScript API Distance Matrix
    Servizio Elevation, API Maps JavaScript API Elevation
    Servizio Geocoding, API Maps JavaScript API Geocoding
    API Places Library, Maps JavaScript API Places

Ecco alcuni esempi:

  • Stai utilizzando l'SDK Maps for Android e l'SDK Places per Android, pertanto includi l'SDK Maps for Android e l'API Places come restrizioni dell'API.

  • Il tuo sito web utilizza l'API Maps JavaScript Elevation Service e l'API Maps Static, quindi aggiungi limitazioni API per tutte le seguenti API:

    • API Maps JavaScript
    • API Elevation
    • API Maps Static

Limitazione consigliata delle applicazioni

Siti web con API Maps JavaScript o API Static Web

Per i siti web che utilizzano i servizi Maps JavaScript o le API web statiche, utilizza la limitazione dell'applicazione Websites.

Da utilizzare per i siti web che utilizzano le API e i servizi JavaScript riportati di seguito:

1 Per le app mobile, ti consigliamo di utilizzare Maps SDK for Android e Maps SDK for iOS.

2 Vedi anche Proteggere le app mobile utilizzando i servizi web o le API web statiche.

Siti web con l'API Maps Embed

Sebbene l'utilizzo dell'API Maps Embed è senza costi, devi comunque limitare qualsiasi chiave API utilizzata per impedire utilizzi illeciti su altri servizi.

Best practice: crea una chiave API separata per l'utilizzo dell'API Maps Embed e limita questa chiave solo all'API Maps Embed. Questa limitazione protegge a sufficienza la chiave, impedendone l'utilizzo non autorizzato su qualsiasi altro servizio Google.

Se non riesci a separare l'utilizzo dell'API Maps Embed con una chiave API separata, proteggi la chiave con la limitazione dell'applicazione Websites.

App e server che utilizzano servizi web

Per le app e i server che utilizzano i servizi web, usa la limitazione delle applicazioni IP addresses.

Da utilizzare per le app e i server che utilizzano le seguenti API:

3 Per le app per dispositivi mobili, potresti utilizzare l'SDK Places per Android e l'SDK Places per iOS.

App Android

Per le app su Android, usa la limitazione delle app Android apps. Da utilizzare per le app e i server che usano i seguenti SDK:

Inoltre, impedisci il controllo accidentale delle chiavi API nel controllo della versione utilizzando il plugin Gradle Secrets per inserire secret da un file locale anziché archiviarli nel manifest Android.

App per iOS

Per le app su iOS, utilizza la limitazione delle applicazioni iOS apps. Da utilizzare per le app e i server che usano i seguenti SDK: