最終更新日:2024-11-18 10:19:21
こちらは、Authentication Mode AおよびBの詳細な説明と、それらの使用方法についての説明です。
Authentication Mode AおよびBでは、認証情報をURLパスに直接埋め込むことができます。以下はこれら2つのモードのURL形式です。
http://domain/<time>/<key>/uri
http://domain/<key>/<time>/uri
これらのURL構造では、<key>
および<time>
が認証パラメータです。CDNエッジサーバーはこの情報を検証し、その結果に基づいて要求されたコンテンツを提供するかどうかを決定します。なお、モード AおよびBでは<key>
と<time>
の順序が固定されており、変更することはできません。
記号
<>
は認証パラメータの位置を示します。これらの記号は実際のURLには表示されません。
フィールド | 説明 |
---|---|
domain | CDNetworks CDNに登録されたドメイン名 |
time | 認証URL内のタイムスタンプで、URLが生成された時刻を示します。CDNエッジサーバーはこのタイムスタンプを使用してURLがまだ有効かどうかを判断します。現在時刻がURLの有効期間を超えると、コンテンツは提供されません。 time 値は、事前に定められたタイムスタンプ形式に従わなければなりません。そうでない場合、認証に失敗します。サポートされているタイムスタンプ形式については、このドキュメントの Time Formatセクションを参照してください。 |
key | 認証検証に使用される暗号化された署名で、通常、time スタンプ、暗号化キー(ourkey )、および実際のパス(uri )を組み合わせて生成されます。この認証パラメータの計算方法の詳細については、このドキュメントのSignature Calculation Parametersセクションを参照してください。 |
uri | CDNからコンテンツをリクエストするURLの実際のパスです。例えば、元のリクエストURLが http://cdnetworks.com/browse/index.html の場合、uri は /browse/index.html となります。リクエストURLにクエリパラメータが含まれている場合(例:/browse/index.html?user=123 )、uri にはクエリ文字列を除くリクエストオブジェクトのパスのみを含める必要があります。 |
CDNエッジサーバーがリクエストを受信すると、まず認証URLの タイムスタンプ time
が有効期限切れかどうかを確認します:
time
と有効期間を加えた値が現在時刻よりも短い場合、URLは期限切れとみなされ、アクセスは拒否され、HTTP 403エラーが返されます。time
と有効期間を加えた値が現在時刻以上である場合、URLは有効であるとみなされます。次に、リクエストURLに対して期待される認証署名(key)を計算し、リクエスト内の署名と比較します。一致する場合、認証は成功し、コンテンツが提供されます。一致しない場合、リクエストは拒否され、HTTP 403エラーが返されます。Authentication Mode 設定で、必要に応じてMode AまたはMode Bを選択します。以下のセクションでは、各設定フィールドの目的と方法を説明します。
Authentication Key ($ourkey)
は、URL内で認証署名キー を生成するために使用される一意の文字列です。この ourkey
は、お客様と当社のCDNサーバー間でのみ共有されるため、認証パラメータのセキュリティを高め、第三者が不正に解読することを困難にします。コンソールで複数の ourkey
値を設定でき、セミコロン (;
) で区切ることができます。
複数の ourkey
値が設定されている場合、CDNエッジサーバーはこれらの値を順番に使用してリクエストを認証します。最初の ourkey
で認証に失敗した場合、サーバーは次の ourkey
を試み、適切なキーが見つかるまで続けます。すべてのキーが失敗した場合、認証は失敗します。
認証URLを構築するために、time
フィールドには、さまざまな要件に対応する5つのオプション形式があります:
タイムスタンプ形式 | 説明 |
---|---|
10進数Unixタイムスタンプ | 例: 1586338211 は2020年4月8日 17:30:11 UTCを表します。 |
16進数Unixタイムスタンプ | 例: 5e8e2463 は16進数で 1586338211 を表します。 |
ミリ秒単位のUnixタイムスタンプ | 例: 1586338211000 は同じ時刻をミリ秒単位で表します。 |
YYYYMMDDHHMMSS | 例: 20200408173011 は2020年4月8日 17:30:11を表します。 |
YYYYMMDDHHMM | 例: 202004081730 は2020年4月8日 17:30を表します。 |
署名 key
は暗号化アルゴリズムを使用して生成されます。デフォルトでは、MD5アルゴリズムを使用します。セキュリティ向上のために異なる暗号化アルゴリズムを必要とする場合は、当社のテクニカルサポートチームにお問い合わせください。
署名 key
を生成するには、次のパラメータを含めることができます: time
、ourkey
、および uri
。これらの組み合わせ順序を指定します。例えば、$uri$ourkey$time
のように設定すると、以下の意味になります:
uri
)が最初です。ourkey
)。time
)。例えば、URLが http://cdnetworks.com/browse/index.html
で、ourkey
が cdnetworks
、time
が 202405131620
の場合、暗号化されていない key
文字列は /browse/index.htmlcdnetworks202405131620
となります。
認証情報の有効時間を設定するために、3つの方法を提供しています:
60
)を秒単位で入力し、URL内のtime
フィールドの後の最大有効期間を設定します。例えば、60
と入力すると、リクエストURLの タイムスタンプから1分間認証情報が有効となります。-60,60
は、タイムスタンプの前後1分間認証情報が有効であることを意味します。-
)を入力して有効期間のチェックを無効にします。このオプションは、リクエストURLにおける key
と time
の位置を入れ替えることを許可するかどうかを決定します。ただし、Mode A または Mode B では、key
と time
の位置は固定されており、指定された順序に従わなければなりません。このため、この設定項目は Mode AおよびBでは適用されません。
設定エラーがオンラインビジネスに影響を与えないようにするために、まず設定をテスト環境にデプロイすることをお勧めします。設定が正確であることを確認した後にライブ環境に公式に適用します。テスト環境に設定をデプロイするための詳細なガイダンスについては、Deploy the Configurations to Staging Environment for Validationを参照してください。
さらに、CDNコンソールで利用可能なTimestamp Anti-hotlinking Calculator を使用して、URL認証パラメータを生成し、設定を迅速に確認することもできます。このツールの使用方法については、Authentication URL Generatorを参照してください。