Permisos de acceso a código
Los permisos de acceso a código son objetos de permiso que se utilizan para ayudar a proteger recursos y operaciones del uso no autorizado. Constituyen una parte fundamental del mecanismo de Common Language Runtime para exigir restricciones de seguridad en el código administrado.
Cada permiso de acceso a código representa uno de los derechos siguientes:
Derecho de acceso a un recurso protegido, como archivos o variables de entorno.
Derecho a realizar una operación protegida, como el acceso a código no administrado.
El código puede solicitar o exigir todos los permisos de acceso a código, y el motor en tiempo de ejecución decide qué permisos, si los hay, se le conceden.
Cada permiso de acceso a código se deriva de la clase CodeAccessPermission, lo que significa que todos los permisos de acceso a código tienen métodos en común, como Demand, Assert, Deny, PermitOnly, IsSubsetOf, Intersect y Union.
Importante |
---|
En .NET Framework versión 4, se ha quitado la compatibilidad con el runtime para exigir las solicitudes de permisos Deny, RequestMinimum, RequestOptional y RequestRefuse.Estas solicitudes no deben usarse en código basado en .NET Framework 4 o posterior.Para obtener más información sobre estos y otros cambios, vea Cambios de seguridad en .NET Framework 4. |
.NET Framework proporciona los siguientes permisos de acceso a código.
Nombre de la clase de permiso |
Derecho representado |
---|---|
Acceso a recursos de entornos hospedados en ASP.NET. |
|
Obtener acceso a las clases System.DirectoryServices. |
|
Acceso a DNS (Domain Name System). |
|
Lectura o escritura de variables de entorno. |
|
Acceso de lectura o escritura a servicios de registro de eventos. |
|
Acceso a archivos que han sido seleccionados por el usuario en un cuadro de diálogo Abrir. |
|
Lectura, anexión o escritura en archivos o directorios. |
|
Acceso al almacenamiento aislado, que es aquél que está asociado a un usuario concreto y a algún aspecto de la identidad de código, como su sitio, editor o firma Web. |
|
Acceso a colas de mensajes a través de interfaces MSMQ (Microsoft Message Queuing) administradas. |
|
Acceso a orígenes de datos ODBC. |
|
Acceso a bases de datos mediante OLE DB. |
|
Acceso a una base de datos de Oracle. |
|
Tener acceso a contadores de rendimiento. |
|
Acceso a impresoras. |
|
Detección de información sobre un tipo en tiempo de ejecución. |
|
Lectura, escritura, creación o eliminación de claves y valores del Registro. |
|
Ejecución, aserción de permisos, llamada a código no administrado, comprobación de omisión y otros derechos. |
|
Acceso a servicios en ejecución o detenidos. |
|
Realización o aceptación de conexiones en una dirección de transporte. |
|
Acceso a bases de datos SQL. |
|
Acceso a la funcionalidad de interfaz de usuario. |
|
Realización o aceptación de conexiones en una dirección Web. |
Además, .NET Framework proporciona las siguientes clases abstractas que se pueden utilizar para crear permisos personalizados propios.
Nombre de la clase de permiso |
Derecho representado |
---|---|
Acceso a una base de datos. |
|
Acceso a un almacenamiento aislado. |
|
Acceso a recursos del sistema. |