cartography 0.93.0rc1__py3-none-any.whl → 0.123.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cartography/__main__.py +1 -2
- cartography/_version.py +34 -0
- cartography/cli.py +903 -225
- cartography/client/aws/__init__.py +19 -0
- cartography/client/aws/ecr.py +51 -0
- cartography/client/core/tx.py +400 -27
- cartography/config.py +215 -10
- cartography/data/azure_permission_relationships.yaml +20 -0
- cartography/data/gcp_permission_relationships.yaml +21 -0
- cartography/data/indexes.cypher +1 -200
- cartography/data/jobs/analysis/aws_ec2_asset_exposure.json +17 -2
- cartography/data/jobs/analysis/aws_ec2_keypair_analysis.json +2 -2
- cartography/data/jobs/analysis/gcp_compute_asset_inet_exposure.json +1 -1
- cartography/data/jobs/analysis/keycloak_inheritance.json +30 -0
- cartography/data/jobs/cleanup/crowdstrike_import_cleanup.json +0 -5
- cartography/data/jobs/cleanup/gcp_compute_vpc_cleanup.json +0 -12
- cartography/data/jobs/cleanup/github_repos_cleanup.json +27 -0
- cartography/data/jobs/scoped_analysis/aws_ec2_iaminstanceprofile.json +15 -0
- cartography/data/jobs/scoped_analysis/semgrep_sca_risk_analysis.json +13 -13
- cartography/driftdetect/__main__.py +1 -2
- cartography/driftdetect/add_shortcut.py +10 -2
- cartography/driftdetect/cli.py +72 -75
- cartography/driftdetect/detect_deviations.py +7 -3
- cartography/driftdetect/get_states.py +20 -8
- cartography/driftdetect/model.py +5 -5
- cartography/driftdetect/serializers.py +8 -6
- cartography/driftdetect/storage.py +2 -2
- cartography/graph/cleanupbuilder.py +255 -35
- cartography/graph/job.py +104 -20
- cartography/graph/querybuilder.py +689 -91
- cartography/graph/statement.py +49 -36
- cartography/intel/airbyte/__init__.py +105 -0
- cartography/intel/airbyte/connections.py +120 -0
- cartography/intel/airbyte/destinations.py +81 -0
- cartography/intel/airbyte/organizations.py +59 -0
- cartography/intel/airbyte/sources.py +78 -0
- cartography/intel/airbyte/tags.py +64 -0
- cartography/intel/airbyte/users.py +106 -0
- cartography/intel/airbyte/util.py +122 -0
- cartography/intel/airbyte/workspaces.py +63 -0
- cartography/intel/analysis.py +4 -1
- cartography/intel/anthropic/__init__.py +62 -0
- cartography/intel/anthropic/apikeys.py +72 -0
- cartography/intel/anthropic/users.py +75 -0
- cartography/intel/anthropic/util.py +51 -0
- cartography/intel/anthropic/workspaces.py +95 -0
- cartography/intel/aws/__init__.py +137 -59
- cartography/intel/aws/acm.py +124 -0
- cartography/intel/aws/apigateway.py +482 -217
- cartography/intel/aws/apigatewayv2.py +116 -0
- cartography/intel/aws/cloudtrail.py +105 -0
- cartography/intel/aws/cloudtrail_management_events.py +962 -0
- cartography/intel/aws/cloudwatch.py +239 -0
- cartography/intel/aws/codebuild.py +132 -0
- cartography/intel/aws/cognito.py +201 -0
- cartography/intel/aws/config.py +63 -23
- cartography/intel/aws/dynamodb.py +108 -40
- cartography/intel/aws/ec2/__init__.py +2 -2
- cartography/intel/aws/ec2/auto_scaling_groups.py +254 -189
- cartography/intel/aws/ec2/elastic_ip_addresses.py +44 -14
- cartography/intel/aws/ec2/images.py +74 -39
- cartography/intel/aws/ec2/instances.py +262 -137
- cartography/intel/aws/ec2/internet_gateways.py +44 -13
- cartography/intel/aws/ec2/key_pairs.py +72 -39
- cartography/intel/aws/ec2/launch_templates.py +143 -66
- cartography/intel/aws/ec2/load_balancer_v2s.py +119 -45
- cartography/intel/aws/ec2/load_balancers.py +165 -147
- cartography/intel/aws/ec2/network_acls.py +233 -0
- cartography/intel/aws/ec2/network_interfaces.py +150 -87
- cartography/intel/aws/ec2/reserved_instances.py +48 -17
- cartography/intel/aws/ec2/route_tables.py +327 -0
- cartography/intel/aws/ec2/security_groups.py +189 -121
- cartography/intel/aws/ec2/snapshots.py +93 -91
- cartography/intel/aws/ec2/subnets.py +70 -58
- cartography/intel/aws/ec2/tgw.py +111 -39
- cartography/intel/aws/ec2/util.py +1 -1
- cartography/intel/aws/ec2/volumes.py +69 -41
- cartography/intel/aws/ec2/vpc.py +157 -116
- cartography/intel/aws/ec2/vpc_peerings.py +317 -121
- cartography/intel/aws/ecr.py +336 -93
- cartography/intel/aws/ecr_image_layers.py +923 -0
- cartography/intel/aws/ecs.py +310 -403
- cartography/intel/aws/efs.py +261 -0
- cartography/intel/aws/eks.py +55 -29
- cartography/intel/aws/elasticache.py +130 -83
- cartography/intel/aws/elasticsearch.py +70 -24
- cartography/intel/aws/emr.py +61 -23
- cartography/intel/aws/eventbridge.py +164 -0
- cartography/intel/aws/glue.py +181 -0
- cartography/intel/aws/guardduty.py +443 -0
- cartography/intel/aws/iam.py +978 -464
- cartography/intel/aws/iam_instance_profiles.py +73 -0
- cartography/intel/aws/identitycenter.py +847 -0
- cartography/intel/aws/inspector.py +330 -133
- cartography/intel/aws/kms.py +235 -209
- cartography/intel/aws/lambda_function.py +328 -176
- cartography/intel/aws/organizations.py +40 -19
- cartography/intel/aws/permission_relationships.py +144 -68
- cartography/intel/aws/rds.py +467 -412
- cartography/intel/aws/redshift.py +116 -50
- cartography/intel/aws/resourcegroupstaggingapi.py +198 -82
- cartography/intel/aws/resources.py +80 -42
- cartography/intel/aws/route53.py +419 -318
- cartography/intel/aws/s3.py +489 -96
- cartography/intel/aws/s3accountpublicaccessblock.py +157 -0
- cartography/intel/aws/secretsmanager.py +217 -40
- cartography/intel/aws/securityhub.py +23 -10
- cartography/intel/aws/sns.py +226 -0
- cartography/intel/aws/sqs.py +74 -96
- cartography/intel/aws/ssm.py +142 -33
- cartography/intel/aws/util/arns.py +7 -7
- cartography/intel/aws/util/common.py +31 -4
- cartography/intel/azure/__init__.py +259 -46
- cartography/intel/azure/aks.py +175 -0
- cartography/intel/azure/app_service.py +105 -0
- cartography/intel/azure/compute.py +141 -120
- cartography/intel/azure/container_instances.py +95 -0
- cartography/intel/azure/cosmosdb.py +706 -519
- cartography/intel/azure/data_factory.py +85 -0
- cartography/intel/azure/data_factory_dataset.py +128 -0
- cartography/intel/azure/data_factory_linked_service.py +119 -0
- cartography/intel/azure/data_factory_pipeline.py +142 -0
- cartography/intel/azure/data_lake.py +124 -0
- cartography/intel/azure/event_grid.py +94 -0
- cartography/intel/azure/functions.py +124 -0
- cartography/intel/azure/load_balancers.py +263 -0
- cartography/intel/azure/logic_apps.py +101 -0
- cartography/intel/azure/monitor.py +105 -0
- cartography/intel/azure/network.py +467 -0
- cartography/intel/azure/permission_relationships.py +466 -0
- cartography/intel/azure/rbac.py +309 -0
- cartography/intel/azure/resource_groups.py +82 -0
- cartography/intel/azure/security_center.py +106 -0
- cartography/intel/azure/sql.py +436 -392
- cartography/intel/azure/storage.py +467 -335
- cartography/intel/azure/subscription.py +49 -55
- cartography/intel/azure/tenant.py +46 -28
- cartography/intel/azure/util/common.py +13 -0
- cartography/intel/azure/util/credentials.py +58 -143
- cartography/intel/azure/util/tag.py +41 -0
- cartography/intel/bigfix/__init__.py +2 -2
- cartography/intel/bigfix/computers.py +93 -65
- cartography/intel/cloudflare/__init__.py +74 -0
- cartography/intel/cloudflare/accounts.py +57 -0
- cartography/intel/cloudflare/dnsrecords.py +64 -0
- cartography/intel/cloudflare/members.py +75 -0
- cartography/intel/cloudflare/roles.py +65 -0
- cartography/intel/cloudflare/zones.py +64 -0
- cartography/intel/create_indexes.py +5 -3
- cartography/intel/crowdstrike/__init__.py +26 -12
- cartography/intel/crowdstrike/endpoints.py +17 -45
- cartography/intel/crowdstrike/spotlight.py +13 -5
- cartography/intel/cve/__init__.py +91 -26
- cartography/intel/cve/feed.py +77 -56
- cartography/intel/digitalocean/__init__.py +22 -13
- cartography/intel/digitalocean/compute.py +75 -108
- cartography/intel/digitalocean/management.py +44 -80
- cartography/intel/digitalocean/platform.py +48 -43
- cartography/intel/dns.py +41 -12
- cartography/intel/duo/__init__.py +21 -16
- cartography/intel/duo/api_host.py +14 -9
- cartography/intel/duo/endpoints.py +50 -45
- cartography/intel/duo/groups.py +18 -14
- cartography/intel/duo/phones.py +37 -34
- cartography/intel/duo/tokens.py +26 -23
- cartography/intel/duo/users.py +54 -50
- cartography/intel/duo/web_authn_credentials.py +30 -25
- cartography/intel/entra/__init__.py +160 -0
- cartography/intel/entra/app_role_assignments.py +284 -0
- cartography/intel/entra/applications.py +182 -0
- cartography/intel/entra/federation/__init__.py +0 -0
- cartography/intel/entra/federation/aws_identity_center.py +77 -0
- cartography/intel/entra/groups.py +198 -0
- cartography/intel/entra/ou.py +136 -0
- cartography/intel/entra/service_principals.py +217 -0
- cartography/intel/entra/users.py +259 -0
- cartography/intel/gcp/__init__.py +381 -175
- cartography/intel/gcp/bigtable_app_profile.py +101 -0
- cartography/intel/gcp/bigtable_backup.py +91 -0
- cartography/intel/gcp/bigtable_cluster.py +93 -0
- cartography/intel/gcp/bigtable_instance.py +86 -0
- cartography/intel/gcp/bigtable_table.py +87 -0
- cartography/intel/gcp/cai.py +292 -0
- cartography/intel/gcp/clients.py +112 -0
- cartography/intel/gcp/compute.py +521 -325
- cartography/intel/gcp/crm/__init__.py +0 -0
- cartography/intel/gcp/crm/folders.py +114 -0
- cartography/intel/gcp/crm/orgs.py +70 -0
- cartography/intel/gcp/crm/projects.py +120 -0
- cartography/intel/gcp/dns.py +134 -179
- cartography/intel/gcp/gke.py +100 -107
- cartography/intel/gcp/iam.py +262 -0
- cartography/intel/gcp/permission_relationships.py +394 -0
- cartography/intel/gcp/policy_bindings.py +225 -0
- cartography/intel/gcp/storage.py +103 -158
- cartography/intel/github/__init__.py +66 -27
- cartography/intel/github/commits.py +423 -0
- cartography/intel/github/repos.py +871 -160
- cartography/intel/github/teams.py +386 -53
- cartography/intel/github/users.py +214 -49
- cartography/intel/github/util.py +50 -35
- cartography/intel/googleworkspace/__init__.py +193 -0
- cartography/intel/googleworkspace/devices.py +254 -0
- cartography/intel/googleworkspace/groups.py +568 -0
- cartography/intel/googleworkspace/oauth_apps.py +259 -0
- cartography/intel/googleworkspace/tenant.py +85 -0
- cartography/intel/googleworkspace/users.py +138 -0
- cartography/intel/gsuite/__init__.py +101 -42
- cartography/intel/gsuite/groups.py +291 -0
- cartography/intel/gsuite/users.py +142 -0
- cartography/intel/jamf/__init__.py +19 -1
- cartography/intel/jamf/computers.py +37 -8
- cartography/intel/jamf/util.py +7 -2
- cartography/intel/kandji/__init__.py +6 -3
- cartography/intel/kandji/devices.py +40 -10
- cartography/intel/keycloak/__init__.py +153 -0
- cartography/intel/keycloak/authenticationexecutions.py +322 -0
- cartography/intel/keycloak/authenticationflows.py +77 -0
- cartography/intel/keycloak/clients.py +187 -0
- cartography/intel/keycloak/groups.py +126 -0
- cartography/intel/keycloak/identityproviders.py +94 -0
- cartography/intel/keycloak/organizations.py +163 -0
- cartography/intel/keycloak/realms.py +61 -0
- cartography/intel/keycloak/roles.py +202 -0
- cartography/intel/keycloak/scopes.py +73 -0
- cartography/intel/keycloak/users.py +70 -0
- cartography/intel/keycloak/util.py +47 -0
- cartography/intel/kubernetes/__init__.py +60 -14
- cartography/intel/kubernetes/clusters.py +86 -0
- cartography/intel/kubernetes/eks.py +402 -0
- cartography/intel/kubernetes/namespaces.py +60 -55
- cartography/intel/kubernetes/pods.py +171 -75
- cartography/intel/kubernetes/rbac.py +597 -0
- cartography/intel/kubernetes/secrets.py +95 -45
- cartography/intel/kubernetes/services.py +131 -63
- cartography/intel/kubernetes/util.py +142 -14
- cartography/intel/lastpass/__init__.py +2 -2
- cartography/intel/lastpass/users.py +23 -12
- cartography/intel/oci/__init__.py +44 -11
- cartography/intel/oci/iam.py +157 -47
- cartography/intel/oci/organizations.py +16 -7
- cartography/intel/oci/utils.py +71 -25
- cartography/intel/okta/__init__.py +66 -15
- cartography/intel/okta/applications.py +57 -25
- cartography/intel/okta/awssaml.py +105 -41
- cartography/intel/okta/factors.py +19 -5
- cartography/intel/okta/groups.py +61 -31
- cartography/intel/okta/organization.py +8 -2
- cartography/intel/okta/origins.py +9 -3
- cartography/intel/okta/roles.py +20 -7
- cartography/intel/okta/users.py +31 -10
- cartography/intel/okta/utils.py +6 -4
- cartography/intel/ontology/__init__.py +44 -0
- cartography/intel/ontology/devices.py +54 -0
- cartography/intel/ontology/users.py +54 -0
- cartography/intel/ontology/utils.py +176 -0
- cartography/intel/openai/__init__.py +86 -0
- cartography/intel/openai/adminapikeys.py +89 -0
- cartography/intel/openai/apikeys.py +96 -0
- cartography/intel/openai/projects.py +97 -0
- cartography/intel/openai/serviceaccounts.py +82 -0
- cartography/intel/openai/users.py +75 -0
- cartography/intel/openai/util.py +45 -0
- cartography/intel/pagerduty/__init__.py +8 -7
- cartography/intel/pagerduty/escalation_policies.py +31 -12
- cartography/intel/pagerduty/schedules.py +21 -8
- cartography/intel/pagerduty/services.py +18 -7
- cartography/intel/pagerduty/teams.py +13 -5
- cartography/intel/pagerduty/users.py +6 -2
- cartography/intel/pagerduty/vendors.py +6 -2
- cartography/intel/scaleway/__init__.py +127 -0
- cartography/intel/scaleway/iam/__init__.py +0 -0
- cartography/intel/scaleway/iam/apikeys.py +71 -0
- cartography/intel/scaleway/iam/applications.py +71 -0
- cartography/intel/scaleway/iam/groups.py +71 -0
- cartography/intel/scaleway/iam/users.py +71 -0
- cartography/intel/scaleway/instances/__init__.py +0 -0
- cartography/intel/scaleway/instances/flexibleips.py +86 -0
- cartography/intel/scaleway/instances/instances.py +92 -0
- cartography/intel/scaleway/projects.py +79 -0
- cartography/intel/scaleway/storage/__init__.py +0 -0
- cartography/intel/scaleway/storage/snapshots.py +86 -0
- cartography/intel/scaleway/storage/volumes.py +84 -0
- cartography/intel/scaleway/utils.py +37 -0
- cartography/intel/semgrep/__init__.py +30 -5
- cartography/intel/semgrep/dependencies.py +255 -0
- cartography/intel/semgrep/deployment.py +69 -0
- cartography/intel/semgrep/findings.py +157 -117
- cartography/intel/sentinelone/__init__.py +75 -0
- cartography/intel/sentinelone/account.py +140 -0
- cartography/intel/sentinelone/agent.py +139 -0
- cartography/intel/sentinelone/api.py +124 -0
- cartography/intel/sentinelone/application.py +248 -0
- cartography/intel/sentinelone/cve.py +119 -0
- cartography/intel/sentinelone/utils.py +28 -0
- cartography/intel/slack/__init__.py +78 -0
- cartography/intel/slack/channels.py +80 -0
- cartography/intel/slack/groups.py +90 -0
- cartography/intel/slack/teams.py +65 -0
- cartography/intel/slack/users.py +57 -0
- cartography/intel/slack/utils.py +29 -0
- cartography/intel/snipeit/__init__.py +44 -0
- cartography/intel/snipeit/asset.py +80 -0
- cartography/intel/snipeit/user.py +78 -0
- cartography/intel/snipeit/util.py +40 -0
- cartography/intel/spacelift/__init__.py +161 -0
- cartography/intel/spacelift/account.py +73 -0
- cartography/intel/spacelift/ec2_ownership.py +280 -0
- cartography/intel/spacelift/runs.py +463 -0
- cartography/intel/spacelift/spaces.py +112 -0
- cartography/intel/spacelift/stacks.py +119 -0
- cartography/intel/spacelift/util.py +122 -0
- cartography/intel/spacelift/workerpools.py +131 -0
- cartography/intel/spacelift/workers.py +128 -0
- cartography/intel/tailscale/__init__.py +77 -0
- cartography/intel/tailscale/acls.py +146 -0
- cartography/intel/tailscale/devices.py +127 -0
- cartography/intel/tailscale/postureintegrations.py +81 -0
- cartography/intel/tailscale/tailnets.py +76 -0
- cartography/intel/tailscale/users.py +80 -0
- cartography/intel/tailscale/utils.py +132 -0
- cartography/intel/trivy/__init__.py +272 -0
- cartography/intel/trivy/scanner.py +386 -0
- cartography/models/airbyte/__init__.py +0 -0
- cartography/models/airbyte/connection.py +138 -0
- cartography/models/airbyte/destination.py +75 -0
- cartography/models/airbyte/organization.py +19 -0
- cartography/models/airbyte/source.py +75 -0
- cartography/models/airbyte/stream.py +74 -0
- cartography/models/airbyte/tag.py +69 -0
- cartography/models/airbyte/user.py +115 -0
- cartography/models/airbyte/workspace.py +46 -0
- cartography/models/anthropic/__init__.py +0 -0
- cartography/models/anthropic/apikey.py +94 -0
- cartography/models/anthropic/organization.py +19 -0
- cartography/models/anthropic/user.py +52 -0
- cartography/models/anthropic/workspace.py +90 -0
- cartography/models/aws/acm/__init__.py +0 -0
- cartography/models/aws/acm/certificate.py +75 -0
- cartography/models/aws/apigateway/__init__.py +0 -0
- cartography/models/aws/apigateway/apigateway.py +51 -0
- cartography/models/aws/apigateway/apigatewaycertificate.py +72 -0
- cartography/models/aws/apigateway/apigatewaydeployment.py +74 -0
- cartography/models/aws/apigateway/apigatewayintegration.py +79 -0
- cartography/models/aws/apigateway/apigatewaymethod.py +74 -0
- cartography/models/aws/apigateway/apigatewayresource.py +70 -0
- cartography/models/aws/apigateway/apigatewaystage.py +75 -0
- cartography/models/aws/apigatewayv2/__init__.py +0 -0
- cartography/models/aws/apigatewayv2/apigatewayv2.py +53 -0
- cartography/models/aws/cloudtrail/__init__.py +0 -0
- cartography/models/aws/cloudtrail/management_events.py +153 -0
- cartography/models/aws/cloudtrail/trail.py +106 -0
- cartography/models/aws/cloudwatch/__init__.py +0 -0
- cartography/models/aws/cloudwatch/log_metric_filter.py +79 -0
- cartography/models/aws/cloudwatch/loggroup.py +52 -0
- cartography/models/aws/cloudwatch/metric_alarm.py +53 -0
- cartography/models/aws/codebuild/__init__.py +0 -0
- cartography/models/aws/codebuild/project.py +49 -0
- cartography/models/aws/cognito/__init__.py +0 -0
- cartography/models/aws/cognito/identity_pool.py +70 -0
- cartography/models/aws/cognito/user_pool.py +47 -0
- cartography/models/aws/dynamodb/gsi.py +30 -22
- cartography/models/aws/dynamodb/tables.py +27 -17
- cartography/models/aws/ec2/auto_scaling_groups.py +224 -0
- cartography/models/aws/ec2/images.py +36 -34
- cartography/models/aws/ec2/instances.py +85 -38
- cartography/models/aws/ec2/keypair.py +59 -0
- cartography/models/aws/ec2/keypair_instance.py +76 -0
- cartography/models/aws/ec2/launch_configurations.py +59 -0
- cartography/models/aws/ec2/launch_template_versions.py +48 -38
- cartography/models/aws/ec2/launch_templates.py +21 -17
- cartography/models/aws/ec2/load_balancer_listeners.py +72 -0
- cartography/models/aws/ec2/load_balancers.py +112 -0
- cartography/models/aws/ec2/network_acl_rules.py +106 -0
- cartography/models/aws/ec2/network_acls.py +95 -0
- cartography/models/aws/ec2/networkinterface_instance.py +52 -39
- cartography/models/aws/ec2/networkinterfaces.py +57 -37
- cartography/models/aws/ec2/privateip_networkinterface.py +32 -22
- cartography/models/aws/ec2/reservations.py +18 -14
- cartography/models/aws/ec2/route_table_associations.py +97 -0
- cartography/models/aws/ec2/route_tables.py +128 -0
- cartography/models/aws/ec2/routes.py +85 -0
- cartography/models/aws/ec2/security_group_rules.py +109 -0
- cartography/models/aws/ec2/security_groups.py +90 -0
- cartography/models/aws/ec2/securitygroup_instance.py +29 -20
- cartography/models/aws/ec2/securitygroup_networkinterface.py +24 -15
- cartography/models/aws/ec2/snapshots.py +58 -0
- cartography/models/aws/ec2/subnet_instance.py +26 -19
- cartography/models/aws/ec2/subnet_networkinterface.py +42 -31
- cartography/models/aws/ec2/subnets.py +65 -0
- cartography/models/aws/ec2/volumes.py +67 -40
- cartography/models/aws/ec2/vpc.py +46 -0
- cartography/models/aws/ec2/vpc_cidr.py +102 -0
- cartography/models/aws/ec2/vpc_peering.py +157 -0
- cartography/models/aws/ecr/__init__.py +0 -0
- cartography/models/aws/ecr/image.py +146 -0
- cartography/models/aws/ecr/image_layer.py +107 -0
- cartography/models/aws/ecr/repository.py +72 -0
- cartography/models/aws/ecr/repository_image.py +95 -0
- cartography/models/aws/ecs/__init__.py +0 -0
- cartography/models/aws/ecs/clusters.py +64 -0
- cartography/models/aws/ecs/container_definitions.py +93 -0
- cartography/models/aws/ecs/container_instances.py +84 -0
- cartography/models/aws/ecs/containers.py +101 -0
- cartography/models/aws/ecs/services.py +134 -0
- cartography/models/aws/ecs/task_definitions.py +135 -0
- cartography/models/aws/ecs/tasks.py +134 -0
- cartography/models/aws/efs/__init__.py +0 -0
- cartography/models/aws/efs/access_point.py +77 -0
- cartography/models/aws/efs/file_system.py +60 -0
- cartography/models/aws/efs/mount_target.py +79 -0
- cartography/models/aws/eks/clusters.py +23 -21
- cartography/models/aws/elasticache/__init__.py +0 -0
- cartography/models/aws/elasticache/cluster.py +65 -0
- cartography/models/aws/elasticache/topic.py +67 -0
- cartography/models/aws/emr.py +32 -30
- cartography/models/aws/eventbridge/__init__.py +0 -0
- cartography/models/aws/eventbridge/rule.py +77 -0
- cartography/models/aws/eventbridge/target.py +71 -0
- cartography/models/aws/glue/__init__.py +0 -0
- cartography/models/aws/glue/connection.py +51 -0
- cartography/models/aws/glue/job.py +69 -0
- cartography/models/aws/guardduty/__init__.py +1 -0
- cartography/models/aws/guardduty/detectors.py +50 -0
- cartography/models/aws/guardduty/findings.py +121 -0
- cartography/models/aws/iam/__init__.py +0 -0
- cartography/models/aws/iam/access_key.py +103 -0
- cartography/models/aws/iam/account_role.py +24 -0
- cartography/models/aws/iam/federated_principal.py +60 -0
- cartography/models/aws/iam/group.py +60 -0
- cartography/models/aws/iam/group_membership.py +27 -0
- cartography/models/aws/iam/inline_policy.py +78 -0
- cartography/models/aws/iam/instanceprofile.py +76 -0
- cartography/models/aws/iam/managed_policy.py +51 -0
- cartography/models/aws/iam/policy_statement.py +57 -0
- cartography/models/aws/iam/role.py +83 -0
- cartography/models/aws/iam/root_principal.py +52 -0
- cartography/models/aws/iam/service_principal.py +30 -0
- cartography/models/aws/iam/sts_assumerole_allow.py +38 -0
- cartography/models/aws/iam/user.py +59 -0
- cartography/models/aws/identitycenter/__init__.py +0 -0
- cartography/models/aws/identitycenter/awsidentitycenter.py +49 -0
- cartography/models/aws/identitycenter/awspermissionset.py +162 -0
- cartography/models/aws/identitycenter/awssogroup.py +70 -0
- cartography/models/aws/identitycenter/awsssouser.py +110 -0
- cartography/models/aws/inspector/findings.py +124 -58
- cartography/models/aws/inspector/packages.py +18 -42
- cartography/models/aws/kms/__init__.py +0 -0
- cartography/models/aws/kms/aliases.py +86 -0
- cartography/models/aws/kms/grants.py +65 -0
- cartography/models/aws/kms/keys.py +88 -0
- cartography/models/aws/lambda_function/__init__.py +0 -0
- cartography/models/aws/lambda_function/alias.py +74 -0
- cartography/models/aws/lambda_function/event_source_mapping.py +88 -0
- cartography/models/aws/lambda_function/lambda_function.py +91 -0
- cartography/models/aws/lambda_function/layer.py +72 -0
- cartography/models/aws/rds/__init__.py +0 -0
- cartography/models/aws/rds/cluster.py +91 -0
- cartography/models/aws/rds/event_subscription.py +146 -0
- cartography/models/aws/rds/instance.py +156 -0
- cartography/models/aws/rds/snapshot.py +108 -0
- cartography/models/aws/rds/subnet_group.py +101 -0
- cartography/models/aws/route53/__init__.py +0 -0
- cartography/models/aws/route53/dnsrecord.py +235 -0
- cartography/models/aws/route53/nameserver.py +63 -0
- cartography/models/aws/route53/subzone.py +40 -0
- cartography/models/aws/route53/zone.py +47 -0
- cartography/models/aws/s3/__init__.py +0 -0
- cartography/models/aws/s3/account_public_access_block.py +51 -0
- cartography/models/aws/s3/notification.py +24 -0
- cartography/models/aws/secretsmanager/__init__.py +0 -0
- cartography/models/aws/secretsmanager/secret.py +106 -0
- cartography/models/aws/secretsmanager/secret_version.py +114 -0
- cartography/models/aws/sns/__init__.py +0 -0
- cartography/models/aws/sns/topic.py +50 -0
- cartography/models/aws/sns/topic_subscription.py +74 -0
- cartography/models/aws/sqs/__init__.py +0 -0
- cartography/models/aws/sqs/queue.py +89 -0
- cartography/models/aws/ssm/instance_information.py +51 -39
- cartography/models/aws/ssm/instance_patch.py +32 -26
- cartography/models/aws/ssm/parameters.py +84 -0
- cartography/models/azure/__init__.py +0 -0
- cartography/models/azure/aks_cluster.py +54 -0
- cartography/models/azure/aks_nodepool.py +54 -0
- cartography/models/azure/app_service.py +59 -0
- cartography/models/azure/container_instance.py +57 -0
- cartography/models/azure/cosmosdb/__init__.py +0 -0
- cartography/models/azure/cosmosdb/account.py +77 -0
- cartography/models/azure/cosmosdb/accountfailoverpolicy.py +77 -0
- cartography/models/azure/cosmosdb/cassandrakeyspace.py +82 -0
- cartography/models/azure/cosmosdb/cassandratable.py +81 -0
- cartography/models/azure/cosmosdb/corspolicy.py +74 -0
- cartography/models/azure/cosmosdb/dblocation.py +120 -0
- cartography/models/azure/cosmosdb/mongodbcollection.py +82 -0
- cartography/models/azure/cosmosdb/mongodbdatabase.py +78 -0
- cartography/models/azure/cosmosdb/privateendpointconnection.py +81 -0
- cartography/models/azure/cosmosdb/sqlcontainer.py +88 -0
- cartography/models/azure/cosmosdb/sqldatabase.py +78 -0
- cartography/models/azure/cosmosdb/tableresource.py +76 -0
- cartography/models/azure/cosmosdb/virtualnetworkrule.py +78 -0
- cartography/models/azure/data_factory/__init__.py +0 -0
- cartography/models/azure/data_factory/data_factory.py +51 -0
- cartography/models/azure/data_factory/data_factory_dataset.py +94 -0
- cartography/models/azure/data_factory/data_factory_linked_service.py +78 -0
- cartography/models/azure/data_factory/data_factory_pipeline.py +93 -0
- cartography/models/azure/data_lake_filesystem.py +51 -0
- cartography/models/azure/event_grid_topic.py +57 -0
- cartography/models/azure/function_app.py +59 -0
- cartography/models/azure/load_balancer/__init__.py +0 -0
- cartography/models/azure/load_balancer/load_balancer.py +49 -0
- cartography/models/azure/load_balancer/load_balancer_backend_pool.py +73 -0
- cartography/models/azure/load_balancer/load_balancer_frontend_ip.py +75 -0
- cartography/models/azure/load_balancer/load_balancer_inbound_nat_rule.py +78 -0
- cartography/models/azure/load_balancer/load_balancer_rule.py +108 -0
- cartography/models/azure/logic_apps.py +56 -0
- cartography/models/azure/monitor.py +54 -0
- cartography/models/azure/network_interface.py +112 -0
- cartography/models/azure/network_security_group.py +50 -0
- cartography/models/azure/permission_relationships.py +60 -0
- cartography/models/azure/principal.py +41 -0
- cartography/models/azure/public_ip_address.py +50 -0
- cartography/models/azure/rbac.py +268 -0
- cartography/models/azure/resource_groups.py +52 -0
- cartography/models/azure/security_center.py +50 -0
- cartography/models/azure/sql/__init__.py +0 -0
- cartography/models/azure/sql/databasethreatdetectionpolicy.py +85 -0
- cartography/models/azure/sql/elasticpool.py +77 -0
- cartography/models/azure/sql/failovergroup.py +73 -0
- cartography/models/azure/sql/recoverabledatabase.py +75 -0
- cartography/models/azure/sql/replicationlink.py +81 -0
- cartography/models/azure/sql/restorabledroppeddatabase.py +82 -0
- cartography/models/azure/sql/restorepoint.py +74 -0
- cartography/models/azure/sql/serveradadministrator.py +74 -0
- cartography/models/azure/sql/serverdnsalias.py +71 -0
- cartography/models/azure/sql/sqldatabase.py +85 -0
- cartography/models/azure/sql/sqlserver.py +50 -0
- cartography/models/azure/sql/transparentdataencryption.py +76 -0
- cartography/models/azure/storage/__init__.py +0 -0
- cartography/models/azure/storage/account.py +59 -0
- cartography/models/azure/storage/blobcontainer.py +85 -0
- cartography/models/azure/storage/blobservice.py +71 -0
- cartography/models/azure/storage/fileservice.py +71 -0
- cartography/models/azure/storage/fileshare.py +82 -0
- cartography/models/azure/storage/queue.py +71 -0
- cartography/models/azure/storage/queueservice.py +73 -0
- cartography/models/azure/storage/table.py +72 -0
- cartography/models/azure/storage/tableservice.py +73 -0
- cartography/models/azure/subnet.py +101 -0
- cartography/models/azure/subscription.py +47 -0
- cartography/models/azure/tags/__init__.py +0 -0
- cartography/models/azure/tags/storage_tag.py +40 -0
- cartography/models/azure/tags/tag.py +37 -0
- cartography/models/azure/tenant.py +17 -0
- cartography/models/azure/virtual_network.py +49 -0
- cartography/models/azure/vm/__init__.py +0 -0
- cartography/models/azure/vm/datadisk.py +80 -0
- cartography/models/azure/vm/disk.py +55 -0
- cartography/models/azure/vm/snapshot.py +56 -0
- cartography/models/azure/vm/virtualmachine.py +59 -0
- cartography/models/bigfix/bigfix_computer.py +42 -38
- cartography/models/bigfix/bigfix_root.py +3 -3
- cartography/models/cloudflare/__init__.py +0 -0
- cartography/models/cloudflare/account.py +25 -0
- cartography/models/cloudflare/dnsrecord.py +55 -0
- cartography/models/cloudflare/member.py +86 -0
- cartography/models/cloudflare/role.py +44 -0
- cartography/models/cloudflare/zone.py +59 -0
- cartography/models/core/common.py +53 -2
- cartography/models/core/nodes.py +20 -4
- cartography/models/core/relationships.py +58 -6
- cartography/models/crowdstrike/__init__.py +0 -0
- cartography/models/crowdstrike/hosts.py +51 -0
- cartography/models/cve/cve.py +34 -32
- cartography/models/cve/cve_feed.py +6 -6
- cartography/models/digitalocean/__init__.py +0 -0
- cartography/models/digitalocean/account.py +21 -0
- cartography/models/digitalocean/droplet.py +58 -0
- cartography/models/digitalocean/project.py +48 -0
- cartography/models/duo/api_host.py +3 -3
- cartography/models/duo/endpoint.py +43 -41
- cartography/models/duo/group.py +14 -14
- cartography/models/duo/phone.py +27 -27
- cartography/models/duo/token.py +16 -16
- cartography/models/duo/user.py +50 -44
- cartography/models/duo/web_authn_credential.py +27 -19
- cartography/models/entra/__init__.py +0 -0
- cartography/models/entra/app_role_assignment.py +115 -0
- cartography/models/entra/application.py +49 -0
- cartography/models/entra/entra_user_to_aws_sso.py +41 -0
- cartography/models/entra/group.py +117 -0
- cartography/models/entra/ou.py +48 -0
- cartography/models/entra/service_principal.py +104 -0
- cartography/models/entra/tenant.py +39 -0
- cartography/models/entra/user.py +90 -0
- cartography/models/gcp/__init__.py +0 -0
- cartography/models/gcp/bigtable/__init__.py +0 -0
- cartography/models/gcp/bigtable/app_profile.py +94 -0
- cartography/models/gcp/bigtable/backup.py +91 -0
- cartography/models/gcp/bigtable/cluster.py +73 -0
- cartography/models/gcp/bigtable/instance.py +52 -0
- cartography/models/gcp/bigtable/table.py +69 -0
- cartography/models/gcp/compute/__init__.py +0 -0
- cartography/models/gcp/compute/subnet.py +74 -0
- cartography/models/gcp/compute/vpc.py +50 -0
- cartography/models/gcp/crm/__init__.py +0 -0
- cartography/models/gcp/crm/folders.py +98 -0
- cartography/models/gcp/crm/organizations.py +21 -0
- cartography/models/gcp/crm/projects.py +100 -0
- cartography/models/gcp/dns.py +109 -0
- cartography/models/gcp/gke.py +69 -0
- cartography/models/gcp/iam.py +73 -0
- cartography/models/gcp/permission_relationships.py +61 -0
- cartography/models/gcp/policy_bindings.py +93 -0
- cartography/models/gcp/storage/__init__.py +0 -0
- cartography/models/gcp/storage/bucket.py +119 -0
- cartography/models/github/commits.py +63 -0
- cartography/models/github/dependencies.py +73 -0
- cartography/models/github/manifests.py +49 -0
- cartography/models/github/orgs.py +27 -0
- cartography/models/github/teams.py +74 -22
- cartography/models/github/users.py +149 -0
- cartography/models/googleworkspace/__init__.py +0 -0
- cartography/models/googleworkspace/device.py +132 -0
- cartography/models/googleworkspace/group.py +382 -0
- cartography/models/googleworkspace/oauth_app.py +124 -0
- cartography/models/googleworkspace/tenant.py +30 -0
- cartography/models/googleworkspace/user.py +113 -0
- cartography/models/gsuite/__init__.py +0 -0
- cartography/models/gsuite/group.py +218 -0
- cartography/models/gsuite/tenant.py +29 -0
- cartography/models/gsuite/user.py +107 -0
- cartography/models/kandji/device.py +22 -17
- cartography/models/kandji/tenant.py +6 -4
- cartography/models/keycloak/__init__.py +0 -0
- cartography/models/keycloak/authenticationexecution.py +160 -0
- cartography/models/keycloak/authenticationflow.py +54 -0
- cartography/models/keycloak/client.py +179 -0
- cartography/models/keycloak/group.py +101 -0
- cartography/models/keycloak/identityprovider.py +89 -0
- cartography/models/keycloak/organization.py +116 -0
- cartography/models/keycloak/organizationdomain.py +73 -0
- cartography/models/keycloak/realm.py +173 -0
- cartography/models/keycloak/role.py +126 -0
- cartography/models/keycloak/scope.py +73 -0
- cartography/models/keycloak/user.py +55 -0
- cartography/models/kubernetes/__init__.py +0 -0
- cartography/models/kubernetes/clusterrolebindings.py +138 -0
- cartography/models/kubernetes/clusterroles.py +52 -0
- cartography/models/kubernetes/clusters.py +26 -0
- cartography/models/kubernetes/containers.py +133 -0
- cartography/models/kubernetes/groups.py +107 -0
- cartography/models/kubernetes/namespaces.py +51 -0
- cartography/models/kubernetes/oidc.py +51 -0
- cartography/models/kubernetes/pods.py +80 -0
- cartography/models/kubernetes/rolebindings.py +159 -0
- cartography/models/kubernetes/roles.py +76 -0
- cartography/models/kubernetes/secrets.py +79 -0
- cartography/models/kubernetes/serviceaccounts.py +77 -0
- cartography/models/kubernetes/services.py +108 -0
- cartography/models/kubernetes/users.py +105 -0
- cartography/models/lastpass/tenant.py +3 -3
- cartography/models/lastpass/user.py +36 -28
- cartography/models/ontology/__init__.py +0 -0
- cartography/models/ontology/device.py +137 -0
- cartography/models/ontology/mapping/__init__.py +76 -0
- cartography/models/ontology/mapping/data/__init__.py +0 -0
- cartography/models/ontology/mapping/data/apikeys.py +93 -0
- cartography/models/ontology/mapping/data/computeinstance.py +95 -0
- cartography/models/ontology/mapping/data/containers.py +88 -0
- cartography/models/ontology/mapping/data/databases.py +182 -0
- cartography/models/ontology/mapping/data/devices.py +194 -0
- cartography/models/ontology/mapping/data/thirdpartyapps.py +140 -0
- cartography/models/ontology/mapping/data/useraccounts.py +416 -0
- cartography/models/ontology/mapping/data/users.py +63 -0
- cartography/models/ontology/mapping/specs.py +85 -0
- cartography/models/ontology/user.py +51 -0
- cartography/models/openai/__init__.py +0 -0
- cartography/models/openai/adminapikey.py +94 -0
- cartography/models/openai/apikey.py +88 -0
- cartography/models/openai/organization.py +17 -0
- cartography/models/openai/project.py +89 -0
- cartography/models/openai/serviceaccount.py +50 -0
- cartography/models/openai/user.py +53 -0
- cartography/models/scaleway/__init__.py +0 -0
- cartography/models/scaleway/iam/__init__.py +0 -0
- cartography/models/scaleway/iam/apikey.py +100 -0
- cartography/models/scaleway/iam/application.py +52 -0
- cartography/models/scaleway/iam/group.py +95 -0
- cartography/models/scaleway/iam/user.py +64 -0
- cartography/models/scaleway/instance/__init__.py +0 -0
- cartography/models/scaleway/instance/flexibleip.py +52 -0
- cartography/models/scaleway/instance/instance.py +120 -0
- cartography/models/scaleway/organization.py +19 -0
- cartography/models/scaleway/project.py +48 -0
- cartography/models/scaleway/storage/__init__.py +0 -0
- cartography/models/scaleway/storage/snapshot.py +78 -0
- cartography/models/scaleway/storage/volume.py +51 -0
- cartography/models/semgrep/dependencies.py +102 -0
- cartography/models/semgrep/deployment.py +5 -5
- cartography/models/semgrep/findings.py +58 -40
- cartography/models/semgrep/locations.py +27 -21
- cartography/models/sentinelone/__init__.py +1 -0
- cartography/models/sentinelone/account.py +40 -0
- cartography/models/sentinelone/agent.py +50 -0
- cartography/models/sentinelone/application.py +44 -0
- cartography/models/sentinelone/application_version.py +96 -0
- cartography/models/sentinelone/cve.py +73 -0
- cartography/models/slack/__init__.py +0 -0
- cartography/models/slack/channels.py +92 -0
- cartography/models/slack/group.py +129 -0
- cartography/models/slack/team.py +22 -0
- cartography/models/slack/user.py +62 -0
- cartography/models/snipeit/__init__.py +0 -0
- cartography/models/snipeit/asset.py +92 -0
- cartography/models/snipeit/tenant.py +19 -0
- cartography/models/snipeit/user.py +60 -0
- cartography/models/spacelift/__init__.py +0 -0
- cartography/models/spacelift/cloudtrailevent.py +120 -0
- cartography/models/spacelift/run.py +162 -0
- cartography/models/spacelift/space.py +131 -0
- cartography/models/spacelift/spaceliftaccount.py +31 -0
- cartography/models/spacelift/spaceliftgitcommit.py +157 -0
- cartography/models/spacelift/stack.py +96 -0
- cartography/models/spacelift/user.py +63 -0
- cartography/models/spacelift/worker.py +97 -0
- cartography/models/spacelift/workerpool.py +90 -0
- cartography/models/tailscale/__init__.py +0 -0
- cartography/models/tailscale/device.py +96 -0
- cartography/models/tailscale/group.py +86 -0
- cartography/models/tailscale/postureintegration.py +58 -0
- cartography/models/tailscale/tag.py +102 -0
- cartography/models/tailscale/tailnet.py +29 -0
- cartography/models/tailscale/user.py +57 -0
- cartography/models/trivy/__init__.py +0 -0
- cartography/models/trivy/findings.py +66 -0
- cartography/models/trivy/fix.py +66 -0
- cartography/models/trivy/package.py +71 -0
- cartography/rules/README.md +1 -0
- cartography/rules/__init__.py +0 -0
- cartography/rules/cli.py +261 -0
- cartography/rules/data/__init__.py +0 -0
- cartography/rules/data/rules/__init__.py +46 -0
- cartography/rules/data/rules/cloud_security_product_deactivated.py +49 -0
- cartography/rules/data/rules/compute_instance_exposed.py +51 -0
- cartography/rules/data/rules/database_instance_exposed.py +53 -0
- cartography/rules/data/rules/delegation_boundary_modifiable.py +90 -0
- cartography/rules/data/rules/identity_administration_privileges.py +100 -0
- cartography/rules/data/rules/inactive_user_active_accounts.py +48 -0
- cartography/rules/data/rules/malicious_npm_dependencies_shai_hulud.py +2222 -0
- cartography/rules/data/rules/mfa_missing.py +46 -0
- cartography/rules/data/rules/object_storage_public.py +100 -0
- cartography/rules/data/rules/policy_administration_privileges.py +104 -0
- cartography/rules/data/rules/unmanaged_accounts.py +43 -0
- cartography/rules/data/rules/workload_identity_admin_capabilities.py +193 -0
- cartography/rules/formatters.py +108 -0
- cartography/rules/runners.py +216 -0
- cartography/rules/spec/__init__.py +0 -0
- cartography/rules/spec/model.py +267 -0
- cartography/rules/spec/result.py +38 -0
- cartography/stats.py +4 -4
- cartography/sync.py +137 -31
- cartography/util.py +187 -77
- cartography-0.123.0.dist-info/METADATA +230 -0
- cartography-0.123.0.dist-info/RECORD +856 -0
- {cartography-0.93.0rc1.dist-info → cartography-0.123.0.dist-info}/WHEEL +1 -1
- {cartography-0.93.0rc1.dist-info → cartography-0.123.0.dist-info}/entry_points.txt +1 -0
- {cartography-0.93.0rc1.dist-info → cartography-0.123.0.dist-info/licenses}/LICENSE +1 -1
- cartography/data/jobs/analysis/aws_ec2_iaminstance.json +0 -10
- cartography/data/jobs/analysis/aws_ec2_iaminstanceprofile.json +0 -10
- cartography/data/jobs/cleanup/aws_apigateway_details.json +0 -10
- cartography/data/jobs/cleanup/aws_dns_cleanup.json +0 -65
- cartography/data/jobs/cleanup/aws_import_account_access_key_cleanup.json +0 -17
- cartography/data/jobs/cleanup/aws_import_apigateway_cleanup.json +0 -45
- cartography/data/jobs/cleanup/aws_import_ec2_security_groupinfo_cleanup.json +0 -24
- cartography/data/jobs/cleanup/aws_import_groups_cleanup.json +0 -13
- cartography/data/jobs/cleanup/aws_import_lambda_cleanup.json +0 -50
- cartography/data/jobs/cleanup/aws_import_principals_cleanup.json +0 -30
- cartography/data/jobs/cleanup/aws_import_rds_clusters_cleanup.json +0 -23
- cartography/data/jobs/cleanup/aws_import_rds_instances_cleanup.json +0 -47
- cartography/data/jobs/cleanup/aws_import_rds_snapshots_cleanup.json +0 -23
- cartography/data/jobs/cleanup/aws_import_roles_cleanup.json +0 -13
- cartography/data/jobs/cleanup/aws_import_secrets_cleanup.json +0 -8
- cartography/data/jobs/cleanup/aws_import_snapshots_cleanup.json +0 -30
- cartography/data/jobs/cleanup/aws_import_users_cleanup.json +0 -8
- cartography/data/jobs/cleanup/aws_import_vpc_cleanup.json +0 -23
- cartography/data/jobs/cleanup/aws_import_vpc_peering_cleanup.json +0 -45
- cartography/data/jobs/cleanup/aws_kms_details.json +0 -10
- cartography/data/jobs/cleanup/azure_cosmosdb_cassandra_keyspace_cleanup.json +0 -25
- cartography/data/jobs/cleanup/azure_cosmosdb_cors_details.json +0 -15
- cartography/data/jobs/cleanup/azure_cosmosdb_mongodb_database_cleanup.json +0 -25
- cartography/data/jobs/cleanup/azure_cosmosdb_sql_database_cleanup.json +0 -25
- cartography/data/jobs/cleanup/azure_cosmosdb_table_resources_cleanup.json +0 -15
- cartography/data/jobs/cleanup/azure_database_account_cleanup.json +0 -85
- cartography/data/jobs/cleanup/azure_import_disks_cleanup.json +0 -15
- cartography/data/jobs/cleanup/azure_import_snapshots_cleanup.json +0 -15
- cartography/data/jobs/cleanup/azure_import_virtual_machines_cleanup.json +0 -25
- cartography/data/jobs/cleanup/azure_sql_server_cleanup.json +0 -125
- cartography/data/jobs/cleanup/azure_storage_account_cleanup.json +0 -95
- cartography/data/jobs/cleanup/azure_subscriptions_cleanup.json +0 -14
- cartography/data/jobs/cleanup/azure_tenant_cleanup.json +0 -9
- cartography/data/jobs/cleanup/crxcavator_import_cleanup.json +0 -18
- cartography/data/jobs/cleanup/gcp_compute_vpc_subnet_cleanup.json +0 -35
- cartography/data/jobs/cleanup/gcp_crm_folder_cleanup.json +0 -23
- cartography/data/jobs/cleanup/gcp_crm_organization_cleanup.json +0 -17
- cartography/data/jobs/cleanup/gcp_crm_project_cleanup.json +0 -23
- cartography/data/jobs/cleanup/gcp_dns_cleanup.json +0 -29
- cartography/data/jobs/cleanup/gcp_gke_cluster_cleanup.json +0 -17
- cartography/data/jobs/cleanup/gcp_storage_bucket_cleanup.json +0 -29
- cartography/data/jobs/cleanup/github_users_cleanup.json +0 -23
- cartography/data/jobs/cleanup/gsuite_ingest_groups_cleanup.json +0 -23
- cartography/data/jobs/cleanup/gsuite_ingest_users_cleanup.json +0 -11
- cartography/data/jobs/cleanup/kubernetes_import_cleanup.json +0 -70
- cartography/intel/crxcavator/__init__.py +0 -44
- cartography/intel/crxcavator/crxcavator.py +0 -329
- cartography/intel/gcp/crm.py +0 -302
- cartography/intel/gsuite/api.py +0 -284
- cartography/models/aws/ec2/keypairs.py +0 -64
- cartography-0.93.0rc1.dist-info/METADATA +0 -55
- cartography-0.93.0rc1.dist-info/NOTICE +0 -4
- cartography-0.93.0rc1.dist-info/RECORD +0 -341
- /cartography/data/jobs/{analysis → scoped_analysis}/aws_s3acl_analysis.json +0 -0
- {cartography-0.93.0rc1.dist-info → cartography-0.123.0.dist-info}/top_level.txt +0 -0
cartography/config.py
CHANGED
|
@@ -26,9 +26,13 @@ class Config:
|
|
|
26
26
|
:type aws_sync_all_profiles: bool
|
|
27
27
|
:param aws_sync_all_profiles: If True, AWS sync will run for all non-default profiles in the AWS_CONFIG_FILE. If
|
|
28
28
|
False (default), AWS sync will run using the default credentials only. Optional.
|
|
29
|
+
:type aws_regions: str
|
|
30
|
+
:param aws_regions: Comma-separated list of AWS regions to sync. Optional.
|
|
29
31
|
:type aws_best_effort_mode: bool
|
|
30
32
|
:param aws_best_effort_mode: If True, AWS sync will not raise any exceptions, just log. If False (default),
|
|
31
33
|
exceptions will be raised.
|
|
34
|
+
:type aws_cloudtrail_management_events_lookback_hours: int
|
|
35
|
+
:param aws_cloudtrail_management_events_lookback_hours: Number of hours back to retrieve CloudTrail management events from. Optional.
|
|
32
36
|
:type azure_sync_all_subscriptions: bool
|
|
33
37
|
:param azure_sync_all_subscriptions: If True, Azure sync will run for all profiles in azureProfile.json. If
|
|
34
38
|
False (default), Azure sync will run using current user session via CLI credentials. Optional.
|
|
@@ -41,12 +45,22 @@ class Config:
|
|
|
41
45
|
:param azure_client_id: Client Id for connecting in a Service Principal Authentication approach. Optional.
|
|
42
46
|
:type azure_client_secret: str
|
|
43
47
|
:param azure_client_secret: Client Secret for connecting in a Service Principal Authentication approach. Optional.
|
|
48
|
+
:type azure_subscription_id: str | None
|
|
49
|
+
:param azure_subscription_id: The Azure Subscription ID to sync.
|
|
50
|
+
:type entra_tenant_id: str
|
|
51
|
+
:param entra_tenant_id: Tenant Id for connecting in a Service Principal Authentication approach. Optional.
|
|
52
|
+
:type entra_client_id: str
|
|
53
|
+
:param entra_client_id: Client Id for connecting in a Service Principal Authentication approach. Optional.
|
|
54
|
+
:type entra_client_secret: str
|
|
55
|
+
:param entra_client_secret: Client Secret for connecting in a Service Principal Authentication approach. Optional.
|
|
44
56
|
:type aws_requested_syncs: str
|
|
45
57
|
:param aws_requested_syncs: Comma-separated list of AWS resources to sync. Optional.
|
|
46
|
-
:type
|
|
47
|
-
:param
|
|
48
|
-
|
|
49
|
-
:
|
|
58
|
+
:type aws_guardduty_severity_threshold: str
|
|
59
|
+
:param aws_guardduty_severity_threshold: GuardDuty severity threshold filter. Only findings at or above this
|
|
60
|
+
severity level will be synced. Valid values: LOW, MEDIUM, HIGH, CRITICAL. Optional.
|
|
61
|
+
:type experimental_aws_inspector_batch: int
|
|
62
|
+
:param experimental_aws_inspector_batch: EXPERIMENTAL: Batch size for AWS Inspector findings sync. Controls how
|
|
63
|
+
many findings are fetched, processed and cleaned up at a time. Default is 1000. Optional.
|
|
50
64
|
:type analysis_job_directory: str
|
|
51
65
|
:param analysis_job_directory: Path to a directory tree containing analysis jobs to run. Optional.
|
|
52
66
|
:type oci_sync_all_profiles: bool
|
|
@@ -59,10 +73,16 @@ class Config:
|
|
|
59
73
|
:param okta_saml_role_regex: The regex used to map okta groups to AWS roles. Optional.
|
|
60
74
|
:type github_config: str
|
|
61
75
|
:param github_config: Base64 encoded config object for GitHub ingestion. Optional.
|
|
76
|
+
:type github_commit_lookback_days: int
|
|
77
|
+
:param github_commit_lookback_days: Number of days to look back for GitHub commit tracking. Optional.
|
|
62
78
|
:type digitalocean_token: str
|
|
63
79
|
:param digitalocean_token: DigitalOcean access token. Optional.
|
|
64
80
|
:type permission_relationships_file: str
|
|
65
81
|
:param permission_relationships_file: File path for the resource permission relationships file. Optional.
|
|
82
|
+
:type azure_permission_relationships_file: str
|
|
83
|
+
:param azure_permission_relationships_file: File path for the Azure permission relationships file. Optional.
|
|
84
|
+
:type gcp_permission_relationships_file: str
|
|
85
|
+
:param gcp_permission_relationships_file: File path for the GCP resource permission relationships file. Optional.
|
|
66
86
|
:type jamf_base_uri: string
|
|
67
87
|
:param jamf_base_uri: Jamf data provider base URI, e.g. https://example.com/JSSResource. Optional.
|
|
68
88
|
:type jamf_user: string
|
|
@@ -83,6 +103,8 @@ class Config:
|
|
|
83
103
|
:param statsd_port: If statsd_enabled is True, send metrics to this port on statsd_host. Optional.
|
|
84
104
|
:type: k8s_kubeconfig: str
|
|
85
105
|
:param k8s_kubeconfig: Path to kubeconfig file for kubernetes cluster(s). Optional
|
|
106
|
+
:type: managed_kubernetes: str
|
|
107
|
+
:param managed_kubernetes: Type of managed Kubernetes service (e.g., "eks"). Optional.
|
|
86
108
|
:type: pagerduty_api_key: str
|
|
87
109
|
:param pagerduty_api_key: API authentication key for pagerduty. Optional.
|
|
88
110
|
:type: pagerduty_request_timeout: int
|
|
@@ -93,6 +115,10 @@ class Config:
|
|
|
93
115
|
:param gsuite_auth_method: Auth method (delegated, oauth) used for Google Workspace. Optional.
|
|
94
116
|
:type gsuite_config: str
|
|
95
117
|
:param gsuite_config: Base64 encoded config object or config file path for Google Workspace. Optional.
|
|
118
|
+
:type googleworkspace_auth_method: str
|
|
119
|
+
:param googleworkspace_auth_method: Auth method (delegated, oauth, default) used for Google Workspace. Optional.
|
|
120
|
+
:type googleworkspace_config: str
|
|
121
|
+
:param googleworkspace_config: Base64 encoded config object or config file path for Google Workspace. Optional.
|
|
96
122
|
:type lastpass_cid: str
|
|
97
123
|
:param lastpass_cid: Lastpass account ID. Optional.
|
|
98
124
|
:type lastpass_provhash: str
|
|
@@ -111,6 +137,83 @@ class Config:
|
|
|
111
137
|
:param duo_api_hostname: The Duo api hostname, e.g. "api-abc123.duosecurity.com". Optional.
|
|
112
138
|
:param semgrep_app_token: The Semgrep api token. Optional.
|
|
113
139
|
:type semgrep_app_token: str
|
|
140
|
+
:param semgrep_dependency_ecosystems: Comma-separated list of Semgrep dependency ecosystems to fetch. Optional.
|
|
141
|
+
:type semgrep_dependency_ecosystems: str
|
|
142
|
+
:type snipeit_base_uri: string
|
|
143
|
+
:param snipeit_base_uri: SnipeIT data provider base URI. Optional.
|
|
144
|
+
:type snipeit_token: string
|
|
145
|
+
:param snipeit_token: Token used to authenticate to the SnipeIT data provider. Optional.
|
|
146
|
+
:type snipeit_tenant_id: string
|
|
147
|
+
:param snipeit_tenant_id: Token used to authenticate to the SnipeIT data provider. Optional.
|
|
148
|
+
:type tailscale_token: str
|
|
149
|
+
:param tailscale_token: Tailscale API token. Optional.
|
|
150
|
+
:type tailscale_org: str
|
|
151
|
+
:param tailscale_org: Tailscale organization name. Optional.
|
|
152
|
+
:type tailscale_base_url: str
|
|
153
|
+
:param tailscale_base_url: Tailscale API base URL. Optional.
|
|
154
|
+
:type cloudflare_token: string
|
|
155
|
+
:param cloudflare_token: Cloudflare API key. Optional.
|
|
156
|
+
:type openai_apikey: string
|
|
157
|
+
:param openai_apikey: OpenAI API key. Optional.
|
|
158
|
+
:type openai_org_id: string
|
|
159
|
+
:param openai_org_id: OpenAI organization id. Optional.
|
|
160
|
+
:type anthropic_apikey: string
|
|
161
|
+
:param anthropic_apikey: Anthropic API key. Optional.
|
|
162
|
+
:type airbyte_client_id: str
|
|
163
|
+
:param airbyte_client_id: Airbyte client ID for API authentication. Optional.
|
|
164
|
+
:type airbyte_client_secret: str
|
|
165
|
+
:param airbyte_client_secret: Airbyte client secret for API authentication. Optional.
|
|
166
|
+
:type airbyte_api_url: str
|
|
167
|
+
:param airbyte_api_url: Airbyte API base URL, e.g. https://api.airbyte.com/v1. Optional.
|
|
168
|
+
:type trivy_s3_bucket: str
|
|
169
|
+
:param trivy_s3_bucket: The S3 bucket name containing Trivy scan results. Optional.
|
|
170
|
+
:type trivy_s3_prefix: str
|
|
171
|
+
:param trivy_s3_prefix: The S3 prefix path containing Trivy scan results. Optional.
|
|
172
|
+
:type ontology_users_source: str
|
|
173
|
+
:param ontology_users_source: Comma-separated list of sources of truth for user data in the ontology. Optional.
|
|
174
|
+
:type ontology_devices_source: str
|
|
175
|
+
:param ontology_devices_source: Comma-separated list of sources of truth for client computers data in the ontology.
|
|
176
|
+
Optional.
|
|
177
|
+
:type trivy_results_dir: str
|
|
178
|
+
:param trivy_results_dir: Local directory containing Trivy scan results. Optional.
|
|
179
|
+
:type scaleway_access_key: str
|
|
180
|
+
:param scaleway_access_key: Scaleway access key. Optional.
|
|
181
|
+
:type scaleway_secret_key: str
|
|
182
|
+
:param scaleway_secret_key: Scaleway secret key. Optional.
|
|
183
|
+
:type scaleway_org: str
|
|
184
|
+
:param scaleway_org: Scaleway organization id. Optional.
|
|
185
|
+
:type sentinelone_api_url: string
|
|
186
|
+
:param sentinelone_api_url: SentinelOne API URL. Optional.
|
|
187
|
+
:type sentinelone_api_token: string
|
|
188
|
+
:param sentinelone_api_token: SentinelOne API token for authentication. Optional.
|
|
189
|
+
:type sentinelone_account_ids: list[str]
|
|
190
|
+
:param sentinelone_account_ids: List of SentinelOne account IDs to sync. Optional.
|
|
191
|
+
:type spacelift_api_endpoint: string
|
|
192
|
+
:param spacelift_api_endpoint: Spacelift GraphQL API endpoint. Optional.
|
|
193
|
+
:type spacelift_api_token: string
|
|
194
|
+
:param spacelift_api_token: Spacelift API token for authentication. Optional (can use API key instead).
|
|
195
|
+
:type spacelift_api_key_id: string
|
|
196
|
+
:param spacelift_api_key_id: Spacelift API key ID for token exchange authentication. Optional (alternative to token).
|
|
197
|
+
:type spacelift_api_key_secret: string
|
|
198
|
+
:param spacelift_api_key_secret: Spacelift API key secret for token exchange authentication. Optional (alternative to token).
|
|
199
|
+
:type spacelift_ec2_ownership_s3_bucket: string
|
|
200
|
+
:param spacelift_ec2_ownership_s3_bucket: S3 bucket name containing EC2 ownership data from Athena. Optional.
|
|
201
|
+
:type spacelift_ec2_ownership_s3_prefix: string
|
|
202
|
+
:param spacelift_ec2_ownership_s3_prefix: S3 prefix for EC2 ownership data from Athena. All JSON files under this prefix will be processed. Optional.
|
|
203
|
+
:type keycloak_client_id: str
|
|
204
|
+
:param keycloak_client_id: Keycloak client ID for API authentication. Optional.
|
|
205
|
+
:type keycloak_client_secret: str
|
|
206
|
+
:param keycloak_client_secret: Keycloak client secret for API authentication. Optional.
|
|
207
|
+
:type keycloak_realm: str
|
|
208
|
+
:param keycloak_realm: Keycloak realm for authentication (all realms will be synced). Optional.
|
|
209
|
+
:type keycloak_url: str
|
|
210
|
+
:param keycloak_url: Keycloak base URL, e.g. https://keycloak.example.com. Optional.
|
|
211
|
+
:type slack_token: str
|
|
212
|
+
:param slack_token: Slack API token. Optional.
|
|
213
|
+
:type slack_teams: list[str]
|
|
214
|
+
:param slack_teams: List of Slack team IDs to sync. Optional.
|
|
215
|
+
:type slack_channels_memberships: bool
|
|
216
|
+
:param slack_channels_memberships: If True, sync Slack channel membership data. Optional.
|
|
114
217
|
"""
|
|
115
218
|
|
|
116
219
|
def __init__(
|
|
@@ -123,23 +226,32 @@ class Config:
|
|
|
123
226
|
selected_modules=None,
|
|
124
227
|
update_tag=None,
|
|
125
228
|
aws_sync_all_profiles=False,
|
|
229
|
+
aws_regions=None,
|
|
126
230
|
aws_best_effort_mode=False,
|
|
231
|
+
aws_cloudtrail_management_events_lookback_hours=None,
|
|
232
|
+
experimental_aws_inspector_batch=1000,
|
|
127
233
|
azure_sync_all_subscriptions=False,
|
|
128
234
|
azure_sp_auth=None,
|
|
129
235
|
azure_tenant_id=None,
|
|
130
236
|
azure_client_id=None,
|
|
131
237
|
azure_client_secret=None,
|
|
238
|
+
azure_subscription_id: str | None = None,
|
|
239
|
+
entra_tenant_id=None,
|
|
240
|
+
entra_client_id=None,
|
|
241
|
+
entra_client_secret=None,
|
|
132
242
|
aws_requested_syncs=None,
|
|
243
|
+
aws_guardduty_severity_threshold=None,
|
|
133
244
|
analysis_job_directory=None,
|
|
134
|
-
crxcavator_api_base_uri=None,
|
|
135
|
-
crxcavator_api_key=None,
|
|
136
245
|
oci_sync_all_profiles=None,
|
|
137
246
|
okta_org_id=None,
|
|
138
247
|
okta_api_key=None,
|
|
139
248
|
okta_saml_role_regex=None,
|
|
140
249
|
github_config=None,
|
|
250
|
+
github_commit_lookback_days=30,
|
|
141
251
|
digitalocean_token=None,
|
|
142
252
|
permission_relationships_file=None,
|
|
253
|
+
azure_permission_relationships_file=None,
|
|
254
|
+
gcp_permission_relationships_file=None,
|
|
143
255
|
jamf_base_uri=None,
|
|
144
256
|
jamf_user=None,
|
|
145
257
|
jamf_password=None,
|
|
@@ -147,6 +259,7 @@ class Config:
|
|
|
147
259
|
kandji_tenant_id=None,
|
|
148
260
|
kandji_token=None,
|
|
149
261
|
k8s_kubeconfig=None,
|
|
262
|
+
managed_kubernetes=None,
|
|
150
263
|
statsd_enabled=False,
|
|
151
264
|
statsd_prefix=None,
|
|
152
265
|
statsd_host=None,
|
|
@@ -155,12 +268,14 @@ class Config:
|
|
|
155
268
|
pagerduty_request_timeout=None,
|
|
156
269
|
nist_cve_url=None,
|
|
157
270
|
cve_enabled=False,
|
|
158
|
-
cve_api_key=None,
|
|
271
|
+
cve_api_key: str | None = None,
|
|
159
272
|
crowdstrike_client_id=None,
|
|
160
273
|
crowdstrike_client_secret=None,
|
|
161
274
|
crowdstrike_api_url=None,
|
|
162
275
|
gsuite_auth_method=None,
|
|
163
276
|
gsuite_config=None,
|
|
277
|
+
googleworkspace_auth_method=None,
|
|
278
|
+
googleworkspace_config=None,
|
|
164
279
|
lastpass_cid=None,
|
|
165
280
|
lastpass_provhash=None,
|
|
166
281
|
bigfix_username=None,
|
|
@@ -170,6 +285,44 @@ class Config:
|
|
|
170
285
|
duo_api_secret=None,
|
|
171
286
|
duo_api_hostname=None,
|
|
172
287
|
semgrep_app_token=None,
|
|
288
|
+
semgrep_dependency_ecosystems=None,
|
|
289
|
+
snipeit_base_uri=None,
|
|
290
|
+
snipeit_token=None,
|
|
291
|
+
snipeit_tenant_id=None,
|
|
292
|
+
tailscale_token=None,
|
|
293
|
+
tailscale_org=None,
|
|
294
|
+
tailscale_base_url=None,
|
|
295
|
+
cloudflare_token=None,
|
|
296
|
+
openai_apikey=None,
|
|
297
|
+
openai_org_id=None,
|
|
298
|
+
anthropic_apikey=None,
|
|
299
|
+
airbyte_client_id=None,
|
|
300
|
+
airbyte_client_secret=None,
|
|
301
|
+
airbyte_api_url=None,
|
|
302
|
+
trivy_s3_bucket=None,
|
|
303
|
+
trivy_s3_prefix=None,
|
|
304
|
+
ontology_users_source=None,
|
|
305
|
+
ontology_devices_source=None,
|
|
306
|
+
trivy_results_dir=None,
|
|
307
|
+
scaleway_access_key=None,
|
|
308
|
+
scaleway_secret_key=None,
|
|
309
|
+
scaleway_org=None,
|
|
310
|
+
sentinelone_api_url=None,
|
|
311
|
+
sentinelone_api_token=None,
|
|
312
|
+
sentinelone_account_ids=None,
|
|
313
|
+
spacelift_api_endpoint=None,
|
|
314
|
+
spacelift_api_token=None,
|
|
315
|
+
spacelift_api_key_id=None,
|
|
316
|
+
spacelift_api_key_secret=None,
|
|
317
|
+
spacelift_ec2_ownership_s3_bucket=None,
|
|
318
|
+
spacelift_ec2_ownership_s3_prefix=None,
|
|
319
|
+
keycloak_client_id=None,
|
|
320
|
+
keycloak_client_secret=None,
|
|
321
|
+
keycloak_realm=None,
|
|
322
|
+
keycloak_url=None,
|
|
323
|
+
slack_token=None,
|
|
324
|
+
slack_teams=None,
|
|
325
|
+
slack_channels_memberships=False,
|
|
173
326
|
):
|
|
174
327
|
self.neo4j_uri = neo4j_uri
|
|
175
328
|
self.neo4j_user = neo4j_user
|
|
@@ -179,23 +332,34 @@ class Config:
|
|
|
179
332
|
self.selected_modules = selected_modules
|
|
180
333
|
self.update_tag = update_tag
|
|
181
334
|
self.aws_sync_all_profiles = aws_sync_all_profiles
|
|
335
|
+
self.aws_regions = aws_regions
|
|
182
336
|
self.aws_best_effort_mode = aws_best_effort_mode
|
|
337
|
+
self.aws_cloudtrail_management_events_lookback_hours = (
|
|
338
|
+
aws_cloudtrail_management_events_lookback_hours
|
|
339
|
+
)
|
|
340
|
+
self.experimental_aws_inspector_batch = experimental_aws_inspector_batch
|
|
183
341
|
self.azure_sync_all_subscriptions = azure_sync_all_subscriptions
|
|
184
342
|
self.azure_sp_auth = azure_sp_auth
|
|
185
343
|
self.azure_tenant_id = azure_tenant_id
|
|
186
344
|
self.azure_client_id = azure_client_id
|
|
187
345
|
self.azure_client_secret = azure_client_secret
|
|
346
|
+
self.azure_subscription_id = azure_subscription_id
|
|
347
|
+
self.entra_tenant_id = entra_tenant_id
|
|
348
|
+
self.entra_client_id = entra_client_id
|
|
349
|
+
self.entra_client_secret = entra_client_secret
|
|
188
350
|
self.aws_requested_syncs = aws_requested_syncs
|
|
351
|
+
self.aws_guardduty_severity_threshold = aws_guardduty_severity_threshold
|
|
189
352
|
self.analysis_job_directory = analysis_job_directory
|
|
190
|
-
self.crxcavator_api_base_uri = crxcavator_api_base_uri
|
|
191
|
-
self.crxcavator_api_key = crxcavator_api_key
|
|
192
353
|
self.oci_sync_all_profiles = oci_sync_all_profiles
|
|
193
354
|
self.okta_org_id = okta_org_id
|
|
194
355
|
self.okta_api_key = okta_api_key
|
|
195
356
|
self.okta_saml_role_regex = okta_saml_role_regex
|
|
196
357
|
self.github_config = github_config
|
|
358
|
+
self.github_commit_lookback_days = github_commit_lookback_days
|
|
197
359
|
self.digitalocean_token = digitalocean_token
|
|
198
360
|
self.permission_relationships_file = permission_relationships_file
|
|
361
|
+
self.azure_permission_relationships_file = azure_permission_relationships_file
|
|
362
|
+
self.gcp_permission_relationships_file = gcp_permission_relationships_file
|
|
199
363
|
self.jamf_base_uri = jamf_base_uri
|
|
200
364
|
self.jamf_user = jamf_user
|
|
201
365
|
self.jamf_password = jamf_password
|
|
@@ -203,6 +367,7 @@ class Config:
|
|
|
203
367
|
self.kandji_tenant_id = kandji_tenant_id
|
|
204
368
|
self.kandji_token = kandji_token
|
|
205
369
|
self.k8s_kubeconfig = k8s_kubeconfig
|
|
370
|
+
self.managed_kubernetes = managed_kubernetes
|
|
206
371
|
self.statsd_enabled = statsd_enabled
|
|
207
372
|
self.statsd_prefix = statsd_prefix
|
|
208
373
|
self.statsd_host = statsd_host
|
|
@@ -211,12 +376,14 @@ class Config:
|
|
|
211
376
|
self.pagerduty_request_timeout = pagerduty_request_timeout
|
|
212
377
|
self.nist_cve_url = nist_cve_url
|
|
213
378
|
self.cve_enabled = cve_enabled
|
|
214
|
-
self.cve_api_key = cve_api_key
|
|
379
|
+
self.cve_api_key: str | None = cve_api_key
|
|
215
380
|
self.crowdstrike_client_id = crowdstrike_client_id
|
|
216
381
|
self.crowdstrike_client_secret = crowdstrike_client_secret
|
|
217
382
|
self.crowdstrike_api_url = crowdstrike_api_url
|
|
218
383
|
self.gsuite_auth_method = gsuite_auth_method
|
|
219
384
|
self.gsuite_config = gsuite_config
|
|
385
|
+
self.googleworkspace_auth_method = googleworkspace_auth_method
|
|
386
|
+
self.googleworkspace_config = googleworkspace_config
|
|
220
387
|
self.lastpass_cid = lastpass_cid
|
|
221
388
|
self.lastpass_provhash = lastpass_provhash
|
|
222
389
|
self.bigfix_username = bigfix_username
|
|
@@ -226,3 +393,41 @@ class Config:
|
|
|
226
393
|
self.duo_api_secret = duo_api_secret
|
|
227
394
|
self.duo_api_hostname = duo_api_hostname
|
|
228
395
|
self.semgrep_app_token = semgrep_app_token
|
|
396
|
+
self.semgrep_dependency_ecosystems = semgrep_dependency_ecosystems
|
|
397
|
+
self.snipeit_base_uri = snipeit_base_uri
|
|
398
|
+
self.snipeit_token = snipeit_token
|
|
399
|
+
self.snipeit_tenant_id = snipeit_tenant_id
|
|
400
|
+
self.tailscale_token = tailscale_token
|
|
401
|
+
self.tailscale_org = tailscale_org
|
|
402
|
+
self.tailscale_base_url = tailscale_base_url
|
|
403
|
+
self.cloudflare_token = cloudflare_token
|
|
404
|
+
self.openai_apikey = openai_apikey
|
|
405
|
+
self.openai_org_id = openai_org_id
|
|
406
|
+
self.anthropic_apikey = anthropic_apikey
|
|
407
|
+
self.airbyte_client_id = airbyte_client_id
|
|
408
|
+
self.airbyte_client_secret = airbyte_client_secret
|
|
409
|
+
self.airbyte_api_url = airbyte_api_url
|
|
410
|
+
self.trivy_s3_bucket = trivy_s3_bucket
|
|
411
|
+
self.trivy_s3_prefix = trivy_s3_prefix
|
|
412
|
+
self.ontology_users_source = ontology_users_source
|
|
413
|
+
self.ontology_devices_source = ontology_devices_source
|
|
414
|
+
self.trivy_results_dir = trivy_results_dir
|
|
415
|
+
self.scaleway_access_key = scaleway_access_key
|
|
416
|
+
self.scaleway_secret_key = scaleway_secret_key
|
|
417
|
+
self.scaleway_org = scaleway_org
|
|
418
|
+
self.sentinelone_api_url = sentinelone_api_url
|
|
419
|
+
self.sentinelone_api_token = sentinelone_api_token
|
|
420
|
+
self.sentinelone_account_ids = sentinelone_account_ids
|
|
421
|
+
self.spacelift_api_endpoint = spacelift_api_endpoint
|
|
422
|
+
self.spacelift_api_token = spacelift_api_token
|
|
423
|
+
self.spacelift_api_key_id = spacelift_api_key_id
|
|
424
|
+
self.spacelift_api_key_secret = spacelift_api_key_secret
|
|
425
|
+
self.spacelift_ec2_ownership_s3_bucket = spacelift_ec2_ownership_s3_bucket
|
|
426
|
+
self.spacelift_ec2_ownership_s3_prefix = spacelift_ec2_ownership_s3_prefix
|
|
427
|
+
self.keycloak_client_id = keycloak_client_id
|
|
428
|
+
self.keycloak_client_secret = keycloak_client_secret
|
|
429
|
+
self.keycloak_realm = keycloak_realm
|
|
430
|
+
self.keycloak_url = keycloak_url
|
|
431
|
+
self.slack_token = slack_token
|
|
432
|
+
self.slack_teams = slack_teams
|
|
433
|
+
self.slack_channels_memberships = slack_channels_memberships
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Map principals that can manage Azure SQL Servers. Specifically,
|
|
2
|
+
# create an (:EntraUser|EntraGroup|EntraServicePrincipal)-[:CAN_MANAGE]->(:AzureSQLServer) relationship
|
|
3
|
+
# for principals that have a role assignment with _any_ of the below
|
|
4
|
+
# permissions. Similar logic applies for the other entries in this file.
|
|
5
|
+
- target_label: AzureSQLServer
|
|
6
|
+
permissions:
|
|
7
|
+
- Microsoft.Sql/servers/delete
|
|
8
|
+
relationship_name: CAN_MANAGE
|
|
9
|
+
|
|
10
|
+
# Map principals that can read Azure SQL Servers.
|
|
11
|
+
- target_label: AzureSQLServer
|
|
12
|
+
permissions:
|
|
13
|
+
- Microsoft.Sql/servers/read
|
|
14
|
+
relationship_name: CAN_READ
|
|
15
|
+
|
|
16
|
+
# Map principals that can write to Azure SQL Servers.
|
|
17
|
+
- target_label: AzureSQLServer
|
|
18
|
+
permissions:
|
|
19
|
+
- Microsoft.Sql/servers/write
|
|
20
|
+
relationship_name: CAN_WRITE
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Map principals that can read objects from a GCPBucket. Specifically,
|
|
2
|
+
# create an (:GCPPrincipal)-[:CAN_READ]->(:GCPBucket) relationship
|
|
3
|
+
# for principals that have a policy attached with _any_ of the below
|
|
4
|
+
# permissions. Similar logic applies for the other entries in this file.
|
|
5
|
+
- target_label: GCPBucket
|
|
6
|
+
permissions:
|
|
7
|
+
- storage.objects.get
|
|
8
|
+
relationship_name: CAN_READ
|
|
9
|
+
|
|
10
|
+
# Map principals that can write objects to a GCPBucket.
|
|
11
|
+
- target_label: GCPBucket
|
|
12
|
+
permissions:
|
|
13
|
+
- storage.objects.create
|
|
14
|
+
- storage.objects.update
|
|
15
|
+
relationship_name: CAN_WRITE
|
|
16
|
+
|
|
17
|
+
# Map principals that can delete objects from a GCPBucket.
|
|
18
|
+
- target_label: GCPBucket
|
|
19
|
+
permissions:
|
|
20
|
+
- storage.objects.delete
|
|
21
|
+
relationship_name: CAN_DELETE
|