Skip To Content

Integrar seguridad de ArcGIS Server con una base de datos de Oracle

Cuando un usuario realiza una solicitud de un recurso SIG que consume datos desde una base de datos de Oracle, ArcGIS Server puede pasar la identidad del usuario de la base de datos, dándole la capacidad para hacer cumplir el control de acceso basándose en la identidad del usuario. Esta característica no se encuentra disponible para otros sistemas de base de datos. Esta característica no se encuentra disponible para servicios de mapas.

Nota:

Este flujo de trabajo para integrar seguridad con una base de datos de Oracle está obsoleto desde 10.7. Consulte Acceso y autorización en ArcGIS Server para ver la configuración de seguridad recomendada.

Cuando se utiliza el nivel de seguridad de una base de datos, es posible asignarle a un usuario permisos a las tablas (o columnas y filas) de la base de datos, además o en lugar de los permisos a los servicios web de ArcGIS Server. Siga las instrucciones a continuación para configurar la seguridad integrada de la base de datos de Oracle.

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

Crear una cuenta de base de datos para el autor del mapa

Para apoyar la seguridad integrada, el autor del documento de mapa debe tener 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.

Crear cuentas de base de datos para los usuarios del servicio web de ArcGIS

Para la seguridad integrada para trabajar, cada usuario del servicio Web de ArcGIS debe tener una cuenta de base de datos correspondiente. Como administrador de base de datos, cree las cuentas de base de datos para cada usuario que van a acceder a 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>;
Nota:
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. Si está utilizando Microsoft Active Directory como almacenamiento de identidad, adjunte el nombre de usuario en comillas dobles. Por ejemplo:
CREATE USER "<domain name>\<user name>" IDENTIFIED by <user name>

Para cada cuenta de la base de datos que creó, otorgue los privilegios que desea correspondientes a lo que el usuario está autorizado a hacer dentro de la geodatabase de Oracle. Como ejemplo, a continuación se definen dos roles para otorgar permisos a los usuarios del servicio Web de ArcGIS. Se define el primer rol para permitir selecciones en la base de datos (permiso para ver los 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.

Crear un documento y publicarlo en ArcGIS Server

Puede utilizar ArcMap 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 arriba. Publique el documento de mapa en ArcGIS Server. Tenga en cuenta que las capacidades del servicio de mapas como WMS y KML aplicarán las mismas restricciones de seguridad estándar de ArcGIS como con los servicios Web (SOAP y REST).

Habilitar la seguridad integrada para Oracle

Después de definir cuentas de base de datos, deberá crear usuarios y roles en el almacén de identidades de ArcGIS Server que coincidan exactamente con los usuarios y roles de Oracle. Para agregar un usuario nuevo, consulte Administrar usuarios en Manager. Para agregar un rol nuevo, consulte Administrar roles en Manager.

Después de crear usuarios y roles en el almacén de identidades de ArcGIS Server, deberá configurar ArcGIS Server para pasar la identidad del usuario a la base de datos de Oracle. Para habilitar la seguridad integrada de la base de datos, siga los pasos a continuación:

  1. Abra el Directorio de administrador (https://gisserver.domain.com:6443/arcgis/admin) e inicie sesión como administrador principal del sitio o usuario con acceso administrativo.
  2. Haga clic en system > properties > update.
  3. En el cuadro de texto Propiedades, introduzca el JSON a continuación:
    {"pushIdentityToDatabase" : "true" }
  4. Haga clic en Actualizar para guardar los cambios.

Probar la seguridad integrada

Cree una aplicación de representación cartográfica en web que consume el servicio Web de ArcGIS que se creó con soporte para la seguridad integrada. Abra la aplicación Web en un navegador Web. Solo deberían mostrarse en la aplicación web las capas y entidades para las que el usuario dispone de permisos. Puede repetir esta prueba creando una aplicación de representación cartográfica Web que utilice las credenciales de un usuario diferente.