Mode A and Mode B

最終更新日:2026-04-22 16:46:27

このドキュメントでは、Authentication Mode A および B について詳しく説明し、それらの使用方法に関する手順を提供します。

Authentication URL Structure

Mode A および B を使用すると、認証情報を CDN の URL パスに直接埋め込むことができます。この方法により、許可されたユーザーのみがコンテンツにアクセスできるようになり、コンテンツのセキュリティを確保するのに役立ちます。

Authentication Mode A

Authentication Mode A の URL 形式は以下の通りです:

http://domain/<time>/<key>/uri

Authentication Mode B

Authentication Mode B の URL 形式は以下の通りです:

http://domain/<key>/<time>/uri

これらの URL 構造において、 <key><time> は認証パラメータです。CDN エッジサーバーはこの情報を検証し、その検証結果に基づいてリクエストされたコンテンツを提供するかどうかを決定します。Mode A および B における <key><time> の順序は固定されており、変更することはできませんのでご注意ください。

URL 構造内の記号 <> は、認証パラメータの位置を示しています。これらの記号は実際の URL の一部ではありません。

Explanation of Fields in the Authentication URL

認証 URL は以下のフィールドで構成されます:

Field Description
domain これは CDN 用に設定したドメインです。
time time フィールドは、URL が生成された日時を示すタイムスタンプを表します。CDN エッジサーバーはこのタイムスタンプを使用して URL の有効性を判断します。現在の時間が URL の有効期間を超えている場合、コンテンツは提供されません。
time の値は、サポートされているタイムスタンプ形式のいずれかに準拠している必要があります。準拠していない場合、認証は失敗します。サポートされている形式の詳細については、 Timestamp Format セクションを参照してください。
key key フィールドには、認証の検証に使用される暗号化された署名が含まれます。この署名は、タイムスタンプ ( time )、秘密暗号化キー ( ourkey )、およびリクエストされた URI ( uri ) を組み合わせて生成されます。
署名の計算方法の詳細については、 Signature Parameters セクションを参照してください。
uri CDN にコンテンツをリクエストする URL の実際のパスです。たとえば、元のリクエスト URL が http://cdnetworks.com/browse/index.html の場合、 uri/browse/index.html になります。リクエスト URL にクエリ文字列が含まれている場合(例: /browse/index.html?user=123 )、 uri にはクエリ文字列を含めず、リクエストされたオブジェクトのパスのみを含める必要があります。

How the Authentication Works on CDN Edge Servers

CDN エッジサーバーが認証パラメータが埋め込まれたリクエストを受信すると、以下の手順を実行します:

  1. Timestamp Validation: サーバーはまず、URL 内のタイムスタンプ ( time ) が期限切れであるかどうかを確認します。

    • time + Expiration Time < current time の場合、URL は期限切れと見なされます。アクセスは拒否され、HTTP 403 Forbidden エラーが返されます。
    • time + Expiration Timecurrent time の場合、URL は有効と見なされます。
  2. Signature Verification: タイムスタンプが有効な場合、CDN エッジサーバーは設定された暗号化キー ( ourkey )、タイムスタンプ ( time )、およびリクエストされた URI ( uri ) に基づいて、期待される認証署名を計算します。次に、この計算された署名を URL で提供された key と比較します。

    • 計算された署名がリクエスト内の署名と一致する場合、認証は成功し、CDN エッジサーバーはリクエストされたコンテンツを提供します。
    • 署名が一致しない場合、認証は失敗します。アクセスは拒否され、HTTP 403 Forbidden エラーが返されます。

How to Configure Mode A and Mode B

Authentication Mode 設定で、必要に応じて Mode A または Mode B を選択します。以下のセクションでは、各設定フィールドの目的と方法について説明します。

Secret Key ($ourkey)

