Interacciones entre desencadenantes y tablas que tienen seguridad multinivel con granularidad a nivel de fila
Un desencadenante BEFORE afecta al valor de la variable de transición que está asociada a una columna de etiqueta de seguridad.
Si una tabla de sujetos tiene una columna de etiqueta de seguridad, la columna de la tabla de transición o variable de transición que se corresponde con la columna de etiqueta de seguridad de la tabla de sujetos no hereda el atributo de etiqueta de seguridad. Esto significa que el control de seguridad multinivel con granularidad a nivel de fila no se aplica a la tabla de transición ni a la variable de transición. Si agrega una columna de etiqueta de seguridad a una tabla de asuntos mediante la instrucción ALTER TABLE, las reglas son las mismas que cuando se agrega cualquier columna a una tabla de asuntos porque la columna de la tabla de transición o la variable de transición que corresponde a la columna de etiqueta de seguridad no hereda el atributo de etiqueta de seguridad.
Si el ID que está utilizando no tiene privilegios de escritura y ejecuta una operación de inserción o actualización, el valor de la etiqueta de seguridad de su ID se asigna a la columna de etiquetas de seguridad de las filas que está insertando o actualizando.
Cuando se activa un desencadenante BEFORE, el valor de la variable de transición que corresponde a la columna de etiqueta de seguridad es la etiqueta de seguridad del ID si se cumple alguna de las siguientes condiciones:
- El usuario no tiene privilegios de escritura
- El valor de la columna de la etiqueta de seguridad no está especificado
Si el usuario no tiene privilegios de escritura y el desencadenante cambia la variable de transición que corresponde a la columna de etiqueta de seguridad, el valor de la columna de etiqueta de seguridad vuelve a cambiar al valor de etiqueta de seguridad del usuario antes de que la fila se escriba en la página.