Lista de parámetros para las rutinas de autorización de control de accesos

La lista de parámetros de rutinas de autorización de control de accesos incluye señaladores a otra información, como el área de trabajo y la lista de identificadores (ID) de autorización.

Iniciar la información de la interfaz de programación específica del programa.El siguiente diagrama muestra cómo la lista de parámetros apunta a otra información.
Figura 1. Cómo la lista de parámetros de una rutina de autorización apunta a otra información
Comenzar descripción de figura. La lista de parámetros de la rutina de autorización apunta a otra información. Finalizar descripción de figura.

El área de trabajo (4096 bytes) se obtiene una vez durante el inicio de Db2 y solo se libera cuando se cierra Db2 . El área de trabajo es compartida por todas las invocaciones a la rutina de salida.

Al invocarse, se establecen los registros y la rutina de comprobación de autorización utiliza la lista de parámetros de salida estándar (EXPL). La siguiente es una lista de los parámetros específicos de salida, descritos por la macro DSNDXAPL. Los nombres de campo indicados con un asterisco (*) se aplican a la inicialización, la terminación y la comprobación de autorización. Los nombres de campo indicados por asteriscos dobles (**) se aplican solo a la inicialización. Otros campos se aplican únicamente a la comprobación de autorización.
Tabla 1. Lista de parámetros para las rutinas de autorización de control de accesos
Nombre Desplazamiento hexadecimal Tipo de datos Entrada o salida Descripción
X AP LCBID* 0 Carácter, 2 bytes Entrada Identificador de bloque de control; valor X'216A'.
XAP LL EN * 2 Firmado, entero de 2 bytes Entrada Longitud de XAPL; valor X'100' (decimal 256).
XAPLEY E * 4 Carácter, 4 bytes Entrada Bloque de control que llama la atención; valor XAPL.
XAP LL VL * 8 Carácter, 8 bytes Entrada Db2 versión y nivel; por ejemplo, VxRxMx.
X AP LSTCK * 10 Carácter, 8 bytes Entrada El valor del reloj de la tienda cuando se invoca la salida. Utilícelo para correlacionar información con esta invocación específica.
XAPLST KN * 18 Carácter, 8 bytes Entrada STOKEN del espacio de direcciones en el que reside XAPLACEE. Los ceros binarios indican que XAPLACEE se encuentra en el espacio de direcciones de inicio.
XAPLAC EE * 20 Dirección, 4 bytes Entrada
  • Dirección de ACEE
    • Del espacio de direcciones de la base de datos de objetos de almacenamiento ( Db2 , ssnmDBM1 ) cuando XAPLFUNC es 1 o 3.
    • Del ID de autorización principal asociado con este agente o ID XAPLUCHK cuando XAPLFUNC es 2.

      Puede haber casos en los que la dirección de un agente no esté disponible. En tales casos, este campo contiene ceros binarios.

X AP LUPRM * 24 Carácter, 8 bytes Entrada Una de las siguientes identificaciones:
  • Cuando XAPLFUNC es 1 o 3, contiene el ID de usuario del espacio de direcciones de la base de datos de objetos de almacenamiento de objetos ( Db2 ) (ssnmDBM1)
  • Cuando XAPLFUNC es 2, contiene el ID de autorización principal asociado con el agente. El ID de autorización principal se establece en XAPLUCHK ID cuando XAPLOWAC está activado.
X AP LFUNC * 2C Firmado, entero de 2 bytes Entrada Función que debe realizar la rutina de salida:
1
Inicialización
2
comprobación de autorización
3
Finalización de máquina ficticia
X AP LGPAT * 2E Carácter, 4 bytes Entrada Db2 nombre de adjunto de grupo para compartir datos. El nombre del subsistema de la red de área local ( Db2 ) si no se comparten datos.
XAPLUCKT 32 Carácter, 1 byte Entrada Tipo de identificación de autorización con la que Db2 realiza la comprobación:
' '
Un ID de autorización
L
Un rol
XAPLONRT 33 Carácter, 1 byte Entrada Tipo de identificación de autorización que posee el objeto en XAPLOWNR:
' '
Un ID de autorización
L
Un rol
XAPLSDEF 34 Carácter, 1 byte Entrada Objeto definido por el sistema:
S
Una rutina o paquete definido por el sistema
' '
No es un objeto definido por el sistema
XAPLRSV1 35 Carácter, 3 bytes   Reservado
XAPLPRIV 38 Firmado, entero de 2 bytes Entrada Db2 privilegio que se está comprobando. Se requiere la autoridad de administrador de seguridad (SECADM) y el privilegio de creación de objetos seguros (CREATE_SECURE_OBJECT) para el control de acceso a filas y columnas
XAPLTYPE 3A Carácter, 1 Entrada Db2 Tipo de objeto:
B
Agrupación de almacenamiento intermedios
C
Colección
D
Base de datos
E
typeDistinct o de tipo distinto
F
Función de " functionUser-defined " definida por el usuario
H
Variable global
J
JAR
K
Paquete
L
Rol
M
Schema
N
Contexto de confianza
O
Procedimiento almacenado
P
plan de aplicación
Q
Secuencia
R
Espacio de tabla
S
Grupo de almacenamiento
T
Tabla
U
Privilegio de sistema
V
Vista
XAPLFLG1 3B Carácter, 1 byte Entrada El bit de orden más alto, el bit 8 (XAPLCHKS), está activado si los ID secundarios asociados con este ID de autorización (XAPLUCHK) se incluyen en la comprobación de autorización de Db2 . Si está desactivado, solo se comprueba este ID de autorización.

