本页面介绍如何使用 Google Cloud signBlob
方法根据待签名字符串或政策文档创建签名。签名在某些请求(例如签名网址)中用作凭据。本指南使用 RSA 密钥来创建签名。
须知事项
Enable the Service Account Credentials API.
本指南中使用的服务账号必须拥有
iam.serviceAccounts.signBlob
权限。roles/iam.serviceAccountTokenCreator
角色包含iam.serviceAccounts.signBlob
权限。您在本指南中使用的服务账号必须有权执行在签名中编码的请求。例如,如果签名将用于从存储桶读取对象数据,则服务账号必须具有读取对象数据的权限。
创建签名
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。创建一个包含以下信息的 JSON 文件:
{ "payload": "REQUEST_INFORMATION" }
其中:
REQUEST_INFORMATION
是 待签名字符串或政策文档。这两者的内容都必须采用 Base64 编码。
使用
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
字段中返回签名。
后续步骤
- 如需了解如何使用 Google Cloud CLI 为 blob 签名,请参阅参考页面。
- 使用您创建的签名手动创建签名网址。
- 使用 Google Cloud 工具创建签名网址。
- 详细了解签名。