Object: Compliance Check
In very environment it is important to follow policies to keep it maintainable to ensure functionality of the authorization rules. Additionally policies help to work easier for operating teams. To ensure that policies are followed this module provides a possibility to automate the check for compliance. Therefore the module provides a set of functions to define the rules. These rules can be stored in a b4A script variable or a b4A script file.
Designation
- Name
- ana.ComplianceCheck
- Aliases
- ComplianceCheck, ObjectComplianceCheck
Configuration
- Optionen
- b4A script variable (
command-vara
) - A variable object containing commands to execute
- b4A script file (
command-file
) - Name of a file containing the commands to execute
- Connection (
command-source
) - If given the b4A script variable will be read from this connectionMögliche Werte: <TabItem b4A Verbindungen>
Description
The following functions are available for checking:
- attribute_not_empty( <attribute> )
Valid values for <attribute>: TITLE
- attribute_matches( <attribute>, <regular expression> )
Valid values for <attribute>: TITLE
- object_name_matches( <regular expression> )
- docu_xml_node_exists( <node> )
- docu_xml_node_not_empty( <node> )
- docu_text_contains( <regular expression> )
- process_contains( <Script>, <regular_expression> )
Valid values for <Script>: all, pre, process, post, event
- object_exists( <object name>[, <folder> ] )
- object_pattern_exists( <pattern for object name>[, <folder> ] )
- folder_exists( <folder> )
- variable_key_exists( <object name>, <key> )
- variable_value_matches( <object name>, <key>, <regular expression>[, <column> ] )
- agent_is( <agent type>[, <agent type>, ... ] )
Valid values for <agent type>: AGENT, GROUP, TEMPLATE, VARIABLE
A description of the format of b4A script commands can be found here.
Example of a b4A script file:
attribute_not_empty(TITLE)
attribute_matches(TITLE, "A*")
process_contains(process,"^:inc.*BLA.*")
docu_xml_node_exists(/Details/Content/test1)
docu_xml_node_not_empty(/Details/Content/test2)
docu_text_contains(".*version [0-9]+\.[0-9]+.*")
object_name_matches( "^B4A\.(SCRI|JOBS|JOBF)\..*" )
object_pattern_exists( "B4A.TEST.DOCU.*@TESTS@" )
object_exists( "B4A.SCRI.COMPLIANCECHECK.TEST2" )
object_exists( "B4A.SCRI.COMPLIANCECHECK.TEST", "B4A.TESTS/COMPLIANCECHECK" )
folder_exists( "B4A.TESTS" )
folder_exists( "COMPLIANCECHECK" )
folder_exists( "B4A.TESTS/COMPLIANCECHECK" )
agent_is( GROUP, TEMPLATE, VARIABLE )