署名を作成する

このページでは、Google Cloud signBlob メソッドを使用して、署名する文字列またはポリシー ドキュメントから署名を作成する方法について説明します。署名は、署名付き URL などの特定のリクエストで認証情報として使用されます。このガイドでは、署名の作成に RSA 鍵を使用します。

始める前に

  1. このガイドで使用するサービス アカウントに対する iam.serviceAccounts.signBlob 権限が必要です。iam.serviceAccounts.signBlob 権限は、roles/iam.serviceAccountTokenCreator のロールに含まれています。

  2. このガイドで使用するサービス アカウントには、署名内にエンコードされたリクエストを実行する権限が必要です。たとえば、バケットからオブジェクト データを読み取るために署名を使用する場合、サービス アカウントにはオブジェクト データを読み取る権限が必要です。

署名の作成

  1. Authorization ヘッダーのアクセス トークンを生成するには、gcloud CLI のインストールと初期化を行います。

    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 フィールドに署名が返されます。

次のステップ