- PR -

ノータッチデプロイメントでのDLLの扱い

投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-05-13 08:42
引用:

SEIさんの書き込み (2004-05-12 18:25) より:


セキュリティを『完全な信頼』にした場合は、ローカルアプリと制限の差はあるのでしょうか?
サンプルを作成してみたところ、動作に差は見られないように思えました。
(勿論、セキュリティという面では大いに差はありますが。。)


 自分で見た方が早いと思うので、やってみてください。

 コントロールパネルから、「管理ツール」へ進みます。この次はインストールされている.NET Frameworkのバージョンによって異なるのですが、「Microsoft .NET Framework 1.1 構成」(1.1はバージョン)をダブルクリックして起動してください。ツリービューと、リストビューのあるフォームが表示されます。

 しばらくすると、ツリービューの「マイコンピュータ」に「+」が表示されるので、展開します。

 「ランタイムセキュリティーポリシー」を展開します。

 とりあえず、「コンピュータ(Machine)」を展開します。

 「コード グループ」を展開します。

 「All_Code」を展開します。ここで「All_Code」ではなく、「UnKnown」のような表示になっていれば、「コンピュータ(Machine)」を右クリックし、「リセット...」を選択します。

 「All_Code」の中に、「My_Computer_Zone」というのがあります。また、「LocalIntranet_Zone」というのもあります。この2つを順に見ます。
 「My_Computer_Zone」をクリックすると、右のリストビューが変わります。「コードグループプロパティの編集」というリンクがあるので、このリンクをクリックします。
 プロパティウインドウが表示されたら、「アクセス許可セット」タブをクリックします。これを表示したまま、「.NET Configration 1.1」に戻ります。
 「LocalIntranet_Zone」をクリックし、同じく「コードグループプロパティの編集」リンクをクリックします。そして「アクセス許可セット」タブを表示します。

 この2つを見比べることで、ローカルなコンピュータで実行されるコードと、イントラネットで実行されるコードにかけられるセキュリティの違いがわかります。ローカルコンピュータは「アクセス許可セット」が「FullTrust」になっており、すべてのことが制限なしに実行されます。対してイントラネットは、たとえば「セキュリティ」をクリックして選択し、「アクセス許可の表示」ボタンをクリックします。この中で、「アンマネージコードへの呼び出しを許可する」が「いいえ」となっており、アンマネージコードの呼び出しがあればセキュリティ例外が発生することがわかります。

 実際に、どのコードグループが適用されるかは、こちらの連載(インサイド .NET Framework [改訂版])の、6回以降を見れば、だいたいわかると思います。


 それで、最初の質問に戻って、『セキュリティを『完全な信頼』にした場合は、ローカルアプリと制限の差はあるのでしょうか?』は、「差はありません」です。


 なお、開いたダイアログは、すべて「キャンセル」で閉じてください。
ranta
会議室デビュー日: 2004/05/11
投稿数: 11
お住まい・勤務地: 神奈川
投稿日時: 2004-05-13 09:35
大変親切、丁寧な返信、ありがとう御座います。
非常に良く理解できました。
本当にありがとう御座います。

アクセス許可セットの方、確認致しました。
セキュリティ許可はここで一元管理されているのですね。
ノータッチ・デプロイメントの記事などを参考しながら検証していたのですが、
セキュリティに関してはデフォルトのままを基本とした記事でしたので、
要領を得ずに途方に暮れていました。

ここでのレスや、ご紹介の頂いた記事を参照にセキュリティ面で
出来る限り譲歩の利くような検証をしていきたいと思います。

丁寧にご教授頂き、誠にありがとう御座います。
今後とも、宜しくお願い致します。

スキルアップ/キャリアアップ(JOB@IT)