AKAMAI · DOWNLOAD DELIVERY

dd.isss802.top — Auth Token 2.0 + Cloud Access Manager (SigV4)

Download Delivery プロパティ prp_xxxx / オリジン: Linode Object Storage(S3互換) → 移行先 FSx for ONTAP S3 Access Point

概要 Overview

ブラウザはパスワード認証(Akamai Function)を通過すると Auth Token 2.0 トークン(HttpOnly Cookie __token__)を受け取る。 以降のコンテンツ要求はエッジの Auth Token 2.0 Verification が検証し、合格時のみ Cloud Access Manager の AWS SigV4 署名でプライベート S3 オリジンから取得して配信する。 視聴者認証は Akamai Token Auth(S3 Presigned URL は使わない)。Function への通信は CDN が注入する X-Edge-Auth ヘッダーで CDN 経由に矯正。

構成図 Data flow

ブラウザ
① 未認証 → 302
__token__ 自動送出
HTTPS
Akamai Edge
DOWNLOAD DELIVERY
Auth Token 検証
経路制御
CAM
SigV4
private S3 オリジン
Linode →
FSx ONTAP S3 AP
▲ ▼②③ /_auth/*(X-Edge-Auth 注入)
Akamai Function — dd-auth Spin / Rust
② password を SHA-256 照合 ③ hdnts 発行 → Set-Cookie __token__
鍵連携: Function amd_token_key = Property verifyTokenAuthorization.Key
Function edge_shared_secret = Property 注入 X-Edge-Auth(Function 直アクセスは 404)

動作している仕組み How it works

リクエスト応答
未認証 GET /302 → /_auth/login
正パスワード POST /_auth/token200 + Set-Cookie __token__
有効トークンで GET /<file>200(origin から配信)
不正 / 期限切れトークン403(エッジ拒否)
Function 直アクセス(X-Edge-Auth 無)404

設定項目の詳細 Configuration

Property — Origin Characteristics / Cloud Access Manager

項目設定値備考
Authentication MethodAmazon AWS Signature Version 4SigV4(S3互換は AWS4_HMAC_SHA256) DD Techdoc ↗
Encrypted StorageYesCAM のキーを参照(平文非保持)
Access KeyCloud Access Manager のキーAccess Key ID + Secret。エッジが署名注入
Regionjp-tyo-1→ FSx のリージョンに変更
Endpoint Services3不変

Property — Origin Server

項目設定値
Origin TypeYour Origin (CUSTOMER)
Origin Hostnameexample.<region>.linodeobjects.com → FSx S3 AP alias
Forward Host HeaderOrigin Hostname
HTTPS Port / SNI443 / originSni = Yes

制約: third-party cloud 認証では GET / 読取りに akamaized ホスト名を使用、GET と書込みでキーを分離 DD Techdoc ↗

Property — Auth Token 2.0 VerificationverifyTokenAuthorizationDD Techdoc ↗

項目設定値
LocationCOOKIE
Token Location ID__token__
AlgorithmSHA256
Key共有 HMAC 鍵(= Function amd_token_key)
Escape HMAC Inputs / Failure ResponseYes / On (403)

Property — ルーティング(Default Rule の子ルール)

パス条件挙動
/_auth/*Origin override → Function / rewrite ^/_auth(.*)→$1 / modifyOutgoingRequestHeader: ADD X-Edge-Auth / token 検証なし
__token__ Cookie 無redirect 302 → /_auth/login
__token__ Cookie 有verifyTokenAuthorization
/ , /_list/ = Function ポータル / /_list = バケット一覧 XML
/_archFunction /arch(本ページ・公開)

Akamai Function(dd-auth, Spin/Rust)

変数用途
live_password_hash視聴パスワードの SHA-256
amd_token_keyhdnts 署名鍵(= Property の Key)
edge_shared_secretX-Edge-Auth 検証値(CDN 経由の矯正)

ルート: GET /login / POST /token(password→hdnts→Set-Cookie)/ GET /(portal)/ GET /arch / GET /logout。全ルートで X-Edge-Auth 必須。

アクセス制御 — ユーザー / コンテンツ単位 ACL

Auth Token 2.0 のトークンは ACL(許可パス)を持ち、発行時にスコープを絞れる。 エッジが 範囲外パスを自動的に 403 で拒否するため、ユーザーごと・コンテンツごとの出し分けができる。 強制はエッジ側で完結(プロパティ・エッジは変更不要、絞り込みは Function のトークン発行ロジックのみ)。

方式ACL 例用途
全許可(現在)acl=/*認証済みなら全コンテンツ
ユーザー別(フォルダ)acl=/userA/*!/shared/*ユーザー → 許可プレフィックス群(! 区切り・ワイルドカード可)
単一ファイル(URL トークン)対象 URL に限定S3 Presigned URL の代替

一覧(/_list)も Function でユーザーの許可分にフィルタ。キャッシュキーはパスのみのため、ACL が違っても同一オブジェクトを共有(キャッシュ効率は不変)。

FSx for ONTAP S3 AP への移行 Migration

内容
再利用(不変)Auth Token 2.0 / Function / ルーティング / 鍵連携 = そのまま
差し替えOrigin Hostname → AP alias / CAM Access Key → FSx の GET 用 IAM キー / Region → FSx リージョン(Endpoint Service=s3 は不変)
要検証 TO VERIFYS3 Access Point alias ホスト名の SigV4 署名可否 / 静的 IAM キー前提(STS・role ARN は techdoc 未記載)/ akamaized・GET 専用制約

凡例: DD Techdoc 公式ドキュメント根拠(リンクは新規タブで開きます) / TO VERIFY トライアルで実証

参照 Akamai TechDocs