Lea en AS/400 System i . . .

Aprovechando las posibilidades del WRKACTJOB a través de sus parámetros

Obtenga una salida diferente de la habitual al ejecutar el comando WRKACTJOB, aprovechando lo ofrecido por algunos parámetros interesantes que posibilitan entre otras acciones la de renovar automáticamente la pantalla resultante.

FaceBookTwitterGoogle+

Seguridad de campos de una tabla SQL en AS/400

Implemente la seguridad a nivel de columnas (campos) individuales de un archivo o vista de base de datos en DB2/400 (DB2 UDB).

La seguridad de OS/400 trabaja a nivel de objetos. Esto implica que sobre cualquier tipo de objeto se pueden asignar o revocar diferentes autorizaciones para los distintos usuarios del sistema.

La V4R2 de OS/400 introduce un nuevo nivel de chequeo de seguridad, implementando controles a nivel de campos o columnas de un archivo físico o de una vista.

Esta nueva facilidad permite asociar permisos de actualización en forma individual a cada uno de los campos de un archivo, con un esquema semejante al de la seguridad de objetos; (no alcanza, por el momento, la exclusión total del campo). La idea final consiste en poder conceder a un usuario una capacidad de actualización selectiva a columnas de un determinado archivo. También, a través de este nuevo “feature”, se puede limitar la capacidad de involucrar columnas individuales como “claves padre” en restricciones de integridad referencial.

Las autoridades a nivel de columnas permiten eliminar el costo de mantener vistas adicionales y ayudan a asegurar que los accesos a los datos que las aplicaciones realizan, sean sólo a través de interfaces aseguradas.

En versiones anteriores del OS/400, para establecer estos controles sobre actualizaciones a campos, era necesaria la generación de archivos lógicos sobre las columnas del físico que se necesitaban proteger. Esto implicaba además una pesada carga administrativa para mantener una combinación de autorizaciones sobre los objetos físicos y las vistas. Además, con respecto a los controles de referencia, sólo era posible otorgar esta autoridad de referencia al archivo completo y no a campos individuales.

Ya desde la 4.2 del OS/400, existen dos formas posibles de implementar controles a nivel de columnas:

  1. Utilizando sentencias propias del SQL (no existen hasta el momento comandos del CL/400 que implementen seguridad a nivel de campos).
  2. Desde el Operations Navigator,  poderosa interface gráfica provista por Client Access/400 para clientes Windows 95/NT.

La comparación de uno y otro método permite además mostrar claramente las ventajas que el Operations Navigator aporta para manejar este tipo de administración.

Implementación de seguridad de columnas a través de sentencias SQL.

SQL/400 ofrece dos sentencias orientadas a otorgar o revocar permisos de actualización y referencias:

  • GRANT
  • REVOKE

Supongamos trabajar sobre una tabla CLIENTES que posee las siguientes columnas: CLIENTE, NOMBRE, DOMICILIO, ZONA, ESTADO. Necesitamos otorgar al usuario TEKT2 permisos para actualizar las columnas NOMBRE y DOMICILIO. La siguiente sentencia SQL agrega los controles de seguridad deseados:

GRANT SELECT,

UPDATE(NOMBRE, DOMICILIO)

ON TEKT1.CLIENTES

TO TEKT2

Observar, en la sentencia previa, la inclusión de SELECT.  Esto último es necesario ya que, para que el usuario pueda actualizar las columnas mencionadas, se requiere el permiso de lectura sobre la tabla completa.

Si se decide revocar al usuario TEKT2 el permiso de actualización anteriormente asignado sobre la columna DOMICILIO, la sentencia SQL correspondiente sería:

REVOKE UPDATE(DOMICILIO)

ON TEKT1.CLIENTES

FROM TEKT2

Por otro lado, a través de los mismos comandos mencionados anteriormente se puede otorgar o revocar autoridad de referencias a nivel de campos. Recordemos que antes de V4R2 las únicas alternativas eran autorizar a un usuario a agregar o remover restricciones de integridad referencial (RI) sobre un archivo (ésto involucraba la posibilidad de elegir cualquiera de las columnas en una tabla padre como clave padre, sin poder especificar cuál) o negar la autoridad a gestionar RI. A partir de V4R2, se permite a un usuario agregar una restricción de RI que referencia a algunos campos de la tabla padre y prevenir que el mismo usuario pueda agregar una restricción referencial que referencie a otros campos de la misma tabla. La siguiente sentencia SQL agrega control de referencia para que el usuario TEKT2 pueda establecer una restricción referencial sólo sobre el campo CLIENTE de la tabla CLIENTES:

GRANT REFERENCES(CLIENTE)

ON TEKT1.CLIENTES

TO TEKT2


Cómo visualizar las autoridades a nivel de columna

El comando DSPOBJAUT ahora cuenta con una nueva tecla de función, F16, que permite visualizar las autoridades a nivel de columnas. La siguiente pantalla muestra el resultado de las  operaciones realizadas previamente sobre la tabla CLIENTES:

AS400-seguridad-columnas-pantalla-verde

En la pantalla anterior se puede visualizar, en la columna Lect, el efecto del permiso SELECT en la sentencia GRANT.  También se puede observar que el permiso de actualización sólo quedó establecido para la columna NOMBRE después de la ejecución de la sentencia REVOKE y la autorización Ref para la columna CLIENTE luego del último GRANT.

Esta información también puede visualizarse ingresando *FIELD en el parámetro AUTTYPE del prompt del comando DSPOBJAUT.

