Kltuaには元々アクセス制限の機能が備わっている。
端的に言うと以下のコンテンツ保護機能がある
- 動画の直リンク禁止機能
- RTMPのストリーミングによる配信
1は動画をコピペでいろんなサイトに貼り付けられないようにする制限のこと。要は意図しない直リンク禁止機能。crossdomain.xmlで実現できる機能とほぼ同等と思っていい。2はストリーミング配信で、クライアントにキャッシュが残ることを防ぐ機能。ただ、ストリーミング配信単体で運用しても、コンテンツ保護の観点からは気休め程度にしかならないだろう。
さらに上記機能に加えて以下のような保護がなされている
● FLVファイルのリアルパス隠蔽機能
Kalturaのプレイヤーを利用する限り、ユーザーの目にFLVの実体パスが目に触れることはない。FLVの実体パスはウィジェットのHTMLには埋まっておらず、SWFに埋まっている。/opt/kaltura/web/content/entry/data/ 以下にFLVの実体ファイルは保管されている。ファイル名が分かっていればFLVに直接アクセスすることは可能。
しかし、Kalutra自身はすべてのコンテンツをコントローラー(index.php)経由で返却しているので、/opt/kaltura/web/content/entry/data/ にApacheのアクセス制限をかけることで、容易に直接アクセスを制限することができる。/etc/httpd/conf.d/my_kaltura.conf の中に上記ディレクトリのアクセス制限を書けばいいだろう。
もっとも、セキュリティの観点からはもう一つ欲しい機能がある。それは閲覧範囲の制限。
● 閲覧する人を制限する機能(IP制限であったり、あるいは認証システム連携して閲覧範囲を制限するとか)
実はこの機能もKalturaには備えられている。上記で紹介した「Kalturaアクセス制限のかけかた」の手順で、最後に「Advanced security & Pey-per-view」を選べばよい。
前述の通りKalturaはすべてのコンテンツをindex.php経由で返しており、これによってコンテンツの公開範囲などをコントロールしている。このKalturaの閲覧制限との連携をとる仕組みを「Kaltura Session」といい、このセッション機能を使えば、たとえばPHPで開発したアプリなどとの認証連携が可能になるという理屈のようだ。
ドキュメントはきわめて少なく、探したがそれらしい情報は公式ブログ(英語)くらいにしかなかった。
Create KS protected videos with free preview | Kaltura Developer Blog
あとは公式ドキュメント