本頁說明如何使用 Google Cloud signBlob
方法,從待簽署字串或政策文件建立簽章。簽名會做為特定要求 (例如已簽署網址) 的憑證。本指南使用 RSA 金鑰建立簽名。
事前準備
Enable the Service Account Credentials API.
您必須具備本指南所用服務帳戶的
iam.serviceAccounts.signBlob
權限。iam.serviceAccounts.signBlob
權限包含在roles/iam.serviceAccountTokenCreator
角色中。本指南中使用的服務帳戶必須具備權限,才能執行簽章中編碼的要求。舉例來說,如果簽章用於從值區讀取物件資料,服務帳戶必須具備讀取物件資料的權限。
建立簽名
安裝並初始化 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
欄位會傳回以 Base64 編碼的訊息摘要。如要完成簽章,請確保訊息摘要已採用 base64 解碼,然後以十六進位編碼訊息摘要。
後續步驟
- 如要瞭解如何使用 Google Cloud CLI 簽署 Blob,請參閱參考頁面。
- 手動建立已簽署的網址,並使用您建立的簽章。
- 使用工具建立已簽署網址。 Google Cloud
- 進一步瞭解簽名。