ADOBE®   MEDIA SERVER 5.0.3

デベロッパーズガイド


翻訳:株式会社サムライズ

 

注意

Adobe Media Server® バージョン 5についての本ドキュメントは第三者によって翻訳されたものであり、Adobe Systems Incorporated(アドビ システムズ社)は本翻訳物の正確性や完全性を査閲していません。

 

8アプリケーションのセキュリティ確保

 

 

ストリームや共有オブジェクトなどのアセットに対するアクセスを許可または拒否するようにサーバーやアプリケーションを設定できます。アプリケーションに接続されるクライアントを認証することもできます。

アプリケーションのセキュリティ確保について詳しくは、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/";

デフォルトではreadAccesswriteAccess の両方に/ が設定されます。これは、クライアントはサーバー上のすべてのストリームと共有オブジェクトにアクセス可能であることを意味します。

 

ストリームに対するアクセスの許可

 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