CDNetworks ドキュメントセンター Object Storage API Include Signatures in Authorization Header

Include Signatures in Authorization Header

最終更新日:2025-08-22 14:59:20

署名の説明

元のリクエスト(署名なし)

クライアントからOSへ署名情報なしでHTTPリクエストを送信したい場合、リクエストは以下のようになります。

DELETE /mine-type.mp4 HTTP/1.1
Host: wcstest-r9-private.s3-cn-south-1.wcsapi.com
Range:0-9
x-wos-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-wos-date:20201103T104419Z

署名付きリクエスト
署名手順を完了すると、Authorizationヘッダーで認証情報をリクエストに追加できます。これには以下が含まれます:

  • 使用した署名アルゴリズム(WOS-HMAC-SHA256)
  • Credentialスコープ(お使いのアクセスキーID含む)
  • 署名対象ヘッダーのリスト
  • 計算した署名

リクエスト例は以下のようになります。

DELETE /mine-type.mp4 HTTP/1.1
Host: wcstest-r9-private.s3-cn-south-1.wcsapi.com
Authorization: WOS-HMAC-SHA256 Credential=2cd1baf7681435ce4a298e9df3eb36958e725394/20201103/cn-south-1/wos/wos_request, SignedHeaders=host;x-wos-content-sha256;x-wos-date, Signature=0243fe336dc075f95add64c5fe980ae6fd0446b243e0f301e4ad75d32d96dc6a
Range:0-9
x-wos-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-wos-date:20201103T104419Z

例1 DeleteObject

この例で使用するデータは以下のとおりです。

  • AccessKeyId: 2cd1baf7681435ce4a298e9df3eb36958e725394
  • SecretKey: 968d43bc594af8622923d0681ddc367b35a8b23b
  • リクエストタイムスタンプ: 20201103T104419Z
  • バケット名: wcstest-r9-private
  • ストレージエリア: cn-south-1

/‌mine-type.mp4 ファイルを wcstest-r9-private から削除する場合、リクエストは以下のようになります。

DELETE /mine-type.mp4 HTTP/1.1
Host: wcstest-r9-private.s3-cn-south-1.wcsapi.com
Authorization: <Authorization>
Range:0-9
x-wos-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-wos-date:20201103T104419Z

Note: ダウンロードリクエストはボディコンテンツを必要としないため、x-wos-content-sha256 の値は空のリクエストボディのハッシュ値です。

Signatureを計算しAuthorizationヘッダーを構成する手順は以下の通りです。

  1. CanonicalRequest
DELETE
/mine-type.mp4

host:wsmooc.avinfo.cloudv.haplat.net
x-wos-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-wos-date:20201103T104419Z

host;x-wos-content-sha256;x-wos-date
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Note: DeleteObjectのCanonicalQueryStringは空のため、3行目は空行になります。

  1. StringToSign
WOS-HMAC-SHA256
20201103T104419Z
20201103/cn-south-1/wos/wos_request
55f35c488a08877ce1bec27b2d852b4d242a135df3e9bc3bd60be027df455216

  1. SigningKey
SingingKey = HMAC-SHA256(HMAC-SHA256(HMAC-SHA256(HMAC-SHA256("WOS" + "EfxET06Dvb2cahG8OBtZH9WRqkB3EXAMPLEKEY","20201103"),"cn-south-1"),"wos"),"wos_request")

  1. Signature
0243fe336dc075f95add64c5fe980ae6fd0446b243e0f301e4ad75d32d96dc6a

  1. Authorizationヘッダー
WOS-HMAC-SHA256 Credential=2cd1baf7681435ce4a298e9df3eb36958e725394/20201103/cn-south-1/wos/wos_request, SignedHeaders=host;x-wos-content-sha256;x-wos-date, Signature=0243fe336dc075f95add64c5fe980ae6fd0446b243e0f301e4ad75d32d96dc6a

例2 GetAvinfo

この例で使用するデータは以下のとおりです。

  • AccessKeyId: AKLTAIHGXsvVYxTEXAMPLE
  • SecretKey: EfxET06Dvb2cahG8OBtZH9WRqkB3EXAMPLEKEY
  • リクエストタイムスタンプ: 20201103T104419Z
  • スペース名: wsmooc
  • ストレージエリア: cn-east-2

/video/20201029/0f3de4278bd6438eb871a6daa43c6305/5555555582qq77n8555602653pp77282_b67923f7d7b2459091621637b1808ab3.mp4 の avinfo情報を wsmooc から取得する場合、リクエストは以下のようになります。

GET /video/20201029/0f3de4278bd6438eb871a6daa43c6305/5555555582qq77n8555602653pp77282_b67923f7d7b2459091621637b1808ab3.mp4?avinfo HTTP/1.1
Host: wsmooc.avinfo.cloudv.haplat.net
Authorization: <Authorization>
x-wos-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-wos-date:20201103T104419Z

Note: ダウンロードリクエストはボディコンテンツ不要のため、x-wos-content-sha256 の値は空のリクエストボディのハッシュ値です。

Signatureを計算しAuthorizationヘッダーを構成する手順は以下の通りです。

  1. CanonicalRequest
GET
/video/20201029/0f3de4278bd6438eb871a6daa43c6305/5555555582qq77n8555602653pp77282_b67923f7d7b2459091621637b1808ab3.mp4
avinfo=
host:wsmooc.avinfo.cloudv.haplat.net
x-wos-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-wos-date:20201103T104419Z

host;x-wos-content-sha256;x-wos-date
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

  1. StringToSign
WOS-HMAC-SHA256
20201103T104419Z
20201103/cn-east-2/wos/wos_request
0788dd8e9b3a088477031b2127ac05bfcf960229a636adb54cb387df1e1cb096

  1. SigningKey
SingingKey = HMAC-SHA256(HMAC-SHA256(HMAC-SHA256(HMAC-SHA256("WOS" + "EfxET06Dvb2cahG8OBtZH9WRqkB3EXAMPLEKEY","20201103"),"cn-east-2"),"wos"),"wos_request")

  1. Signature
335265293972c56fa6e0c4453a86c7aa32610e6a6d6809dac4e9fb64700296ed

  1. Authorizationヘッダー
WOS-HMAC-SHA256 Credential=AKLTAIHGXsvVYxTEXAMPLE/20201103/cn-east-2/wos/wos_request, SignedHeaders=host;x-wos-content-sha256;x-wos-date, Signature=335265293972c56fa6e0c4453a86c7aa32610e6a6d6809dac4e9fb64700296ed