方法 : 共有の場所にあるドキュメントおよびブックにアクセス許可を与える (2003 システム)

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • ドキュメント レベルのプロジェクト

  • アプリケーション レベルのプロジェクト

Microsoft Office のバージョン

  • Microsoft Office 2003

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

Microsoft Office 2003 ドキュメントが置かれている場所が安全でない場合 (たとえば、悪意のあるユーザーを含む多数のユーザーが書き込める SharePoint サイトやファイル共有) や、コンテンツをアップロードできるアクセス許可を持つユーザーが不明な場合は、すべてのコンテンツにではなく、その場所にあるドキュメントとブックにだけアクセス許可を付与できます。この操作を行うには、Office ドキュメント メンバシップ条件を使用し、ソリューションが実行されるコンピュータでこの条件を確認するようにセキュリティ ポリシーを変更します。エンド ユーザー コンピュータにおけるセキュリティ ポリシーの設定の詳細については、「セキュリティ ポリシーの配置」を参照してください。

Office ドキュメント メンバシップ条件を使用すると、Office ドキュメントだけが信頼され、アセンブリと実行可能ファイルには、共有から実行を許可するアクセス許可が付与されません。

カスタム コード グループは、Visual Studio コマンド ライン ツールまたは .NET Framework 2.0 構成ツールを使用して作成できます。両方の方法について、次で説明します。ただし、.NET Framework 2.0 構成ツールは Visual Studio 2008 に含まれていません。このツールは、Microsoft ダウンロード センターから .NET Framework 2.0 SDK の一部としてダウンロードできます。例については、「.NET Framework 2.0 SDK 日本語版 (x86)」を参照してください。

Visual Studio コマンド ライン ツールによるカスタム コード グループの作成

コマンドライン ツールを使用してカスタム コード グループを作成するには

  1. Visual Studio コマンド プロンプトを開きます。コンピュータに Visual Studio がインストールされていない場合は、Microsoft Windows コマンド プロンプトを開き、操作している Framework バージョンの Microsoft .NET Framework ディレクトリに変更します。たとえば、次のように指定します。

    %systemroot%\Microsoft.NET\Framework\v2.0.50727
    
  2. 次のコマンドを入力します。サンプルとして使用されている場所、名前、および説明は、ご自分の環境に合わせて適切なものに置き換えてください。

    gacutil -i "C:\Program Files\Microsoft 
    Office\Office11\Addins\Msosec.dll"
    
    caspol -m -ag LocalIntranet_Zone -url \\ServerName\FolderName\* 
    Nothing -n "My Data Folder" -d "Intermediate group for my documents"
    
    caspol -m -ag "My Data Folder" -custom "C:\Program Files\Microsoft 
    Office\Office11\Addins\Msosec.xml" FullTrust -n "My Data Documents" 
    -d "Grants FullTrust to all documents in my data folder"
    
    9w6bd8f1.alert_note(ja-jp,VS.90).gifヒント :

    コマンドは手動で入力してください。コマンドをコピーしてコマンド プロンプトに貼り付けると、不明なオプション エラーが発生することがあります。

.NET Framework 構成ツールによるカスタム コード グループの作成

.NET Framework 2.0 構成ツールを使用するには、Microsoft ダウンロード センターから .NET Framework 2.0 Software Development Kit (SDK) をダウンロードし、インストールする必要があります。

.NET Framework 2.0 構成ツールを使用する場合は、次の基本手順に従います。

  • グローバル アセンブリ キャッシュ (GAC: Global Assembly Cache) に Msosec.dll を追加します。Msosec.dll は、Microsoft.Office.Security.Policy.OfficeDocumentMembershipCondition を実装するアセンブリで、ドキュメントとブックの識別に使用されます。Msosec.dll は、Office のインストール場所にある ADDINS フォルダで見つかります。既定では、\Program Files\Microsoft Office\OFFICE11\ADDINS になります。

  • サーバーや特定のフォルダに対するアクセス許可を制限した (Nothing または LocalIntranet_Zone アクセス許可など) コード グループを作成します。

  • Office ドキュメントへの完全な信頼を付与した最初のコード グループに、2 つ目のコード グループを作成します。

    9w6bd8f1.alert_note(ja-jp,VS.90).gifメモ :

    ポリシーで Msosec を使用すると、そのコンピュータのすべてのマネージ コードでパフォーマンスが低下します。サーバーやその他のコンピュータには、必要ない限り Msosec を追加しないことが推奨されます。

