Cómo implementar la seguridad de orígenes de datos

En esta sección:

Referencia:

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:

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.


Principio de página

Ejemplo: Cómo implementar la seguridad de orígenes de datos en un archivo máster

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,$

Principio de página

x
Referencia: Consideraciones especiales sobre la seguridad de orígenes de datos

Principio de página

x
Cómo identificar la DBA: Atributo DBA

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:



Ejemplo: Cómo identificar el DBA mediante el atributo DBA
DBA=JONES76,$


x
Procedimiento: Cómo Cambiar una contraseña de DBA

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:

  1. Modifique el archivo máster; cambiando el antiguo valor de DBA por el nuevo.
  2. Emita el comando:
    SET PASS=old_DBA_password
  3. Emita el comando:
    RESTRICT 
    mastername 
    END
  4. Emita el comando:
    SET PASS=new_DBA_password

Principio de página

x
Incluir el atributo DBA en un archivo HOLD

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 .


Principio de página

x
Cómo identificar usuarios con derechos de acceso: Atributo USER

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


x
Sintaxis: Cómo Establecer el atributo USER

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:

name

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.



Ejemplo: Cómo establecer el atributo USER
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,$

Principio de página

x
Contraseñas de usuario que no se pueden invalidar (SET PERMPASS)

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.



x
Sintaxis: Cómo Establecer una contraseña de usuario que no se puede invalidar
SET PERMPASS=userpass

donde:

userpass

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.



Ejemplo: Cómo establecer una contraseña de usuario que no se puede invalidar

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

Principio de página

x
Cómo controlar la distinción de mayúsculas y minúsculas en contraseñas

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.



x
Sintaxis: Cómo Controlar la distinción de mayúsculas y minúsculas en las contraseñas
SET DBACSENSITIV = {ON|OFF}

donde:

ON

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.

OFF

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.



Ejemplo: Cómo controlar la distinción de mayúsculas y minúsculas en las contraseñas

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

Principio de página

x
Cómo establecer la identidad del usuario

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.



x
Sintaxis: Cómo Establecer la identidad del usuario
SET {PASS|USER} = name [[IN {file|* [NOCLEAR]}], name [IN file] ...]

donde:

name

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.

file

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.

NOCLEAR

Proporciona un modo de reemplazar todas las contraseñas de la lista de contraseñas activas, sin eliminar la lista.



Ejemplo: Cómo establecer la identidad del usuario

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