El bit 7 (XAPLUTB) está activado si se trata de un privilegio de tabla o vista (SELECT, INSERT, etc.) y si SYSCTRL, SQLADM, System DBADM, ACCESSCTRL, DATAACCESS o SECADM no son suficientes para realizar la operación especificada en una tabla o vista. SYSCTRL, SQLADM, System DBADM, ACCESSCTRL, DATAACCESS o SECADM no tienen privilegios de acceso a los datos de usuario a menos que se les conceda específicamente.

El bit 6 (XAPLAUTO) está activado si se trata de un enlace automático.

El bit 5 (XAPLCRVW) está activado si el parámetro de instalación DBADM CREATE AUTH está establecido en YES.

El bit 4 (XAPLRDWR) está activado si el privilegio es de escritura. Si el privilegio es de solo lectura, el bit 4 está desactivado.

El bit 3 (XAPLFSUP) está activado para suprimir los mensajes de error. Estos mensajes de error se deben a comprobaciones intermedias que no afectan al resultado final.

El bit 2 (XAPLRAOO) está activado si esta operación se encuentra en un contexto de confianza definido con la cláusula ROLE AS OBJECT OWNER.

El bit 1 (XAPLIMPD) está activado si la comprobación de autorización implica una base de datos creada implícitamente.

XAPLUCHK 3C Dirección, 4 bytes Entrada Dirección del ID de autorización en la que Db2 realiza la comprobación. Podría ser el ID principal, secundario o algún otro. Este es un campo VARCHAR(128).
XAPLOBJN 40 Dirección, 4 bytes Entrada Dirección al nombre no cualificado del objeto con el que se asocia el privilegio. Este es un VARCHAR(128) field.It es uno de los siguientes nombres:
Nombre
Longitud
plan de aplicación
8
Agrupación de almacenamiento intermedios
8
Colección
VARCHAR(128)
Base de datos
8
Tipo diferenciado
VARCHAR(128)
Nombre de variable
VARCHAR(128)
JAR
VARCHAR(128)
Paquete
VARCHAR(128)
Rol
VARCHAR(128)
Schema
VARCHAR(128)
Secuencia
VARCHAR(128)
Grupo de almacenamiento
VARCHAR(128)
Tabla
VARCHAR(128)
Espacio de tabla
8
Contexto de confianza
VARCHAR(128)
Función definida por el usuario
VARCHAR(128)
Vista
VARCHAR(128)

Para privilegios especiales del sistema (SYSADM, SYSCTRL, etc.), este campo puede contener ceros binarios.

XAPLOWNQ 44 Dirección, 4 bytes Entrada Dirección del propietario del objeto (creador) o calificador del objeto. El contenido de este parámetro depende del privilegio que se esté comprobando o del objeto. Este es un campo VARCHAR(128).

Si este campo no es aplicable, contiene ceros binarios.

XAPLREL1 48 Dirección, 4 bytes Entrada Dirección de otra información relacionada 1. El contenido de este parámetro depende del privilegio que se esté comprobando o del objeto. Este es un campo VARCHAR(128).

Si este campo no es aplicable, contiene ceros binarios.

XAPLREL2 4C Dirección, 4 bytes Entrada Dirección de otra información relacionada 2. El contenido de este parámetro depende del privilegio que se esté comprobando. Este es un campo VARCHAR(128).

Si este campo no es aplicable, contiene ceros binarios.

