Créer des signatures

Cette page explique comment utiliser la méthode Google Cloud signBlob pour créer une signature à partir d'une chaîne à signer ou d'un document de stratégie. Les signatures sont utilisées comme identifiants dans certaines requêtes, telles que les URL signées. Ce guide utilise des clés RSA pour créer des signatures.

Avant de commencer

  1. Enable the Service Account Credentials API.

    Enable the API

  2. Vous devez disposer de l'autorisation iam.serviceAccounts.signBlob pour le compte de service que vous utilisez dans ce guide. L'autorisation iam.serviceAccounts.signBlob est incluse dans le rôle roles/iam.serviceAccountTokenCreator.

  3. Le compte de service que vous utilisez dans ce guide doit être autorisé à exécuter la requête encodée dans la signature. Par exemple, si la signature est utilisée pour lire des données d'objet à partir d'un bucket, le compte de service doit être autorisé à lire les données d'objet.

Créer une signature

  1. Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête Authorization.

    Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête Authorization.

  2. Créez un fichier JSON contenant les informations suivantes :

    {
      "payload": "REQUEST_INFORMATION"
    }

    Où :

  3. Exécutez cURL pour appeler l'API IAM avec une requête 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"

    Où :

    • JSON_FILE_NAME correspond au nom du fichier que vous avez créé à l'étape 2.

    • SERVICE_ACCOUNT_EMAIL correspond à l'adresse e-mail du compte de service que vous souhaitez utiliser pour créer la signature. Exemple : service-7550275089395@my-pet-project.iam.gserviceaccount.com.

Si la requête aboutit, la signature est renvoyée dans le champ signedBlob de la réponse.

Étapes suivantes