Disponible con una licencia Standard o Advanced.
Para permitir que otros usuarios de la base de datos vean o modifiquen el contenido de cualquier dato en una base de datos o una geodatabase corporativa, debe otorgarles el privilegio para hacerlo.
Como propietario del dataset, puede utilizar el cuadro de diálogo Privilegios, la herramienta de geoprocesamiento Cambiar privilegios o la función ChangePrivileges_management en una secuencia de comandos de Python para especificar los privilegios que tiene un usuario o un grupo sobre un dataset concreto.
Puede otorgar privilegios de selección, es decir, que el usuario pueda leer y seleccionar el contenido de un dataset, pero no modificarlo. También puede otorgar privilegios de actualización, inserción y eliminación, lo que permite al usuario modificar el contenido de un dataset.
Las siguientes reglas se aplican a la concesión y revocación de privilegios sobre los datos de una base de datos o una geodatabase corporativa en ArcGIS:
- Solo el propietario de la tabla puede modificar los privilegios del dataset.
- Solo el propietario de la tabla puede eliminar el dataset o modificar su definición de esquema; por lo tanto, aun cuando se han concedido a otro usuario privilegios de insertar, actualizar y eliminar en un dataset, ese usuario no puede modificar el esquema.
- Al otorgar privilegios a un usuario para insertar, actualizar o eliminar, también debe otorgarle el privilegio para seleccionar. Los usuarios deben poder leer el dataset para poder editarlo.
- Los roles dbo y db_owner no aparecen en la lista de Usuario/Rol del cuadro de diálogo Privilegios para las bases de datos de Microsoft SQL Server. A estos usuarios se les conceden automáticamente privilegios en todos los datos de la base de datos. Los privilegios varían por rol y no se pueden revocar.
- Los grupos o roles de inicio de sesión de PostgreSQL a los que se les ha otorgado el estatus de superusuarios en la base de datos no aparecen en la lista Usuario/Rol del cuadro de diálogo Privilegios. Estos usuarios automáticamente tienen privilegios completos sobre todos los datos y no puede revocar estos privilegios.
- Solo puede modificar los privilegios del usuario en un dataset en cualquier momento por medio del cuadro de diálogo Privilegios. Para modificar los privilegios sobre varios datasets al mismo tiempo, utilice la herramienta de geoprocesamiento Cambiar privilegios o la función de Python.
- Para revocar privilegios se requiere un bloqueo exclusivo en el dataset. Si hay alguien conectado al dataset, no podrá revocar privilegios.
Las siguientes normas afectan solamente a la concesión y revocación de privilegios sobre datasets de una geodatabase corporativa:
- Todas las clases de entidad de un dataset de entidades deben tener aplicados los mismos privilegios.
- Cuando se otorgan privilegios a una tabla o clase de entidad que participa en una clase de relación, los privilegios deben otorgarse tanto a las clases de destino como a las de origen. Si las clases de entidad de destino y origen se encuentran en el mismo dataset de entidad, tienen el mismo conjunto de privilegios ya que se otorgan los privilegios a nivel de dataset de entidad. Sin embargo, cuando la clase de origen o destino no está en el mismo dataset de entidad, debe asegurarse de otorgarle los privilegios apropiados tanto a las clases de origen como de destino. Si la clase de relación tiene atributos o tiene cardinalidad muchos a muchos, los privilegios se propagan automáticamente a la tabla intermedia cuando usted asigna privilegios a la clase de origen.
- Si el dataset no está registrado como versionado, puede otorgar y revocar individualmente los privilegios de actualización, inserción y eliminación mediante el cuadro de diálogo Privilegios. Por ejemplo, puede otorgarle a un usuario privilegios para seleccionar y actualizar, lo que le permite a este conectarse al dataset y alterar las entidades existentes, pero no le permite agregar nuevas entidades o eliminar entidades existentes.
- Si el dataset se registra como versionado, los privilegios que le permiten a un usuario modificar un dataset (actualizar, insertar y eliminar) deben otorgarse y revocarse como grupo.
- Si el dataset se registra como versionado, el administrador de la geodatabase debe tener todos los privilegios sobre el mismo. Por lo tanto, no puede revocarle los privilegios desde el administrador de la geodatabase en datasets versionados.
Utilice uno de los métodos siguientes para otorgar y revocar privilegios sobre datasets de su propiedad:
- Cuadro de diálogo Privilegios: el cuadro de diálogo Privilegios permite consultar los privilegios que tiene un usuario o un grupo sobre un dataset concreto. También puede conceder privilegios sobre el dataset a más de un usuario o grupo a la vez.
- Herramienta Cambiar privilegios: la herramienta Cambiar privilegios permite otorgar privilegios sobre varios datasets a un usuario o grupo.
- Secuencia de comandos de Python: puede ejecutar una secuencia de comandos de Python desde equipos donde esté instalado ArcGIS Server. Se pueden modificar los privilegios de varios datasets.
Utilizar el cuadro de diálogo Privilegios
Abra el cuadro de diálogo Privilegios desde el menú contextual de una conexión de base de datos del árbol de catálogo. Este cuadro de diálogo permite elegir los usuarios o grupos de una lista a los que se puede conceder privilegios. También le permite otorgar individualmente privilegios de inserción, actualización y eliminación en un dataset, siempre y cuando el dataset no esté registrado como versionado.
- Inicie ArcMap o ArcCatalog y haga doble clic en la carpeta Conexiones de base de datos del árbol de catálogo.
- Haga clic con el botón derecho en el dataset, seleccione Administrar y haga clic en Privilegios.
Aparece el cuadro de diálogo Privilegios.
- Si el usuario o rol cuyos privilegios desea cambiar está en la lista, active o desactive las casillas de los privilegios que desea conceder o revocar y haga clic en Aceptar para aplicar los cambios.
- Si el usuario o rol no está en la lista, haga lo siguiente:
- Haga clic en Agregar para abrir el cuadro de diálogo Usuario/rol.
- Si tiene privilegios en la base de datos para ver todos los usuarios y roles en la base de datos, puede elegir los usuarios o roles de la base de datos que desea agregar de la lista al desactivar la casilla al lado de sus nombres. En caso contrario, escriba el nombre del usuario de la base de datos, rol de la base de datos, inicio de sesión del sistema operativo o grupo de Windows al que desea otorgarle privilegios. Para escribir varios usuarios o grupos, escriba los nombres separándolos por comas (sin dejar espacios).
- Haga clic en Aceptar para cerrar el cuadro de diálogo Usuario/Rol.
- Marque los cuadros de privilegios que desea que cada nuevo usuario o rol tenga y a continuación, haga clic en Aceptar.
Utilizar la herramienta Cambiar privilegios
Puede utilizar la herramienta Cambiar privilegios para otorgar y revocar privilegios sobre datasets de su propiedad. La herramienta está en el conjunto de herramientas Administración de geodatabase de la caja de herramientas Administración de datos.
Puede cambiar los privilegios de un usuario o grupo sobre varios datasets al mismo tiempo con esta herramienta. La herramienta Cambiar privilegios no muestra los privilegios que tiene actualmente el usuario sobre los datasets. Los privilegios de inserción, actualización y eliminación se deben conceder en conjunto, no de forma individual.
- Conéctese a la geodatabase o la base de datos como propietario de los datasets cuyos privilegios quiera otorgar o revocar.
- Abra la herramienta Cambiar privilegios
- Desplácese hasta la conexión de base de datos y elija los datasets cuyos privilegios quiera cambiar.
- Escriba el nombre del usuario o grupo cuyos privilegios desea cambiar.
- Utilice las listas desplegables Ver y Editar para seleccionar los privilegios que quiera otorgar al usuario o grupo especificado.
Para otorgar privilegios de edición, también deben otorgarse privilegios de vista.
- Haga clic en Aceptar para ejecutar la herramienta.
Utilizar una secuencia de comandos de Python
Para utilizar una secuencia de comandos de Python para otorgar o revocar privilegios sobre un dataset de su propiedad, puede emplear la función ChangePrivileges_management.
- Utilice la función CreateDatabaseConnection_management para crear una conexión de base de datos. Debe conectarse como propietario de los datasets y guardar el nombre de usuario con el archivo.
- Ejecute la función ChangePrivileges_management.