XAPLDBSP 50 Dirección, 4 bytes Entrada Dirección de la información de la base de datos. Esta información se transmite para CREAR VISTA y CREAR ALIAS.

Si este campo no es aplicable, contiene ceros binarios.

XAPLOWNR 54 Dirección, 4 bytes Entrada Dirección del propietario del objeto. Este es un campo VARCHAR(128).

Si este campo no es aplicable, contiene ceros binarios.

XAPLROLE 58 Dirección, 4 bytes Entrada Dirección del rol del usuario cuando opera en un contexto de confianza. Si este campo no es aplicable, contiene ceros binarios.
XAPLOONM 5C Dirección, 4 bytes Entrada Dirección de otro nombre de objeto
XAPLOOON 60 Dirección, 4 bytes Entrada Dirección del otro propietario del objeto
XAPLBSCM 64 Dirección, 4 bytes Entrada Dirección del calificador de tabla base de una vista o del calificador de vista repetida
XAPLBNAM 68 Dirección, 4 bytes Entrada Dirección de la tabla base Nombre de una vista o nombre de una vista repetida
XAPLBCOL 6C Dirección, 4 bytes Entrada Dirección de la tabla base, nombre de la columna de una vista o nombre de la columna de una vista repetida
XAPLC L ST** 70 Dirección, 4 bytes Salida Dirección a la lista de clases de la RACLIST
XAPLC L NM** 74 Firmado, entero de 2 bytes Salida Número de clases de Db2 s incluidas en la lista RACLIST
XAP L FLG3** 76 Carácter, 1 byte Salida El bit 8 (el bit de orden más alto) está activado si las clases se definen en el ámbito de subsistema múltiple (XAPLMSSC)

Los 7 bits restantes están reservados.

XAPLRSV2 77 Carácter, 42 bytes   Reservado.
XAPLOOTP A1 Carácter, 1 byte Entrada Otro tipo de objeto o el propietario de la tabla base de una vista
XAPLOOOT A2 Carácter, 1 byte Entrada Otro tipo de propietario de objeto o el tipo de propietario de la tabla base de una vista
XAPLRSV3 A3 Carácter, 1 byte   Reservado
XAPLXBTS A4 Marca de tiempo, 10 bytes Entrada La marca de tiempo de resolución de la función. Las autorizaciones recibidas antes de esta marca de tiempo son válidas.

Aplicable a funciones y procedimientos.

XAPLONWT AE Carácter, 1 byte Salida Información requerida por Db2 de la rutina de salida para los privilegios de las tablas UPDATE y REFERENCES:
valor
Explicación
' '
El solicitante tiene privilegios en toda la tabla
*
El solicitante tiene privilegios solo en esta columna
XAPLFLG2 errores de asignación Carácter, 1 byte Entrada El bit 8 (el bit de orden más alto) está activado si un objeto está asociado con el control de acceso de fila y columna (XAPLSOBJ)

El bit 7 está activado si el parámetro del sistema SEPARATE SECURITY (SEGURIDAD SEPARADA) está configurado en YES (SÍ) (XAPLSPSC)

El bit 6 está activado cuando solo la autoridad SECADM puede acceder a una tabla de catálogo (XAPLSCTB).

El bit 5 (XAPLACAC) está activado cuando se realiza la comprobación de autorización para las declaraciones que implican la autorización de paquetes, la autorización de rutina o la caché de declaraciones dinámicas.

El bit 4 (XAPLOWAC) está activado si ACEE FOR XAPLUCHK ID está establecido en XAPLACEE

El bit 3 está activado si los nombres de clase se definen en el ámbito multisubsystem (XAPLMSSC)

Los 2 bits restantes están reservados.

XAPLDIAG B0 Carácter, 80 bytes Salida Información devuelta por la rutina de salida para ayudar a diagnosticar problemas.

La siguiente tabla incluye información de la base de datos para determinar la autorización para crear una vista. La dirección de esta lista de parámetros se encuentra en XAPLREL2.

Tabla 2. Lista de parámetros para rutinas de autorización de control de acceso: información de la base de datos
Nombre Desplazamiento hexadecimal Tipo de datos Entrada o salida Descripción
XAPLDBNP 0 Address Entrada Dirección de información para la siguiente base de datos. X'00000000' indica que no existe una base de datos siguiente.
XAPLDBNM 4 Carácter, 8 bytes Entrada Nombre de la base de datos.
XAPLDBDA C Carácter, 1 byte Salida

Db2 lo requiere desde la rutina de salida para CREAR VISTA.

