assets_guardian.core.domain.ports.collector

Classes

Collector(client,Β instance_config)

Port: IAM data collector.

class assets_guardian.core.domain.ports.collector.Collector(client: Any, instance_config: dict[str, Any])[source]

Bases: object

Port: IAM data collector.

Defines the contract for collecting identities, assets, and accesses from an external source.

Initializes the collector with a client and its configuration.

Subclasses must initialize self._repository and self._mapper in their own __init__ (or via properties).

collect_accesses() Iterable[Access][source]

Collects identity-asset-role relations (default implementation).

This implementation attempts to link assets to accesses if possible.

collect_assets() Iterable[Asset][source]

Collects assets (projects, sites, applications, etc.) (default implementation).

collect_groups() Iterable[Any][source]

Optional: collects groups from the source.

collect_identities() Iterable[Identity][source]

Collects users and service accounts (default implementation).

collect_permissions() Iterable[Any][source]

Optional: collects granular permissions.

property instance_id: str

Unique identifier of the audited instance (e.g., β€˜gitlab.company.com’).

property source_name: str

Name of the source (e.g., β€˜gitlab’, β€˜microsoft365’, β€˜dolibarr’).