En esta página se explica cómo usar el método Google Cloud signBlob para crear una firma a partir de una cadena o un documento de política que se va a firmar. Las firmas se usan como credenciales en determinadas solicitudes, como las URLs firmadas. En esta guía se usan claves RSA para crear firmas.
Antes de empezar
- 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.
- Debes tener el permiso - iam.serviceAccounts.signBlobpara la cuenta de servicio que utilices en esta guía. El permiso- iam.serviceAccounts.signBlobestá incluido en el rol- roles/iam.serviceAccountTokenCreator.
- La cuenta de servicio que utilices en esta guía debe tener permiso para realizar la solicitud codificada en la firma. Por ejemplo, si la firma se va a usar para leer datos de objetos de un segmento, la cuenta de servicio debe tener permiso para leer los datos de objetos. 
Crear una firma
- Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado - Authorization.
- Crea un archivo JSON que contenga la siguiente información: - { "payload": "REQUEST_INFORMATION" } - Donde: - REQUEST_INFORMATIONes una cadena que se va a firmar o un documento de política. En ambos casos, el contenido debe estar codificado en Base64.
 
- Usa - cURLpara llamar a la API de IAM con una solicitud- 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" - Donde: - JSON_FILE_NAMEes el nombre del archivo que has creado en el paso 2.
- SERVICE_ACCOUNT_EMAILes la dirección de correo de la cuenta de servicio que quieres usar para crear la firma. Por ejemplo,- example-service-account@my-pet-project.iam.gserviceaccount.com.
 - Si se realiza correctamente, se devuelve un resumen del mensaje en el campo - signedBlobde la respuesta, que está codificado en base64.
- Para completar la firma, asegúrate de que el resumen del mensaje se haya decodificado en base64 y, a continuación, codifica el resumen del mensaje en hexadecimal. 
Siguientes pasos
- Consulta la página de referencia para firmar blobs con Google Cloud CLI.
- Crea una URL firmada manualmente con la firma que has creado.
- Crea una URL firmada con Google Cloud herramientas.
- Consulta más información sobre las firmas.