Privilegios de usuario para geodatabases en PostgreSQL
En este tema se describen los privilegios de base de datos necesarios para los tipos comunes de usuarios: revisores, editores y creadores de datos, así como el administrador de la geodatabase.
Los usuarios de bases de datos individuales en PostgreSQL se denominan roles de inicio de sesión. Para agrupar roles de inicio de sesión que estén basados en las tareas comunes que realizan los usuarios, puede crear roles de grupo, agregar los roles de inicio de sesión a los roles de grupo, y a continuación asignarle privilegios a los roles de grupo.
En la tabla siguiente se enumeran los privilegios que deben otorgarse a cada uno de los tres grupos comunes (visores, editores y creadores de datos) y los privilegios mínimos necesarios para el administrador de la geodatabase (el rol de inicio de sesión sde) a fin de realizar operaciones habituales. Los privilegios necesarios para el administrador de la geodatabase a fin de actualizar la geodatabase se enumeran al final de esta sección.
Tipo de usuario |
Privilegios de base de datos |
Privilegios de dataset |
Notas |
---|---|---|---|
Visor de datos |
|
SELECT en datasets específicos |
Si el usuario va a acceder a clases de entidad que usen el almacenamiento de geometría PostGIS, se debe otorgar al usuario privilegios SELECT en las tablas public.geometry_columns y public.spatial_ref_sys. |
Editor de datos |
|
SELECT, INSERT, UPDATE y DELETE en datasets de otros usuarios |
Si el usuario va a editar datos versionados a través de una vista versionada, debe tener asignados los privilegios SELECT, INSERT, UPDATE y DELETE en la vista versionada. Cuando se usa el cuadro de diálogo Privilegios en ArcGIS para asignar los privilegios SELECT, INSERT, UPDATE y DELETE en una clase de entidad versionada, esos privilegios se otorgan automáticamente en la vista versionada asociada. Si el usuario va a acceder a clases de entidad que usen el almacenamiento de geometría PostGIS, se debe otorgar al usuario privilegios SELECT en las tablas public.geometry_column y public.spatial_ref_sys. |
Creador de datos |
|
Si se utiliza el tipo de geometría PostGIS, también debe otorgar SELECT, INSERT, UPDATE y DELETE en la tabla public.geometry_columns (sintaxis= GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE public.geometry_columns TO <nombre_rol>). También debe otorgar SELECCIONAR en la tabla public.spatial_ref_sys (sintaxis= GRANT SELECT ON TABLE public.spatial_ref_sys TO <nombre_rol>). |
|
Administrador de la geodatabase |
USO en todos los demás esquemas de usuario |
Si no se otorga este privilegio, el administrador de la geodatabase no podrá comprimir ni actualizar la geodatabase. |
El privilegio de base de datos CONNECT se otorga al rol de grupo público por defecto. Si se revoca este privilegio de PUBLIC, debe otorgarse explícitamente CONNECT en bases de datos a los roles de grupo o de inicios de sesión específicos.
Puede utilizar una de las aplicaciones administrativas que se conectan a las bases de datos de PostgreSQL, como pgAdmin III, con el fin de administrar los privilegios de usuario. También es posible utilizar sentencias SQL para otorgar y revocar privilegios y privilegios.
El propietario del dataset debe otorgar o revocar los privilegios del dataset en el cuadro de diálogo Privilegios o con la herramienta de geoprocesamiento Cambiar privilegios, que está disponible en ArcGIS for Desktop. Consulte Otorgar y revocar privilegios en datasets y Cambiar privilegios para obtener instrucciones.
Privilegios requeridos para crear o actualizar una geodatabase
Para crear o actualizar una geodatabase, al administrador de la geodatabase (el usuario sde) se le deben otorgar privilegios de superusuarios y tener la capacidad de acceder a todos los esquemas de los demás usuarios y seleccionar todos los datasets en la geodatabase. Los privilegios de superusuarios también son necesarios para eliminar las conexiones de base de datos de ArcGIS for Desktop. Por lo tanto, puede revocar privilegios de superusuarios después de realizar la creación o actualización de la geodatabase, pero solo si no desea que el usuario sde pueda eliminar conexiones.