Conceptos de seguridad de COM+
COM+ proporciona varias características de seguridad que puede usar para ayudar a proteger las aplicaciones COM+, desde los servicios que configura de forma administrativa a las API a las que puede llamar dentro del código.
Siempre que sea posible, para las aplicaciones COM+, es mejor usar la seguridad automática, como la autenticación y la seguridad declarativa basada en roles, en lugar de configurar la seguridad dentro de los componentes. El uso de la seguridad automática facilita la escritura y el mantenimiento de los componentes, es más fácil diseñar la seguridad en toda una aplicación y, dado que está configurado administrativamente, es más fácil modificar la directiva de seguridad de una aplicación. Estos servicios de seguridad automáticos permiten dejar toda la funcionalidad relacionada con la seguridad de los componentes. Cuando pueda activar los servicios y configurarlos correctamente, COM+ controlará los detalles de aplicación de la directiva de seguridad que especifique.
Sin embargo, cuando los servicios de seguridad automáticos de COM+ no hacen exactamente lo que necesita que hagan, puede ampliarlos, basándose en la plataforma de seguridad automática proporcionada por COM+. En los casos en los que decide no usar la seguridad automática o dónde desea usarla, pero debe basarse en él para adaptarse a los requisitos de seguridad de la aplicación, tiene las siguientes opciones para configurar la seguridad mediante programación:
- Seguridad basada en roles mediante programación, por ejemplo, comprobación de roles, que está disponible cuando la seguridad basada en roles está habilitada para la aplicación.
- Suplantación: cuando desea usar la identidad de un cliente para acceder a un recurso protegido.
- Características de auditoría basadas en la información de contexto de llamada de seguridad, también disponible cuando se habilita la seguridad basada en roles.
Los mecanismos que use para ayudar a proteger una aplicación determinada dependerán de los requisitos concretos de esa aplicación. Algunas opciones de seguridad pueden afectar a cómo se escriben los componentes y algunas pueden afectar significativamente al diseño de la aplicación. Antes de tomar decisiones sobre cómo implementar una estrategia de seguridad para una aplicación, debe tener en cuenta sus requisitos de seguridad en el contexto de su diseño general( requisitos de rendimiento, acceso a datos, diseño físico) y elegir la combinación más adecuada de características de seguridad. Para obtener más información sobre cómo implementar la seguridad mediante programación, vea Seguridad de componentes mediante programación.
Aquí se proporcionan breves descripciones de las categorías de seguridad, las características y los problemas de COM+, con vínculos a temas de esta sección que proporcionan una explicación detallada de cada una de las áreas importantes.
Nota:
Aunque no se describe en esta sección, los componentes en cola también tienen problemas concretos relacionados con las características de seguridad que están disponibles para ellos. Para obtener más información, consulte Seguridad de componentes en cola y Desarrollo de componentes en cola.
Seguridad basada en roles
La seguridad basada en roles es la característica central de la seguridad de las aplicaciones COM+. Con los roles, puede construir administrativamente una directiva de autorización para una aplicación, eligiendo (hasta el nivel de método, si es necesario) qué usuarios pueden acceder a qué recursos. Además, los roles proporcionan un marco para aplicar la comprobación de seguridad dentro del código si la aplicación requiere un control de acceso más preciso.
La seguridad basada en roles se basa en un mecanismo general que le permite recuperar información de seguridad con respecto a todos los autores de llamadas ascendentes de la cadena de llamadas al componente. Esta instalación es útil especialmente si desea realizar auditorías y registros detallados. Para obtener una descripción de las características de auditoría proporcionadas por COM+, consulte Acceso a la información de contexto de llamada de seguridad.
Para obtener una descripción de los problemas de seguridad y administración basados en roles que debe tener en cuenta al usarlo, consulte Administración de seguridad basada en roles.
Autenticación de clientes
Para poder autorizar a los clientes a poder acceder a los recursos, debe estar seguro de que son quienes dicen que son. Para habilitar esta comprobación de identidad, COM+ proporciona servicios de autenticación. Aunque estos servicios se proporcionan realmente en un nivel más fundamental por COM y Microsoft Windows, una aplicación COM+ le permite simplemente activar el servicio de autenticación de forma administrativa para que funcione en segundo plano, transparente para la aplicación. Para obtener una descripción de los servicios de autenticación, consulte Autenticación de cliente.
Suplantación y delegación de cliente
En algunos casos, la aplicación debe realizar el trabajo en nombre de un cliente mediante la identidad del cliente, por ejemplo, al acceder a una base de datos que va a autenticar el cliente original. Esto requiere que la aplicación suplanta al cliente. COM+ proporciona instalaciones para habilitar varios niveles de suplantación. La suplantación se configura administrativamente, pero también debe proporcionar compatibilidad con la suplantación con el código de los componentes de la aplicación. Para obtener una descripción de la suplantación y los problemas relacionados con su uso, consulte Suplantación de cliente y Delegación.
Uso de la directiva de restricción de software en COM+
Una directiva de restricción de software proporciona una manera de ejecutar código que no es de confianza y, por lo tanto, potencialmente perjudicial, en un entorno restringido para que no pueda usar los privilegios del usuario. Para ello, asigna niveles de confianza a los archivos que el usuario puede ejecutar. Por ejemplo, determinados archivos del sistema pueden ser de plena confianza y tener acceso sin restricciones a los privilegios del usuario, mientras que un archivo que se descargó de Internet podría no ser completamente de confianza y, por lo tanto, puede ejecutarse solo en un entorno restringido en el que no se permite usar privilegios de usuario confidenciales de seguridad.
La directiva de restricción de software de todo el sistema se controla a través de la herramienta administrativa Directiva de seguridad local, lo que permite a los administradores configurar niveles de confianza para archivos individuales. Sin embargo, todas las aplicaciones de servidor COM+ se ejecutan en el archivo dllhost.exe. Por lo tanto, COM+ proporciona una manera de especificar la directiva de restricción de software para cada aplicación de servidor para que no necesiten depender de la directiva de restricción del archivo dllhost.exe. Para obtener una explicación sobre cómo usar la directiva de restricción de software en COM+, consulte Uso de la directiva de restricción de software en COM+.
Seguridad de aplicaciones de biblioteca
Las aplicaciones de biblioteca tienen consideraciones de seguridad especiales. Dado que estas aplicaciones se ejecutan en el proceso del cliente, se ven afectadas por la seguridad aplicada por el proceso de hospedaje, al tiempo que no pueden controlar la seguridad de nivel de proceso. Para obtener una descripción de los factores que se deben tener en cuenta para las aplicaciones de biblioteca, consulte Seguridad de aplicaciones de biblioteca.
Seguridad de aplicaciones de varios niveles
Las aplicaciones COM+ suelen ser aplicaciones de nivel intermedio; es decir, mueven información entre los clientes y los recursos de back-end, como las bases de datos. Las opciones difíciles pueden implicar la determinación de dónde se debe aplicar la seguridad y hasta qué punto. La seguridad implica inherentemente ventajas y desventajas del rendimiento. Algunos de los más graves se producen cuando debe aplicar la comprobación de seguridad tanto en el nivel de datos como en el nivel intermedio. Para obtener una explicación de los problemas que se deben tener en cuenta, consulte Seguridad de aplicaciones de varios niveles.
Temas relacionados