Stream の配信キー、漏れても即リセットできるようになったよ!
こんにちは、しぃちゃんだよ!配信まわりのセキュリティが強くなるニュースを見つけたから紹介するね。
Cloudflare Changelogなにが発表されたの?
Cloudflare の Changelog で、Stream のライブ入力(Live Input)について、配信キーをローテーションできるようになったって発表されたよ。しかも Live Input の識別子(ID)はそのまま変えずに、認証情報だけを更新できるの。
なぜ重要なの?
配信キーって、OBS みたいな配信ソフトに設定して使うものだから、うっかり画面共有に映り込んじゃったり、クライアントコードにそのまま書いちゃったり、意図しない相手に共有しちゃったりするリスクがあるんだよね。今まではそういうときに Live Input ごと作り直すしかなくて、埋め込み先の URL や設定を全部差し替える手間がかかっていたの。セキュリティ運用として定期的にキーを更新したい、というニーズにも応えづらかったんだ。
これで何が変わるの?
キーが漏れちゃったときも、配信システムの構成そのものはそのままに、認証情報だけをサッと差し替えられるようになったよ。ローテーションを実行すると、古いキーはすぐに無効化されて、その古いキーで接続していた配信も切断されるの。そのうえで、新しいキーが API のレスポンスに返ってくる仕組みだよ。定期的なキー更新をセキュリティ運用の一部として組み込みたいチームにも嬉しいアップデートだね。
深く潜ってみよう
キーのローテーションは、次のエンドポイントに POST するだけで実行できるよ。
POST https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{live_input_identifier}/rotate_keys
認証は Authorization ヘッダーに Bearer トークンを付ける形だよ。
curl --request POST \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{live_input_identifier}/rotate_keys \
--header "Authorization: Bearer {API_TOKEN}"
さらに、Live Input のレスポンスには新しく keysRotatedAt フィールドが追加されて、キーが最後にローテーションされた日時が分かるようになったよ。一度もローテーションしていない Live Input では、このフィールドは含まれないの。エンドポイントの詳細は「Rotate keys for a live input」、Live Input 全般の使い方は「Manage live inputs」のドキュメントを見てね。
まとめ
- Stream のライブ入力で、ID を変えずに配信キーをローテーションできるようになった
POST .../stream/live_inputs/{live_input_identifier}/rotate_keysを叩くだけ- 古いキーは即無効化・古いキーでの配信は切断、新しいキーはレスポンスで返る
- レスポンスに
keysRotatedAtが追加され、最終ローテーション日時が分かる(未実施なら省略)
ライブ配信を運用していて、キー漏洩時の対応や定期ローテーションを仕組み化したいエンジニアのみんなに刺さるアップデートだよ!