ADOBE® MEDIA SERVER 5.0.3
デベロッパーズガイド
翻訳:株式会社サムライズ |
注意
Adobe Media Server® バージョン 5についての本ドキュメントは第三者によって翻訳されたものであり、Adobe Systems Incorporated(アドビ システムズ社)は本翻訳物の正確性や完全性を査閲していません。
ストリームや共有オブジェクトなどのアセットに対するアクセスを許可または拒否するようにサーバーやアプリケーションを設定できます。アプリケーションに接続されるクライアントを認証することもできます。
アプリケーションのセキュリティ確保について詳しくは、Adobe DevNet の記事、「Hardening Guide for Flash Media Server」の「Developer Guidelines」の節を参照してください。Application.xml ファイルの変更、サーバーサイドActionScriptの記述、サーバーとの通信のセキュリティ確保、認証処理について述べられています。
Graeme Bull のサイト(fmsguru.com)には、セキュリティに関するいくつかのビデオチュートリアルがあります。
•Taking advantage of the Application.xml file settings to help protectyour server
• Using the client Agent and Referrer to help protect your server
• Using the client IP to help protect your server
• Using server side client permissions to help protectyour server
• Using writeAccess to help protectyour server
アセットに対するアクセスの許可または拒否
デフォルトでは、サーバーにアクセスしたユーザーは、すべてのストリームと共有オブジェクトに対するすべてのアクセス権を持っています。ただし、サーバーサイド ActionScriptを使用して、共有オブジェクトとストリームに対するダイナミックアクセスコントロールリスト(ACL)を作成することができます。開発者は、共有オブジェクトまたはストリームの作成、読み込みまたは更新を行うアクセス権を誰に与えるのかを制御することができます。
クライアントがサーバーに接続したときに、サーバーサイドスクリプト(main.asc または yourApplicationName.asc)に Client オブジェクトが渡されます。それぞれの Client オブジェクトには、readAccess プロパティと writeAccess プロパティが含まれています。これらのプロパティを使用して、接続ごとにアクセスを制御することができます。
Client.readAccess プロパティと Client.writeAccess プロパティは、文字列の値を受け付けます。これらの値には、次のように、セミコロンで区切られた複数の文字列を含めることができます。
client.readAccess = "appStreams;/appSO/";
client.writeAccess = "appStreams/public/;appSO/public/";
デフォルトでは、readAccess、writeAccess の両方に、/ が設定されます。これは、クライアントはサーバー上のすべてのストリームと共有オブジェクトにアクセス可能であることを意味します。
ストリームに対するアクセスの許可
❖ main.asc ファイルの中に onConnect() 関数を追加し、サーバー上のディレクトリ名を指定します。
application.onConnect = function(client, name) {
// give this new client the same name as passed in
client.name = name;
// give write access
client.writeAccess = "appStreams/public/";
// accept the new client's connection
application.acceptConnection(client);
}
この main.asc ファイルは、appStreams/public で始まるすべての URI に対するアクセス権を付与します。
ストリームに対するアクセスの拒否
❖ main.asc の中に onConnect() 関数を追加し、client.writeAccess に null 値を指定します。
application.onConnect = function(client, name) {
...
// deny write access to the server
client.writeAccess = "";
}
共有オブジェクトに対するアクセスの定義
❖ main.asc の中に onConnect() 関数を追加し、URI と同じ命名規則を使用して共有オブジェクトの名前を指定します。
application.onConnect = function(client, name) {
...
client.writeAccess = "appSO/public/";
}
これによって、クライアントに対して、appSO/public/で始まる URIを持つすべての共有オブジェクトへの書き込みアクセス権を付与します。
最終更新日 2013/9/30