Management Credential

最終更新日:2025-08-18 15:33:44

管理認証情報 accessToken は、オブジェクトストレージサービスがリソース管理インターフェース要求の正当性を検証するために使用するセキュリティトークンです。安全のため、この認証情報は必ずビジネスサーバー側のみで使用し、誤った認可による悪用を避けてください。

管理認証情報を構築するには、以下2つのデータが必要です。

  • セキュリティキー (SecretKey)
    SKはオブジェクトストレージプラットフォームのキー管理者から取得してください。

  • アクセスキー (AccessKey)
    AKもオブジェクトストレージプラットフォームのキー管理者から取得してください。

管理認証情報生成アルゴリズム

1. 署名対象文字列(signingStr)の作成

HTTPリクエストから以下の要素を抽出します:

  • <path>:APIパス(例: /list)
  • <query>:URLクエリパラメータ(例: bucket=test&limit=100)
  • <body>:リクエストボディの生データ

組み合わせルール(シナリオに応じて選択):

シナリオ 算出式 適用例
クエリあり + ボディなし signingStr =<path>?<query>\n バケットリソース一覧
クエリあり + ボディあり signingStr =<path>?<query>\n<body> 複雑な条件検索
クエリなし + ボディなし signingStr =<path>\n ファイル削除
クエリなし + ボディあり signingStr =<path>\n<body> 音声・動画処理指示

具体例:

# 例1:リソース一覧インターフェース
path = "/list"
query = "bucket=user-data&limit=50"
signingStr = f"{path}?{query}\n"  # 必ず末尾に改行を付加

# 例2:音声・動画処理インターフェース
path = "/fops"
body = '{"operation":"transcode","format":"mp4"}'
signingStr = f"{path}\n{body}"    # パスとボディは改行で区切る

2. HMAC-SHA1署名の生成

SecretKey を用いて signingStrHMAC-SHA1 署名を実施し、Sign を求めます。

Sign = hmac_sha1(signingStr, "<SecretKey>")

3. 署名データをURLセーフBase64エンコード

Sign をURLセーフBase64でエンコードして encodeSign を得ます。

encodeSign = urlsafe_base64_encode(Sign)

4. 管理認証情報の生成

AccessKeyencodeSign を以下のルールで連結し、管理認証情報 accessToken を生成します。

accessToken = <AccessKey>:<encodeSign>