SharePoint Latin Rotating Header Image

2844

tan simple y tan complicado a la vez

Ya en el pasado había platicado sobre el valor que aporta Rights Management Services de Microsoft a las organizaciones. Hoy definitivamente quiero puntualizar algunos asuntos técnicos a considerar cuando intentamos integrar RMS con SharePoint 2007.

  • No olvides instalar sobre los Web Front End de tu granja SharePoint el cliente de RMS SP2, este nos agrega un conjunto de entradas en el registro de Windows que SharePoint usa para poder preguntar por los permisos de un usuario en particular, si  no lo instalas SharePoint no tendrá manera de conectarse a tu servidor RMS
  • En el servidor RMS que se asume esta en otro equipo dentro de la granja hay que configurar permisos para las cuentas de la granja y del application pool del Shared Service Provider así como también al grupo local RMS Service Group en el archivo c:\inetpub\wwwroot\_wmcs\Certification\ServerCertification.asmx
  • Si recibes el error “You do not have permission to sub-enroll to the root server ‘http://xxx/_wmcs/Certification/SubEnrollService.asmx’. Contact your system administrator.” Mientras aprovisionas tu servidor RMS es porque seguramente en algún lugar de tu empresa ya se cuenta con otro servidor RMS instalado, asegúrate de averiguar donde esta, si se usa y si lo puedes desinstalar.
  • En caso de que desinstales algún servidor RMS deberás de ir a los servicios del directorio activo a eliminar una entrada que contiene los datos generales de tu conexión anterior. EL lugar exacto es  Directorio Activo – Consola de Sitios y Servicios – View – Show Services Node. Por ahí debe de estar el nodo WindowsRightsManagement y deberás eliminarlo, después procederás a configurar el nuevo desde la herramienta de configuración RMS.

Suerte!

Creando sitio y webpart programaticamente en SharePoint 2007

La semana pasada surgió el siguiente requerimiento algo especial, en este escenario se cuenta con un sitio SharePoint dedicado a un documento en particular, en este sitio se cuenta con una sección de noticias, enlaces y tareas todo en relación a este documento. Cabe mencionar que este sitio es creado programáticamente cuando este documento ha sido aprobado por un grupo de revisores para su publicación en la intranet.


sd01Así que se decidió crear una actividad para SharePoint Designer 2007 que permita la creación del sitio basado en una plantilla de SharePoint especifica, esto es cuando el documento es depositado sobre una biblioteca de documentos en particular, así mismo, se debe de crear programáticamente una webpart de visualización de contenido web, esto para permitir pre visualizar el documento sobre la interface principal del sitio creado y omitir la necesidad de tener que darle clic al documento para abrirlo en el cliente de office.  Para conocer mas sobre actividades de SharePoinr Designer 2007 ver aqui.


La actividad solicita prácticamente el contexto del elemento actual y el nombre de la plantilla que utilizaremos como base para la creación del nuevo sitio. Esta plantilla deberá de estar en la lista de plantillas de sitio de nuestro SharePoint.


sd02


La pre visualización fue sencillo lograrlo gracias a la especificación XPS que tenemos disponible en el .NET Framework 3.0. Se decidió transformar el documento a formato XPS y utilizar el visor de documentos XPS que Internet Explorer 7 adopta por defecto cuando instalamos la versión .NET Framework 3.0. XPS es una nuevo formato especificado en XML que Microsoft libero para darle mucho mas portabilidad y seguridad a contenido que requiere ser compartido. Para más información ver aquí. Por otro lado XPS soporta Rights MAnagement Services y firmas digitales de tal manera que podemos mantener una politca de seguridad al contenido digital. Para mas informacion sobre RMS ver aqui.


Entonces, al convertir nuestro documento a formato XPS podremos abrirlo directamente sobre IE7 y si esto lo invocamos dentro de nuestro webpart visor de paginas web entonces tendremos nuestro documento cargado sobre nuestro sitio SharePoint.


Veamos como crear programaticamente.


sd04


En este bloque de codigo vemos que la clase SPWeb contiene la coleccion webs y es aqui donde registramos nustro nuevo sitio en donde mandamos el nombre del sitio, este nombre es usado para el Url, mandamos el titulo de nuestro sitio, la descripcion, el lenguaje, el nombre de la plantilla stp que usaremos para la creacion del sitio y las opciones de heredar los permisos del sitio primario. Despues creamos una instancia de la webpart que vamos a crear programaticamente y especificamos sus propiedades, la propiedad ContentLink representa el Url que queremos visualizar. Por ultimo gracias a SPLimitedWebPartManager podemos obtener la coleccion de webpart que una paginaalberga para poder agregar nuestra webpart creada mediante el metodo AddWebPart.


