ライブストリームにおける署名付き URL とトークン認証
概要
プレミアム コンテンツや機密性の高いコンテンツを配信する場合、そのセキュリティを確保するためのあらゆる方法を検討する必要があります。エンドユーザーが動画 URL をコピーしたり、適切な認証なしにコンテンツを再生し続けることを防ぐ必要があります。Brightcove は RTMP、HLS、DASH URL の署名をサポートしています。
独自にトークンを生成する場合は 1 ステップのみで完了します。Live システムにトークン付き URL を生成させる場合は、後述する 2 つのステップを実行してライブストリーム用のトークン認証を有効にする必要があります。
実装
ステップ 1: ライブジョブの作成
トークン認証を有効にするには、ジョブを作成する際、リクエスト ボディに以下を含めます:
"add_cdns": [{
"label": "My CDN",
"prepend": "mycdn-a.akamaihd.net",
"protocol": "https",
"vendor": "akamai",
"token_auth": {
"auth_type": "Akamai2.0",
"key": "AKAMAI_TOKEN_PASSWORD",
"token_name": "AKAMAI_TOKEN_NAME",
"media": {
"start_time": "now",
"end_time": 1495697388,
"ttl": 60
}
}
}]
関連するフィールドの説明は以下の表のとおりです:
| フィールド | 値 |
|---|---|
start_time |
now または UNIX/POSIX 開始時刻 |
end_time |
UNIX/POSIX 終了時刻 |
ttl |
有効期間(秒) |
ステップ 2: ライブジョブ作成後
ライブジョブの作成後、マスターマニフェスト URL を生成するために別のリクエストを送信する必要があります。以下のエンドポイントに POST リクエストを送信します:
https://api.bcovlive.io/v1/jobs/JOB_ID/authurls
リクエストボディには次の JSON を含めます:
{
"ttl": number in seconds for time to live
}
注意事項
- 上記の両ステップにおける
ttlの値は、DVR ウィンドウ以上である必要があります。そうでない場合、DVR ウィンドウはttlの値に制限されます。 - http および https がサポートされています。
token_nameは 5〜12 文字で、Akamai に設定されている値と一致している必要があります。start_timeは任意で、"now"(デフォルト)またはエポック秒を指定できます。end_timeも任意で、エポック秒を指定できます。end_timeまたはttlのいずれかが必須で、指定されていない場合ttlはlive_dvr_sliding_window_durationとvod_sliding_window_durationのうち大きい値が使用されます。