En esta página, se muestra cómo usar el métodoTrusted Cloud signBlob
para crear una firma a partir de una cadena para firmar o un documento de políticas. Las firmas se usan como credenciales en ciertas solicitudes, como las URLs firmadas. En esta guía, se usan claves RSA para crear firmas.
Antes de comenzar
Enable the Service Account Credentials API.
Debes tener el permiso
iam.serviceAccounts.signBlob
para la cuenta de servicio que usas en esta guía. Este permisoiam.serviceAccounts.signBlob
se incluye en el rolroles/iam.serviceAccountTokenCreator
.La cuenta de servicio que uses en esta guía debe tener permiso para realizar la solicitud codificada dentro de la firma. Por ejemplo, si se usará la firma para leer datos de un bucket, la cuenta de servicio debe tener permiso para leer los datos del objeto.
Crea una firma
Tener la gcloud CLI instalada e inicializada, lo 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" }
Aquí:
REQUEST_INFORMATION
es una cadena para firmar o un documento de políticas. Para ambos, el contenido debe estar codificado en base64.
Usa
cURL
para llamar a la API de IAM con una solicitudsignBlob
: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"
Aquí:
JSON_FILE_NAME
es el nombre del archivo que creaste en el paso 2.SERVICE_ACCOUNT_EMAIL
es la dirección de correo electrónico de la cuenta de servicio que deseas usar para crear la firma. Por ejemplo,service-7550275089395@my-pet-project.s3ns-system.iam.gserviceaccount.com
Si se ejecuta de forma correcta, se muestra un resumen del mensaje en el campo
signedBlob
de la respuesta, que está codificado en Base64.Para completar la firma, asegúrate de que el resumen del mensaje esté decodificado en base64 y, luego, codifícalo en hexadecimal.
¿Qué sigue?
- Consulta la página de referencia para firmar BLOB con Google Cloud CLI.
- Crea una URL firmada de forma manual con la firma que creaste.
- Crea una URL firmada con Trusted Cloud herramientas.
- Obtén más información acerca de las firmas.