Google consiglia di seguire queste best practice quando amministri ed esegui la tua app.
Protezione delle chiavi API
Per utilizzare i nostri servizi online ti serve una chiave API che consenta a Google di misurare l'utilizzo. Consigliamo di limitare le chiavi API per impedire l'utilizzo non autorizzato.
Tipi di restrizioni delle chiavi API
Esistono due tipi di limitazioni relative alle chiavi API e puoi utilizzarle entrambe contemporaneamente.
Tipo di restrizione | Limita l'utilizzo delle chiavi a |
---|---|
Restrizione delle API | Una particolare API. |
Restrizione dell'applicazione | Indirizzi IP, siti web o app specifici. |
Consigli sulla limitazione delle chiavi API
Ti consigliamo di commissionare chiavi API separate per i seguenti scenari.
Scenario | Suggerimento |
---|---|
I tuoi server di gioco back-end chiamano l'API Playable Location per recuperare le località utilizzabili. | Configura una chiave con due limitazioni:
|
La versione Android della tua app chiama l'SDK Maps per Unity per recuperare i dati geografici. | Configura una chiave con restrizioni dell'applicazione per consentire le chiamate solo dalla versione Android della tua app. |
La versione dell'app per iOS chiama l'SDK Maps per l'API Unity per recuperare i dati geografici. | Configura una chiave con restrizioni dell'applicazione 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 delle chiavi API
- Vai al riquadro delle credenziali in Google Cloud Console.
- Seleziona la chiave API per cui vuoi impostare una restrizione. Viene visualizzata la pagina della proprietà della chiave API.
- In Restrizioni delle chiavi, seleziona la scheda Restrizioni delle applicazioni,
quindi seleziona uno dei quattro tipi di limitazioni delle applicazioni.
Tipo di restrizione Descrizione Referrer HTTP Accetta le richieste dall'elenco di siti web da te forniti. Indirizzi IP Accetta le richieste dall'elenco di indirizzi IP del server web che fornisci. App per Android Aggiungi il nome del pacchetto e l'impronta digitale per il certificato di firma SHA-1 per limitare l'utilizzo alla tua app Android. App per iOS Accetta le richieste dall'app per iOS con l'identificatore pacchetto fornito. - In Limitazioni delle chiavi, seleziona la scheda Restrizioni delle API, quindi seleziona l'API a cui vuoi limitare la chiave API.
- Fai clic su Salva.
Supporta gli aggiornamenti delle chiavi API
Assicurati di disporre di un'infrastruttura per aggiornare le chiavi API nel tuo stack di gestione. In questo modo, il gioco può recuperare se la chiave API viene compromessa e devi rinnovarla con un breve preavviso.
Usa chiavi separate per ogni applicazione, in modo da poterle scambiare facilmente in una senza influire sulle altre app.
Consigli per la sicurezza dei server di gioco
Quando il server dell'API Playable Location subisce un'interruzione per qualsiasi motivo, si verificano problemi quando torna online, quando più server di gioco tentano di ricollegarsi contemporaneamente. Un picco di questo valore QPS può inviare il server alla modalità DoS, che aggrava la situazione bloccando il traffico in entrata.
Per ridurre questa situazione, Google ti chiede di implementare il backoff esponenziale binario sul tuo server di gioco. Si tratta di un approccio sistematico alla spaziatura dei nuovi tentativi di connessione. Nello specifico, devi implementare un algoritmo che attende N secondi dopo un tentativo di riconnessione non riuscito prima di riprovare. Se il tentativo successivo non va a buon fine, l'algoritmo raddoppia il periodo di attesa e poi riprova. Se il tentativo successivo non va a buon fine, l'algoritmo raddoppia di nuovo il periodo di attesa e poi riprova. Continui a raddoppiare il periodo di attesa dopo ogni tentativo, finché il tentativo non va a buon fine.
Gestire i codici di stato HTTP di ritorno
Devi implementare il backoff esponenziale binario per alcuni codici di ritorno HTTP, ma non per tutti.
- 400
- Si tratta di errori del client che in genere non vengono ripristinati, pertanto il nuovo tentativo di richieste non riuscite che generano questo codice di errore non andrà a buon fine. Dovresti rilevare questi tipi di errori durante il test.
- 429
- Si tratta di un errore di risorse esaurite quando si inizia a esaurire la quota API. Per visualizzare i limiti QPS dell'API del tuo progetto, visita Quote delle API di Google.
- 500 sec
- Si tratta degli errori lato server, i tipi di errori per cui il backoff esponenziale è il più utile.