Implementación de seguridad de columnas utilizando Operations Navigator (iSeries Navigator)

AS/400 Operations Navigator (iSeries Navigator) es una poderosa interface gráfica para clientes Windows provista por iseries Access for Winodws (anteriormente Client Access/400). Con esta herramienta es posible manejar y administrar su sistema AS/400 haciendo uso de todas las ya conocidas facilidades de un entorno Windows.

Se puede trabajar con administración de BD, de impresoras, sistemas de archivos, usuarios y grupos, entre muchas otras posibilidades.

Las mismas operaciones realizadas con GRANT y REVOKE desde el intérprete SQL se pueden efectuar desde Operations Navigator de una manera mucho más amigable. Los siguientes pasos son necesarios para llegar a la pantalla donde se gestionan los permisos:

  1. Acceder  al Operations Navigator (iseries Access for Windows).
  2. Si no existe una conexión previamente establecida, la ventana de Inicio de sesión en AS/400 aparece (no confundir con la emulación de pantalla).
  3. Ingresar usuario y contraseña.
  4. Hacer doble click sobre Base de datos.
  5. Presionar botón derecho del mouse sobre el item Biblioteca.
  6. Hacer click sobre Seleccionar bibliotecas a visualizar y añadir la biblioteca que contiene el archivo sobre el que se trabajará.
  7. Hacer doble click sobre Bibliotecas. Debe aparecer la biblioteca añadida.
  8. Hacer doble click sobre la biblioteca añadida para visualizar su contenido.
  9. Posicionarse sobre el archivo a trabajar , presionar botón derecho del mouse y elegir Autorizaciones.
  10. En la ventana de autorizaciones, presionar el botón Columnas para visualizar la siguiente pantalla:

AS400-seguridad-columnas-tabla-navigator

La operatoria aquí es la misma que cualquier interface Windows. Con el botón Añadir es posible seleccionar los usuarios a autorizar y luego especificar los permisos de actualización  y de referencia sobre las columnas deseadas. Si se seleccionan los botones Básica y Detalles se podrán visualizar y cambiar las autorizaciones sobre objetos y sobre datos que siempre han estado disponibles en OS/400.

Se puede observar con toda claridad las muchas y variadas ventajas que existen al trabajar con Operations Navigator (iseries Navigator). Su uso es simple y dispone de información en línea. Lo aquí descripto muestra tan sólo una de sus posibilidades, pero existe una gran gama de opciones para realizar tareas de administración desde este entorno. La gestión avanzada de la seguridad, planificación de backups, operaciones sobre writers y gestión de trabajos son algunas de ellas.

 

Para tener en cuenta...

  • Esta característica de autoridades a nivel de columnas es especialmente útil para aplicaciones Client/Server que restringen modificaciones a algunas columnas y permiten modificaciones a otras. Antes de esta posibilidad, muchas aplicaciones Client/Server debían implementar sus propias políticas de seguridad a nivel de columnas.
  • La sentencia SELECT dentro del GRANT es una autorización que siempre involucra a todos los campos. El control de autoridad de lectura para un campo específico, todavía no está disponible en V4R4.
  • A diferencia de las autoridades a nivel de objeto, que son almacenadas junto con el perfil de usuario, las autoridades a nivel de columnas son almacenadas con la tabla o vista. Por lo tanto, cuando se salva el objeto, las autorizaciones sobre las columnas son incluidas en el backup.
  • El comando CRTDUPOBJ no traslada al objeto duplicado las autorizaciones dadas a nivel de campos.
Si se otorga autorización a una columna para la cual el usuario no tiene la autorización a nivel de objetos, se otorgará la autorización a nivel de objetos. El cambio puede visualizarse a través de los botones Básica y Detalles del Operations Navigator. Por otra parte, los cambios realizados en las vistas Básica y Detalles pueden provocar cambios en las autorizaciones de Columnas visualizadas.

Copyright Teknoda S.A.

IMPORTANTE:
“Notas técnicas de AS/400 - IBM i" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes IBM i - AS/400. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. NS iTech - Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas AS400 - IBM i, envíe un mensaje desde esa dirección a info@nsitech.com.ar  o  a letter400@nsitech.com.ar, aclarando nombre, empresa, cargo y país del suscriptor.

AS400 , iSeries, System i, IBM Power Systems, IBM i son marcas registradas de IBM. IBM no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, NS iTech - Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT NS iTech - TEKNODA S.A.  PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE  NS iTech - TEKNODA


 

Lea en AS/400 Tips . . .

Infografía comparativa Comandos de SAVE RESTORE del AS400

save_restore_thumbnail

Conozca y diferencie visualmente qué partes del almacenamiento resguarda y restaura cada comando y cada opción del Menú Salvar y Restaurar. PUEDE DESCARGAR UN FORMATO POSTER PARA IMPRESION.

Para lograr un entendimiento conceptual es de suma utilidad contar con una ayuda gráfica, que  permita diferenciarlos a primera vista. Nuestro equipo de especialistas ha desarrollado el "Infographics" que presentamos con este tip. Por supuesto, el mismo debe complementarse con la información detallada de los innumerables parámetros de cada comando, pero es un útil marco de referencia  para recordar el área de injerencia de cada comando.

LEER ESTE ARTICULO >>>>>

 

 

 

Copyright © 2024 Teknoda Tech Portal & Training. Todos los derechos reservados.
Joomla! es software libre, liberado bajo la GNU General Public License.