Centros de Confianza y seguridad |
Responder |
Autor | ||
buho
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Nada en la palabra Unido: 10/Abril/2004 Localización: Valladolid Estado: Sin conexión Puntos: 11330 |
Tema: Centros de Confianza y seguridad Enviado: 26/Agosto/2013 a las 15:38 |
|
HAppy, Yamamoto, SUperagente86 y Buho
Hola, he estado escribiendo un código que se encarga de establecer las advertencias de seguridad para Access 2007. Este código debe ser ejecutado desde un archivo vbs, ya que, en caso de que Access tenga puesto un nivel de seguridad más alto del "Habilitar todas las macros", cualquier BD con algo de código no funcionará. El nivel de seguridad (valores entre el 1 y el 4) que se le quiera poner a Access se le debe pasar como argumento en el momento de lanzar este archivo. Este sería un ejemplo de cómo "lanzar" la ejecución del archivo EstablecerSeguridad2007.vbs (en la variable NivelSeguridad pondríamos el nivel de seguridad que queremos establecer para Access):
Y este es el código que hay que copiar en el archivo EstablecerSeguridad2007.vbs
Espero que os sea de utilidad. |
||
El búho es un pajarraco
|
||
buho
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Nada en la palabra Unido: 10/Abril/2004 Localización: Valladolid Estado: Sin conexión Puntos: 11330 |
Enviado: 26/Agosto/2013 a las 15:38 | |
Hola:
Después de pedir el consiguiente permiso a Juan M. Afán (Happy) me propuse realizar lo mismo, pero en vez de hacerlo en VBS, hacerlo en un EXE realizado en Visual Basic clásico.
Con una mínimas variaciones del código de Juan, le amplié para que funcionara también en Access 2010. Para no mezclar las cosas, ensamblé dos ejecutables. Uno para Access 2007 y otro para Access 2010. BAJAR: Estos "exes" hacen lo mismo que lo ya explicado por Happy en este hilo así que no me extenderé en más detalles.
Hay dos formas de llamarles o ejecutarles. Si se ejecutan "tal cual", se muestra un formulario donde el usuario puede subir/bajar los niveles de seguridad, de tal manera que en el nivel más bajo (1) todo el PC se comportaría como un "centro de confianza". Pero tambien admiten dos parametros en la linea de comando para poder ser invocados desde instaladores tipo Inno Setup, por ejemplo...o desde codigo VBA. El primer parámetro sería el nivel de seguridad y se le pueden pasar estos valores: 1,2,3 y 4 (Tal cual lo explica Juan arriba, en su mensaje). El segundo parametro es un S ó N y esto es para que, cuando se cambie el nivel de seguridad en el modo "linea de comandos" al final se muestre un msgbox o no, diciendo que la operación ha sido exitosa o no. Por ejemplo: Shell "C:\SeguridadAccess2007.exe 4 s", vbNormalFocus haría que se cambiara el nivel de seguridad al "4", no se mostrara ningún formulario y final salga un msgbox como que la operación ha ido OK. Shell "C:\SeguridadAccess2007.exe 1", vbNormalFocus haría que se cambiara el nivel de seguridad a "1" y no se viera ni el formulario ni el msgbox al final. Vamos, lo que se llamaría en método silencioso total. Y por supuesto...si se ejecuta el EXE sin más, pues ya lo vereís, sale un formulario normal y corriente para poder interactuar con él. No se descartan bug´s ya que no se han probado lo suficientemente en diversos entornos. En caso de que algo fallara y tal, pues ya lo ireis diciendo en el foro... Nada, solo agradecer a Juan la idea, el codigo brindado y el permiso que me dió para hecer estos dos ejecutables.- |
||
El búho es un pajarraco
|
||
buho
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Nada en la palabra Unido: 10/Abril/2004 Localización: Valladolid Estado: Sin conexión Puntos: 11330 |
Enviado: 26/Agosto/2013 a las 15:38 | |
Hemos aumentado un poco las prestaciones del programa...en el sentido de que además de lo que ya hacía, ahora tambien puede crear CC (Centros de Confianza), puede visualizar los CC en un determinado PC y puede eliminar los CC que de deseen.
Así mismo se ha implementado la posibilidad de compatibilidad con carpetas de RED: En este sentido hay que tener presente una cosa importante: Ayer Happy puso las dos claves "magicas" para este tema de ejecutar BD´s en carpetas de RED: HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\Trusted Locations\AllowNetworkLocations HKEY_USERS\(aquí el USER_SID del usuario actual)\Software\Microsoft\Office\12.0\Access\Security\Trusted Locations\AllowNetworkLocations Supongamos un PC1 que desea correr una BD situada en una carpeta XXX de otro ordenador PC2 de la red Entonces, independientemente de como tenga el nivel de seguridad (1-4) a nivel de Macros esa BD situada en PC2 correra sin problemas en PC1 siempre que: Si la Carpeta no es CC, por mucho que ponga esas dos claves no funciona. Si la carpeta es CC, si no pongo esas dos claves, tampoco funiona. Se tienen que dar las dos cosas a la vez. Esa es la diferencia de un CC local y un CC en Red, que este ultimo, ademas hay que habilitar esas dos claves en el ordenador que intenta ejecutar una BD en RED. Obviamente, si pongo el nivel de seguiridad a 1, se va a ejecutar todo desde cualquier sitio. Los enlaces del anterior mensaje siguen siendo validos. |
||
El búho es un pajarraco
|
||
buho
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Nada en la palabra Unido: 10/Abril/2004 Localización: Valladolid Estado: Sin conexión Puntos: 11330 |
Enviado: 26/Agosto/2013 a las 15:39 | |
La tercera vía. (NO válida para PC´s que tengan solo el Runtime)
Pego de un hilo del Foro:
Al hilo de los ultimos mensajes. Un pequeño ejecutable VB que lee los parametros de un fichero de texto y segun lo escrito en ese fichero...sirve de lanzador de programas hechos en access y evita los mensajes de seguridad. Es solo un mero ejemplo de lo que comentabamos Juan y yo ...que se puede lanzar una BD de access sin necesidad de rebajar de forma permanente el nivel de seguridad en el Pc de un cliente (Para mi una opción ilegal o ilicita) y sin crear un centro de confianza (Opcion que es la que yo recomiendo, por cierto)
Esta es una tercera vía a las dos anteriores: En este caso habilitamos puntual e instantaneamente una BD para que se ejecute sin recibir los avisos de seguridad tal y como deciamos ayer y tal y como recomendaba Microsoft tiempo atras, según un enlace que proporcionó ayer Happy: http://support.microsoft.com/kb/317405/es Bueno...aquí el lanzador de aplicaciones Access...no espereis esteticas preciosistas...se trata de que sirva como punto de partida... http://www.mvp-access.com/buho/ficheros/ejecuta.zip Si alguien quiere los fuentes....esta tarde les cuelgo tambien...(Visual Basic 6) P.D Este ejecutable o este metodo de lanzar BD´s de Access solo sirve si está access instalado en el ordenador, ya que se crea mediante automatización una instancia del propio Access. Si se utilizara el Runtime, obviamente esto no serviría de nada....siendo el Centro de Confianza la mejor opcion de todas, como ya decía anteriormente.- |
||
El búho es un pajarraco
|
||
buho
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Nada en la palabra Unido: 10/Abril/2004 Localización: Valladolid Estado: Sin conexión Puntos: 11330 |
Enviado: 26/Agosto/2013 a las 15:39 | |
Gracias por dejarme participar tambien en este hilo. Yo quiero aportar una solución como la de Yamamoto, pero en un exe que solo actúa en línea de comandos con lo cual es mucho más reducido. Además...sigue la misma sintaxis que el exe de Yamamoto para unificar criterios:
1)cc2010.exe /cs C:\carpeta
Crearía un centro de confianza en la carpeta C:\carpeta avisando al usuario de dicha creación. 2)cc2010.exe /cn C:\carpeta Crearía un centro de confianza en la carpeta C:\carpeta SIN avisar al usuario de dicha creación. 3)cc2010.exe /cs Crearía un centro de confianza en la carpeta donde corra el exe (path actual) avisando al usuario de dicha creación. 4)cc2010.exe /cn Crearía un centro de confianza en la carpeta donde corra el exe (path actual) *NO* avisando al usuario de dicha creación. BAJAR EXE P.D Sirve tanto para Access 2007 como para Access 2010 |
||
El búho es un pajarraco
|
||
buho
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Nada en la palabra Unido: 10/Abril/2004 Localización: Valladolid Estado: Sin conexión Puntos: 11330 |
Enviado: 26/Agosto/2013 a las 15:40 | |
Me han reabierto el hilo, para hacer unas minimas variaciones a estos dos ejecutables.
He ampliado la funcionalidad para poder quitar los avisos de hipervinculos en Access 2003/2007/2010
Son los mismos ejecutables de Enero de 2011 que comentaba en mi primer mensaje de este hilo.- Si observais algun error, me lo podeis comentar por privado. Estos ejecutables manipulan en el registro de Windows, lo que implica que para que funcionen bien, la maquina debe tener esos permisos concedidos de lectura/escritura en el REG BAJAR: P.D Una aclaración... El denominado recinto de Seguridad o Sandbox existe desde A2003. Este recinto de seguridad depende, si no he leído mal, del motor JET, vamos depende no es la palabra…está ligada a él. De tal manera que en 2003 los desarrolladores de Access crearon los niveles de seguridad en Macros para que vigilara el código de VBA y el recinto de seguridad o SandBox, para que vigilara las expresiones en los orígenes de los controles y en las sentencias SQL entre otras cosas. En defenitiva, estos ejecutables inspeccionan y pueden cambiar esos niveles de seguirdad. A saber, en modo de resumen: 1) Seguridad en Macros: Controla las expresiones escritas en macros y en codigo VBA. 2) Recinto de Seguridad o SandBox: Controla las expresiones escritas en el origen de los controles o embedidas en sentencias SQL. 3) Para A2007 y 2010 se ha creado los llamados centros de confianza. 4) Mensajes de Hiperviculos. Espero que os sirvan Salud y gracias.- |
||
El búho es un pajarraco
|
||
buho
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Nada en la palabra Unido: 10/Abril/2004 Localización: Valladolid Estado: Sin conexión Puntos: 11330 |
Enviado: 26/Agosto/2013 a las 17:11 | |
Se ha modificado el antiguo cc2010 para que puede crear centros de confianza en A2007/2010/2013:
También se ha creado el ejecutable cc2013 que hace lo mismo que el anterior, pero no recibe parámetros en la línea de comandos, es decir, crea centros de confianza para access 2007-2010-2013 en la carpeta donde se ejecuta
BAJAR CC2013 En resumidas cuentas y para no liar mucho al personal:
1) Simplemente crear centros de confianza, pero con posibilidad de meter comandos en el EXE: BAJAR 2) Crear centros de confianza en la carpeta donde se ejecute el EXE de manera silenciosa: BAJAR 3) Programa completo de las seguridades en Access 2003/2007/2010/2013 donde engloba todo, es decir: 1) Seguridad en Macros: Controla las expresiones escritas en macros y en codigo VBA. 2) Recinto de Seguridad o SandBox: Controla las expresiones escritas en el origen de los controles o embedidas en sentencias SQL. 3) Para A2007 2010 2013 se ha creado los llamados centros de confianza. 4) Mensajes de Hiperviculos. BAJAR |
||
El búho es un pajarraco
|
||
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |