特集
ノータッチ・デプロイメント
一色 政彦
2003/08/12 |

|
|
通常、ノータッチ・デプロイメントは「インターネット・ゾーン(Internet_Zone)」または「イントラネット・ゾーン(LocalIntranet_Zone)」で行われるので、デフォルトのセキュリティ設定のままのクライアントでは、「低度の信頼(Internet)」または「中程度の信頼(Internet)」のセキュリティ制限下でプログラムが実行される。ここでは、インターネット・ゾーンのセキュリティによる機能制限の内容について詳しく見てみよう。インターネット・ゾーンのセキュリティ・ポリシーは次のとおりだ。
環境変数(EnvironmentPermission) |
利用不可 |
「ファイルを開く」コモン・ダイアログ(FileDialogPermission) |
開く(Open) |
ファイル・ダイアログを使用してファイルを開く機能が実行できる |
ファイルI/O(FileIOPermission) |
利用不可 |
分離されたストレージのファイル(IsolatedStorageFilePermission) |
ユーザーによるドメインの分離(DomainIsolationByUser) |
ストレージ・ファイルは、まずユーザーごとに分離され、次にドメインごとに分離、さらにアセンブリごとに分離される。同じアプリケーションのコンテキストで、同じユーザーが実行する場合にだけ分離されたストレージのファイルのデータにアクセスできる。ノータッチ・デプロイメントにおける唯一のプライベート・データの保存方法である |
10240Bytesのディスク・クォータ(UserQuota) |
各ユーザーが使用できる分離された記憶ファイルのサイズ |
リフレクション(ReflectionPermission) |
利用不可 |
レジストリ(RegistryPermission) |
利用不可 |
DNS(DnsPermission) |
利用不可 |
セキュリティ(SecurityPermission) |
コード実行を有効にする(Execution) |
コードを実行するためのアクセス許可。このアクセス許可がない場合、マネージ・コードは実行できない |
ユーザー・インターフェイス(UIPermission) |
安全なトップレベルウィンドウ(SafeTopLevelWindows) |
トップ・レベルのウィンドウとそのサブ・ウィンドウの描画とユーザー入力イベントを利用できる。プログラムがイベントを発生させることはできない。ウィンドウの最小サイズと最大サイズに制限があり、システム・デスクトップなどの偽装によるなりすまし攻撃を防ぐ |
自身のクリップボード(OwnClipboard) |
「切り取り」や「コピー」などのクリップボードにデータを格納できるが、プログラムでクリップボードからデータを読み出すことはできない。テキスト・ボックスなどの固有のコントロールは、ユーザーが実行する「貼り付け」でクリップボードのデータを受けることができる |
印刷(PrintingPermission) |
安全な印刷(SafePrinting) |
制限された印刷ダイアログ・ボックスからの印刷ができる※現行の.NET Framework 1.1では、「安全な印刷」の機能は動作しない。よって、ノータッチ・デプロイメントでは印刷ができない |
イベント・ログ(EventLogPermission) |
利用不可 |
ソケット・アクセス(SocketPermission) |
利用不可 |
Webアクセス(WebPermission) |
利用不可 |
パフォーマンス・カウンタ(PerformanceCounterPermission) |
利用不可 |
ディレクトリ・サービス(DirectoryServicesPermission) |
利用不可 |
メッセージ・キュー(MessageQueuePermission) |
利用不可 |
サービス・コントローラ(ServiceControllerPermission) |
利用不可 |
OLE DB(OleDbPermission) |
利用不可 |
SQLクライアント(SqlClientPermission) |
利用不可 |
カスタム・コード・グループ |
NetCodeGroup |
アセンブリのダウンロード元のサイトへの Webアクセスを許可。これにより、同一サイトのWebサービスが利用可能になる |
 |
「Internet_Zone」で利用可能な機能 |
これらのアクセス許可セットのポリシーはコード・グループのプロパティで確認することができる。次の図はそのプロパティの画面だ。
 |
コード・グループ「Internet_Zone」のプロパティ参照 |
|
 |
[.NET Configuration 1.1]−[マイ コンピュータ]−[ランタイム セキュリティ ポリシー]−[コンピュータ(Machine)]−[コード グループ]−[AllCode]−[Internet_Zone]を選択する。 |
|
 |
[コード グループ プロパティの編集]をクリックする。 |
|
 |
コード・グループ「Internet_Zone」のプロパティが表示される。 |
|
 |
[アクセス許可セット]タブをクリックすると、アクセス許可セットの一覧が表示される。 |
|
 |
参照したいアクセス許可を選んで[アクセス許可の表示]ボタンをクリックすると、さらに詳しいセキュリティ制限の内容を確認できる。 |
|
なお、これらのゾーンごとのセキュリティ・ポリシーはXMLファイルに保存されている。XMLファイルのある場所は次の通りだ。
%runtime install path%\Config\Security.config |
|
マシン・ポリーシーのファイル・パス |
%runtime install path%は、Microsoft .NET Framework 1.1がインストールされたパス。通常は「C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322」になる。 |
ノータッチ・デプロイメントでは、実行するコードに、このようなコード・アクセス・セキュリティによる制限がかかる。よって、ノータッチ・デプロイメント用のアプリケーションを実装するには、コード・アクセス・セキュリティを意識したプログラミングが必要になる。次にそのプログラミングの方法について解説しよう。
Insider.NET 記事ランキング
本日
月間