Questa pagina mostra come utilizzare il Google Cloud signBlob metodo
per creare una firma da una stringa da firmare o da un documento di policy. Le firme
vengono utilizzate come credenziali in alcune richieste, ad esempio gli URL firmati. Questa
guida utilizza le chiavi RSA per la creazione delle firme.
Prima di iniziare
Abilita l'API Service Account Credentials.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.Devi disporre dell'autorizzazione
iam.serviceAccounts.signBlobper l'account di servizio che utilizzi in questa guida. L'autorizzazioneiam.serviceAccounts.signBlobè inclusa nel ruoloroles/iam.serviceAccountTokenCreator.Il account di servizio che utilizzi in questa guida deve disporre dell'autorizzazione per eseguire la richiesta codificata nella firma. Ad esempio, se la firma verrà utilizzata per leggere i dati degli oggetti da un bucket, l'account di servizio deve disporre dell'autorizzazione per leggere i dati degli oggetti.
Crea una firma
Assicurati di aver installato e inizializzato gcloud CLI installato e inizializzato, 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 di policy. Per entrambi, i contenuti devono essere codificati in base64.
Utilizza
cURLper chiamare l'API IAM con unasignBlobrichiesta: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 che hai creato nel passaggio 2.SERVICE_ACCOUNT_EMAILè l'indirizzo email del account di servizio che vuoi utilizzare per creare la firma. Ad esempio,example-service-account@my-pet-project.iam.gserviceaccount.com.
Se l'operazione va a buon fine, nella risposta viene restituito un message digest nel campo
signedBlob, codificato in base64.Per completare la firma, assicurati che il message digest sia decodificato in base64, quindi codificalo in formato esadecimale.
Passaggi successivi
- Consulta la pagina di riferimento per la firma dei blob con il 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.