最終更新日:2026-04-22 17:42:02
このドキュメントでは、Authentication Mode C および D について詳しく説明し、それらの使用方法に関する手順を提供します。
Authentication Mode C および D を使用すると、認証情報を URL のリクエストパラメータとして埋め込むことができます。これら 2 つのモードの URL 形式は以下の通りです:
Authentication Mode C
http://domain/uri?key=signature&time=timestamp
Authentication Mode D
http://domain/uri?time=timestamp&key=signature
これらの URL 構造において、key は認証署名を表し、time は URL が生成されたときのタイムスタンプです。これらの認証パラメータは URL に追加され、CDN エッジサーバーはそれらを検証して、リクエストされたコンテンツを提供するかどうかを決定します。Authentication Mode A および B と同様に、一度設定すると key と time の順序は固定され、クライアントのリクエストは指定された順序でこれらのパラメータを含める必要があります。そうでない場合、CDN エッジサーバーはリクエストを拒否します。
Mode C および D では、
keyとtimeは名前をカスタマイズできるリクエストパラメータです。これらの認証パラメータの名前を変更する手順については、Signature Parameter Name および Timestamp Parameter Name セクションを参照してください。
| Field | Description |
|---|---|
| domain | CDN 用に追加したドメインです。 |
| uri | CDN にコンテンツをリクエストする URL の実際のパスです。たとえば、元のリクエスト URL が http://cdnetworks.com/browse/index.html の場合、uri は /browse/index.html になります。リクエスト URL にクエリ文字列が含まれている場合(例:/browse/index.html?user=123)、uri にはクエリ文字列を除外した、リクエストされたオブジェクトのパスのみを含める必要があります。 |
| time | 認証 URL 内のタイムスタンプであり、URL が生成された日時を示します。CDN エッジサーバーはこのタイムスタンプを使用して URL がまだ有効であるかを判断します。現在の時間が URL の有効期間を超えている場合、コンテンツは提供されません。time の値は、事前に決定されたタイムスタンプ形式に従う必要があります。そうでない場合、認証は失敗します。サポートされているタイムスタンプ形式については、このドキュメントの Timestamp Format セクションを参照してください。 |
| key | 認証の検証に使用される暗号化された署名であり、通常、タイムスタンプ (time)、暗号化キー (ourkey)、および実際のパス (uri) を組み合わせて生成されます。この認証パラメータの計算方法の詳細については、このドキュメントの Signature Parameters セクションを参照してください。 |
CDN エッジサーバーがリクエストを受信すると、まず認証 URL 内のタイムスタンプ time が期限切れであるかどうかを検証します:
time に有効期間を加えた値が現在の時間よりも小さい場合、URL は期限切れと見なされ、アクセスは拒否され、HTTP 403 エラーが返されます。time に有効期間を加えた値が現在の時間以上である場合、CDN エッジサーバーは URL が有効であると見なします。次に、リクエスト URL の期待される認証署名 (key) を計算し、リクエスト内の署名と比較します。それらが一致すれば認証は成功し、サーバーはコンテンツのリクエストに応じます。そうでない場合、リクエストは拒否され、HTTP 403 エラーが返されます。Authentication Mode の設定で、必要に応じて Mode C または Mode D を選択します。以下のセクションでは、各設定フィールドの目的と方法について説明します。
Secret Key ($ourkey) は、URL 内に認証署名 key を生成するために使用される一意の文字列です。この ourkey はお客様と CDN サーバー間でのみ共有され、許可されていない第三者が認証パラメータを解読することを困難にすることでセキュリティを強化します。コンソールでセミコロン (;) で区切って複数の ourkey 値を設定できます。
複数の ourkey 値が設定されている場合、CDN エッジサーバーはリクエストを認証するためにそれらを順番に使用します。最初の ourkey が失敗した場合、サーバーは次のキーを試行し、有効なキーが見つかるかすべてのキーの検証が失敗するまで続行します。
認証 URL を構築するために、time フィールドには多様な要件に対応する 5 つのオプション形式が用意されています:
| 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 のパラメータを含めることができます。これらのフィールドの詳細な説明については、前のドキュメント Explanation of Fields in the Authentication URL を参照してください。
暗号化する文字列 key を構築するプロセスで、上記のパラメータの 1 つ以上を含めることを選択し、それらの組み合わせの順序を指定できます。たとえば、組み合わせの順序として $uri$ourkey$time を選択した場合、以下の意味になります:
uri) が開始部分になります。ourkey) が配置されます。time) が配置されます。たとえば、URL が http://cdnetworks.com/browse/index.html、ourkey が cdnetworks、time が 202405131620 の場合、生成される暗号化前の文字列 key は /browse/index.htmlcdnetworks202405131620 になります。
これは URL 内の認証署名パラメータの名前を指し、システムではデフォルトで key に設定されています。たとえば、Mode C では次のようになります:
http://domain/uri?key=signature&time=timestamp
必要に応じてこの名前をカスタマイズできます。たとえば cdnwkey に設定した場合、ユーザーは CDN エッジサーバーにコンテンツをリクエストする際、URL 内で key=abc の代わりにクエリパラメータ cdnwkey=abc を使用できます。
これは URL 内のタイムスタンプパラメータを指し、システムではデフォルトで time という名前になっています。このパラメータ名も必要に応じてカスタマイズできます。たとえば cdnwtime に設定した場合、ユーザーは CDN エッジサーバーにコンテンツをリクエストする際、URL 内のタイムスタンプを表すために time=123 の代わりにクエリパラメータ cdnwtime=123 を使用できます。
認証情報の有効期間を設定するために 3 つの方法を提供しています:
60)を入力して、time フィールドの後の最大有効期間を秒単位で設定します。たとえば 60 を入力すると、認証情報はリクエスト URL の time フィールドの後 1 分間有効のままになります。-60,60 は、認証情報がタイムスタンプの 1 分前から 1 分後まで有効であることを意味します。-) を入力して、有効期間のチェックを無効にします。デフォルトでは、Mode C および D において、URL 内の認証署名とタイムスタンプ (key と time パラメータ) の位置は固定されており、認証モードの指定された順序に従う必要があります。このオプションを Yes に設定すると、それらの位置を入れ替えることができます。
たとえば、以下の 2 つの URL は CDN エッジサーバーによって認証されたと見なされ、コンテンツがクライアントに提供されます:
http://cdnetworks.com/browse/index.html?key=abc&time=123
http://cdnetworks.com/browse/index.html?time=123&key=abc
オンラインビジネスに影響を与えるエラーを避けるために、まずはステージング環境に設定をデプロイすることをお勧めします。設定が正確であることが確認されたら、本番環境に正式に実装できます。ステージング環境への設定のデプロイに関する詳細については、チュートリアル Deploy the Configurations to Staging Environment for Validation を参照してください。
さらに、CDN コンソールで利用可能な Token Generator を使用してトークン認証パラメータを生成し、設定をすばやく検証することもできます。詳細については、ドキュメント Token Generator を参照してください。