Skip To Content

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

Cuando un usuario solicita un recurso SIG que consume datos de una base de datos de Oracle, ArcGIS Server puede transferir la identidad del usuario a la base de datos, lo que permite establecer un control de acceso basado en la identidad del usuario. Esta característica no se encuentra disponible para otros sistemas de base de datos. Esta característica solo está disponible actualmente en los servicios de mapa.

Cuando se utiliza el nivel de seguridad de una base de datos, un usuario puede asignar permisos a las tablas (y/o columnas y filas) en la base de datos, además de o en lugar de permisos para 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. Cree una cuenta de base de datos para el autor del mapa.
  2. Cree las cuentas de base de datos para 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.
  5. Pruebe la seguridad integrada.

Cree 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.

Autorizar 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 del mapa que se describe en Definir el autor del mapa. Publicar 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 de ArcGIS Server en la identidad almacenar que coincidan exactamente con los usuarios y roles de Oracle. Para agregar un nuevo usuario, consulte Agregar un nuevo usuario en el Administrador. Para agregar un nuevo rol, consulte Agregar un nuevo papel en el Administrador.

Después de crear usuarios y roles en el almacenamiento de identidad ArcGIS Server, deberá configurar ArcGIS Server para aprobar la identidad del usuario de 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 del administrador (http://gisserver.domain.com:6080/arcgis/admin) e inicie sesión como administrador del sitio principal o como usuario con acceso administrativo.
  2. Haga clic en sistema > propiedades > actualizar.
  3. En el cuadro de texto Propiedades , introduzca la 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. Sólo se muestran en la aplicación Web las capas/las entidades que el usuario se le otorgaron permisos. Puede repetir esta prueba creando una aplicación de representación cartográfica Web que utilice las credenciales de un usuario diferente.