NOTA:  Este codigo no es para produccion en su totalidad, ha sido modificado para mostrar los puntos a tratar en este post.


El resultado:


sd03


 

 

RMS SDK Service Pack 2 available

For those few people that enjoy building RMS Enabled applications, this is for you, RMS SDK Service Pack 2 it’s available on MSDN Download Center. You can download it here.

Modernizando Gobiernos con la Plataforma de Colaboracion de Microsoft

1ro de Septiembre, como y que tan rápido pasa el tiempo. En tan solo pocos meses estaremos entrando al 2007. Estos últimos años han sido para mí cruciales en mi crecimiento personal y profesional.  Poco a poco el destino me ha ido confirmando y enseñando tantas cosas que no me queda duda en que cada una de ellas han tenido su razón de ser. Incluso el escribir en este blog, compartir con tanta gente el conocimiento, aprender de tantos amigos y participar en proyectos algunos con ciclos largos otros con ciclos cortos han venido a llenarme de presiones fuertes pero de también de magnificas satisfacciones.


Hoy tuve la oportunidad de ofrecer una presentación de lanzamiento de una solución de colaboración que la empresa que dirijo tecnológicamente construyó para una importante dependencia de gobierno. Esta presentación se realizó para todos los jefes de área de esta institución y pudimos entablar una efectiva comunicación con un mismo objetivo en mente, simplemente, el como una estrategia de colaboración institucional viene a transformar la operación y a establecer toda una nueva cultura de trabajo que sabemos tendrá magníficos y rentables resultados. Esperemos hacer en septiembre del próximo año una medición de los resultados en términos de eficiencia institucional y costos.


En fin.


Estrategia de Colaboración Institucional con Plataforma Microsoft
Una estrategia de colaboración institucional a través del uso de la Plataforma Microsoft es toda una solución integral que podemos implementar de forma gradual para auxiliar a una institución en lo siguiente:


COL01.jpg 


Y como consecuencia mejorar el valor institucional desde adentro hacia afuera, en otras palabras, como mejoramos los procesos internos para satisfacer las necesidades de nuestros usuarios y como consecuencia las necesidades de los ciudadanos. Comentaba durante esta presentación que el verdadero valor de nuestro servicio no se sustenta en la Plataforma Microsoft como tal, sino mas bien en la labor de consultoría que hemos podido ejecutar para identificar como mejorar los procesos sustantivos que articulan la operación de esta institución  y que una vez identificados, diseñar entonces un enfoque razonable para inyectar agilidad, seguridad y eficiencia a todos estos procesos. Ahí radica el éxito de este proyecto.


Beneficios de la Plataforma de Colaboración de Microsoft
Sin embargo, no dejamos de compartir el beneficio de la Plataforma de Colaboración de Microsoft con la finalidad de generar una visión compartida respecto al alcance técnico que podemos obtener con este tipo de implementaciones a nivel institución.  Solamente haciendo el uso adecuado de los componentes de la plataforma Microsoft podemos fácilmente ejecutar acciones alineadas a las estrategias institucionales que impactan directamente en políticas de operación e influyan en posicionar una nueva cultura de trabajo institucional que mejora la rapidez del proceso mientras que consolida la información para transformarla en verdadero impacto. En nuestro caso, nuestra empresa desarrollo una solución personalizada por encima de los componentes de la plataforma Microsoft.
Para dependencias o empresas que cuentan con Licenciamiento Microsoft de tipo Microsoft Enterprise Agreement (EA) tienen grandes posibilidades para transformar de manera drástica la forma en que internamente una institución funciona.


Generales de la solución
Nuestra solución atiende tres de los procesos mas intensivos de esta institución y estamos seguros tendrá resultados significativos en cuanto a tiempos y costos.  Todo el proceso de preparación y seguimiento de Juntas de Gobierno y Reuniones del Pleno así como el de administración y seguimiento de la Correspondencia es controlado por esta solución. Adicional algunos procesos sustantivos institucionales también fueron contemplados para habilitar su contraparte digital dándole eficiencia operacional.


COL04.jpg


Componentes técnicos de la Plataforma de Colaboración de Microsoft
Los componentes de una Plataforma Microsoft para habilitar una Colaboración Institucional son los siguientes:

