次の方法で共有


IAuthorizationExtension.CreateSecurityDescriptor Method

レポート サーバー データベースに個々のアイテムと共に格納されたセキュリティ記述子を返します。 このメソッドは、CLS に準拠していません。

名前空間: Microsoft.ReportingServices.Interfaces
アセンブリ: Microsoft.ReportingServices.Interfaces (microsoft.reportingservices.interfaces.dll 内)

構文

'宣言
<StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey:="0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")> _
Function CreateSecurityDescriptor ( _
    acl As AceCollection, _
    itemType As SecurityItemType, _
    <OutAttribute> ByRef stringSecDesc As String _
) As Byte()
[StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey="0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")] 
byte[] CreateSecurityDescriptor (
    AceCollection acl,
    SecurityItemType itemType,
    out string stringSecDesc
)
[StrongNameIdentityPermissionAttribute(SecurityAction::LinkDemand, PublicKey=L"0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")] 
array<unsigned char>^ CreateSecurityDescriptor (
    AceCollection^ acl, 
    SecurityItemType itemType, 
    [OutAttribute] String^% stringSecDesc
)
/** @attribute StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey="0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8") */ 
byte[] CreateSecurityDescriptor (
    AceCollection acl, 
    SecurityItemType itemType, 
    /** @attribute OutAttribute() */ /** @ref */ String stringSecDesc
)
JScript は、値と型の引数の参照渡しをサポートしていません。

パラメータ

  • acl
    アイテムのレポート サーバーによって作成されたアクセス コードの一覧です。アクセス コード エントリのコレクションが含まれます。
  • itemType
    セキュリティ記述子が作成されるアイテムの種類です。
  • stringSecDesc
    省略可能です。デバッグに使用可能なセキュリティ記述子の、わかりやすい説明です。これは、レポート サーバーで格納されません。

戻り値

シリアル化されたアクセス コードの一覧です。

解説

このメソッドを実装して、レポート サーバー データベースのアイテムに適用されるアクセス コードの一覧をシリアル化します。

セキュリティ記述子は次のものを説明します。

  • アイテムで操作を実行する権限を持っているグループまたはユーザー

  • アイテムの種類

  • アイテムへのアクセスを制御する任意のアクセス制御リスト

セキュリティ記述子を使用して、アイテムとそのプロパティへのアクセスを制御できます。SQL Server Reporting Services セキュリティ記述子を使用すると、次の操作を実行できます。

  • アイテムとそのプロパティへの、トラスティ アクセス権の付与

  • プリンシパル名またはプリンシパル ユーザー ID を使用した、トラスティの識別

  • プログラムによる、記述子の設定、取得、および変更

各アイテムのセキュリティ記述子を作成するには、CreateSecurityDescriptor メソッドを呼び出します。各アイテムのセキュリティ記述子にアクセスするには、レポート サーバーを介して CheckAccess を呼び出します。このプロパティは、シリアル化されたバイト配列におけるアイテムの記述子です。記述子は、レポート サーバー データベースに物理的に格納されます。このデータベースは、内部ではアクセス制御エントリのコレクションに基づいています。アイテムについてアクセス確認を要求すると、バイト配列がデータベースから取得され、引数として CheckAccess メソッドに渡されます。アイテムにこのプロパティを設定すると、AceCollection が渡され、アイテムのバイナリ記述子の作成を求められます。

使用例

次の例では、CreateSecurityDescriptor メソッドを使用して、レポート サーバー データベースのアイテムのアクセス コードの一覧をシリアル化します。このメソッドを使用して、追加のセキュリティ情報や認証情報をセキュリティ記述子の一部としてシリアル化できます。

Public Function CreateSecurityDescriptor(acl As AceCollection, itemType As SecurityItemType, ByRef stringSecDesc As String) As Byte()
   ' Creates a memory stream and serializes the ACL for storage.
   Dim bf As New BinaryFormatter()
   Dim result As New MemoryStream()
   bf.Serialize(result, acl)
   stringSecDesc = Nothing
   Return result.GetBuffer()
End Function 'CreateSecurityDescriptor
public byte[] CreateSecurityDescriptor(AceCollection acl, SecurityItemType itemType, out string stringSecDesc)
{
   // Creates a memory stream and serializes the ACL for storage.
   BinaryFormatter bf = new BinaryFormatter();
   MemoryStream result = new MemoryStream();
   bf.Serialize(result, acl);
   stringSecDesc = null;
   return result.GetBuffer();
}

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

IAuthorizationExtension Interface
IAuthorizationExtension Members
Microsoft.ReportingServices.Interfaces Namespace