次の方法で共有


Reporting Services セキュリティ ポリシー ファイルの使用

Reporting Services は、セットアップ時にファイル システムにコピーされる 3 つの構成ファイルにコンポーネント セキュリティ ポリシー情報を格納します。 これらの構成ファイルには、Reporting Services のコード アセンブリの内部使用とユーザー定義のセキュリティ ポリシーの組み合わせを含めることができます。 3 つの構成ファイルは、Reporting Services の 3 つのセキュリティ保護可能なコンポーネント (レポート サーバーと Windows サービス、レポート マネージャー Web アプリケーション、レポート デザイナー プレビュー ウィンドウ) に対応しています。

レポート デザイナーには、2 つのプレビュー モードがあります。プレビュー タブと、レポート プロジェクトが DebugLocal モードで開始されたときに起動されるポップアップ プレビュー ウィンドウです。 [ プレビュー ] タブはセキュリティ保護可能なコンポーネントではなく、セキュリティ ポリシー設定は適用されません。 プレビュー ウィンドウはレポート サーバーの機能をシミュレートするためのものです。そのため、ユーザーまたは管理者がレポート デザイナーでカスタム アセンブリとカスタム拡張機能を使用するように変更する必要があるポリシー構成ファイルがあります。

セキュリティ ポリシー構成ファイルには、セキュリティ クラス情報、既定の名前付きアクセス許可セット、および Reporting Services のアセンブリのコード グループが含まれています。 Reporting Services のポリシー構成ファイルは、.NET Framework のコンピューター およびエンタープライズ レベルのポリシーに関連付けられているコード グループ階層とアクセス許可セットを決定する Security.config ファイルに似ています。 このファイルの場所は C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\security.configです。

Reporting Services のポリシー ファイル

次の表に、Reporting Services のポリシー構成ファイル、その場所 (既定のインストールを想定)、およびそれぞれの機能を示します。

ファイル名 場所 (既定のインストール) 説明
rssrvpolicy.config C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer レポート サーバー ポリシー構成ファイル。 これらのセキュリティ ポリシーは、レポートがレポート サーバーに配置されると、主にレポート式とカスタム アセンブリに影響します。 このポリシー ファイルは、レポート サーバーに展開されるカスタム データ、配信、表示、およびセキュリティ拡張機能にも影響します。
rsmgrpolicy.config C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager レポート マネージャー ポリシー構成ファイル。 これらのセキュリティ ポリシーは、レポート マネージャーを拡張するすべてのアセンブリに影響します。たとえば、カスタム配信用のサブスクリプション ユーザー インターフェイス拡張機能などです。
rspreviewpolicy.config C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies レポート デザイナーのスタンドアロン プレビュー ポリシー構成ファイル。 これらのセキュリティ ポリシーは、プレビューおよび開発中にレポートで使用されるカスタム アセンブリとレポート式に影響します。 これらのポリシーは、レポート デザイナーに展開されるデータ処理拡張機能などのカスタム拡張機能にも影響します。

構成ファイルの変更

構成設定は、XML 要素または XML 属性のいずれかとして指定されます。 XML ファイルおよび構成ファイルを理解している場合は、テキスト エディターまたはコード エディターを使用して、ユーザーが定義可能な設定を変更できます。 セキュリティ構成ファイルには、Reporting Services のポリシー レベルに関連付けられているコード グループ階層とアクセス許可セットに関する情報が含まれています。 .NET Framework 構成ユーティリティ (Mscorcfg.msc) またはコード アクセス セキュリティ ポリシー ユーティリティ (Caspol.exe) を使用して、ポリシーの変更がポリシー ファイルの有効な XML 構成要素に対応するように、Security.config ファイル内のセキュリティ ポリシーを変更することをお勧めします。 これを完了したら、新しいコード グループとアクセス許可セットを切り取って Security.config から、コードのアクセス許可を追加するコンポーネントのポリシー ファイルに貼り付けることができます。

Von Bedeutung

変更を加える前に、ポリシー構成ファイルをバックアップする必要があります。

このアプローチを使用すると、2 つのことが実現されます。 まず、ビジュアル ツールを使用して、Reporting Services のコード グループとアクセス許可セットを作成できます。 これは、XML 構成要素をゼロから書き込むよりもはるかに簡単です。 第 2 に、XML 要素と属性の形式が正しくないセキュリティ ポリシー構成ファイルが破損しないようにします。 コード アクセス セキュリティ ポリシー ユーティリティの詳細については、MSDN の Reporting Services セキュリティ ポリシー ファイルの使用を参照してください。

ポリシー構成ファイルを変更する前に、このセクションおよび関連トピックで使用可能なすべての情報を読む必要があります。 Reporting Services のポリシー構成を変更すると、Reporting Services コンポーネントが外部コード モジュールを実行する方法に大きなセキュリティ影響を与える可能性があります。

拡張機能の CodeGroup 要素の配置

セキュリティ ポリシー ファイル内での CodeGroup 要素の配置は重要です。 開発する拡張機能とカスタム アセンブリの場合は、次に示すように、URL メンバーシップ "$CodeGen$/*" の既存のエントリのすぐ下にカスタム コード グループを配置することをお勧めします。

<CodeGroup  
    class="UnionCodeGroup"  
    version="1"  
    PermissionSetName="FullTrust">  
    <IMembershipCondition   
        class="UrlMembershipCondition"  
        version="1"  
        Url="$CodeGen$/*"  
    />  
</CodeGroup>  
<CodeGroup   
    class="UnionCodeGroup"  
    version="1"  
    PermissionSetName="FullTrust"  
    Name="MyCustomCodeGroup"  
    Description="Code group for my custom extension">  
        <IMembershipCondition class="UrlMembershipCondition"  
        version="1"  
        Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\MyAssembly.dll"  
        />  
</CodeGroup>  

追加のコード グループを 1 つずつ追加できます。

こちらもご覧ください

セキュリティ ポリシーについて