Best practice per la sicurezza delle API

Per app e progetti che utilizzano le API e gli SDK di Google Maps Platform, devi utilizzare le chiavi API o, se supportate, Oauth, per impedire l'uso non autorizzato e gli addebiti. Se utilizzi chiavi API, per la massima sicurezza applica restrizioni per le chiavi API quando le crei. Queste best practice mostrano come limitarli.

Oltre ad applicare limitazioni relative ad applicazioni e chiavi API, segui eventuali prassi di sicurezza applicabili a prodotti specifici di Google Maps Platform. Ad esempio, consulta la sezione relativa all'API Maps JavaScript di seguito in Limitazioni di applicazioni e API consigliate.

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 che ti vengano addebitati costi per l'uso non autorizzato, segui queste best practice sulla sicurezza delle API per tutti i servizi, le API, gli SDK o i servizi Google Maps Platform:

Limitare le chiavi API

Utilizzare chiavi API separate per ogni app

Elimina le chiavi API inutilizzate

Controllare l'utilizzo della chiave API

Fai attenzione durante la rigenerazione delle chiavi API

Suggerimenti aggiuntivi per i siti web che utilizzano le API Static Web

Proteggere le app utilizzando le API web statiche

Consigli aggiuntivi per le app che utilizzano servizi web

Proteggere le app usando i servizi web

Consigli aggiuntivi per le app mobile per iOS e Android

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

Se stai limitando o rigenerando una chiave API in uso

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

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

  • Se non si verifica alcun abuso attivo della tua chiave API, puoi eseguire la migrazione delle app a più nuove chiavi API secondo i tuoi tempi, lasciando invariata la chiave API originale 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 scopri quando è stata eseguita la migrazione di API, tipi di piattaforma e domini specifici dalla vecchia chiave API prima di scegliere di limitare o eliminare la vecchia chiave. Per ulteriori informazioni, consulta Reporting e monitoraggio e Metriche.

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

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

Limitazione delle chiavi API

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

  • Limitazione delle applicazioni Puoi limitare l'utilizzo di una chiave API a piattaforme specifiche: applicazioni per Android o iOS, siti web specifici per le applicazioni lato client oppure indirizzi IP o subnet CIDR specifici per le app lato server che inviano 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 di Google Maps Platform su cui è possibile utilizzare la tua chiave API. Le limitazioni delle API consentono solo richieste alle API e agli SDK specificati da te. 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 limitazione 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 seguendo l'elenco delle restrizioni.

    Tipo di restrizione Descrizione
    Siti web Specifica uno o più siti web referrer.
    • Gli schemi dell'URI del referrer supportato 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.domain.com, questo funge da carattere jolly per www.domain.com/* e autorizza qualsiasi percorso secondario di quel nome host.
    • Fai attenzione quando autorizzi i referrer del percorso completo, ad esempio https://google.com/some/path perché, per impostazione predefinita, la maggior parte dei browser attuali rimuove 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 osservati dai server 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 usi la firma dell'app di Google Play, consulta Collaborare con i provider API per recuperare l'impronta del certificato di firma. Se gestisci autonomamente la tua chiave di firma, consulta la pagina relativa alla firma dell'applicazione automatica o fai riferimento alle istruzioni per l'ambiente di build.
    App per iOS Aggiungi l'identificatore pacchetto di ogni applicazione iOS che vuoi autorizzare.

    Per suggerimenti per una limitazione delle applicazioni, consulta Restrizioni consigliate per le applicazioni.

  5. Seleziona Salva.

Impostare le limitazioni 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, nella sezione Limitazioni 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 sono elencati, 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 specifico che ti interessa.

Per le limitazioni consigliate per le API, consulta Restrizioni API consigliate.

Controllare l'utilizzo della chiave API

Se stai limitando le chiavi API dopo che sono state create o se vuoi vedere quali API sono utilizzate da una chiave in modo da poterle limitare, devi controllare l'utilizzo delle chiavi API. Questi passaggi mostrano quali servizi e metodi API viene usata una chiave API. Se noti utilizzi diversi dai servizi di Google Maps Platform, esaminali per determinare se è necessario aggiungere altre limitazioni per evitare utilizzi indesiderati. Puoi utilizzare Metrics Explorer della console Cloud di Google Maps Platform per determinare quali restrizioni di API e applicazioni applicare alla tua chiave API:

Determinare le API che utilizzano la 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 chiavi API
  • Individuazione dell'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 restrizioni delle chiavi API generati automaticamente. Per maggiori informazioni 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. Controlla ogni chiave API:

    1. Seleziona AGGIUNGI FILTRO.

    2. Seleziona l'etichetta credential_id.

    3. Seleziona il valore corrispondente alla chiave che vuoi ispezionare.

    4. Annota le API per le quali viene utilizzata questa chiave API e verifica 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 l'uso 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 limitazioni corrette delle applicazioni.

Se la tua chiave API presenta limitazioni consigliate per le chiavi API, applicale. Per ulteriori informazioni, consulta Applicare le limitazioni consigliate per le chiavi API.

Se la tua chiave API non presenta suggerimenti sulle limitazioni, determina il tipo di limitazione dell'applicazione da applicare, in base al platform_type registrato 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. Controlla ogni chiave API:

    1. Seleziona AGGIUNGI FILTRO.

    2. Seleziona l'etichetta credential_id.

    3. Seleziona il valore corrispondente alla chiave che vuoi ispezionare.

    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 alla chiave le limitazioni relative ai siti web.
    PLATFORM_TYPE_ANDROID
    Applica alla chiave le limitazioni delle app Android.
    PLATFORM_TYPE_IOS
    Applica alla chiave le limitazioni delle applicazioni iOS.
    PLATFORM_TYPE_WEBSERVICE
    Potrebbe essere necessario usare le limitazioni relative agli indirizzi IP sulla chiave per limitarla adeguatamente. 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 è compromessa, puoi eliminare o rigenerare la chiave interessata 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é utilizzino lo stesso tipo di limitazione delle applicazioni.

Applica le limitazioni consigliate per le chiavi API

Per alcuni proprietari ed editor del progetto, la console Google Cloud suggerisce specifiche limitazioni delle chiavi API per le chiavi API senza restrizioni in base al loro utilizzo e alle loro 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 se ne viene visualizzato uno incompleto

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

    1. Verifica che l'utilizzo dell'API indicato in Metrics Explorer della console Google Cloud 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 tua 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.

  • La chiave API viene utilizzata in un'app o un sito web con volumi ridotti che non hanno registrato utilizzi negli ultimi 60 giorni.

  • Hai creato una nuova chiave molto di recente o hai eseguito molto di recente 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 di limitazioni delle applicazioni in conflitto oppure stai utilizzando la stessa chiave API in troppe app o siti web diversi. In entrambi i casi, come best practice, dovresti eseguire la migrazione a più chiavi. Per maggiori dettagli, consulta Eseguire la migrazione a più chiavi API.

Motivi per cui potrebbero essere visualizzati consigli che non sono visibili nei grafici

  • La tua app o il tuo sito web ha inviato solo brevi raffiche di traffico. In questo caso, passa da una visualizzazione GRAFICI per visualizzare una TABELLA o ENTRAMBI, poiché l'utilizzo è ancora visibile nella legenda. Per ulteriori informazioni, consulta Attivare/disattivare le legende complete del grafico.

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

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

  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 alcuna limitazione consigliata, consulta Impostare le limitazioni 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 dei consigli precedenti. Consulta i passaggi per la 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 le restrizioni relative ad applicazioni o 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 sei consapevole che un'app, un sito web o un'API mancano chiaramente nel consiglio, aggiungilo manualmente o attendi un paio di giorni per consentire l'aggiornamento del consiglio.

    • Se hai bisogno di ulteriore aiuto in merito al consiglio che hai 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 limitazione dell'applicazione da 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 chiave API.

Se non riesci a determinare quali limitazioni applicare:

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

Elimina le chiavi API inutilizzate

