Compartir a través de


Uso de archivos de directivas de seguridad de Reporting Services

Reporting Services almacena información de directiva de seguridad de componentes en tres archivos de configuración que se copian en el sistema de archivos durante la instalación. Estos archivos de configuración pueden contener una combinación de directivas de seguridad definidas por el usuario y de uso interno para ensamblados de código en Reporting Services. Los tres archivos de configuración corresponden a tres componentes protegibles en Reporting Services: el servidor de informes y el servicio de Windows, la aplicación web del Administrador de informes y la ventana de vista previa del Diseñador de informes.

Nota:

Hay dos modos de vista previa para el Diseñador de informes: la pestaña vista previa y la ventana de vista previa emergente que se inicia cuando se inicia el proyecto de informe en modo DebugLocal . La pestaña Vista previa no es un componente protegible y no aplica la configuración de directiva de seguridad. La ventana de vista previa está pensada para simular la funcionalidad del servidor de informes y, por tanto, tiene un archivo de configuración de directiva que usted o un administrador deben modificar para usar ensamblados personalizados y extensiones personalizadas en el Diseñador de informes.

Los archivos de configuración de directivas de seguridad contienen información de clase de seguridad, algunos conjuntos de permisos con nombre predeterminados y los grupos de código para ensamblados de Reporting Services. Los archivos de configuración de directivas de Reporting Services son similares al archivo de Security.config que determina la jerarquía de grupos de código y los conjuntos de permisos asociados a directivas de nivel de equipo y de empresa en .NET Framework. La ubicación de este archivo es C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\security.config.

Archivos de directiva en Reporting Services

En la tabla siguiente se enumeran los archivos de configuración de directivas de Reporting Services, sus ubicaciones (suponiendo una instalación predeterminada) y sus respectivas funciones.

Nombre del archivo Ubicación (instalación predeterminada) Descripción
rssrvpolicy.config C:\Archivos de programa\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer Archivo de configuración de directiva del servidor de informes. Estas directivas de seguridad afectan principalmente a expresiones de informe y ensamblados personalizados una vez que se implementa un informe en un servidor de informes. Este archivo de directiva también afecta a los datos personalizados, la entrega, la representación y las extensiones de seguridad implementadas en el servidor de informes.
rsmgrpolicy.config C:\Archivos de programa\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager Archivo de configuración de directiva del Administrador de informes. Estas directivas de seguridad afectan a todos los ensamblados que extienden el Administrador de informes; por ejemplo, extensiones de interfaz de usuario de suscripción para la entrega personalizada.
rspreviewpolicy.config C:\Archivos de programa\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies Archivo de configuración de directiva de vista previa independiente del Diseñador de informes. Estas directivas de seguridad afectan a ensamblados personalizados y expresiones de informe que se usan en informes durante la versión preliminar y el desarrollo. Estas directivas también afectan a extensiones personalizadas, como extensiones de procesamiento de datos, que se implementan en el Diseñador de informes.

Modificar archivos de configuración

Los parámetros de configuración se especifican como atributos o elementos XML. Si comprende XML y los archivos de configuración, puede utilizar un editor de texto o de código para modificar las opciones de configuración definibles por el usuario. Los archivos de configuración de seguridad contienen información sobre la jerarquía de grupos de código y los conjuntos de permisos asociados a un nivel de directiva en Reporting Services. Se recomienda usar la Utilidad de configuración de .NET Framework (Mscorcfg.msc) o la Utilidad de directivas de seguridad de acceso a código (Caspol.exe) para modificar primero las directivas de seguridad en el archivo Security.config, de modo que los cambios de directiva se correspondan con los elementos de configuración XML válidos para los archivos de directiva. Una vez hecho esto, puede cortar y pegar los nuevos grupos de código y conjuntos de permisos de Security.config al archivo de directiva del componente al que va a agregar permisos de código.

Importante

Debe hacer una copia de seguridad de los archivos de configuración de la directiva antes de realizar cambios.

El uso de este enfoque logra dos cosas. En primer lugar, permite usar una herramienta visual para compilar los grupos de código y los conjuntos de permisos para Reporting Services. Esto es mucho más fácil que escribir elementos de configuración XML desde cero. En segundo lugar, garantiza que no se dañan los archivos de configuración de directivas de seguridad con elementos y atributos XML con formato incorrecto. Para obtener más información sobre la utilidad de directivas de seguridad de acceso al código, vea Uso de archivos de directivas de seguridad de Reporting Services en MSDN.

Antes de modificar los archivos de configuración de directivas, debe leer toda la información disponible en esta sección y temas relacionados. La modificación de la configuración de directiva de Reporting Services puede tener un impacto significativo en la seguridad de cómo los componentes de Reporting Services ejecutan módulos de código externo.

Colocación de elementos CodeGroup para extensiones

La colocación de elementos CodeGroup en un archivo de directiva de seguridad es importante. Para extensiones y ensamblados personalizados que desarrolle, se recomienda colocar los grupos de código personalizados directamente debajo de la entrada existente para la pertenencia a direcciones URL "$CodeGen$/*", como se indica a continuación:

<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>  

Los grupos de código adicionales se pueden agregar uno después de otro.

Véase también

Descripción de las directivas de seguridad