Chiavi HMAC

Configurazione

Questa pagina descrive le chiavi HMAC (Hash-based Message Authentication Code), che puoi utilizzare per autenticare le richieste all'API XML di Cloud Storage. Le chiavi HMAC sono utili quando vuoi spostare i dati tra altri provider di spazio di archiviazione sul cloud e Cloud Storage, perché ti consentono di riutilizzare il codice esistente per accedere a Cloud Storage.

Panoramica

Una chiave HMAC è un tipo di credenziale associata a un account, in genere un account di servizio. Utilizzi una chiave HMAC per creare firme utilizzando l' algoritmo di firma HMAC-SHA256. Le firme che crei vengono poi incluse nelle richieste all'API XML di Cloud Storage. Le firme mostrano che una determinata richiesta è autorizzata dall'account associato alla chiave HMAC.

Le chiavi HMAC hanno due componenti principali: un ID di accesso e un secret.

  • ID di accesso: una stringa alfanumerica collegata a un account specifico.

    • Se collegata a un account di servizio, la stringa ha una lunghezza di 61 caratteri.

    Di seguito è riportato un esempio di ID di accesso:

    GOOGTS7C7FUP3AIRVJTE2BCDKINBTES3HC2GY5CBFJDCQ2SYHV6A6XXVTJFSA

  • Secret: una stringa con codifica Base64 di 40 caratteri collegata a un ID di accesso specifico. Un secret è una chiave precondivisa che solo tu e Cloud Storage conoscete. Utilizzi il secret per creare firme nell'ambito della procedura di autenticazione. Di seguito è riportato un esempio di secret:

    bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ

Sia l'ID di accesso sia il secret identificano in modo univoco una chiave HMAC, ma il secret è un'informazione molto più sensibile, perché viene utilizzato per creare le firme.

Facoltativamente, puoi abilitare il restrictAuthTypes vincolo su una risorsa, che limita l'accesso per le richieste firmate dalle chiavi HMAC.

Archiviare i secret

Quando crei una chiave HMAC per un account di servizio, ti viene fornito il secret della chiave una sola volta. Devi archiviare in modo sicuro il secret, insieme all'ID di accesso associato. Se perdi il secret, non può essere recuperato da te o Google Cloud, e devi creare una nuova chiave HMAC per il account di servizio per continuare ad autenticare le richieste.

Best practice per l'archiviazione dei secret

  • Non condividere il secret della chiave HMAC. I secret delle chiavi HMAC devono essere trattati come qualsiasi insieme di credenziali di accesso.

  • Come best practice per la sicurezza, devi modificare regolarmente le chiavi nell'ambito di una rotazione della chiave.

  • Se ritieni che qualcun altro stia utilizzando le tue chiavi HMAC, devi eliminare immediatamente le chiavi HMAC interessate e crearne di nuove.

  • Quando modifichi le chiavi HMAC, devi aggiornare il codice con le nuove chiavi HMAC prima di eliminare quelle precedenti. Quando elimini le chiavi HMAC, queste diventano immediatamente non valide e non sono recuperabili.

Limitazioni

  • Le chiavi HMAC possono essere utilizzate solo per effettuare richieste all'API XML, non all'API JSON.

  • Puoi avere un massimo di 10 chiavi HMAC per ogni account di servizio. Le chiavi eliminate non vengono conteggiate ai fini di questo limite.

  • Dopo la creazione, possono essere necessari fino a 60 secondi prima che una chiave HMAC dell'account di servizio diventi utilizzabile. Dopo l'eliminazione di un account di servizio, le chiavi HMAC che gli appartengono potrebbero continuare a funzionare per un massimo di 5 minuti. Al contrario, possono essere necessari fino a 5 minuti prima che le chiavi HMAC diventino di nuovo utilizzabili dopo aver annullato l'eliminazione dell'account di servizio che le possiede.

  • Se abiliti il vincolo restrictAuthTypes su una risorsa, non puoi più creare o attivare chiavi HMAC per il tipo di account specificato in quella risorsa.

Passaggi successivi