Privilegios para geodatabases en SQL Server

Los privilegios determinan lo que alguien está autorizado a hacer con los datos y la base de datos. Debe asignar los privilegios según el tipo de trabajo que realiza la persona dentro de la organización. ¿Participa esta persona en la administración de la geodatabase? ¿Necesita editar o crear datos? ¿O solo necesitaría consultar los datos?

Los privilegios de usuario se establecen en diferentes niveles. En este tema se enumeran los privilegios mínimos que necesitan los tipos comunes de usuarios sobre las bases de datos y datasets: visores, editores y creadores de datos, así como el administrador de la geodatabase.

Puede utilizar las herramientas de SQL Server o sentencias de Transacciones SQL para administrar privilegios de la base de datos del usuario.

Los privilegios de los datasets en las geodatabases se deben otorgar o revocar mediante clientes de ArcGIS y esta labor debe correr a cargo del propietario del dataset.

Nota:

El privilegio CONNECT se otorga en bases de datos al rol de base de datos pública por defecto. Si se revoca este privilegio de la base de datos pública, debe otorgarse explícitamente el privilegio CONNECT a roles o nombres de usuario específicos en las bases de datos.

Privilegios mínimos

Tipo de usuarioPrivilegios de base de datosPrivilegios de datasetNotes

Visor de datos

SELECT

Si se permite que lean todas las tablas en la base de datos, puede asignar usuarios al rol de base de datos db_datareader; de lo contrario, otorgue SELECT en tablas y vistas específicas.

Editor de datos

  • SELECT, INSERT, UPDATE y DELETE en datasets de otros usuarios
  • EXECUTE en los procedimientos almacenados asociados con los datos que se van a editar

Cuando se usa ArcGIS para asignar los privilegios SELECT, INSERT, UPDATE y DELETE en una tabla o clase de entidad registradas para el versionado tradicional, esos privilegios se otorgan automáticamente en la vista versionada asociada. Dichos privilegios son necesarios para que el usuario pueda editar con una vista SQL y una vista versionada.

Creador de datos

  • CREATE TABLE
  • CREATE PROCEDURE
  • CREATE VIEW

Los usuarios que crean datos deben tener un esquema predeterminado con el mismo nombre que su nombre de usuario de base de datos. Por ejemplo, para el nombre de usuario simon, el nombre de esquema predeterminado debe ser simon. En caso contrario, el usuario no puede crear objetos, como clases de entidad.

Administrador de la geodatabase

Si el administrador de la geodatabase es un usuario llamado sde y ese usuario no es el propietario de los datos en la geodatabase fuera de los objetos del sistema, el usuario sde sólo necesita poder conectarse a la geodatabase, una vez que se haya creado la geodatabase.

SELECT, INSERT, UPDATE y DELETE en datasets versionados

Se requieren privilegios adicionales para actualizar la geodatabase o para permitir que el usuario sde elimine o vea todas las conexiones.

Privilegios para crear o actualizar una geodatabase

En la siguiente tabla, se enumeran el usuario y los privilegios que se deben utilizar para crear o actualizar geodatabases en SQL Server.

Tipo de geodatabaseUsuario y privilegios para crear una geodatabaseUsuario y privilegios para actualizar una geodatabase

Geodatabases de esquema sde

El usuario sde necesita los siguientes privilegios:

  • CREATE FUNCTION
  • CREATE PROCEDURE
  • CREATE TABLE
  • CREATE VIEW

El usuario sde debe agregarse al rol db_owner en la base de datos que se va a actualizar.

También puede realizar la actualización un usuario (que no sea sde) que se encuentre en el rol de base de datos db_owner o rol de servidor fijo sysadmin.

Esquema dbo

El usuario dbo ya cuenta con los privilegios requeridos para crear una geodatabase en una base de datos.

El usuario dbo ya cuenta con los privilegios necesarios para realizar una actualización.

De manera alterna, la actualización se puede ejecutar por parte de un usuario que está en el rol de base de datos db_owner.

Privilegios adicionales

Las siguientes funciones precisan privilegios adicionales en la geodatabase:

  • El administrador de la geodatabase (usuario sde) en una geodatabase de esquema sde debe agregarse al rol de servidor fijo processadmin y otorgar privilegios VIEW DEFINITION en la base de datos para liberar las conexiones de la geodatabase. La herramienta de geoprocesamiento Crear geodatabase corporativa otorga este rol y los privilegios al usuario sde. Puede revocar este privilegio y quitar el usuario del rol processadmin después de la creación de la geodatabase, pero, si lo hace, el usuario sde no podrá desconectar usuarios de la geodatabase.
  • Debe otorgarse a cualquier usuario al que pertenezca una columna XML privilegios REFERENCES sobre el catálogo de texto completo utilizado para indexar la columna XML.
  • Si se altera la configuración de la geodatabase de modo que utilice tablas de archivos de registro compartidos en la geodatabase, el privilegio CREATE TABLE es necesario para todos los usuarios de la base de datos.