Creare le firme

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 determinate richieste, ad esempio gli URL firmati. Questa guida utilizza le chiavi RSA per la creazione delle firme.

Prima di iniziare

  1. Abilita l'API Service Account Credentials.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

    Abilitare l'API

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

  3. L'account di servizio che utilizzi in questa guida deve avere l'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 avere l'autorizzazione per leggere i dati degli oggetti.

Crea una firma

  1. Assicurati di aver installato e inizializzato gcloud CLI, 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 signBlob richiesta:

    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 digest del messaggio 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