Crear firmas

En esta página, se muestra cómo usar el método signBlob de Google Cloud con el objetivo de crear una firma de una cadena para firmar o 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

  1. Enable the Service Account Credentials API.

    Enable the API

  2. Debes tener el permiso iam.serviceAccounts.signBlob para la cuenta de servicio que usas en esta guía. Este permiso iam.serviceAccounts.signBlob se incluye en el rol roles/iam.serviceAccountTokenCreator.

  3. 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

  1. Tener la gcloud CLI instalada e inicializadapara generar un token de acceso para el encabezado Authorization.

    Como alternativa, puedes crear un token de acceso con OAuth 2.0 Playground y, luego, incluirlo en el encabezado Authorization.

  2. Crea un archivo JSON que contenga la siguiente información:

    {
      "payload": "REQUEST_INFORMATION"
    }

    Aquí:

  3. Usa cURL para 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"

    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.iam.gserviceaccount.com

Si se ejecuta de forma correcta, la firma se muestra en el campo signedBlob de la respuesta.

¿Qué sigue?