Access Control

最終更新日:2026-07-02 17:32:06

「Access Control」機能では、クライアントのIPアドレス、HTTP Referer、HTTP User-Agent、署名付きURLトークン、またはリモート認証サーバーを使用して、ライブストリームへのアクセス権を制御できます。各ルールはディレクトリ、ファイルタイプ、またはURLパターン単位で適用可能で、複数のルールがリクエストに一致した場合は、優先順位を指定して評価順序を決定できます。

以下のコントロールが含まれます:

コントロール フィルター条件 対応プロトコル
IPアクセスリスト クライアントIPアドレスまたはCIDRブロック すべて
リファラーアクセスリスト HTTP「Referer」ヘッダー HLS、DASH、HTTP-FLV、WebRTC
User-Agentアクセスリスト HTTP「User-Agent」ヘッダー HLS、DASH、HTTP-FLV、WebRTC
トークン認証 URL内の署名済みトークンとタイムスタンプ すべて
リモート認証 お客様自身の認証サーバの判断 すべて

はじめに

  • トークン認証の場合、署名鍵、URLパラメータ名、タイムスタンプ形式、署名要素の順序をご用意ください。
  • リモート認証の場合、認証サーバのURL、想定されるレスポンスステータスコード、想定されるレスポンスボディ、タイムアウトポリシー、およびリクエストパラメータをご用意ください。

アクセス制御へのナビゲート

  1. メディア配信 > Media Acceleration Live Broadcast > 設定 に移動します。
  2. 設定したいDomainを見つけ、設定の編集 を選択します。
  3. 設定メニューで、アクセス制御 を選択します。
  4. アクセス制御ページには、IPアクセスリスト、Refererアクセスリスト、User-Agentアクセスリスト、トークン認証、リモート認証が表示されます。

IPアクセスリストの設定

IPアクセスリストは、クライアントのIPアドレスまたはCIDRブロックに基づいてリクエストの許可または拒否を行います。

  1. アクセス制御ページで、IPアクセスリストの横にある**+追加**を選択します。
  2. IPアクセスリストダイアログで、適用対象からオプションを選択します。
オプション 対象 スコープ値の形式
特定ディレクトリ 指定されたパス配下のファイル パスは「/」で開始および終了します。1行に1つのパスを入力してください。例:/live/
特定ファイルタイプ 指定された拡張子を持つファイル 拡張子はドット無しで、セミコロン(;)で区切って入力してください。例:flv;m3u8;ts
URLパターン (正規表現) 正規表現に一致するURL URLパスの正規表現を入力してください。例:live/.*\.(m3u8\|flv)($\|.*)
  1. スコープ値を入力します。
  2. ルールタイプブロックリスト または 許可リスト を選択します。

重要:許可リストのルールは1つのみサポートされています。複数のエントリを許可する必要がある場合は、すべてのエントリを同じ許可リストルールに追加してください。

  1. ブロックされたIPおよびCIDRブロック または 許可されたIPおよびCIDRブロック には、IPアドレスまたはCIDRブロックをセミコロン(;)で区切って入力します。このフィールドは最大65,535文字(約3,000件のIPアドレス)までサポートします。
  2. 優先度 には整数を入力します。値が大きいルールから順に評価されます。デフォルト値は 10 です。
  3. 確認 を選択します。

リファラーアクセスリストの設定

リファラーアクセスリストは、HTTPの「Referer」ヘッダーに基づいてリクエストを許可またはブロックします。これを使用して、どのWebサイトがライブストリームを埋め込んだりリンクしたりできるかを制限できます。

  1. アクセスコントロールページで、リファラーアクセスリストの横にある**+追加**を選択します。
  2. 適用先からオプションを選択し、スコープの値を入力します。
  3. ルールタイプブロックリストまたは許可リストを選択します。

重要:許可リストルールは1つのみサポートされます。複数の項目を許可する必要がある場合は、すべて同じ許可リストルールに追加してください。

  1. 入力モードを選択します:

    • Domain/URLリスト:固定されたDomain名または完全なURLを使用します。
    • 正規表現:パターンやワイルドカード形式のマッチングを利用してください。
  2. 選択したモードに応じてRefererの値を入力してください。

Domain/URLリストモード

項目 フォーマット
ブロック/許可されたReferer(ドメインのみ) http://またはhttps://を除いたドメイン名を1行ずつ入力 www.example.com
ブロック/許可されたReferer(フルURL) http://またはhttps://で始まるフルURLを1行ずつ入力 https://www.example.com/player

正規表現モード

フィールド 必須 フォーマット
ブロック/許可のReferer(正規表現) はい 正規表現を1行につき1つ記入 ^https?://www\.example\.com/.*
  1. 「空のRefererを許可」を設定します。このオプションを有効にすると、Refererヘッダーがないリクエストも許可されます。
  2. 「優先順位」欄に整数値を入力してください。デフォルト値は「10」です。
  3. 「確認」を選択してください。

User-Agent アクセスリストの設定

User-Agent アクセスリストは、HTTPの User-Agent ヘッダーに基づいてリクエストを許可またはブロックします。

  1. アクセス制御 ページで、User-Agent アクセスリスト の横にある + 追加 を選択します。
  2. 適用先 からオプションを選択し、スコープ値を入力します。
  3. ルールタイプ で、ブロックリスト または 許可リスト を選択します。

