Proteger los servicios Web

Cuando los servicios Web están protegidos, los clientes que requieren acceso a estos servicios Web deben pertenecer a un rol que haya recibido acceso a ese servicio Web en particular. Puede administrar permisos en los servicios Web de ArcGIS utilizando el Administrador de ArcGIS Server.

Configurar permisos en una carpeta

Para administrar los permisos de manera eficiente en varios servicios Web de ArcGIS, puede organizar los servicios Web en carpetas y asignar permisos a una carpeta. Los roles que tienen acceso a una carpeta adquieren acceso automático a las subcarpetas y los servicios Web dentro de esa carpeta. Los permisos de nivel de carpeta son una manera conveniente de administrar el acceso a todos los recursos (carpetas y servicios) dentro de la carpeta.

Para configurar permisos en una carpeta en el Administrador de ArcGIS Server, navegue a la página Servicios del administrador en el panel Servicios y haga clic en la lista desplegable ubicada en la parte superior de la página junto a la etiqueta Servicios en. Haga clic en el icono Editar permisos de carpeta adyacente. Aparece un cuadro de diálogo que enumera todos los roles que tienen permiso para acceder a la carpeta con una lista de todos los roles disponibles que pueden recibir permiso para acceder a la carpeta. Haga clic en Guardar para aplicar los cambios.

Cuando se permite que un rol acceda a una carpeta, este rol podrá acceder a todos los recursos dentro de la carpeta. La implicancia de esta regla es que si un rol tiene acceso explícito a un servicio y después al mismo rol tiene acceso a la carpeta principal del servicio, el rol puede acceder al servicio debido a una regla de permiso implícita.

Considere un sistema protegido de ArcGIS Server que tiene un rol definido denominado Analyst. La estructura de la carpeta y el servicio en este sistema de ArcGIS Server se describe en el siguiente diagrama:

La siguiente tabla muestra el efecto de los privilegios de acceso del rol como los cambios sucesivos que se realizan en la configuración de seguridad.

Cambio en la configuración de seguridad para el rol Analyst

Privilegios de acceso para el rol Analyst

1. Se revocan los permisos a todas las carpetas y servicios para el rol.

  • Servicio 1: sin acceso.
  • Carpeta 1: sin acceso.
  • Servicio 2: sin acceso.

2. Se otorga acceso al Servicio 2 para el rol.

  • Servicio 1: sin acceso.
  • Carpeta 1: sin acceso.
  • Servicio 2: se otorga acceso a través del permiso explícito que se estableció en el Servicio 2.

3. Se otorga acceso a la carpeta Raíz para el rol.

  • Servicio 1: se otorga acceso por medio del privilegio heredado de la carpeta raíz.
  • Carpeta 1: se otorga acceso por medio del privilegio heredado de la carpeta Raíz.
  • Servicio 2: se otorga acceso por medio del privilegio heredado de la carpeta raíz.

4. Se revoca el acceso a la carpeta Raíz. Esta acción quitará todos los permisos existentes en las carpetas y los servicios dentro de la carpeta Raíz.

  • Servicio 1: sin acceso.
  • Carpeta 1: sin acceso.
  • Servicio 2: sin acceso.

NotaNota:
Si seleccionó la autenticación administrada por Java Enterprise Edition para los servicios SIG, debe hacer clic en Guardar en la ficha Seguridad para los servicios SIG en la página Seguridad > Configuración. Esto volverá a implementar los controladores del servicio con los permisos actualizados.

Establecer permisos para servicios

Los permisos para los servicios siguen el modelo de herencia continuo. Un servicio heredará permisos de las carpetas principales cuando se crea y seguirá haciéndolo a menos que se establezcan permisos explícitos en él. El administrador puede establecer distintos permisos en el servicio de manera explícita, en cuyo caso el servicio perderá su herencia.

Para establecer permisos en un servicio, vaya al panel Servicios en el Administrador, seleccione el servicio en particular que aparece en la página y haga clic en el icono Permisos de servicio. Aparece un cuadro de diálogo que enumera todos los roles que tienen permiso para acceder al servicio junto con una lista de todos los roles disponibles a los que se puede otorgar permisos para acceder al servicio. Al hacer clic en Guardar, se aplican los cambios al sistema.

NotaNota:
Si seleccionó la autenticación administrada por Java Enterprise Edition para los servicios SIG, haga clic en Guardar en la ficha Seguridad para los servicios SIG de la página Seguridad > Configuración. Esto volverá a implementar los controladores del servicio con los permisos actualizados.

Heredar e invalidar permisos

Los permisos para una carpeta son heredados por los servicios dentro de la carpeta. Por ejemplo, si permite a un rol acceder a una carpeta, este rol también podrá acceder a todos los servicios dentro de la carpeta. En el cuadro de diálogo de permisos de cada servicio Web aparecerá el rol permitido, junto con otros roles que agregó, de haber alguno. Las carpetas también heredan permisos de la carpeta principal.

Puede quitar de una carpeta los roles que hereda un servicio. Para ello, abra el cuadro de diálogo de permisos para el servicio, seleccione el rol y haga clic en el botón de flecha izquierda. Esto impide el acceso de ese rol al servicio. Dado que es posible que un único usuario se haya asignado a varios roles, el acceso basado en roles se debe administrar con cuidado.

Si se editan los permisos para una carpeta, cualquier cambio en los permisos de rol se vuelve a aplicar a todos los servicios dentro de la carpeta. Esta acción sobrescribe los cambios realizados a dichos roles para servicios individuales. Si quita un rol de la lista permitida para la carpeta, ese rol ya no podrá obtener más acceso a ningún servicio dentro de la carpeta. De modo similar, si agrega un rol a la lista de permisos de la carpeta, este podrá obtener acceso a todos los servicios en la carpeta.

Sobrescribir permisos en servicios y carpetas secundarios

Cuando configura permisos para las carpetas, puede ver este mensaje al hacer clic en Guardar:

"Uno o más de los roles a los que está modificando los permisos ya tiene una configuración de permisos en uno o más servicios o carpetas dentro de esta carpeta. Si continúa, se hereda la configuración de permisos para estos roles en servicios o carpetas secundarios. ¿Desea guardar estos cambios?"

Este mensaje significa que está agregando o quitando un rol que ya tiene permisos explícitos en uno o más servicios dentro de la carpeta, o en una carpeta secundaria si se editan los permisos de la carpeta raíz. Si continúa, todas las reglas para ese rol en servicios o carpetas secundarios se quitarán y los servicios y carpetas secundarios heredarán permisos para ese rol de la carpeta.

Para realizar cambios de permisos en la raíz, el mensaje puede advertir de un cambio más significativo. Supongamos que agrega permisos para un rol a una carpeta secundaria pero quita el acceso del rol a un servicio dentro de la carpeta. Después, agrega permisos para el rol a la carpeta raíz. Recibe una advertencia debido a que, si continúa, el servicio dentro de la carpeta secundaria permite el acceso al rol, cuando anteriormente, no se permitía el acceso.

Si recibe esta advertencia al editar permisos de la carpeta raíz y no está seguro de cómo afectarán los cambios al acceso a los servicios, debe cancelar el mensaje de advertencia y examinar los permisos de los servicios y carpetas secundarios. Es posible que deba realizar un seguimiento del cambio de permisos al volver a aplicar reglas a los servicios y carpetas secundarios para lograr la configuración de seguridad deseada.

Si agregó o quitó más de un rol al editar los permisos, el mensaje puede significar que múltiples roles están afectados. Debe examinar los permisos en los servicios y carpetas secundarios para garantizar que no está sobrescribiendo permisos que desea conservar.


3/6/2012