COL03.jpg


En los servicios de infraestructura hablamos de la implementación y configuración de algunos de los productos de la familia de servidores de Microsoft en donde en conjunto habilitan una integración de servicios que ofrecen importantes capacidades para mejorar la colaboración interna, administración de la identidad, políticas y restricciones de acceso, seguridad de contenido digital y despliegue de información vía medios electrónicos, etc.


En los servicios web de colaboración hablamos de aquellos aspectos de la plataforma que ofrecen beneficios de negocio que impactan directamente en el alcance y posibilidades que en determinado momento podemos ofrecer para sustentar innovadoras soluciones a problemas específicos de la institución, desde servicios de mensajería que nos permitan intercambiar información vía correo electrónico o mensajería instantánea (algo así como un Messenger interno) hasta portales web de colaboración que estructuran, unifican la interacción y consolidan la información digital de cada área de la institución permitiendo habilitar políticas de generación de contenido, además la capacidad de integrarse a procesos o sistemas institucionales e incluso la posibilidad de lograr la interoperabilidad con otras dependencias gobierno de manera confiable y segura, estableciendo conversaciones digitales interinstitucionales para integrar y eficientar procesos. Por último y para este tipo de institución la Plataforma de Colaboración de Microsoft ofrece la capacidad de transmitir en tiempo real sesiones y reuniones de seguimiento, una actividad sumamente importante para la naturaleza de esta dependencia ya que los ciudadanos contamos con el derecho institucional de poder tener acceso a este tipo de sesiones.


En la capa final de la plataforma contamos con la línea de sistemas operativos y paquetería de oficina. Microsoft Office como tal ofrece excelente funcionalidad sin embargo combinar esta funcionalidad con la capa de servicios web nos dan mayores oportunidades para que de manera amigable y sencilla podamos personalizar soluciones bajo la plataforma Office. El producto InfoPath ofrece grandes capacidades para utilizar formularios de manera electrónica que en conjunto con la capa de servicios web de colaboración podamos agilizar drásticamente un proceso. La noción de manejar la firma digital para darle validez interna a la información que viaja en estos formatos electrónicos ofrece capacidades de veracidad y seguridad de la información.

Las tecnologías que habilitamos para integrar nuestra solución fueron:


Resumiendo
En resumen, la Plataforma de Colaboración de Microsoft ofrece grandes capacidades para automatizar procesos de forma innovadora y agilizar sus tiempos de respuesta. Una plataforma de colaboración es algo más que un conjunto de tecnologías configuradas entre sí. Una plataforma de colaboración es simplemente la herramienta tecnológica para automatizar la forma en que una institución trabaja y colabora internamente con la finalidad de inyectar características adicionales a los procesos de trabajo que permitan auditar, controlar, normar e incrementar la gobernabilidad institucional a beneficio siempre de la institución y como consecuencia del ciudadano.


*********************************************


Dato de Actualizacion: Ahorran diputados millon de copias. (Marzo 29 del 2007)

Habilitando la seguridad de nuestra información digital con Microsoft Rights Managament Services

Introducción
Lo más importante desde el punto de vista intelectual de una organización son sus procesos y la información que ellos generan. Esta información normalmente la expresamos y comunicamos de manera digital en documentos, hojas de cálculo y presentaciones. Asegurarnos de mantener sobre nuestro poder organizacional toda esa información expresada de manera digitalmente ha sido una batalla campal entre los desarrolladores y los profesionales de IT. Con Rights Management Services podemos establecer una estrategia organizacional para reforzar el establecimiento de permisos sobre todos los documentos, hojas de cálculo y presentaciones que nuestros empleados generan permitiéndonos restringir de manera granular el acceso a nuestra información dentro y fuera de la organización.


Problemática de hoy
Si pensamos en el contenido de la información que existe expresada en los documentos, hojas de cálculo y presentaciones que los empleados de nuestra organización generan, nos daremos cuenta que está totalmente orientado a contener detalles sobre el contexto de nuestro negocio y debido a que esta información esta expresada de manera electrónica sobre programas editores de texto encontramos una potencial amenaza al realizar tareas tan sencillas como pueden ser el enviar por correo electrónico un documento o incluso copiar a un CD o DVD con nuestro contenido digital. En escenarios de instituciones gubernamentales específicamente hablando de procuración de justicia encontramos que la información de las averiguaciones o investigaciones es extremadamente sensible ya que existen repercusiones legales de por medio y esa información se captura en programas como editores de texto de tal manera que queda expuesta digitalmente.  En ocasiones se manejan expedientes de máxima seguridad y para dependencias de este tipo es relevante  contar con mecanismos que permitan asegurar la integridad de la información física y electrónica.  Algunas medidas que me ha tocado ver son utilizar bases de datos para almacenar como objetos los documentos o establecer la seguridad vía infraestructura de red. Desafortunadamente no todas las instituciones cuentan con una infraestructura idónea y en ocasiones se puede ver comprometida la integridad de la información y por consecuencia de la institución.


