Questa pagina mostra come utilizzare il metodo Google Cloud signBlob
per creare una firma da una stringa da firmare o da un documento di policy. Le firme vengono utilizzate come credenziali in determinate richieste, ad esempio gli URL firmati. Questa guida utilizza le chiavi RSA per creare le firme.
Prima di iniziare
Enable the Service Account Credentials API.
Devi disporre dell'autorizzazione
iam.serviceAccounts.signBlob
per il service account che utilizzi in questa guida. L'autorizzazioneiam.serviceAccounts.signBlob
è inclusa nel ruoloroles/iam.serviceAccountTokenCreator
.Il account di servizio che utilizzi in questa guida deve avere l'autorizzazione per eseguire la richiesta codificata all'interno della firma. Ad esempio, se la firma verrà utilizzata per leggere i dati degli oggetti da un bucket, il service account deve disporre dell'autorizzazione per leggere i dati degli oggetti.
Crea una firma
Avere la gcloud CLI installata e inizializzata, che ti consente di generare un token di accesso per l'intestazione
Authorization
.Crea un file JSON contenente le seguenti informazioni:
{ "payload": "REQUEST_INFORMATION" }
Dove:
REQUEST_INFORMATION
è una stringa da firmare o un documento delle norme. Per entrambi, i contenuti devono essere codificati in base64.
Utilizza
cURL
per chiamare l'API IAM con una richiestasignBlob
:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT_EMAIL:signBlob"
Dove:
JSON_FILE_NAME
è il nome del file creato nel passaggio 2.SERVICE_ACCOUNT_EMAIL
è l'indirizzo email del account di servizio che vuoi utilizzare per creare la firma. Ad esempio,[email protected]
.
In caso di esito positivo, nella risposta viene restituito un message digest nel campo
signedBlob
, codificato in base64.Per completare la firma, assicurati che il digest del messaggio sia decodificato in base64 e poi codificalo in esadecimale.
Passaggi successivi
- Consulta la pagina di riferimento per la firma dei blob con Google Cloud CLI.
- Crea manualmente un URL firmato utilizzando la firma che hai creato.
- Crea un URL firmato con gli Google Cloud strumenti.
- Scopri di più sulle firme.