Creare firme

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

  1. Enable the Service Account Credentials API.

    Enable the API

  2. Devi disporre dell'autorizzazione iam.serviceAccounts.signBlob per il service account che utilizzi in questa guida. L'autorizzazione iam.serviceAccounts.signBlob è inclusa nel ruolo roles/iam.serviceAccountTokenCreator.

  3. 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

  1. Avere la gcloud CLI installata e inizializzata, che ti consente di generare un token di accesso per l'intestazione Authorization.

  2. Crea un file JSON contenente le seguenti informazioni:

    {
      "payload": "REQUEST_INFORMATION"
    }

    Dove:

  3. Utilizza cURL per chiamare l'API IAM con una richiesta signBlob:

    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.

  4. Per completare la firma, assicurati che il digest del messaggio sia decodificato in base64 e poi codificalo in esadecimale.

Passaggi successivi