Scanner for the Big Query rules engine.

class BigqueryAccessControlsData(parent_project, bigquery_acl)

Bases: tuple


Return self as a plain tuple. Used by copy and pickle.


Exclude the OrderedDict from pickling


Return a nicely formatted representation string


Return a new OrderedDict which maps field names to their values

_fields = ('parent_project', 'bigquery_acl')
classmethod _make(iterable, new=<built-in method __new__ of type object>, len=<built-in function len>)

Make a new BigqueryAccessControlsData object from a sequence or iterable


Return a new BigqueryAccessControlsData object replacing specified fields with new values

class BigqueryScanner(global_configs, scanner_configs, service_config, model_name, snapshot_timestamp, rules)[source]


Scanner for BigQuery acls.

_abc_cache = <_weakrefset.WeakSet object>
_abc_negative_cache = <_weakrefset.WeakSet object>
_abc_negative_cache_version = 207
_abc_registry = <_weakrefset.WeakSet object>

Find violations in the policies.

Parameters:bigquery_acl_data (list) – Big Query data to find violations in
Returns:A list of BigQuery violations
Return type:list
static _flatten_violations(violations)[source]

Flatten RuleViolations into a dict for each RuleViolation member.

Parameters:violations (list) – The RuleViolations to flatten.
Yields:dict – Iterator of RuleViolations as a dict per member.

Output results.

Parameters:all_violations (list) – A list of BigQuery violations.

Retrieves the data for scanner.

Returns:BigQuery ACL data
Return type:list
Raises:ValueError – if resources have an unexpected type.

Runs the data collection.