Un valor de Y y un EXPLRC1=0 indican que el ID de usuario en el campo XAPLUCHK tiene autoridad de administrador de base de datos en la base de datos en el campo XAPLDBNM.

Cuando el sistema de salida comprueba si XAPLUCHK puede crear una vista para otro ID de autorización, primero comprueba la autoridad SYSADM o SYSCTRL. Si la comprobación se realiza correctamente, no es necesario realizar más comprobaciones porque la autoridad SYSCTRL (para tablas que no son de usuario) o la autoridad SYSADM satisfacen el requisito de que el propietario de la vista tenga el privilegio SELECT para todas las tablas y vistas en las que pueda basarse la vista. Esto se indica mediante un valor en blanco y EXPLRC1=0.

Si el ID de autorización no tiene autoridad SYSADM o SYSCTRL, la salida comprueba si el creador de la vista tiene DBADM en cada base de datos de las tablas en las que se basa la vista porque la autoridad DBADM en la base de datos de la tabla base satisface el requisito de que el propietario de la vista tenga el privilegio SELECT para todas las tablas base en esa base de datos.

XAPLDBIM D Carácter, 1 byte Entrada Un valor de «Y» indica que la base de datos se crea de forma implícita.
XAPLRSV5 E Carácter, 2 bytes none Reservado.
Tabla 3. Lista de parámetros para la información de matriz de lista de clases de rutinas de autorización de control de acceso
Nombre Desplazamiento hexadecimal Tipo de datos Entrada o salida Descripción
X AP LCMEM** 0 Carácter, 8 bytes Salida Db2 nombre de clase
XAPLOWNQ, XAPLREL1 y XAPLREL2 podrían calificar aún más el objeto o proporcionar información adicional que pueda utilizarse para determinar la autorización de ciertos privilegios. A continuación se muestra una lista de los privilegios y los contenidos de XAPLOWNQ, XAPLREL1 y XAPLREL2.
Tabla 4. Información relacionada para ciertos privilegios
Privilegio Tipo de objeto (XAPLTYPE) XAPLOWNQ XAPLREL1 XAPLREL2 XAPLOWNR
0263 (USO) E Dirección del nombre del esquema Dirección del propietario de tipo distinto Contiene ceros binarios Dirección del propietario de tipo distinto
0291 (LEER)
0292 (ESCRIBIR)
H Dirección del nombre del esquema Dirección del propietario de la variable global Contiene ceros binarios Dirección del propietario de la variable global
0064 (EXECUTE)
0265 (START)
0266 (STOP)
0267 (DISPLAY)
F Dirección del nombre del esquema Dirección del propietario de la función definida por el usuario Contiene ceros binarios Dirección del propietario de la función definida por el usuario
0263 (USO) J Dirección del nombre del esquema Dirección del propietario de JAR Contiene ceros binarios Dirección del propietario de JAR
0064 (EXECUTE) K Dirección de identificación de recogida Contiene ceros binarios Contiene ceros binarios Contiene ceros binarios
0065 (BIND) K Dirección de identificación de recogida Dirección del propietario del paquete Contiene ceros binarios Dirección del propietario del paquete
0073 (DROP) K Dirección de identificación de recogida Contiene ceros binarios Dirección de la identificación de la versión Contiene ceros binarios
0097 (COMENTARIO) K Dirección de identificación de recogida Dirección del propietario del paquete Contiene ceros binarios Dirección del propietario del paquete
0225 (COPIA EN EL PAQUETE) K Dirección de identificación de recogida Dirección del propietario del paquete Contiene ceros binarios Dirección del propietario del paquete
0228 (ALLPKAUT) K Dirección de identificación de recogida Contiene ceros binarios Contiene ceros binarios Contiene ceros binarios
0229 (SUBPKAUT) K Dirección de identificación de recogida Contiene ceros binarios Contiene ceros binarios Contiene ceros binarios
0252 (ALTERIN)
0097 (COMMENT)
0252 (DROPIN)
M Dirección del nombre del esquema Dirección del propietario del objeto Contiene ceros binarios Dirección del propietario del objeto
0064 (EXECUTE)
0265 (START)
0266 (STOP)
0267 (DISPLAY)
O Dirección del nombre del esquema Dirección del propietario del procedimiento Contiene ceros binarios Dirección del propietario del procedimiento
0065 (BIND) P Dirección del titular del plan Contiene ceros binarios Contiene ceros binarios Dirección del titular del plan
0097 (COMENTARIO) P Dirección del titular del plan Contiene ceros binarios Contiene ceros binarios Dirección del titular del plan
0061 (ALTER)
0263 (USAGE)
Q Dirección del nombre del esquema Dirección del nombre de la secuencia Contiene ceros binarios Contiene ceros binarios
0061 (ALTER) R Dirección del nombre de la base de datos Contiene ceros binarios Contiene ceros binarios Contiene ceros binarios
0073 (DROP) R Dirección del nombre de la base de datos Contiene ceros binarios Contiene ceros binarios Contiene ceros binarios
0087 (ESTADOS UNIDOS) R Dirección del nombre de la base de datos Contiene ceros binarios Contiene ceros binarios Contiene ceros binarios
0053 (ACTUALIZACIÓN)
0054 (REFERENCIAS)
T Dirección del esquema de la tabla Dirección del nombre de la columna, si procede Dirección del nombre de la base de datos Dirección del propietario de la mesa
0022 (CATMAINT
CONVERT)
0050(SELECT)
0051(INSERT)
0052(DELETE)
0055(TRIGGER)
0056(CREATE INDEX)
0061(ALTER)
0073(DROP)
0075(LOAD)
0076(CHANGE NAME
QUALIFIER)
0097 (COMENTARIO)
0098 (BLOQUEO)
0233 (CUALQUIER TABLA
PRIVILEGIO)
0251 (CAMBIAR NOMBRE )
0275 (ACTUALIZAR )
T Dirección del esquema de la tabla Contiene ceros binarios Dirección del nombre de la base de datos Dirección del propietario de la mesa
0020 (ELIMINAR ALIAS)
0104 (ELIMINAR SINÓNIMO)
T Dirección del esquema de la tabla Contiene ceros binarios Contiene ceros binarios Contiene ceros binarios