La opción para habilitar seguridad en nuestra información digital
Microsoft Rights Management Services (RMS) provee de un mecanismo para proteger la información expresada en correos electrónicos, documentos, hojas de cálculo o presentaciones mediante la utilización de tecnología de cifrado. Además, yendo un poco mas allá de proteger la información almacenada o cuando esta viajando por la red, RMS también puede restringir lo que sucede con la información una vez que se encuentra en manos del usuario final.


Algunas de esas restricciones son:


  • Impresión
  • Copiar/Pegar
  • Guardar
  • Re Enviar (Correo Electrónico)

Estas restricciones se pueden reforzar utilizando plantillas de seguridad en las políticas. Estas políticas se pueden crear por personas o grupos de usuarios.  La buena noticia es que estas políticas se pueden reforzar en cualquiera de los paquetes de la familia Office.  A pesar de que RMS no es una solución total al problema,  ofrece un enfoque prácticamente idóneo para:


  • Mantener la información interna en la organización
  • Previene escapes accidentales de la información

Seguro en este punto te preguntaras, cuando nos conviene utilizar RMS. Bien pues cuando quieras:


  • Proteger archivos sensitivos como:
    • Documentos internos
    • Archivos de Word, Excel y Power Point
    • Soluciones de terceros
  • Restringir el movimiento o distribución de correos electrónicos
    • Los gerentes o directivos pueden enviar mas información con toda confianza
    • Se puede limitar opciones como copiar, pegar, re enviar.

Veamos un ejemplo ficticio
El departamento legal de una institución de servicios está celebrando un contrato millonario con un nuevo proveedor, se están asociando para juntos realizar una agresiva campaña de venta por todo el país, por tal motivo es extremadamente critica la confidencialidad del contrato ya que si llega a caer en manos de la competencia esta puede reaccionar rápidamente y ganar el nicho de mercado que estas dos empresas han decidido explotar. El contrato actualmente se encuentra en revisión por dos abogados uno por cada empresa respectivamente y el contrato aun no ha sido terminado. Los abogados constantemente están en comunicación para realizar los cambios y modificaciones pertinentes, colaboran remotamente vía correo electrónico para afinar los detalles.


El abogado Eduardo Mendoza inicia el trabajo preliminar del contrato integrando el contenido y las clausulas iniciales correspondientes.  Decide enviar por correo electrónico el gerente del departamento legal para su autorización preliminar así que utilizando RMS para asignarle permisos suficientes al usuario Haaron Gonzalez con la finalidad de que pueda realizar modificaciones.


rms01.jpg

Después envía el contrato como archivo adjunto vía correo electrónico. Cabe mencionar que copia en el correo a Paul Hernandez un abogado mas del equipo. Sin embargo a este usuario no se asigno un solo permiso.


rms02.jpg

El usuario Haaron Gonzalez recibe el correo electrónico con el contrato. Decide abrirlo para ver su contenido.


rms03.jpg 

Al abrir el documento en Microsoft Word 2003 se le notifica que este documento tiene permisos que restringen la funcionalidad y que procederá a realizar la conexión al servidor RMS descargar los permisos que este usuario tiene sobre el documento.


rms04.jpg

Una vez descargados los permisos asignados a este usuario sobre el documento, Microsoft Word 2003 presenta un panel de tareas que cuenta con una sección donde el usuario puede consultar sus permisos. Además esta panel permite mostrar una ventana que nos presenta el detalle de los permisos con los que se cuenta además de la posibilidad de solicitar mas permisos a la persona que creó el documento.


rms05.jpg

Si recordamos cuando se envió el correo con el contrato adjunto también le llego al usuario Paul Hernandez una copia, solo que a este usuario no se le asigno un solo permisos. Cuando intenta abrir el documento RMS le deniega el acceso al mismo y le presenta la opción de cambiar usuario, solicitar permisos o de no hacer nada.