Prima di eliminare una chiave API, assicurati che non venga utilizzata in produzione. Se non c'è traffico riuscito, probabilmente la chiave può essere 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 vecchia chiave. Questo processo avvia anche un timer di 24 ore dopo il quale viene eliminata la vecchia chiave API.

Durante questo periodo di tempo, vengono accettate sia la chiave precedente che quella nuova, in modo da avere la possibilità di eseguire la migrazione delle 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 la sequenza temporale nelle nuove chiavi API.

Se i suggerimenti precedenti non sono possibili e devi rigenerare la chiave API per impedire 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 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 passare da una coppia all'altra finché non rigeneri la chiave.

Se rigeneri di nuovo la chiave, il valore della chiave non attivo 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, segui questi passaggi:

  1. Identifica le app che richiedono nuove chiavi:

    • Le app web sono le più facili da aggiornare, dato che 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 scoprire di più, consulta le best practice consigliate.

  3. Aggiunta della nuova chiave alle app: per le app mobile, questo processo potrebbe richiedere mesi prima che tutti gli utenti eseguano l'aggiornamento all'ultima app con la nuova chiave API.

Proteggi le app utilizzando le API Static Web

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

Effettuate una chiamata 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, è di solito il 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 quante richieste non firmate vuoi consentire al giorno e modifica le quote di 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 Static Web, non incorporare i secret di firma delle API direttamente nel codice o nella struttura ad albero delle origini, 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 sul lato client in JavaScript, lo esponi a chiunque visiti il tuo sito. Di conseguenza, 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 pubblichi la pagina web. Per i contenuti web statici, puoi utilizzare il widget Firma un URL ora nella pagina Credenziali di Google Maps Platform della console Cloud.

  • Archivia i secret di firma al di fuori del codice sorgente e dell'albero dei sorgenti 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 tuo codice, i secret di firma non verranno inclusi nei file condivisi. Se archivi secret di firma o altre informazioni private nei file, mantieni i file 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 dell'albero 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 verranno incluse nei file condivisi. Questo è particolarmente importante se utilizzi un sistema di gestione del codice sorgente pubblico, come GitHub.

Proteggi la chiave API e il secret per la firma nelle app mobile utilizzando i servizi web o le API Static Web

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

  • Archivia la chiave API o il secret di firma in un archivio chiavi sicuro. Questo passaggio rende più difficile 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 la pagina Living Vicariious: Using Proxy Servers with the Google Data API Client Libraries.

    • Crea le richieste di 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 non necessari al client.

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 tue 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 puoi limitarle. Leggi la sezione Fai attenzione durante la rigenerazione delle chiavi API prima di procedere.

  3. Se continui a riscontrare problemi o hai bisogno di aiuto, contatta l'assistenza.

Limitazioni consigliate per applicazioni e API

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

Limitazioni consigliate per le API

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

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

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

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

    • Se utilizzi anche uno 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 Maps SDK for Android e l'SDK Places per Android, pertanto includi l'SDK Maps for Android e l'API Places come restrizioni delle API.

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

    • API Maps JavaScript
    • API Elevation
    • API Maps Static

Limitazione delle applicazioni consigliata

Siti web con API Maps JavaScript o Static Web API

Per i siti web che utilizzano i servizi Maps JavaScript o le API Static Web, utilizza la limitazione delle applicazioni Websites.

Da utilizzare per i siti web che utilizzano i seguenti servizi e API JavaScript:

1 Per le applicazioni mobile, valuta l'utilizzo di Maps SDK for Android e Maps SDK for iOS.

2 Vedi anche Proteggere le app mobile utilizzando il servizio web o le API web statiche.

Siti web con l'API Maps Embed

Anche se 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 in modo adeguato 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 tua chiave con la limitazione dell'applicazione Websites.

App e server che utilizzano servizi web

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

Da utilizzare per app e server che utilizzano queste API:

3 Per le applicazioni mobile, valuta l'utilizzo dell'SDK Places per Android e dell'SDK Places per iOS.

App Android

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

Inoltre, puoi impedire il controllo accidentale delle chiavi API nel controllo della versione utilizzando il plug-in 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 app e server che utilizzano i seguenti SDK: