Cette page explique comment utiliser la méthodeGoogle 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
- Enable the Service Account Credentials API. - Roles required to enable APIs - To enable APIs, you need the Service Usage Admin IAM role ( - roles/serviceusage.serviceUsageAdmin), which contains the- serviceusage.services.enablepermission. Learn how to grant roles.
- Vous devez disposer de l'autorisation - iam.serviceAccounts.signBlobpour le compte de service que vous utilisez dans ce guide. L'autorisation- iam.serviceAccounts.signBlobest incluse dans le rôle- roles/iam.serviceAccountTokenCreator.
- 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
- Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête - Authorization.
- Créez un fichier JSON contenant les informations suivantes : - { "payload": "REQUEST_INFORMATION" } - Où : - REQUEST_INFORMATIONest une chaîne à signer ou un document de stratégie. Pour les deux, le contenu doit être encodé en base64.
 
- Exécutez - cURLpour 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_NAMEcorrespond au nom du fichier que vous avez créé à l'étape 2.
- SERVICE_ACCOUNT_EMAILcorrespond à l'adresse e-mail du compte de service que vous souhaitez utiliser pour créer la signature. Exemple :- example-service-account@my-pet-project.iam.gserviceaccount.com.
 - Si la requête aboutit, un condensé de message est renvoyé dans le champ - signedBlobde la réponse, qui est encodé en base64.
- Pour terminer la signature, assurez-vous que le condensé du message est décodé en base64, puis encodez-le en hexadécimal. 
Étapes suivantes
- Consultez la page de référence pour la signature d'objets blob avec Google Cloud CLI.
- Créez une URL signée manuellement à l'aide de la signature que vous avez créée.
- Créez une URL signée avec les outils Google Cloud .
- Apprenez-en plus sur les signatures.