Seguridad integrada de ArcGIS Server

La seguridad integrada hace referencia a un modelo de seguridad donde la identidad del usuario final que envía un comando o una solicitud está disponible para todos los niveles del sistema, y brinda a cada nivel la capacidad de aplicar un control de acceso basándose en la identidad del usuario final.

En ArcGIS Server 10, la seguridad integrada está disponible para las aplicaciones Web que consumen servicios Web de ArcGIS a través de conexiones de Internet. ArcGIS Server transmite automáticamente una identidad del usuario Web desde la aplicación Web hasta los procesos de SOM y de SOC de ArcGIS a través del Controlador de servicios Web (WSH) de ArcGIS.

Si el servicio Web de ArcGIS consume datos desde una base de datos de Oracle, la identidad del usuario Web también se puede transmitir a la base de datos. Esta característica no se encuentra disponible para otros sistemas de base de datos.

Configurar la seguridad integrada

Si la seguridad está habilitada en ArcGIS Server, la identidad del usuario Web se transmite automáticamente al servicio Web de ArcGIS. El proceso de SOC y de SOM de ArcGIS podrá cumplir con el control de acceso basándose en la identidad del usuario.

Cuando configura la seguridad del nivel de la base de datos, a cada usuario se asignan permisos a las tablas (o columnas y filas) en la base de datos, en lugar de que se asignen permisos a roles/grupos como en ArcGIS Server. Para configurar una seguridad integrada en la base de datos de Oracle, deberá hacer lo siguiente:

  1. Crear una cuenta de base de datos para el autor del mapa.
  2. Definir los usuarios del servicio Web de ArcGIS.
  3. Crear un documento y publicarlo en ArcGIS Server.
  4. Habilitar seguridad integrada en la base de datos.

Definir el autor del mapa

Para respaldar la seguridad integrada, el autor del documento del mapa debe contar con los privilegios de base de datos necesarios. Deberá definir la cuenta de base de datos que se utiliza para crear el documento de mapa. Como el administrador de base de datos, cree y asigne permisos al usuario que creará el mapa:

CREATE USER <map author> IDENTIFIED BY <map author password>  DEFAULT TABLESPACE <tablespace_name>  TEMPORARY TABLESPACE <temp_tablespace_name>;   GRANT CONNECT, RESOURCE TO <map author>;

Consulte la documentación de Oracle para obtener más información y requisitos para crear usuarios.

Definir cuentas de base de datos para los usuarios del servicio Web de ArcGIS

Para que la seguridad integrada funcione, cada usuario del servicio Web de ArcGIS debe tener una cuenta de base de datos correspondiente. Como el administrador de base de datos, cree las cuentas de base de datos para cada usuario que consumirá los servicios Web de ArcGIS. También deberá otorgar privilegios de conexión a cada usuario a través de la cuenta de base de datos del autor del mapa.

CREATE USER <ArcGIS Web user> IDENTIFIED by <ArcGIS Web user> DEFAULT TABLESPACE <tablespace_name> TEMPORARY TABLESPACE <temp_tablespace_name>;  GRANT CONNECT,RESOURCE to <ArcGIS Web user>;  ALTER USER <ArcGIS Web user> GRANT CONNECT THROUGH <map author>;
NotaNota:
Utilice minúsculas para crear los nombres de usuario en la base de datos, ya que ArcGIS Server transmite nombres de usuarios en minúsculas a la base de datos. Para usuarios de dominio, adjunte el nombre entre comillas dobles. Por ejemplo:
CREATE USER "<domain name>\<user name>" IDENTIFIED by <user name>

Para cada cuenta de la base de datos que se crea, otorgue los privilegios que desea correspondientes a las tareas que el usuario está autorizado a realizar en la geodatabase de Oracle. Consulte Qué son los permisos de usuarios para obtener detalles sobre la configuración de permisos de usuarios.

Como un ejemplo, a continuación se definen dos roles para otorgar privilegios a los usuarios del servicio Web de ArcGIS. Se define el primer rol para permitir selecciones en la base de datos (privilegio para ver datos) en dos capas de geodatabase y el segundo rol para permitir la edición en una capa.

--Role for displaying boundary layers CREATE ROLE sel_boundary_role NOT IDENTIFIED; GRANT SELECT ON <map author>.States TO sel_boundary_role; GRANT SELECT ON <map author>.Counties TO sel_boundary_role;  GRANT sel_boundary_role to <user one>;  -- Role for displaying transportation layer CREATE ROLE sel_trans_role NOT IDENTIFIED; GRANT SELECT,UPDATE,INSERT,DELETE ON <map author>.Roads TO sel_trans_role;  GRANT sel_trans_role to <user two>;

También es posible configurar permisos en filas (entidades) y en columnas (campos de atributos) individuales en la base de datos de Oracle. Para obtener detalles, consulte la documentación de la base de datos de Oracle.

Autorizar un documento y publicarlo en ArcGIS Server.

Puede utilizar ArcMap o cualquier otro cliente de ArcGIS para crear el documento. Al agregar recursos de geodatabase, deberá utilizar las credenciales de la cuenta de base de datos del autor de mapa que se describen en Definir el autor de mapa. Publique el documento del mapa en ArcGIS Server con cualquier cliente de ArcGIS Server. Tenga en cuenta que las capacidades del servicio de mapas como WMS y KML aplicarán las mismas restricciones de seguridad que con los servicios Web estándar de ArcGIS (SOAP/REST)

Habilitar la seguridad integrada para Oracle

Después de configurar la base de datos de Oracle, deberá habilitar la seguridad en ArcGIS Server. Cuando configura la seguridad de ArcGIS Server, deberá crear usuarios y roles que coincidan exactamente con los usuarios y roles de Oracle que se crearon en las secciones anteriores. Para obtener instrucciones sobre la configuración de la seguridad de ArcGIS Server, consulte Configurar vista general de seguridad.

Después de configurar la seguridad de ArcGIS Server, deberá habilitar la seguridad integrada de la base de datos de ArcGIS Server. Cuando se habilita esta entidad, ArcGIS Server transmite la identidad que recibe del Controlador del servicio Web a la base de datos de Oracle. Para habilitar la seguridad integrada de la base de datos, abra el archivo Server.dat ubicado en la carpeta <directorio de instalación de ArcGIS>\server\system\ con un editor de texto o de XML. Ubique el elemento <Propiedades> en el archivo. Dentro de este elemento, agregue un nuevo elemento de propiedad como el siguiente:

<Properties>    <PushIdentityToDatabase>true</PushIdentityToDatabase>    ... </Properties>

Después de actualizar el archivo Server.dat, guárdelo y ciérrelo. Reinicie el proceso del Administrador de objetos de servidor de ArcGIS para aplicar este cambio.

Probar la seguridad integrada

Con el Administrador de ArcGIS Server o el IDE de Eclipse/NetBeans, cree una aplicación de representación cartográfica en la red que consume el servicio Web de ArcGIS que se creó con soporte para la seguridad integrada. Visualice la aplicación Web implementada en un navegador Web. Sólo las capas/entidades sobre las que el usuario recibió privilegios se muestran en la aplicación Web. Para repetir esta prueba, cree una aplicación de representación cartográfica en la red que utilice las credenciales de otro usuario Web de ArcGIS.

NotaNota:

El servicio Web de ArcGIS se debe consumir a través de una conexión de Internet de ArcGIS Server. Además debe proporcionar un nombre de usuario y una contraseña Web de ArcGIS para conectarse al servicio.


3/6/2012