最終更新日:2026-04-22 16:46:26
このドキュメントでは、Authentication Mode A および B について詳しく説明し、それらの使用方法に関する手順を提供します。
Mode A および B を使用すると、認証情報を CDN の URL パスに直接埋め込むことができます。この方法により、許可されたユーザーのみがコンテンツにアクセスできるようになり、コンテンツのセキュリティを確保するのに役立ちます。
Authentication Mode A の URL 形式は以下の通りです:
http://domain/<time>/<key>/uri
Authentication Mode B の URL 形式は以下の通りです:
http://domain/<key>/<time>/uri
これらの URL 構造において、 <key> と <time> は認証パラメータです。CDN エッジサーバーはこの情報を検証し、その検証結果に基づいてリクエストされたコンテンツを提供するかどうかを決定します。Mode A および B における <key> と <time> の順序は固定されており、変更することはできませんのでご注意ください。
URL 構造内の記号
<>は、認証パラメータの位置を示しています。これらの記号は実際の 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 にはクエリ文字列を含めず、リクエストされたオブジェクトのパスのみを含める必要があります。 |
CDN エッジサーバーが認証パラメータが埋め込まれたリクエストを受信すると、以下の手順を実行します:
Timestamp Validation: サーバーはまず、URL 内のタイムスタンプ ( time ) が期限切れであるかどうかを確認します。
time + Expiration Time < current time の場合、URL は期限切れと見なされます。アクセスは拒否され、HTTP 403 Forbidden エラーが返されます。time + Expiration Time ≥ current time の場合、URL は有効と見なされます。Signature Verification: タイムスタンプが有効な場合、CDN エッジサーバーは設定された暗号化キー ( ourkey )、タイムスタンプ ( time )、およびリクエストされた URI ( uri ) に基づいて、期待される認証署名を計算します。次に、この計算された署名を URL で提供された key と比較します。
403 Forbidden エラーが返されます。Authentication Mode 設定で、必要に応じて Mode A または Mode B を選択します。以下のセクションでは、各設定フィールドの目的と方法について説明します。
Secret Key ( $ourkey ) は、URL 内に認証署名 ( key ) を生成するために使用される秘密の文字列です。このキーはお客様と CDN サーバー間でのみ共有されるため、許可されていないユーザーが有効な認証パラメータを生成することが困難になり、セキュリティのレイヤーが追加されます。
$ourkey 値を設定できます。認証 URL を構築する際、 time フィールドは以下のサポートされている形式のいずれかに準拠している必要があります:
| Timestamp Format | Description |
|---|---|
| Decimal Unix Timestamp | 例: 1586338211 は 2020年4月8日 17:30:11 UTC を表します。 |
| Hexadecimal Unix Timestamp | 例: 5e8e2463 は 1586338211 の 16進数を表します。 |
| UNIX timestamps in milliseconds | 例: 1586338211000 は同じ時点を表します。 |
| YYYYMMDDHHMMSS | 例: 20200408173011 は 2020年4月8日 17:30:11 を表します。 |
| YYYYMMDDHHMM | 例: 202004081730 は 2020年4月8日 17:30 を表します。 |
認証署名 ( key ) は暗号化アルゴリズムを使用して生成されます。デフォルトでは MD5 アルゴリズムが使用されます。セキュリティを強化するために、弊社のテクニカルサポートチームに連絡して別の暗号化アルゴリズムをリクエストすることができます。
認証署名 ( key ) を生成するには、通常、以下のパラメータを使用します:
time: タイムスタンプ。ourkey: 秘密の認証キー。uri: リクエストされたコンテンツパス。暗号化する文字列を構築する際、これらのパラメータを 1 つ以上含めることを選択し、その組み合わせの順序を指定できます。
Example: 組み合わせの順序を $uri$ourkey$time と設定した場合、暗号化前の文字列は、 uri に続いて $ourkey 、その後に time を連結して形成されます。
http://cdnetworks.com/browse/index.html に対して、 $ourkey が cdnetworks 、 time が 202405131620 の場合、生成される暗号化前の文字列は /browse/index.htmlcdnetworks202405131620 になります。この文字列が設定された暗号化アルゴリズム(例:MD5)を通過して、最終的な署名 ( key ) が生成されます。以下のいずれかの方法を使用して、認証情報の有効期間を設定できます:
time ) 後の最大有効期間を秒単位で設定するには、負でない整数を入力します。
60 を入力すると、認証情報は URL で指定された時間から 1 分間有効になります。-60,60 を入力すると、認証情報はタイムスタンプの 1 分前から 1 分後まで有効になります。- ) を入力すると、有効期間のチェックが無効になります。リクエスト URL における key と time の位置を入れ替えるオプションは、Authentication Mode A および B には 適用されません 。これらのモードでは、 key と time の位置は固定されており、指定された順序に従う必要があります。
認証設定が正確であることを確認し、オンラインサービスへの潜在的な影響を避けるために、まずは設定をステージング環境にデプロイすることを強くお勧めします。正確であることが確認されたら、本番環境に実装できます。
さらに、CDN コンソールで利用可能な Token Generator を活用できます。このツールを使用すると、トークン認証パラメータを生成し、設定をすばやく検証できます。