Akamai Diversity
Home > 認証付きコンテンツがあるWebサイトの配信方式について

認証付きコンテンツがあるWebサイトの配信方式について

業務アプリケーションやドライバ等のダウンロードコンテンツメインのサイトをアカマイ化する際、Basic認証などの認証がついたコンテンツにどのように対応するのか?といったお問い合わせをよく受けます。この記事では認証付きのコンテンツがあるWebサイトの配信方式について紹介します。

アカマイではオリジンサーバ側で認証を行っている場合、以下の2つの方式を使用してオリジンサーバの認証機能と連携を行います。

•Centralized Authorization
•Remote Authorization

これらの方式は認証を行うオリジンがコンテンツオリジンと同じ場所あるか、別の場所にあるかで使い分けます。
それぞれの動作フローについて説明をします。

•Centralized Authorizationの動作
 (認証オリジンとコンテンツオリジンが同じ場合に使用)

 1. ユーザがURLへアクセスします。
  例)http://www.example.com/secure/file.ext (/secure 以下は認証対象とします。)

 2. エッジサーバがオリジンサーバへ認証チェックリクエスト送信
  エッジーサーバにキャシュがない場合はクライアントからのリクエストをオリジンに送信します。
  エッジーサーバにキャシュがある場合はIf-Modified-Sinceリクエストを送信します。

 3. 認証の実施
     オリジンサーバで認証チェックします。

 4. 認証の可否レスポンスの返却
  オリジンは認証結果によって対応するHTTPレスポンスコードをエッジサーバ側に送付します。
  - 認可:200 or 304
  - 拒否:上記以外

 5. コンテンツ配信
  エッジサーバはオリジンから返却されるHTTPレスポンスコードをもとにコンテンツを配信を実施します。
  - 認可:キャッシュからコンテンツ配信
  - 拒否:エラーレスポンス

  Centralized Authorization2.png

•Remote Authorizationの動作
(認証オリジンとコンテンツオリジンが別の場合に使用)

 1. ユーザがURLへアクセスします。
  例)http://www.example.com/secure/file.ext (/secure 以下は認証対象とします。)

 2. エッジサーバが認証用のオリジンサーバへ認証チェックリクエスト送信
  エッジーサーバにキャシュがない場合はクライアントからのリクエストをオリジンに送信します。
  エッジーサーバにキャシュがある場合はIf-Modified-Sinceリクエストを送信します。

 3. 認証の実施
    オリジンサーバで認証チェックします。

 4. 認証の可否レスポンスの返却
  オリジンは認証結果によって対応するHTTPレスポンスコードをエッジサーバ側に送付します。
  - 認可:200 or 304
  - 拒否:上記以外

 5. コンテンツ配信
  エッジサーバはオリジンから返却されるHTTPレスポンスコードをもとにコンテンツを配信を実施します。
  - 認可:キャッシュからコンテンツ配信
  - 拒否:エラーレスポンス
  ※キャッシュがエッジサーバ上にない場合や古い場合は、コンテンツ用のオリジンからコンテンツを取得します。
  ※図の例ではコンテンツ用のオリジンに弊社が提供するクラウド型ストレージNetStorageを使用する前提で記載しています。
  ※コンテンツパスと認証パスが違う場合は、エッジサーバ上で認証用URLの書き換えが可能です。

  RemoteAuthorization2.png

・認証連携機能使用時の注意点
 ・認証を行うオリジンサーバがダウンしている場合は、コンテンツの配信ができません。
 ・エッジサーバがIf-Modified-Sinceリクエストを送信するため、認証を行うオリジンサーバからのレスポンスにはLast-Modifiedヘッダが必要となります。

・エッジサーバで提供する簡易アクセスコントロール
 最後に認証連携の方法以外にアカマイのエッジーサーバ側でアクセスコントロールを実施する方法をご紹介します。

 アカマイのエッジサーバでは、リクエストがエッジーサーバに到着した時点でHTTPの情報を確認し、
 条件によって動作を制御することができます。
 具体的にはIPアドレス,Cookie,リファラー,User Agents,地域(国別)を識別し、
    認可 / 拒否を判断,特定のHTTPレスポンスコードの返却,リダイレクトなどの制御を行うことが可能です。

  AccessControl2.png

このようにアカマイでは認証付のサイトでも認証機能と連携して、お客様にセキュアなコンテンツを配信することが可能です。
また、オリジン側でアクセス制御をしていないようなケースでも、エッジサーバ側で簡易的なアクセス制御を行うことによりセキュリティレベルを高めることが可能です。

Leave a comment