技術解説
Office 2003で変わる業務アプリケーション

3..NET Frameworkテクノロジの利用

一色 政彦
2003/11/27

 Office Systemベースの業務アプリケーションにおける、.NET Frameworkテクノロジの利点は2つある。1つは、自動ダウンロードと自動アップデート機能による展開、もう1つはコード・アクセス・セキュリティ(以降、CAS:Code Access Security)によるセキュリティ機能である。

自動ダウンロードと自動アップデート機能による展開

 自動ダウンロードと自動アップデートは、.NET Frameworkのノータッチ・デプロイメントに近い技術で、Officeアプリケーションを実行すると、自動的に.NETアセンブリをネットワーク・サーバからダウンロードする機能だ。これにより、クライアント側で実行されるアプリケーション(つまり.NETアセンブリ)を更新する場合も、ネットワーク上の.NETアセンブリ(DLL)を上書きするだけで、自動的にアップデート版のアプリケーションを展開することができる。クライアント側でOfficeアプリケーションが実行されると、まず(ネットワーク上の).NETアセンブリがアップデートされているどうかが検出され、アップデートされていれば新しい.NETアセンブリがクライアント側に自動的にダウンロードされる。

 この機能により、C/Sシステムの欠点だったアプリケーション展開の問題を解決できる。Office Systemと.NET Frameworkテクノロジを組み合わせて使うことで、管理者は展開の作業から解放され、ユーザーも手動によるダウンロードやアップデートの必要がなくなる。管理者とユーザーのどちらでもTCOを削減することができる。

CASによるセキュリティ機能

 2つ目のCASによるセキュリティ機能は、コードの信頼性を評価して、コードの実行を制御するための機能だ。この機能を使えば、特定のアセンブリのみに実行許可を与えることができるので、ウイルスなどの悪意のあるコードが実行されるのを防ぐことができる。

 CASでは、.NETアセンブリ(プログラム)に対して非常に柔軟なセキュリティ設定を行うことができる。例えば、ローカル・ディスクにはアクセスできないが、印刷はできるという設定を行ったり、あるサーバにあるプログラムはすべての機能を実行できるが、それ以外のサーバのプログラムは一部の機能しか実行できないという設定を行ったりできる。しかも、インターネット/イントラネット上のプログラムは、セキュリティ上の問題がある機能(例えばローカル・ディスクへのアクセス)などが、デフォルト(初期)の設定では実行できないようになっている。

 セキュリティのため、Office 2003で実行される.NETアセンブリは、適切なCASの設定が行われていなければ実行できなくなっている。よって、Office 2003ソリューションでは、CASのセキュリティ設定が必須である。次に、このOfficeソリューションでのCASによるセキュリティ設定について詳しく見てみよう。

Officeソリューション用のCASの設定

 Office 2003ソリューションにおけるCASの設定は、通常の.NETアセンブリでCASを設定する場合とまったく同じである。[コントロール パネル]の中の[管理ツール]−[Microsoft .NET Framework 1.1 構成]ツールで設定を行うことができる。次の画面は、ネットワーク上に配置した.NETアセンブリに対してCASの設定を行っているところだ。

ネットワーク上にあるアセンブリに対するCASの設定
ネットワーク共有フォルダまたはWebサーバ上にあるOfficeアドインの.NETアセンブリに対してCASを設定しているところ。ローカルに.NETアセンブリがある場合のCASの設定方法は後述する。なお、説明中の「コード グループ」とは、セキュリティ設定を行う単位のことである。「メンバシップ条件」とはそのコード・グループのセキュリティ設定を適用する条件のことで、例えば「URLが○○のときに適用する」などの条件を設定できる。この画面の例では、URLが「file://ISK-XP-PRO/SHARE/Estimates/*」のときに、すべてを実行できる権限(FullTrust)を与えるコード・グループを作成している。
  [マイ コンピュータ]−[ランタイム セキュリティ ポリシー]−[コンピュータ]−[コード グループ]−[All_Code]−[LocalIntranet_Zone]を選択する。
  Officeソリューションの.NETアセンブリへのURL名でコード・グループを1つ作成する。
  コード・グループのメンバシップ条件の種類として「URL」を選択する。
  [URL]のテキスト・ボックスに「Officeソリューションの.NETアセンブリへのURL」をUNCパスで入力する(入力例:「\\ISK-XP-PRO\SHARE\Estimates\*」または「file://ISK-XP-PRO/SHARE/Estimates/*」)。
  [アクセス許可セット]タブを開いて、アクセス許可セットとして「FullTrust(すべての機能を実行できる権限)」を設定する。
  [OK]をクリックすると設定が保存される。

 .NETアセンブリをローカルに配置した場合のCASの設定方法は次のとおりである。

ローカルにあるアセンブリに対するCASの設定
ローカルにあるOfficeアドインの.NETアセンブリに対してCASを設定しているところ。
  [マイ コンピュータ]−[ランタイム セキュリティ ポリシー]−[ユーザー]−[コード グループ]−[All_Code]に、コード・グループ「Office_Projects」を作成する。コード・グループの設定は、メンバシップ条件で「All Code」を指定して、アクセス許可セットで「Nothing」を指定する。
  作成した[Office_Projects]を選択して、Officeソリューションの.NETアセンブリへのURL名でコード・グループを1つ作成する。
  コード・グループのメンバシップ条件の種類として「URL」を選択する。
  [URL]のテキスト・ボックスに「Officeソリューションの.NETアセンブリへのURL」をファイル・パスで入力する(入力例:「C:\Estimates\*」または「file://C:/Estimates/*」)。
  [アクセス許可セット]タブを開いて、アクセス許可セットとして「FullTrust」を設定する。
  [OK]をクリックすると設定が保存される。

 これらの設定によって、Office 2003で使用するサーバ上の.NETアセンブリに、すべての機能を実行できる権限(FullTrust)が与えられる。これにより、例えば、ローカル・ディスクやレジストリへアクセスしてファイルを読み書きすることも、印刷することもできるようになる。


 INDEX
  [技術解説]Office 2003で変わる業務アプリケーション
    1.業務アプリケーションとOffice 2003ソリューション
    2.Office 2003をフロントエンドにした業務アプリケーション
  3..NET Frameworkテクノロジの利用
    4.Office 2003 業務アプリケーションの展開
 
 技術解説
Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

スキルアップ/キャリアアップ

.NET管理者虎の巻

- PR -
- PR -