リモート認証
設定シナリオ
お客様のリソースへの不正なユーザーからのアクセスを防止するため、Tencent CloudはCDNエッジでの高度なタイムスタンプ認証をサポートするほか、リクエストをお客様の指定するリモート認証サーバーに転送し、この認証サーバーによってユーザーリクエストを検証し、CDNがリモート認証サーバーから返された検証結果に基づいてサービス提供を継続するかどうかを決定する方法もサポートしています。 リモート認証のリクエストフローは次のとおりです。
1. エンドユーザーがリソースに対するリクエストを送信します。
2. CDNがリクエストをリモート認証サーバーに同期転送します。
3. リモート認証サーバーが認証結果を返します。
4. CDNノードが認証結果に基づいて、そのユーザーのリクエストへの応答を継続するかどうかを決定します。
注意:
CDNノードはリモートサーバーが返すステータスコードに基づいて認証が成功したかどうかを判断します。認証成功のステータスコードは200/206/304であり、それ以外のステータスコードの場合はすべて認証失敗です。認証成功の場合は承諾(200を返す)、失敗の場合はブロック(403を返す)となります。
現在は同期リモート認証のみサポートしており、CDNはリモート認証サーバーから返された認証結果を受け取ってからでなければ応答できません。
一部の海外プラットフォームではリモート認証設定をサポートしていません。ドメイン名のアクセラレーションリージョンを変更すると、リモート認証機能が無効となる場合があります。
VODアクセラレーションは現時点ではリモート認証設定をサポートしていません。
設定ガイド
CDNコンソールにログインし、メニューバーでドメイン名管理を選択して、ドメイン名の右側にある管理をクリックし、ドメイン名設定ページに進みます。アクセス管理でリモート認証に関連する設定を行うことができます。 リモート認証アドレス:HTTP/HTTPSプロトコルをサポートしています。ドメイン名またはIPアドレスを入力することができます。
リクエスト方法:リモートサーバーへのリクエスト送信方法は、エンドユーザーのリクエスト方法に準拠するか、またはGET/POST/HEADなどのリクエスト方法を指定することができます。
認証ファイルタイプ:認証ファイルの有効範囲を設定します。すべてのコンテンツ/指定されたファイル拡張子/指定されたファイルディレクトリ/指定されたファイルに対するリモート認証の有効化をサポートしています。
認証のタイムアウト時間:リモート認証サーバーの応答タイムアウト時間を設定します。最大30,000ミリ秒以内とします。
タイムアウト時の実行動作:リモート認証のタイムアウト後の実行動作を設定します。デフォルトの動作は承諾です。
デモの説明
お客様のアクセラレーションドメイン名がwww.example.comの場合の、リモート認証設定は次のようになります。
リモート認証アドレス:www.remoteauth.com。
リクエスト方法:エンドユーザーのリクエスト方法に準拠。
認証ファイルタイプ:すべてのコンテンツ。
認証のタイムアウト時間:1500ミリ秒。
タイムアウト時の実行動作:ブロック。
このときのユーザーリクエスト応答フローのサンプルは次のとおりです。
1. ユーザーがGETリクエストを送信:http://www.example.com/v001/test.txt?token=Gf6Gq04ymjdSTXusvTmh8yalO82YsuKUQb63ToXOFc&e=1467565695283&sign=854124740723b575a7cfa4fc40f0be30。
2. CDNがリクエストを受信し、リモート認証サーバーにGETリクエストを送信:http://www.remoteauth.com/v001/test.txt?token=Gf6Gq04ymjdSTXusvTmh8yalO82YsuKUQb63ToXOFc&e=1467565695283&sign=854124740723b575a7cfa4fc40f0be30。
3. リモート認証サーバーがステータスコード200を返します。
4. CDNが認証成功と判断し、ステータスコード200を返し、コンテンツの応答を正常に行います。