La seguridad de WebFOCUS se aplica de archivo en archivo. La implementación de características de seguridad DBA es un proceso simple y directo que le permite especificar:
Las declaraciones (denominadas declaraciones de seguridad) siguen al comando END en un archivo máster, e indican a WebFOCUS que el origen de datos requiere seguridad y, en este caso, de qué tipo. Cada declaración de seguridad está compuesta por uno o varios de los siguientes atributos:
RW, que permite al usuario leer o escribir en un origen de datos.
R, que sólo permite al usuario leer datos de un origen de datos.
W, que sólo permite al usuario escribir segmentos nuevos en un origen de datos.
U, que sólo permite al usuario actualizar registros en un origen de datos.
Describa la seguridad de sus orígenes de datos especificando valores para los atributos, en un formato delimitado por comas, como si se tratase de cualquier otro atributo del archivo máster.
El término END, colocado por sí solo en una línea del archivo máster, da por terminados los atributos de los segmentos y campos e indica que a continuación vienen los límites de acceso. Si coloca el término END en un archivo máster, debe venir seguido de un atributo de DBA como mínimo.
El archivo máster siguiente emplea características de seguridad:
FILENAME = PERS, SUFFIX = FOC,$ SEGMENT = IDSEG, SEGTYPE = S1,$ FIELD = SSN ,ALIAS = SSN ,FORMAT = A9 ,$ FIELD = FULLNAME ,ALIAS = FNAME ,FORMAT = A40 ,$ FIELD = DIVISION ,ALIAS = DIV ,FORMAT = A8 ,$ SEGMENT=COMPSEG, PARENT=IDSEG, SEGTYPE=S1,$ FIELD = SALARY ,ALIAS = SAL ,FORMAT = D8 ,$ FIELD = DATE ,ALIAS = DATE ,FORMAT = YMD ,$ FIELD = INCREASE ,ALIAS = INC ,FORMAT = D6 ,$ END DBA=JONES76,$ USER=TOM ,ACCESS=RW, $ USER=BILL ,ACCESS=R ,RESTRICT=SEGMENT ,NAME=COMPSEG ,$ USER=JOHN ,ACCESS=R ,RESTRICT=FIELD ,NAME=SALARY ,$ NAME=INCREASE ,$ USER=LARRY ,ACCESS=U ,RESTRICT=FIELD ,NAME=SALARY ,$ USER=TONY ,ACCESS=R ,RESTRICT=VALUE ,NAME=IDSEG, VALUE=DIVISION EQ 'WEST' ,$ USER=MARY ,ACCESS=W ,RESTRICT=VALUE ,NAME=SALTEST, VALUE=INCREASE+SALARY GE SALARY,$ NAME=HISTTEST, VALUE=DIV NE ' ' AND DATE GT 0,$
Cómo: |
El primer atributo de seguridad debe ser una contraseña, que identifique al administrador de bases de datos. La contraseña puede tener hasta 64 caracteres de largo y no distingue el uso de mayúsculas y minúsculas. Puede incluir caracteres especiales. Si la contraseña de DBA contiene espacios en blanco, debe estar entre comillas simples. Puesto que no se necesita nada más, la línea termina por el delimitador normal (,$).
Nota:
DBA=JONES76,$
El administrador de bases de datos tiene la capacidad de cambiar cualquier atributo de seguridad. Si modifica la contraseña de DBA de un origen de datos FOCUS, en el archivo máster, debe usar el comando RESTRICT para almacenar la contraseña modificada en cada origen de datos FOCUS afectado por el cambio. De lo contrario, WebFOCUS da por sentado que la nueva descripción es un intento de eludir las reglas de restricción. Utilice el siguiente procedimiento con cada origen de datos afectado:
SET PASS=old_DBA_password
RESTRICT
mastername
END
SET PASS=new_DBA_password
El comando SET HOLDSTAT permite identificar un origen de datos que contenga información y comentarios sobre DBA, para que quede incluido automáticamente en archivos máster HOLD y PCHOLD. Para más información sobre el comando SET HOLDSTAT, consulte manual Cómo desarrollar aplicaciones de informes .
Cómo: |
El atributo USER es una contraseña que identifica los usuarios con un acceso legítimo al origen de datos. No se puede especificar un atributo USER por sí solo. Debe estar seguido de una restricción de ACCESS (descrita en Cómo especificar un tipo de acceso: Atributo ACCESS), como mínimo, para especificar el tipo de acceso concedido al usuario.
Antes de usar un origen de datos seguro, el usuario debe introducir la contraseña, mediante los comandos SET PASS o SET USER. Si no se incluye la contraseña en el archivo máster, el usuario no podrá acceder al origen de datos. Si el usuario no posee una contraseña o la que tiene no corresponde al tipo de acceso solicitado, aparece el siguiente mensaje:
(FOC047) THE USER DOES NOT HAVE SUFFICIENT ACCESS RIGHTS TO THE FILE:
filename
Los usuarios cuyos nombres o contraseñas no aparezcan declarados en el archivo máster, no podrán acceder al origen de datos. La sintaxis del atributo USER es
USER = name
donde:
Es una contraseña de usuario con un máximo de 64 caracteres. La contraseña puede incluir caracteres especiales y no distingue el uso de mayúsculas y minúsculas. Si la contraseña contiene espacios en blanco, debe estar entre comillas simples.
Puede especificar una contraseña en blanco (éste es el valor por defecto, si no se ha cambiado anteriormente). Este tipo de contraseña no requiere que el usuario emita un comando SET PASS=. La contraseña en blanco puede tener límites de acceso y resulta útil cuando varios usuarios disponen de los mismos derechos de acceso.
USER=TOM,...
A continuación le mostramos un ejemplo de cómo establecer una contraseña en blanco y el acceso de sólo lectura:
USER= , ACCESS=R,$
Cómo: |
El parámetro PERMPASS establece una contraseña de usuario que permanece en vigor durante la sesión o conexión. Puede emitir esta configuración en cualquier perfil soportado, aunque es más útil cuando se ha establecido en el perfil de un usuario individual. No puede establecerse en una frase ON TABLE. No se recomienda establecerlo en EDASPROF, ya que se aplicaría a todos los usuarios.
Cuando PERMPASS está en vigor, se respetan todas las reglas de seguridad establecidas en las secciones DBA de archivos máster existentes. El usuario no puede emitir los comandos SET PASS o SET USER para cambiar a una contraseña de usuario con reglas de seguridad diferentes. Cualquier intento generará el mensaje siguiente:
permanent PASS is in effect. Your PASS will not be honored. VALUE WAS NOT CHANGED
Sólo se puede establecer una contraseña permanente en una sesión. Una vez establecido, no puede modificarse durante la sesión.
SET PERMPASS=userpass
donde:
Es la contraseña de usuario usada para todos los accesos a orígenes de datos con reglas de seguridad DBA establecidas en sus archivos máster correspondientes.
Examine el archivo máster MOVIES con las siguientes reglas en vigor:
DBA=USER1,$ USER = USERR, ACCESS = R ,$ USER = USERU, ACCESS = U ,$ USER = USERW, ACCESS = W ,$ USER = USERRW, ACCESS = RW,$
El siguiente FOCEXEC establece una contraseña permanente:
SET PERMPASS = USERU TABLE FILE MOVIES PRINT TITLE BY DIRECTOR END
El usuario tiene ACCESS=U y, por tanto, no puede emitir una solicitud de tabla basada en el archivo:
(FOC047) THE USER DOES NOT HAVE SUFFICIENT ACCESS RIGHTS TO THE FILE: CAR BYPASSING TO END OF COMMAND
La contraseña permanente no puede cambiarse:
SET PERMPASS = USERRW
permanent PASS is in effect. Your PASS will not be honored. VALUE WAS NOT CHANGED
La contraseña del usuario no puede cambiarse:
SET PASS = USERRW
permanent PASS is in effect. Your PASS will not be honored. VALUE WAS NOT CHANGED
Cómo: |
Cuando una DBA o un usuario emiten los comandos SET USER, SET PERMPASS o SET PASS, el Id. del usuario se valida antes de que obtenga acceso a cualquier origen de datos cuyo archivo máster presente atributos de DBA. La contraseña también se comprueba al codificar o descodificar un FOCEXEC.
El comando SET DBACSENSITIV determina si la contraseña queda convertida a mayúsculas antes de validarse.
SET DBACSENSITIV = {ON|OFF}
donde:
No convierte las contraseñas a mayúsculas. Todas las comparaciones entre la contraseña establecida por el usuario y la contraseña del archivo máster, o FOCEXEC, son sensibles a las mayúsculas y minúsculas.
Convierte las contraseñas a mayúsculas antes de la validación. Todas las comparaciones entre la contraseña establecida por el usuario y la contraseña del archivo máster, o FOCEXEC, no son sensibles a las mayúsculas y minúsculas. OFF es el valor predeterminado.
Examine la siguiente declaración de DBA, añadida al archivo máster EMPLOYEE:
USER = User2, ACCESS = RW,$
User2 quiere generar un informe en base al origen de datos EMPLOYEE y emite el siguiente comando:
SET USER = USER2
Con DBACSENSITIV OFF, User2 puede ejecutar la solicitud aunque el uso de mayúsculas y minúsculas de la contraseña no coincida con el de la contraseña en el archivo máster.
Con DBACSENSITIV ON, User2 recibe este mensaje:
(FOC047) THE USER DOES NOT HAVE SUFFICIENT ACCESS RIGHTS TO THE FILE:
Con DBACSENSITIV ON, el usuario debe emitir el siguiente comando:
SET USER = User2
Cómo: |
El usuario debe introducir su contraseña antes de usar cualquier origen de datos FOCUS cuya seguridad haya sido establecida. Los usuarios individuales pueden tener contraseñas diferentes en distintas líneas. Por ejemplo, en el archivo ONE, se aplican los derechos de la contraseña BILL, mientras que en el archivo TWO, se aplican los de la contraseña LARRY. Emplee el comando SET PASS para establecer las contraseñas.
SET {PASS|USER} = name [[IN {file|* [NOCLEAR]}], name [IN file] ...]
donde:
Es el nombre o contraseña del usuario. Si uno de los caracteres utilizados en la contraseña tiene un significado especial en su entorno operativo (por ejemplo, un carácter de escape), puede emitir el comando SET USER en un FOCEXEC y ejecutar este FOCEXEC para establecer la contraseña. Si la contraseña tiene un espacio en blanco, no tiene que colocarla entre comillas simples al emitir el comando SET USER.
Es el nombre del archivo máster al que se aplica la contraseña.
Indica que name sustituye a todas las contraseñas activas en todos los archivos.
Proporciona un modo de reemplazar todas las contraseñas de la lista de contraseñas activas, sin eliminar la lista.
En el siguiente ejemplo, la contraseña TOM está en vigor para todos los orígenes de datos que no dispongan de una contraseña específica, asignada:
SET PASS=TOM
En el siguiente ejemplo, BILL es la contraseña del archivo ONE, y LARRY, la del archivo TWO. El resto de archivos no tiene una contraseña establecida:
SET PASS=BILL IN ONE, LARRY IN TWO
Aquí, la contraseña de todos los archivos es SALLY, excepto SIX y SEVEN, cuya contraseña es DAVE.
SET PASS=SALLY, DAVE IN SIX SET PASS=DAVE IN SEVEN
La contraseña del archivo FIVE es MARY; para el resto de los archivos, FRANK:
SET PASS=MARY IN FIVE,FRANK
Se retiene la lista de archivos para los que el usuario ha establecido contraseñas específicas. Para ver la lista de archivos, emita:
? PASS
Cuando el usuario establecer una contraseña IN * (todos los archivos), la lista de contraseñas activas se contrae en una sola entrada, sin un nombre de archivo asociado. Para retener la lista de nombres de archivos, use la opción NOCLEAR.
En el siguiente ejemplo, la contraseña KEN sustituye a todas las contraseñas activas en todos los archivos; la tabla de contraseñas activas queda doblada en una única entrada:
SET PASS=KEN IN *
En el siguiente ejemplo, MARY sustituye a todas las contraseñas de la tabla existente de contraseñas activas (compuesta por los archivos NINE y TEN), aunque FRANK es la contraseña del resto de archivos. La opción NOCLEAR es una forma directa de reemplazar todas las contraseñas de una lista específica:
SET PASS=BILL IN NINE,TOM IN TEN SET PASS=MARY IN * NOCLEAR,FRANK
Nota: La función FIND no es compatible con los orígenes de datos COMBINEd asegurados con contraseñas diferentes.
Los usuarios deben emitir las contraseñas mediante el comando SET PASS, durante cada sesión en que utilicen un origen de datos asegurado. Pueden emitir contraseñas en cualquier momento anterior al uso del origen de datos y, posteriormente, emitir una contraseña para acceder a otro origen.
WebFOCUS |