重要: 許可リストルールは1つのみサポートされています。複数の項目を許可する場合は、すべて同じ許可リストルールに追加してください。

  1. ブロックされたUser-Agent または 許可されたUser-Agentに、User-Agentの値を1行に1つずつ入力してください。
  2. 優先度に整数値を入力してください。デフォルト値は「10」です。
  3. 確認を選択してください。

トークン認証の設定

トークン認証では、再生URLに署名と有効期限のタイムスタンプを含める必要があります。CDNはアクセスを許可する前に署名とタイムスタンプを検証します。

  1. アクセスコントロールページで、トークン認証の横にある**+追加**を選択してください。
  2. 適用先からオプションを選択し、スコープ値を入力してください。
  3. トークンパラメーターを設定します。
フィールド 必須 デフォルト 説明
シグネチャパラメーター名 いいえ token シグネチャを含むURLクエリパラメーターです。
タイムスタンプパラメーター名 いいえ time 有効期限のタイムスタンプを含むURLクエリパラメーターです。
KEY はい 署名鍵。複数の鍵を入力する場合はセミコロン(;)で区切ってください。
タイムスタンプ形式 はい UNIXタイムスタンプ タイムスタンプの形式。UNIXタイムスタンプまたは16進数などが選択可能です。
有効期限 はい トークンの有効期間(秒単位)。最大: 31536000
Signature Components はい KEY+PATH+TIME シグネチャを生成する前にkey、URIパス、タイムスタンプを連結する際の順序です。
  1. Signature Componentsでは、再生URLの署名ロジックに一致するオプションを選択してください。
オプション 連結順序
KEY+PATH+TIME key → URIパス → タイムスタンプ
KEY+TIME+PATH key → タイムスタンプ → URIパス
PATH+KEY+TIME URIパス → key → タイムスタンプ
PATH+TIME+KEY URIパス → タイムスタンプ → key
TIME+PATH+KEY タイムスタンプ → URI パス → キー
TIME+KEY+PATH タイムスタンプ → キー → URI パス
  1. 確認 を選択します。

リモート認証の設定

リモート認証はリクエスト情報を認証サーバーに転送し、サーバーの応答に基づいてアクセスを許可または拒否します。

ご注意:リモート認証はHLSオリジンプルDomainには対応していません。

  1. 「Access Control」ページで、「Remote Authentication」の隣にある「Edit」を選択します。
  2. 「Remote Authentication」ダイアログで、「Remote Authentication」を「On」に設定します。
  3. 「Auth Method」で「GET」または「POST」を選択してください。
  4. 「Auth Server URL」に、プロトコル、ホスト、必要に応じてポート、パス、および固定のクエリパラメータを含む完全な認証エンドポイントのURLを入力してください。例: https://auth.example.com/api/check?service=live
  5. (オプション)「Auth Host」には、認証サーバーへ送信されるHostヘッダーがURLのホスト名と異なる必要がある場合、その値を入力してください。
  6. 「Parameter Retention」で、元のURLパラメータをどのように転送するかを選択してください。
オプション 動作
すべて保持 元のリクエストURLから全てのクエリパラメータを転送します。
すべて削除 元のクエリパラメータを転送しません。
指定したもののみ保持 指定したクエリパラメータのみを転送します。
  1. 認証変数設定をクリックを選択し、認証リクエストに含める変数を選択してください。認証サーバーに送信するパラメータ名はカスタマイズ可能です。
変数 デフォルトパラメータ名 説明
クライアントIP ip クライアントのIPアドレス。
ストリーム名 streamName ライブストリーム名。
ストリームタイプ type ストリームプロトコルタイプ。
HOST host 元リクエストのホスト名。
CDNエッジIP cdnip CDNエッジノードのIPアドレス。
アプリケーション名 appName ライブアプリケーション名。
サーバーIP serverIp CDNサーバーのIPアドレス。
リクエストURL url 元リクエストのURL。
リクエストReferer referer 元リクエストのRefererヘッダー。
  1. 検証基準で、成功または失敗を選択し、レスポンスの一致条件を設定してください。
    • HTTPステータスコード: 認証サーバーから返されるHTTPステータスコード。セミコロン(;)で区切ります。
    • 「Response body」:認証サーバーから返されたレスポンスボディの内容。
  2. 「Timeout」では、「1」から「10」秒の値を入力してください。デフォルト値は「5」です。
  3. 「Retry Count」では、「0」から「5」までの値を入力してください。デフォルト値は「0」です。
  4. 「Action on Timeout」では、認証サーバーがタイムアウトまでに応答しなかった場合に実行するアクションを選択してください。
    • 「Allow access」:認証がタイムアウトした場合、リクエストを許可します。
    • 「Deny access」:認証がタイムアウトした場合、リクエストを拒否します。
  5. 「Confirm」を選択してください。

参考資料

プロトコルサポートマトリクス

機能 HLS DASH HTTP-FLV WebRTC RTMP
IP アクセスリスト
Referer アクセスリスト
User-Agent アクセスリスト
トークン認証
リモート認証