Secret Key ( $ourkey ) は、URL 内に認証署名 ( key ) を生成するために使用される秘密の文字列です。このキーはお客様と CDN サーバー間でのみ共有されるため、許可されていないユーザーが有効な認証パラメータを生成することが困難になり、セキュリティのレイヤーが追加されます。

  • CDN コンソールで、セミコロンで区切って複数の $ourkey 値を設定できます。
  • 複数のキーが設定されている場合、CDN エッジサーバーはリストされている順序で各キーを使用してリクエストの認証を試みます。最初のキーで認証に失敗した場合、サーバーは次のキーを試行し、有効なキーが見つかるかすべてのキーが試行されるまで続行します。

Timestamp Format

認証 URL を構築する際、 time フィールドは以下のサポートされている形式のいずれかに準拠している必要があります:

Timestamp Format Description
Decimal Unix Timestamp 例: 1586338211 は 2020年4月8日 17:30:11 UTC を表します。
Hexadecimal Unix Timestamp 例: 5e8e24631586338211 の 16進数を表します。
UNIX timestamps in milliseconds 例: 1586338211000 は同じ時点を表します。
YYYYMMDDHHMMSS 例: 20200408173011 は 2020年4月8日 17:30:11 を表します。
YYYYMMDDHHMM 例: 202004081730 は 2020年4月8日 17:30 を表します。

Signature Algorithm

認証署名 ( key ) は暗号化アルゴリズムを使用して生成されます。デフォルトでは MD5 アルゴリズムが使用されます。セキュリティを強化するために、弊社のテクニカルサポートチームに連絡して別の暗号化アルゴリズムをリクエストすることができます。

Signature Parameters

認証署名 ( key ) を生成するには、通常、以下のパラメータを使用します:

  • time: タイムスタンプ。
  • ourkey: 秘密の認証キー。
  • uri: リクエストされたコンテンツパス。

暗号化する文字列を構築する際、これらのパラメータを 1 つ以上含めることを選択し、その組み合わせの順序を指定できます。

  • Example: 組み合わせの順序を $uri$ourkey$time と設定した場合、暗号化前の文字列は、 uri に続いて $ourkey 、その後に time を連結して形成されます。

    • URL http://cdnetworks.com/browse/index.html に対して、 $ourkeycdnetworkstime202405131620 の場合、生成される暗号化前の文字列は /browse/index.htmlcdnetworks202405131620 になります。この文字列が設定された暗号化アルゴリズム(例:MD5)を通過して、最終的な署名 ( key ) が生成されます。

Expiration Time (Seconds)

以下のいずれかの方法を使用して、認証情報の有効期間を設定できます:

  • Upper Limit of Validity Period: URL 内のタイムスタンプ ( time ) 後の最大有効期間を秒単位で設定するには、負でない整数を入力します。
    • Example: 60 を入力すると、認証情報は URL で指定された時間から 1 分間有効になります。
  • Upper and Lower Limits of Validity Period: カンマで区切られた 2 つの整数値を入力します。最初の値はタイムスタンプの の秒数(≤ 0 である必要があります)を表し、 2 番目の値はタイムスタンプの の秒数(≥ 0 である必要があります)を表します。
    • Example: -60,60 を入力すると、認証情報はタイムスタンプの 1 分前から 1 分後まで有効になります。
  • No Validity Period Validation: マイナス記号 ( - ) を入力すると、有効期間のチェックが無効になります。

Allow Signature and Timestamp in Any Order

リクエスト URL における keytime の位置を入れ替えるオプションは、Authentication Mode A および B には 適用されません 。これらのモードでは、 keytime の位置は固定されており、指定された順序に従う必要があります。

Quick Verify if the Token Authentication Configuration is Correct

認証設定が正確であることを確認し、オンラインサービスへの潜在的な影響を避けるために、まずは設定をステージング環境にデプロイすることを強くお勧めします。正確であることが確認されたら、本番環境に実装できます。

さらに、CDN コンソールで利用可能な Token Generator を活用できます。このツールを使用すると、トークン認証パラメータを生成し、設定をすばやく検証できます。

  • 計算ツールの詳細については、ドキュメント: Token Generator をご参照ください。