rms06.jpg

EL usuario Haaron Gonzalez decide modificar el contenido del contrato agregando comentarios importantes relacionados con el formato y la veracidad de la información.


rms07.jpg

Terminando sus observaciones envía a Eduardo Mendoza el correo de regreso con el nuevo documento como archivo adjunto.


rms08.jpg

Eduardo Mendoza recibe el correo electrónico con las observaciones. Realiza los cambios pertinentes y en los permisos del documento remueve a Haaron Gonzalez y agrega a Hector Herrera con permisos de solo lectura.  Además, Eduardo Mendoza especifica opciones adicionales como el no permitir que se soliciten permisos además puede especificar un tiempo de expiración del documento de tal forma que es válido durante un periodo de tiempo, después ya no lo será denegando el acceso al mismo.


rms09.jpg

Ya con el documento generado decide enviarlo por correo electrónico al destinatario final. Un nuevo usuario llamado Hector Herrera. Cabe mencionar que también podemos aplicar restricciones a la funcionalidad de Microsoft Outlook 2003. En este caso nuestra política dice que los destinatarios de nuestro correo electrónico no podrán re enviar el correo, imprimir o copiar el contenido.


rms10.jpg

El destinatario final recibe el correo electrónico con el contrato adjunto y al querer abrirlo tiene que realizar un proceso sencillo de autentificación para poder validar su identidad.  Claro que este escenario asume que estamos dentro de la misma red. Para habilitar escenarios con usuarios que están fuera de nuestra intranet tenemos que configurar un servicio adicional de RMS.


rms11.jpg

Con solo dar clic sobre el correo electrónico Outlook 2003 realiza el proceso de autentificación.


rms12.jpg

Si el usuario realiza satisfactoriamente el proceso de autentificación entonces Outlook 2003 mostrara el contenido del correo electrónico. Además bloqueara la opción de re enviar correo de acuerdo a la política establecida.


rms13.jpg

Al seleccionar nuestro archivo adjunto para abrir nuestro contrato sucederá el mismo proceso y Microsoft Word 2003 se encargara de consultar los permisos que tenemos asociados a nuestro documento y con base en eso a realizar los correspondientes bloqueos de opciones.


rms14.jpg

Si abrimos con NOTEPAD el contenido de un documento protegido por permisos encontraremos texto cifrado:


rms25.jpg

El proceso básico  de RMS
Lo que acabamos de ver  en el ejemplo anterior fue el proceso para crear y visualizar información protegida por permisos. Los empleados de nuestra organización seguirán utilizando el mismo fundamento lógico o flujo de trabajo para el intercambio de información.


rms26.jpg
  • El usuario quiere aplicar protección por permisos a un documento y para ello se utiliza una aplicación que soporte RMS para aplicar estos permisos. Y además, a través de esta aplicación RMS como Word por ejemplo, se establece una comunicación con el servidor RMS para obtener una licencia para proteger el documento. Esto sucede solo la primera vez.
  • EL servidor RMS recibe la petición y crea una licencia con los permisos en la licencia. El cliente de RMS y la aplicación RMS combinan una licencia de publicación con el documento protegido por permisos que ahora se convierte a un documento cifrado.
  • El documento es compartido con otros usuarios. El cliente debe de comunicarse con el servidor RMS para obtener una licencia de uso del documento.
  • El servidor RMS revisa los permisos del usuario y en caso de que se le permita el acceso, el servidor envía de nuevo una licencia de uso para permitir al usuario trabajar con el documento. En este punto el usuario descifra y usa el documento.

Componentes de RMS


  • Windows RMS Server
    • Certifica a los usuarios confiables
    • Licencia la información protegida con RMS
  • Windows RM Client
    • Se instala en la estación del cliente e interactúa con las aplicaciones habilitadas con RMS
  • Aplicaciones habilitadas con RMS
    • Permite el uso de los permisos para ser configurados y distribuidos sobre el contenido
    • Pueden crearse utilizando el RMS SDK
  • RMS AddIn para Internet Explorer

Resumen
En resumen, RMS es la propuesta de Microsoft para habilitar protección de información digital. RMS se integra y funciona perfectamente con otras tecnologías como SharePoint Server 2003 ofreciendo toda una plataforma completa para asistir a los trabajadores de la información.


Si deseas conocer más a detalle esta tecnología te recomiendo las siguientes paginas de interés: