Cómo: Conceder permisos a carpetas y ensamblados (2003 System)

Actualización: noviembre 2007

Se aplica a

La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office.

Tipo de proyecto

  • Proyectos de nivel de documento

  • Proyectos de nivel de aplicación

Versión de Microsoft Office

  • Microsoft Office 2003

Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto.

Los procedimientos siguientes conceden permisos de plena confianza a un ensamblado o una carpeta en una solución de Visual Studio Tools para Office. Normalmente, los permisos se conceden a un ensamblado específico. Si tiene varios ensamblados y tiene la certeza de que la ubicación es segura, puede conceder plena confianza a la carpeta en la que se encuentran los ensamblados. Si concede confianza a la carpeta, la concede también a todos los ensamblados incluidos en ella y en sus subcarpetas.

Existen tres maneras de conceder permisos a las carpetas y los ensamblados en soluciones de Office:

  • Utilizar la propiedad Ubicación de los ensamblados de plena confianza en Visual Studio. (Útil sólo durante el desarrollo.)

    La propiedad Ubicación de los ensamblados de plena confianza sólo funciona en el desarrollo; no tiene ningún efecto para los usuarios finales. Por esta razón, no puede utilizar este método para la implementación. Para obtener más información, vea Propiedades en proyectos de Visual Studio Tools para Office.

  • Utilizar la herramienta Configuración de Microsoft .NET Framework 2.0.

    Esta herramienta proporciona una interfaz gráfica de usuario para trabajar con directivas de seguridad. La herramienta no está incluida en Visual Studio 2008, pero puede descargarla como parte del Kit de desarrollo de software (SDK) de .NET Framework 2.0, que está disponible en el Centro de descarga de Microsoft. Para obtener un ejemplo, vea el Kit de desarrollo de software (SDK) de .NET Framework 2.0 (x86).

  • Utilizar la herramienta Directiva de seguridad de acceso a código (Caspol.exe)

    Esta herramienta es una interfaz de línea de comandos para trabajar con directivas de seguridad.

Nota:

Estos son los pasos básicos para establecer la directiva de seguridad propia con el fin de desarrollar y probar ensamblados. No utilice estos pasos para otorgar confianza a los ensamblados o a los directorios si no tiene la certeza de que son totalmente seguros. Para obtener más información sobre cómo se establecen directivas de seguridad, vea Implementar la directiva de seguridad y Configurar grupos de código mediante la herramienta Configuración de .NET Framework (Mscorcfg.msc).

Utilizar la propiedad Ubicación de los ensamblados de plena confianza

Cuando se crea un proyecto, de manera predeterminada se concede plena confianza basada en la ubicación. Si la Ubicación de los ensamblados de plena confianza ha cambiado, se puede volver a aplicar la configuración predeterminada.

Para conceder plena confianza a ensamblados del proyecto en el equipo de desarrollo

  1. En Visual Studio, seleccione el nodo de proyecto en el Explorador de soluciones.

  2. En la ventana Propiedades, seleccione Ubicación de los ensamblados de plena confianza.

  3. Establezca la propiedad en true.

  4. En el menú Generar, haga clic en Generar solución.

Utilizar la herramienta Configuración de .NET Framework 2,0.

Para instalar esta herramienta, descargue e instale el Kit de desarrollo de software (SDK) de .NET Framework 2.0 del Centro de descarga de Microsoft.

El procedimiento que tenga que seguir dependerá de dónde se encuentre el ensamblado o la carpeta:

  • En el equipo local.

  • En otro equipo en una red (o en una unidad asignada).

Para otorgar plena confianza a un ensamblado o una carpeta ubicados en el equipo local

  1. En el Panel de control, abra Herramientas administrativas.

  2. Ejecute Configuración de Microsoft .NET Framework 2.0.

    Nota:

    Puede haber algunas herramientas similares cuyos nombres empiecen por Microsoft .NET Framework. Asegúrese de que la herramienta de configuración que está utilizando concuerde con la versión del motor en tiempo de ejecución.

  3. En la vista de árbol del lado izquierdo, expanda Configuración de .NET Framework 2.0, Mi PC, Directiva de seguridad en tiempo de ejecución, Usuario, Grupos de código, All_Code y, finalmente, VSTOProjects.

    Nota:

    Si no ha compilado antes un proyecto de Visual Studio Tools para Office, no tendrá la carpeta VSTOProjects. Puede agregar el nuevo grupo de código al nodo raíz All_Code o compilar un proyecto de Visual Studio Tools para Office para que la carpeta VSTOProjects se cree automáticamente.

    A la derecha está la descripción del grupo de código de VSTOProjects, que tiene una sección Tareas en la parte inferior de la página.

  4. En la sección Tareas, haga clic en Agregar un grupo de código secundario.

    Se abrirá el asistente Crear grupo de código.

  5. Seleccione Crear un nuevo grupo de código, y escriba un nombre y una descripción que faciliten la identificación del proyecto. Haga clic en Siguiente.

  6. En la lista Elija el tipo de condición para este grupo de código, haga clic en Dirección URL.

  7. En el cuadro Dirección URL, escriba la ruta de acceso completa al ensamblado o la ruta de acceso a la carpeta bin del proyecto seguida de un asterisco (por ejemplo, c:\ruta de acceso\ExcelApplication1.dll o c:\ruta de accesoExcelApplication1\bin\*).

  8. Haga clic en Siguiente.

    Nota:

    Si escribe la ruta de acceso a la carpeta bin, se concede plena confianza a todos los ensamblados de la carpeta y a todas las subcarpetas del equipo. Asegúrese de que ninguna persona no autorizada tenga acceso a las carpetas que tienen plena confianza, de lo contrario alguien podría colocar un ensamblado malintencionado en la carpeta y el ensamblado se ejecutaría con plena confianza.

    Precaución:

    No conceda permisos a una unidad de disco duro completa (como C:\*) ni a carpetas generales como Mis documentos, porque es posible que se estén concediendo permisos a ensamblados almacenados en caché procedentes de Internet o de mensajes de correo electrónico. Sólo se deben conceder permisos a las carpetas concretas del proyecto que contengan los ensamblados cuya seguridad de ejecución sea evidente.

  9. Seleccione Usar conjunto de permisos existente y, a continuación, seleccione FullTrust en la lista.

  10. Haga clic en Siguiente.

  11. Haga clic en Finalizar.

Para otorgar plena confianza a un ensamblado o una carpeta en un equipo de red o en una unidad asignada

  1. En el Panel de control, abra Herramientas administrativas.

  2. Ejecute Configuración de Microsoft .NET Framework 2.0.

    Nota:

    Puede haber algunas herramientas similares cuyos nombres empiecen por Microsoft .NET Framework. Asegúrese de que la herramienta de configuración que está utilizando concuerde con la versión del motor en tiempo de ejecución.

  3. En la vista de árbol del lado izquierdo, expanda Configuración de .NET Framework 2.0, Mi PC, Directiva de seguridad en tiempo de ejecución, Equipo, Grupos de código y, finalmente All_Code.

    Nota:

    Para otorgar plena confianza a un ensamblado o una carpeta en un equipo de red, debe ser administrador; además, la confianza se debe otorgar en el nivel Equipo en lugar de en el nivel Usuario.

  4. Haga clic con el botón secundario en LocalIntranet_Zone bajo All_Code y, a continuación, haga clic en Nuevo.

    En este paso se presupone que el servidor que está usando se encuentra en la zona Intranet local. Si se ha agregado a la zona Sitios de confianza de Internet Explorer, haga clic con el botón secundario en Trusted_Zone. Si el ensamblado está en una unidad asignada, debe utilizar LocalIntranet_Zone.

  5. Escriba un nombre y una descripción que faciliten la identificación del proyecto. Haga clic en Siguiente.

  6. En la lista Elija el tipo de condición para este grupo de código, haga clic en Dirección URL.

  7. En el cuadro Dirección URL, escriba la ruta de acceso completa al ensamblado o la ruta de acceso a la carpeta bin del proyecto seguida de un asterisco (por ejemplo, \\NombreServidor\NombreCarpeta\ExcelApplication1.dll o http://NombreServidor/NombreCarpeta/ExcelApplication1/bin/*).

  8. Haga clic en Siguiente.

    Nota:

    Si escribe la ruta de acceso a la carpeta bin, se otorgará plena confianza en el equipo a todos los ensamblados de esta carpeta y de todas sus subcarpetas. Si no tiene la certeza de que estas carpetas son seguras, la concesión de un conjunto tan amplio de permisos puede suponer un riesgo en materia de seguridad.

  9. Seleccione Usar conjunto de permisos existente y, a continuación, seleccione FullTrust en la lista.

  10. Haga clic en Siguiente.

  11. Haga clic en Finalizar.

Utilizar la herramienta de la directiva de seguridad de acceso a código (Caspol.exe)

También se puede otorgar plena confianza a una carpeta desde el símbolo del sistema utilizando la herramienta de la directiva de seguridad de acceso a código (Caspol.exe). Para obtener más información sobre Caspol.exe, vea Herramienta de la directiva de seguridad de acceso a código (Caspol.exe).

Se puede otorgar plena confianza a una carpeta ubicada en el equipo local, en el nivel Usuario, con permisos normales de usuario. Para otorgar confianza a una ubicación de red se deben tener privilegios de administrador y cambiar la directiva de seguridad en el nivel Equipo. El nivel de directiva Equipo actúa independientemente del nivel de directiva Usuario y el nivel de directiva Equipo no concede plena confianza a la zona de intranet aunque la conceda la directiva Usuario. Los niveles de directiva deben coincidir.

Sugerencia:

Escriba los comandos manualmente. Si copia y pega los comandos en el símbolo del sistema, puede provocar un error de opciones desconocidas.

Para otorgar plena confianza a una carpeta local

  • Escriba el siguiente comando en el símbolo del sistema de Visual Studio.

    caspol -u -ag All_Code -url 
    C:\<FolderName>\<FolderName>\* FullTrust -n "<Name>" -d
    "<Description>"
    

Para otorgar plena confianza a una carpeta de red

  • Escriba el siguiente comando en el símbolo del sistema de Visual Studio.

    caspol -m -ag LocalIntranet_Zone -url 
    \\<ServerName>\<FolderName>\* FullTrust -n "<Name>" -d 
    "<Description>"
    

Para obtener más información, vea Cómo: Agregar grupos de código mediante Caspol.exe.

Nota:

Una vez implementada la directiva, cualquier usuario que se vea afectado por el cambio debe salir de todas las aplicaciones de Office utilizadas en la solución y reiniciarlas antes de que se apliquen los cambios. Si Microsoft Office Word forma parte de la solución, los usuarios deben salir y reiniciar también Microsoft Office Outlook. Además, si un usuario ha abierto un documento o libro en Internet Explorer, es posible que el proceso todavía se esté ejecutando. Compruebe el Administrador de tareas de Windows para asegurarse de que no hay instancias de la aplicación de Office en ejecución. El resto de las aplicaciones que hospedan aplicaciones de Office también pueden impedir que se apliquen los nuevos permisos. Los usuarios deben salir de todas las aplicaciones que utiliza Office, autónomas o no, cuando se modifican las directivas de seguridad.

Vea también

Tareas

Cómo: Quitar permisos a carpetas y ensamblados (2003 System)

Conceptos

Requisitos de seguridad para ejecutar las soluciones de Office (2003 System)

Procedimientos recomendados sobre seguridad para soluciones de Office (2003 System)

Consideraciones de seguridad específicas para soluciones de Office

Grupos de código

Proteger aplicaciones

Otros recursos

Seguridad en las soluciones de Office (2003 System)