建立簽名

本頁說明如何使用 Google Cloud signBlob 方法,從待簽署字串或政策文件建立簽章。簽名會做為特定要求 (例如已簽署網址) 的憑證。本指南使用 RSA 金鑰建立簽名。

事前準備

  1. Enable the Service Account Credentials API.

    Enable the API

  2. 您必須具備本指南所用服務帳戶的 iam.serviceAccounts.signBlob 權限。iam.serviceAccounts.signBlob 權限包含在roles/iam.serviceAccountTokenCreator角色中。

  3. 本指南中使用的服務帳戶必須具備權限,才能執行簽章中編碼的要求。舉例來說,如果簽章用於從值區讀取物件資料,服務帳戶必須具備讀取物件資料的權限。

建立簽名

  1. 安裝並初始化 gcloud CLI,以便為 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 欄位會傳回以 Base64 編碼的訊息摘要

  4. 如要完成簽章,請確保訊息摘要已採用 base64 解碼,然後以十六進位編碼訊息摘要。

後續步驟