5

Costruisco il collegamento dell'app Android su Google Cloud Storage. Voglio consentire l'accesso a GCS alla mia app Android SOLO.Autenticazione Google Cloud Storage

Google offre tre soluzioni per collegare in modo sicuro alla GCS:

  • OAuth 2.0 (Quindi, con account Google)
  • account Cookie-base (con account Google troppo)
  • Authentication Service Account (con privati Key, ma installato localmente su Android App: Pessima se qualcuno decompilare il mio .apk)

Fonte: https://developers.google.com/storage/docs/authentication?hl=FR

C'è qualche altra soluzione per connettersi in sicurezza su GCS? Vorrei collegare il GCS a questo modo (Limita per ID client Android: SHA1 al .apk): https://developers.google.com/appengine/docs/java/endpoints/auth

E 'possibile con GCS? Dovrei usare Blobstore per farlo?

Grazie in anticipo

+0

Ho pubblicato una nuova domanda. È correlato. http://stackoverflow.com/q/28001476/3216207 – Oru

risposta

4

Questo è un problema fondamentale dell'informatica. Non ci si può mai fidare completamente del fatto che un'applicazione in esecuzione su hardware che è sotto il controllo totale di una terza parte sconosciuta non sia stata in qualche modo manomessa. Esistono molte e molte tecniche per rendere la manomissione molto più difficile, ma i sistemi remoti non saranno mai completamente sicuri. Esistono diversi modi per verificare che un utente abbia un determinato account Google, ma non puoi facilmente fidarti con certezza che una determinata app sia esattamente la tua app.

Detto questo, ci sono molti modi per progettare un'applicazione sicura senza fidarsi del cliente. Che cosa deve essere autorizzato a fare la tua app? Caricare oggetti? Scarica oggetti sicuri? C'è qualcosa di brutto che un utente può mascherare come potrebbe fare la tua applicazione?

+0

Quindi, per un'app del motore di app, sembra che gli account di servizio siano la strada da percorrere. Nel caso di un'app installata, qualsiasi segreto incorporato non è veramente segreto. Supponiamo di voler limitare il download dei file solo agli utenti che hanno installato la mia app, come nella [domanda collegata] di Oru (https://stackoverflow.com/questions/23756570/google-cloud-storage-authentication/23767657#comment44394349_23756570) . So che la risposta dipende dal potenziale impatto di un compromesso, ma suggeriresti di incorporare credenziali (o un token di aggiornamento o altro), o daresti l'accesso a GCS a quell'utente al momento dell'installazione? – BioeJD

0

Penso che sia possibile utilizzare 1) per autenticare le informazioni. L'app inoltrerà la richiesta di autenticazione al server (con il proprio token di accesso dell'app) e quando l'utente viene convalidato dai propri servizi, l'app riceverà il token oauth da inviare a gcloud e riceverà il file desiderato.

Problemi correlati