创建签名

本页面介绍如何使用 Google Cloud signBlob 方法根据待签名字符串或政策文档创建签名。签名在某些请求(例如签名网址)中用作凭据。本指南使用 RSA 密钥来创建签名。

须知事项

  1. Enable the Service Account Credentials API.

    Enable the API

  2. 本指南中使用的服务账号必须拥有 iam.serviceAccounts.signBlob 权限。roles/iam.serviceAccountTokenCreator 角色包含 iam.serviceAccounts.signBlob 权限。

  3. 您在本指南中使用的服务账号必须有权执行在签名中编码的请求。例如,如果签名将用于从存储桶读取对象数据,则服务账号必须具有读取对象数据的权限。

创建签名

  1. 安装并初始化 gcloud CLI,以便为 Authorization 标头生成访问令牌。

    或者,您可以创建访问令牌(使用 OAuth 2.0 Playground),并将其包含在 Authorization 标头中。

  2. 创建一个包含以下信息的 JSON 文件:

    {
      "payload": "REQUEST_INFORMATION"
    }

    其中:

  3. 使用 cURL,通过 signBlob 请求调用 IAM API:

    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"

    其中:

    • JSON_FILE_NAME 是您在第 2 步中创建的文件的名称。

    • SERVICE_ACCOUNT_EMAIL 是您要用于创建签名的服务账号的电子邮件地址。例如 service-7550275089395@my-pet-project.iam.gserviceaccount.com

如果成功,则会在响应的 signedBlob 字段中返回签名。

后续步骤