第7回 ClickOnceが持つセキュリティ機構とは?

VS 2005のIDEにおける権限要求の設定権限要求(=使用するアクセス許可)の設定を行っているところ。前述の「VS 2005のIDEにおけるセキュリティ・モードの設定」の画面と同じように、プロジェクト・プロパティの[セキュリティ]タブを開く。その際、部分信頼を選択しておく。  (1)ゾーンからデフォルトのアクセス許可セットを自動的に設定できる。「ローカル イントラネット」「インターネット」「(カスタム)」から選択でき、選択を切り替えると、(2)の含まれるアクセス許可の表示(緑色のマーク)が切り替わる。「(カスタム)」は完全に手動でアクセス許可を設定したいときに選択する。  (2)[設定]のコンボボックスでアクセス許可の「必要/必要なし」を変更できる。ゾーンで必要とされないアクセス許可を「必要」に変更した場合、[含まれるアクセス許可]に黄色のマークが表示される。この状態で発行を行うと、エンド・ユーザーは権限の昇格が必要となる。アクセス許可の各項目の意味については「インサイド .NET Framework [改訂版]:第8回 コード・アクセス・セキュリティ(その3)」が参考になるだろう。この記事ページに記載されていないアクセス許可については、MSDNで検索して調べてほしい。  (3)[アクセス許可の検出]ボタンをクリックすると、プログラム・コードを検証して必要なアクセス許可を自動的に選択してくれる。先ほどの(1)のゾーンの選択で「(カスタム)」を選んだうえで行うと、不必要なアクセス許可は設定されずに、必要なアクセス許可のみ設定できるというメリットがある。ただし、権限の昇格が起こるかどうかを予測するのが一見するだけでは難しくなるというデメリットもある。  (4)[プロパティ]ボタンをクリックすると、各アクセス許可についてより詳しく設定したり、参照したりできる。  (5)[リセット]ボタンをクリックすると、すべてのアクセス許可が((1)のゾーンごとの)デフォルト値に戻る。  (6)[詳細設定]ボタンをクリックすると、[セキュリティの詳細設定]ダイアログが表示される。そのダイアログでは、部分信頼のセキュリティ環境でのデバッグを有効にするオプション(デフォルトはON)や、ダウンロード元/実行元のサイトにアクセスするためのアクセス許可のオプション(デフォルトはON)、デバッグ時にダウンロード元サイトと仮定して用いるURL(デフォルトは未入力)などが設定できる。ダウンロード元/実行元のサイトにアクセスするためのアクセス許可のオプション(厳密には[アプリケーション アクセスをその元のサイトに与える])は、ノータッチ・デプロイメントの時代からあったカスタム・コード・グループのNetCodeGroup(アセンブリのダウンロード元のサイトへのWebアクセスを許可。これにより、同一サイトのWebサービスが利用可能になる)と同じアクセス許可である。

VS 2005のIDEにおける権限要求の設定権限要求(=使用するアクセス許可)の設定を行っているところ。前述の「VS 2005のIDEにおけるセキュリティ・モードの設定」の画面と同じように、プロジェクト・プロパティの[セキュリティ]タブを開く。その際、部分信頼を選択しておく。  (1)ゾーンからデフォルトのアクセス許可セットを自動的に設定できる。「ローカル イントラネット」「インターネット」「(カスタム)」から選択でき、選択を切り替えると、(2)の含まれるアクセス許可の表示(緑色のマーク)が切り替わる。「(カスタム)」は完全に手動でアクセス許可を設定したいときに選択する。  (2)[設定]のコンボボックスでアクセス許可の「必要/必要なし」を変更できる。ゾーンで必要とされないアクセス許可を「必要」に変更した場合、[含まれるアクセス許可]に黄色のマークが表示される。この状態で発行を行うと、エンド・ユーザーは権限の昇格が必要となる。アクセス許可の各項目の意味については「インサイド .NET Framework [改訂版]:第8回 コード・アクセス・セキュリティ(その3)」が参考になるだろう。この記事ページに記載されていないアクセス許可については、MSDNで検索して調べてほしい。  (3)[アクセス許可の検出]ボタンをクリックすると、プログラム・コードを検証して必要なアクセス許可を自動的に選択してくれる。先ほどの(1)のゾーンの選択で「(カスタム)」を選んだうえで行うと、不必要なアクセス許可は設定されずに、必要なアクセス許可のみ設定できるというメリットがある。ただし、権限の昇格が起こるかどうかを予測するのが一見するだけでは難しくなるというデメリットもある。  (4)[プロパティ]ボタンをクリックすると、各アクセス許可についてより詳しく設定したり、参照したりできる。  (5)[リセット]ボタンをクリックすると、すべてのアクセス許可が((1)のゾーンごとの)デフォルト値に戻る。  (6)[詳細設定]ボタンをクリックすると、[セキュリティの詳細設定]ダイアログが表示される。そのダイアログでは、部分信頼のセキュリティ環境でのデバッグを有効にするオプション(デフォルトはON)や、ダウンロード元/実行元のサイトにアクセスするためのアクセス許可のオプション(デフォルトはON)、デバッグ時にダウンロード元サイトと仮定して用いるURL(デフォルトは未入力)などが設定できる。ダウンロード元/実行元のサイトにアクセスするためのアクセス許可のオプション(厳密には[アプリケーション アクセスをその元のサイトに与える])は、ノータッチ・デプロイメントの時代からあったカスタム・コード・グループのNetCodeGroup(アセンブリのダウンロード元のサイトへのWebアクセスを許可。これにより、同一サイトのWebサービスが利用可能になる)と同じアクセス許可である。