Google consiglia di seguire queste best practice per l'amministrazione e l'esecuzione dell'app.
Protezione delle chiavi API
Hai bisogno di una chiave API per utilizzare i nostri servizi online e il suo utilizzo consente a Google di misurare il tuo utilizzo. Ti consigliamo di limitare le chiavi API per impedire l'uso non autorizzato.
Tipi di limitazioni relative alle chiavi API
Esistono due tipi di limitazioni relative alle chiavi API ed è possibile utilizzarli contemporaneamente.
Tipo di restrizione | Limita l'utilizzo delle chiavi a |
---|---|
Restrizione delle API | Un'API specifica. |
Limitazione delle applicazioni | Indirizzi IP, siti web o app specifici. |
Suggerimenti sulle restrizioni delle chiavi API
Ti consigliamo di richiedere chiavi API separate per gli scenari riportati di seguito.
Scenario | Suggerimento |
---|---|
I server di gioco di backend chiamano l'API Playable locations per recuperare i luoghi in cui è possibile giocare. | Configura una chiave con due limitazioni:
|
La versione per Android della tua app chiama l'SDK Maps for Unity per recuperare i dati geografici. | Configura una chiave con una limitazione delle applicazioni per consentire le chiamate solo dalla versione Android della tua app. |
La versione iOS della tua app chiama l'API Maps SDK for Unity per recuperare i dati geografici. | Configura una chiave con una limitazione delle applicazioni per consentire le chiamate solo dalla versione iOS della tua app. |
Per ulteriori informazioni, consulta le best practice per la sicurezza delle API.
Per configurare le limitazioni relative alle chiavi API
- Visita il riquadro delle credenziali nella console Google Cloud.
- Seleziona la chiave API per la quale vuoi impostare una restrizione. Viene visualizzata la pagina della proprietà della chiave API.
- In Limitazioni chiave, seleziona la scheda Limitazioni delle applicazioni, quindi seleziona uno dei quattro tipi di restrizione delle applicazioni.
Tipo di restrizione Descrizione Referrer HTTP Accetta le richieste dall'elenco dei siti web che fornisci. Indirizzi IP Accetta le richieste dall'elenco di indirizzi IP dei server web da te forniti. App Android Aggiungi il nome del pacchetto e l'impronta digitale per il certificato di firma SHA-1 per limitare l'utilizzo alla tua app per Android. App per iOS Accetta le richieste dall'app per iOS con l'identificatore bundle da te fornito. - In Limitazioni relative alle chiavi, seleziona la scheda Limitazioni API, quindi seleziona l'API a cui vuoi limitare la chiave API.
- Fai clic su Salva.
Supporto degli aggiornamenti delle chiavi API
Assicurati di disporre dell'infrastruttura necessaria per aggiornare le chiavi API nello stack di pubblicazione. In questo modo il tuo gioco può recuperare se la tua chiave API è compromessa e devi rinnovarla rapidamente.
Usa chiavi separate per ogni applicazione, in modo da poter scambiare facilmente una chiave in una senza influire sulle altre app.
Consigli sulla sicurezza dei server di gioco
Quando per qualsiasi motivo il server dell'API Playable locations si interrompe, si verificano problemi quando il server torna online, ovvero quando più server di gioco tentano di riconnettersi contemporaneamente. Un tale picco di QPS può portare il server in modalità DoS, il che aggrava la situazione bloccando il traffico in entrata.
Per attenuare questa situazione, Google richiede di implementare il backoff esponenziale binario sul tuo server di gioco. È un approccio sistematico per distanziare i nuovi tentativi di connessione. Nello specifico, implementerai un algoritmo che attende N secondi dopo un tentativo di riconnessione non riuscito prima di riprovare. Se il tentativo successivo ha esito negativo, l'algoritmo raddoppia il periodo di attesa e riprova. Se il tentativo successivo non va a buon fine, l'algoritmo raddoppia di nuovo il periodo di attesa, quindi riprova. Continui a raddoppiare il periodo di attesa dopo ogni tentativo, finché l'ultimo tentativo non va a buon fine.
Gestione dei codici di stato restituiti HTTP
Dovresti implementare il backoff esponenziale binario per alcuni codici restituiti HTTP, ma non per tutti.
- 400s
- Si tratta di errori del client che in genere non possono essere ripristinati, quindi riprovare le richieste non riuscite che generano questi codici di errore non funzionerà. Dovresti rilevare questo tipo di errori durante i test.
- 429
- Questo è un errore di risorse esaurite che si verifica quando inizi a esaurire la quota API. Per visualizzare i limiti QPS delle API del tuo progetto, consulta la pagina Quote delle API di Google.
- 500
- Si tratta degli errori lato server, il tipo di errori per i quali il backoff esponenziale è più utile.