Msosec.dll をアセンブリ キャッシュに追加するには

  1. 管理者としてコンピュータにログオンします。

  2. [コントロール パネル][管理ツール] を開き、[Microsoft .NET Framework 2.0 構成] を実行します。

  3. [コンソール ルート] ノードで、[.NET Framework 2.0 Configuration] を展開し、次に [マイ コンピュータ] を展開します。

  4. [アセンブリ キャッシュ] を右クリックし、[追加] をクリックします。

  5. Office がインストールされているフォルダ内の Msosec.dll に移動します。たとえば、次のように指定します。

    C:\Program Files\Microsoft Office\Office11\Addins\Msosec.dll

  6. Msosec.dll を選択し、[開く] をクリックしてファイルをアセンブリ キャッシュに追加します。

サーバーやフォルダに対するアクセス許可を制限したコード グループを作成するには

  1. [コンピュータ (Machine)] ノードで、[コード グループ] を展開し、次に [All_Code] を展開します。

  2. [LocalIntranet_Zone] を右クリックし、[新規作成] をクリックします。

    この手順では、サーバーがローカル イントラネット ゾーンに設定されていると仮定します。Internet Explorer の信頼済みサイト ゾーンに追加されている場合は、[Trusted_Zone] を右クリックします。

  3. コード グループに名前を付けます。この例では、「Customer Data Folder」を使用します。

    このコード グループは、フォルダに対して、どのようなアクセス許可も付与しません。このフォルダは、次に作成するコード グループのコンテナとしての役割しか果たしません。

  4. [次へ] をクリックします。

  5. [このコード グループの条件の種類を選択します] ボックスの [URL] をクリックします。

  6. [URL] ボックスに、共有フォルダへのパスを入力します。

    パスの最後に必ずアスタリスクを入力してください。これにより、このフォルダ内のすべてのファイルとサブフォルダにアクセス許可が適用されます。たとえば、次のように指定します。

    \\ServerName\ShareName\*

  7. [次へ] をクリックします。

  8. [既存のアクセス許可セットを使用] ボックスの [なし] をクリックします。

    既定値は [FullTrust] です。これを [Nothing] に変更して、指定された場所にあるすべてのファイルにフル アクセス許可を付与しないようにする必要があります。

  9. [次へ] をクリックし、[完了] をクリックします。

Office ドキュメントに完全な信頼を付与するコード グループを作成するには

  1. この例で、「Customer Data Folder」という名前を付けた新しいコード グループを右クリックし、[新規作成] をクリックします。

  2. コード グループに名前を付けます。この例では、「Customer Data Documents」を使用します。

  3. [次へ] をクリックします。

  4. [このコード グループの条件の種類を選択します] ボックスの [(カスタム)] をクリックします。

  5. [インポート] をクリックし、Office がインストールされているフォルダ内の Msosec.xml に移動します。たとえば、次のように指定します。

    C:\Program Files\Microsoft Office\Office11\Addins\Msosec.xml

  6. Msosec.xml を選択し、[開く] をクリックして XML カスタム コード条件をインポートします。

  7. [次へ] をクリックします。

  8. [既存のアクセス許可セットを使用] ボックスの [FullTrust] をクリックします。

  9. [次へ] をクリックし、[完了] をクリックします。

信頼の付与の詳細については、「.NET Framework 構成ツール (Mscorcfg.msc) を使用したセキュリティ ポリシーの設定」および「コード アクセス セキュリティ ポリシー ツール (Caspol.exe) によるセキュリティ ポリシーの構成」を参照してください。

参照

処理手順

方法 : ポリシー アセンブリ リストにアセンブリを追加する

方法 : Caspol.exe を使用してアセンブリをセキュリティ ポリシーに追加する

概念

安全な配置 (2003 システム)

Office ソリューションの実行に必要なセキュリティ条件 (2003 システム)

Office ソリューションのセキュリティに関するベスト プラクティス (2003 システム)

その他の技術情報

Office ソリューションにおけるセキュリティ (2003 システム)