Akamaiの認証認可:一筋縄ではいかない

投稿者: | 2025年1月13日

Akamaiの認証機構について

独自の認証機構を持つ Akamai

ゲーム配信など、低遅延が要求されるユースケースで用いられることの多いクラウドサービスAkamai。利用する機会があったが、認証機構が複雑で手を焼いた。今後のためのメモを残しておく。

Akamaiの認証機構

Akamaiでは、主要なAPIや操作の種類によって異なる認証機構が利用されている。一般向けに、Akamaiが提供する認証には以下のものがある。それぞれの目的と用途について簡単に説明する。


1. EdgeGrid認証

  • 概要:
    • Akamaiの管理系API(Configuration Manager、Purge API、FastDNS、Identity & Access Managementなど)で使用される標準的な認証方式。
    • OAuth 1.0aベースのプロトコルで、リクエストの署名を生成して認証する。
  • 主な用途:
    • キャッシュパージ(CCU API)。
    • Akamai設定管理(プロパティマネージャなど)。
    • ログ取得(e.g., データストリーム、Cloud Monitor)。
  • 特徴:
    • リクエストごとにトークンを動的に生成し、署名を含めて送信。
    • セキュアな通信を保証。

2. HMAC-SHA256認証

  • 概要:
    • 主にAkamai NetStorage(コンテンツアップロード、削除、取得)で使用される認証方式。
    • アクセスキーと秘密鍵を利用し、リクエストの署名を生成する。
  • 主な用途:
    • 大容量の静的コンテンツ(画像、動画、JS/CSSファイルなど)のアップロード。
    • NetStorage内のファイルの削除や一覧取得。
  • 特徴:
    • 比較的シンプルな構造で、リクエスト署名を直接ヘッダーに含める形式。
    • 長時間実行されるプロセスに適している。

3. Token Authentication (トークン認証)

  • 概要:
    • 配信中のコンテンツへのアクセスを制御するために利用される、URLベースのトークン認証。
    • リクエストに埋め込まれたトークンを検証し、アクセスを許可または拒否する。
  • 主な用途:
    • 動的コンテンツのアクセス制御。
    • CDN配信中の動画やファイルのセキュリティを確保。
  • 特徴:
    • 秘密鍵を元に生成されたトークンをURLに含めて送信。
    • 一定期間だけ有効なトークンを発行することで、不正なアクセスを防止。
    • Edgeサーバー側でトークンを検証するため、認証サーバーへの通信が不要。

4. Client IP Access Control (クライアントIPベースのアクセス制御)

  • 概要:
    • クライアントIPアドレスに基づいてアクセス制御を行う方式。
    • Akamaiのセキュリティ設定で、特定のIPアドレスやIP範囲のみ許可・拒否するよう設定可能。
  • 主な用途:
    • セキュアな環境でのみコンテンツを利用可能にする。
    • 社内専用コンテンツや限定公開コンテンツの配信。
  • 特徴:
    • IPリストの管理が必要。
    • 認証というよりはアクセス制御の一部として使用。

5. mPulse API Key

  • 概要:
    • Akamai mPulse(リアルユーザー監視)用のデータ取得や操作で使用されるAPIキー。
    • 固定のキーを使用して認証を行う、シンプルな方式。
  • 主な用途:
    • パフォーマンスモニタリングデータの取得。
    • アプリケーションパフォーマンスに関するレポート作成。
  • 特徴:
    • APIキーのみで認証される。
    • 高度なセキュリティ要件が不要なシナリオで利用。

6. Akamai Identity Cloud (OAuth 2.0)

  • 概要:
    • Akamai Identity Cloudを利用した認証・認可。
    • ユーザー管理やログインフローの一環としてOAuth 2.0を採用。
  • 主な用途:
    • Akamaiを通じたエンドユーザー認証。
    • カスタマーログインやSSO統合。
  • 特徴:
    • エンドユーザー向けの認証。
    • 他のOAuth 2.0プロバイダと同様の使い勝手。

7. Akamai API Gateway認証

  • 概要:
    • API Gateway経由で提供されるカスタムAPIの認証。
    • クライアント証明書、JWT、またはEdgeGrid認証を利用。
  • 主な用途:
    • Akamaiを介したAPI管理。
    • サードパーティAPIの認証と監視。
  • 特徴:
    • 柔軟な認証方式を選択可能。
    • APIトラフィックのセキュリティ向上に利用。

比較表

認証方式 用途 認証方式の種類 特徴
EdgeGrid認証 管理API、キャッシュパージ、設定管理 OAuth 1.0a 動的署名生成。セキュアだがやや複雑。
HMAC-SHA256認証 NetStorage(アップロード/削除など) HMAC-SHA256 シンプルで高速。大容量データに適する。
Token Authentication 動的コンテンツのアクセス制御 URLトークン認証 Edgeでトークン検証。セッション制御が簡単。
Client IP制御 IPアドレスベースのアクセス制御 IPホワイトリスト 簡易的なアクセス制御。
mPulse API Key パフォーマンスモニタリングデータ取得 固定のAPIキー シンプルだがセキュリティ要件が低い。
OAuth 2.0認証 ユーザー認証、SSO OAuth 2.0 エンドユーザー向け。柔軟性が高い。
API Gateway認証 カスタムAPI EdgeGrid、JWT、クライアント証明書など 柔軟な認証オプションを提供。

まとめ

Akamaiでは、用途ごとに異なる認証機構が用意されており、最適な認証方式を選択する必要がある。特にEdgeGrid認証とHMAC-SHA256認証は、管理系APIとNetStorage APIそれぞれに用いられる、利用頻度が高い認証方法だ。

それぞれの具体的なサンプルについては別に記載する。

コメントを残す