0103 (ALTER INDEX)
0105 (DROP INDEX)
0274 (COMMENT ON INDEX)
0283 (RENAME INDEX)
T Dirección del esquema de la tabla Contiene ceros binarios Dirección del nombre de la base de datos Dirección del titular del índice
0227 (AGENTE ENLACEDOR) U Dirección del propietario del paquete Contiene ceros binarios Contiene ceros binarios Dirección del propietario del paquete
0015 (CREAR ALIAS) U Contiene ceros binarios Contiene ceros binarios Dirección del nombre de la base de datos, si el alias está en una tabla Contiene ceros binarios
0053 (ACTUALIZACIÓN) V Dirección del esquema de vista Dirección del nombre de la columna, si procede Dirección de la base de datos Nombre de la tabla base de la vista, si procede Dirección del propietario de la vista
0051 (INSERTAR)
0052 (ELIMINAR)
V Dirección del esquema de vista Contiene ceros binarios Dirección de la base de datos Nombre de la tabla base de la vista, si procede Dirección del propietario de la vista
0050 (SELECCIONAR)
0073 (Soltar)
0097 (COMENTARIO)
0233 (CUALQUIER TABLA
AR PRIVILEGIO)
V Dirección del esquema de vista Contiene ceros binarios Contiene ceros binarios Dirección del propietario de la vista
0055 (DISPARADOR) V Dirección del esquema de vista Contiene ceros binarios Contiene ceros binarios Dirección del propietario de la vista
0061 (ALTER) V Dirección del esquema de vista Contiene ceros binarios Contiene ceros binarios Dirección del propietario de la vista
A continuación se muestra una lista de tipos de datos y longitudes de campo.
Tabla 5. Tipos de datos y longitudes de campo
Nombre del recurso u otro Tipo Longitud
Nombre de la base de datos Carácter 8
Nombre de variable global Carácter VARCHAR(128)
Calificador de nombre de tabla Carácter VARCHAR(128)
Calificador de nombre de objeto Carácter VARCHAR(128)
Nombre de columna Carácter VARCHAR(128)
ID de colección Carácter VARCHAR(128)
Titular del plan Carácter VARCHAR(128)
Propietario del paquete Carácter VARCHAR(128)
ID de versión del paquete Carácter VARCHAR(64)
Nombre de esquema Carácter VARCHAR(128)
Propietario del tipo de letra Distinct Carácter VARCHAR(128)
Propietario de JAR Carácter VARCHAR(128)
Propietario de la función definida por el usuario Carácter VARCHAR(128)
Propietario del procedimiento Carácter VARCHAR(128)
Ver calificador de nombre Carácter VARCHAR(128)
Propietario de la secuencia Carácter VARCHAR(128)
Nombre de secuencia Carácter VARCHAR(128)
Finalizar la información de la interfaz de programación específica del programa.