cartography 0.108.0rc2__py3-none-any.whl → 0.109.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.

Potentially problematic release.


This version of cartography might be problematic. Click here for more details.

Files changed (70) hide show
  1. cartography/_version.py +2 -2
  2. cartography/cli.py +14 -0
  3. cartography/config.py +4 -0
  4. cartography/data/indexes.cypher +0 -17
  5. cartography/data/jobs/cleanup/gcp_compute_vpc_cleanup.json +0 -12
  6. cartography/intel/aws/cloudtrail_management_events.py +57 -3
  7. cartography/intel/aws/ecr.py +55 -80
  8. cartography/intel/aws/eventbridge.py +91 -0
  9. cartography/intel/aws/glue.py +117 -0
  10. cartography/intel/aws/identitycenter.py +71 -23
  11. cartography/intel/aws/kms.py +160 -200
  12. cartography/intel/aws/lambda_function.py +206 -190
  13. cartography/intel/aws/rds.py +243 -458
  14. cartography/intel/aws/resourcegroupstaggingapi.py +77 -18
  15. cartography/intel/aws/resources.py +4 -0
  16. cartography/intel/aws/route53.py +334 -332
  17. cartography/intel/aws/secretsmanager.py +62 -44
  18. cartography/intel/entra/groups.py +29 -1
  19. cartography/intel/gcp/__init__.py +10 -0
  20. cartography/intel/gcp/compute.py +19 -42
  21. cartography/intel/trivy/__init__.py +73 -13
  22. cartography/intel/trivy/scanner.py +115 -92
  23. cartography/models/aws/ecr/__init__.py +0 -0
  24. cartography/models/aws/ecr/image.py +41 -0
  25. cartography/models/aws/ecr/repository.py +72 -0
  26. cartography/models/aws/ecr/repository_image.py +95 -0
  27. cartography/models/aws/eventbridge/__init__.py +0 -0
  28. cartography/models/aws/eventbridge/rule.py +77 -0
  29. cartography/models/aws/glue/__init__.py +0 -0
  30. cartography/models/aws/glue/connection.py +51 -0
  31. cartography/models/aws/identitycenter/awspermissionset.py +44 -0
  32. cartography/models/aws/kms/__init__.py +0 -0
  33. cartography/models/aws/kms/aliases.py +86 -0
  34. cartography/models/aws/kms/grants.py +65 -0
  35. cartography/models/aws/kms/keys.py +88 -0
  36. cartography/models/aws/lambda_function/__init__.py +0 -0
  37. cartography/models/aws/lambda_function/alias.py +74 -0
  38. cartography/models/aws/lambda_function/event_source_mapping.py +88 -0
  39. cartography/models/aws/lambda_function/lambda_function.py +89 -0
  40. cartography/models/aws/lambda_function/layer.py +72 -0
  41. cartography/models/aws/rds/__init__.py +0 -0
  42. cartography/models/aws/rds/cluster.py +89 -0
  43. cartography/models/aws/rds/instance.py +154 -0
  44. cartography/models/aws/rds/snapshot.py +108 -0
  45. cartography/models/aws/rds/subnet_group.py +101 -0
  46. cartography/models/aws/route53/__init__.py +0 -0
  47. cartography/models/aws/route53/dnsrecord.py +214 -0
  48. cartography/models/aws/route53/nameserver.py +63 -0
  49. cartography/models/aws/route53/subzone.py +40 -0
  50. cartography/models/aws/route53/zone.py +47 -0
  51. cartography/models/aws/secretsmanager/secret.py +106 -0
  52. cartography/models/entra/group.py +26 -0
  53. cartography/models/entra/user.py +6 -0
  54. cartography/models/gcp/compute/__init__.py +0 -0
  55. cartography/models/gcp/compute/vpc.py +50 -0
  56. cartography/util.py +8 -1
  57. {cartography-0.108.0rc2.dist-info → cartography-0.109.0.dist-info}/METADATA +2 -2
  58. {cartography-0.108.0rc2.dist-info → cartography-0.109.0.dist-info}/RECORD +62 -38
  59. cartography/data/jobs/cleanup/aws_dns_cleanup.json +0 -65
  60. cartography/data/jobs/cleanup/aws_import_identity_center_cleanup.json +0 -16
  61. cartography/data/jobs/cleanup/aws_import_lambda_cleanup.json +0 -50
  62. cartography/data/jobs/cleanup/aws_import_rds_clusters_cleanup.json +0 -23
  63. cartography/data/jobs/cleanup/aws_import_rds_instances_cleanup.json +0 -47
  64. cartography/data/jobs/cleanup/aws_import_rds_snapshots_cleanup.json +0 -23
  65. cartography/data/jobs/cleanup/aws_import_secrets_cleanup.json +0 -8
  66. cartography/data/jobs/cleanup/aws_kms_details.json +0 -10
  67. {cartography-0.108.0rc2.dist-info → cartography-0.109.0.dist-info}/WHEEL +0 -0
  68. {cartography-0.108.0rc2.dist-info → cartography-0.109.0.dist-info}/entry_points.txt +0 -0
  69. {cartography-0.108.0rc2.dist-info → cartography-0.109.0.dist-info}/licenses/LICENSE +0 -0
  70. {cartography-0.108.0rc2.dist-info → cartography-0.109.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,47 @@
1
+ from dataclasses import dataclass
2
+
3
+ from cartography.models.core.common import PropertyRef
4
+ from cartography.models.core.nodes import CartographyNodeProperties
5
+ from cartography.models.core.nodes import CartographyNodeSchema
6
+ from cartography.models.core.nodes import ExtraNodeLabels
7
+ from cartography.models.core.relationships import CartographyRelProperties
8
+ from cartography.models.core.relationships import CartographyRelSchema
9
+ from cartography.models.core.relationships import LinkDirection
10
+ from cartography.models.core.relationships import make_target_node_matcher
11
+ from cartography.models.core.relationships import TargetNodeMatcher
12
+
13
+
14
+ @dataclass(frozen=True)
15
+ class AWSDNSZoneNodeProperties(CartographyNodeProperties):
16
+ id: PropertyRef = PropertyRef("zoneid")
17
+ zoneid: PropertyRef = PropertyRef("zoneid")
18
+ name: PropertyRef = PropertyRef("name", extra_index=True)
19
+ comment: PropertyRef = PropertyRef("comment")
20
+ privatezone: PropertyRef = PropertyRef("privatezone")
21
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
22
+
23
+
24
+ @dataclass(frozen=True)
25
+ class AWSDNSZoneToAWSAccountRelProperties(CartographyRelProperties):
26
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
27
+
28
+
29
+ @dataclass(frozen=True)
30
+ class AWSDNSZoneToAWSAccountRel(CartographyRelSchema):
31
+ target_node_label: str = "AWSAccount"
32
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
33
+ {"id": PropertyRef("AWS_ID", set_in_kwargs=True)}
34
+ )
35
+ direction: LinkDirection = LinkDirection.INWARD
36
+ rel_label: str = "RESOURCE"
37
+ properties: AWSDNSZoneToAWSAccountRelProperties = (
38
+ AWSDNSZoneToAWSAccountRelProperties()
39
+ )
40
+
41
+
42
+ @dataclass(frozen=True)
43
+ class AWSDNSZoneSchema(CartographyNodeSchema):
44
+ label: str = "AWSDNSZone"
45
+ properties: AWSDNSZoneNodeProperties = AWSDNSZoneNodeProperties()
46
+ extra_node_labels: ExtraNodeLabels = ExtraNodeLabels(["DNSZone"])
47
+ sub_resource_relationship: AWSDNSZoneToAWSAccountRel = AWSDNSZoneToAWSAccountRel()
@@ -0,0 +1,106 @@
1
+ from dataclasses import dataclass
2
+
3
+ from cartography.models.core.common import PropertyRef
4
+ from cartography.models.core.nodes import CartographyNodeProperties
5
+ from cartography.models.core.nodes import CartographyNodeSchema
6
+ from cartography.models.core.relationships import CartographyRelProperties
7
+ from cartography.models.core.relationships import CartographyRelSchema
8
+ from cartography.models.core.relationships import LinkDirection
9
+ from cartography.models.core.relationships import make_target_node_matcher
10
+ from cartography.models.core.relationships import OtherRelationships
11
+ from cartography.models.core.relationships import TargetNodeMatcher
12
+
13
+
14
+ @dataclass(frozen=True)
15
+ class SecretsManagerSecretNodeProperties(CartographyNodeProperties):
16
+ """
17
+ Properties for AWS Secrets Manager Secret
18
+ """
19
+
20
+ id: PropertyRef = PropertyRef("ARN")
21
+ arn: PropertyRef = PropertyRef("ARN", extra_index=True)
22
+ name: PropertyRef = PropertyRef("Name", extra_index=True)
23
+ description: PropertyRef = PropertyRef("Description")
24
+
25
+ # Rotation properties
26
+ rotation_enabled: PropertyRef = PropertyRef("RotationEnabled")
27
+ rotation_lambda_arn: PropertyRef = PropertyRef("RotationLambdaARN")
28
+ rotation_rules_automatically_after_days: PropertyRef = PropertyRef(
29
+ "RotationRulesAutomaticallyAfterDays"
30
+ )
31
+
32
+ # Date properties (will be converted to epoch timestamps)
33
+ created_date: PropertyRef = PropertyRef("CreatedDate")
34
+ last_rotated_date: PropertyRef = PropertyRef("LastRotatedDate")
35
+ last_changed_date: PropertyRef = PropertyRef("LastChangedDate")
36
+ last_accessed_date: PropertyRef = PropertyRef("LastAccessedDate")
37
+ deleted_date: PropertyRef = PropertyRef("DeletedDate")
38
+
39
+ # Other properties
40
+ kms_key_id: PropertyRef = PropertyRef("KmsKeyId")
41
+ owning_service: PropertyRef = PropertyRef("OwningService")
42
+ primary_region: PropertyRef = PropertyRef("PrimaryRegion")
43
+
44
+ # Standard cartography properties
45
+ region: PropertyRef = PropertyRef("Region", set_in_kwargs=True)
46
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
47
+
48
+
49
+ @dataclass(frozen=True)
50
+ class SecretsManagerSecretRelProperties(CartographyRelProperties):
51
+ """
52
+ Properties for relationships between Secret and other nodes
53
+ """
54
+
55
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
56
+
57
+
58
+ @dataclass(frozen=True)
59
+ class SecretsManagerSecretToAWSAccountRel(CartographyRelSchema):
60
+ """
61
+ Relationship between Secret and AWS Account
62
+ """
63
+
64
+ target_node_label: str = "AWSAccount"
65
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
66
+ {"id": PropertyRef("AWS_ID", set_in_kwargs=True)},
67
+ )
68
+ direction: LinkDirection = LinkDirection.INWARD
69
+ rel_label: str = "RESOURCE"
70
+ properties: SecretsManagerSecretRelProperties = SecretsManagerSecretRelProperties()
71
+
72
+
73
+ @dataclass(frozen=True)
74
+ class SecretsManagerSecretToKMSKeyRel(CartographyRelSchema):
75
+ """
76
+ Relationship between Secret and its KMS key
77
+ Only created when KmsKeyId is present
78
+ """
79
+
80
+ target_node_label: str = "AWSKMSKey"
81
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
82
+ {"id": PropertyRef("KmsKeyId")},
83
+ )
84
+ direction: LinkDirection = LinkDirection.OUTWARD
85
+ rel_label: str = "ENCRYPTED_BY"
86
+ properties: SecretsManagerSecretRelProperties = SecretsManagerSecretRelProperties()
87
+
88
+
89
+ @dataclass(frozen=True)
90
+ class SecretsManagerSecretSchema(CartographyNodeSchema):
91
+ """
92
+ Schema for AWS Secrets Manager Secret
93
+ """
94
+
95
+ label: str = "SecretsManagerSecret"
96
+ properties: SecretsManagerSecretNodeProperties = (
97
+ SecretsManagerSecretNodeProperties()
98
+ )
99
+ sub_resource_relationship: SecretsManagerSecretToAWSAccountRel = (
100
+ SecretsManagerSecretToAWSAccountRel()
101
+ )
102
+ other_relationships: OtherRelationships = OtherRelationships(
103
+ [
104
+ SecretsManagerSecretToKMSKeyRel(),
105
+ ],
106
+ )
@@ -3,6 +3,7 @@ from dataclasses import dataclass
3
3
  from cartography.models.core.common import PropertyRef
4
4
  from cartography.models.core.nodes import CartographyNodeProperties
5
5
  from cartography.models.core.nodes import CartographyNodeSchema
6
+ from cartography.models.core.nodes import ExtraNodeLabels
6
7
  from cartography.models.core.relationships import CartographyRelProperties
7
8
  from cartography.models.core.relationships import CartographyRelSchema
8
9
  from cartography.models.core.relationships import LinkDirection
@@ -78,6 +79,25 @@ class EntraGroupToGroupRel(CartographyRelSchema):
78
79
  properties: EntraGroupToGroupRelProperties = EntraGroupToGroupRelProperties()
79
80
 
80
81
 
82
+ @dataclass(frozen=True)
83
+ class EntraGroupToOwnerRelProperties(CartographyRelProperties):
84
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
85
+
86
+
87
+ @dataclass(frozen=True)
88
+ # (:EntraGroup)<-[:OWNER_OF]-(:EntraUser)
89
+ class EntraGroupToOwnerRel(CartographyRelSchema):
90
+ # EntraUsers and Entra service principals can be owners of a group, so we match on the general label
91
+ # Because id is indexed, this should be fast even though EntraIdentity will also include EntraGroups
92
+ target_node_label: str = "EntraIdentity"
93
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
94
+ {"id": PropertyRef("owner_ids", one_to_many=True)}
95
+ )
96
+ direction: LinkDirection = LinkDirection.INWARD
97
+ rel_label: str = "OWNER_OF"
98
+ properties: EntraGroupToOwnerRelProperties = EntraGroupToOwnerRelProperties()
99
+
100
+
81
101
  @dataclass(frozen=True)
82
102
  class EntraGroupSchema(CartographyNodeSchema):
83
103
  label: str = "EntraGroup"
@@ -87,5 +107,11 @@ class EntraGroupSchema(CartographyNodeSchema):
87
107
  [
88
108
  EntraGroupToGroupRel(),
89
109
  EntraGroupToUserRel(),
110
+ EntraGroupToOwnerRel(),
111
+ ]
112
+ )
113
+ extra_node_labels: ExtraNodeLabels = ExtraNodeLabels(
114
+ [
115
+ "EntraIdentity",
90
116
  ]
91
117
  )
@@ -3,6 +3,7 @@ from dataclasses import dataclass
3
3
  from cartography.models.core.common import PropertyRef
4
4
  from cartography.models.core.nodes import CartographyNodeProperties
5
5
  from cartography.models.core.nodes import CartographyNodeSchema
6
+ from cartography.models.core.nodes import ExtraNodeLabels
6
7
  from cartography.models.core.relationships import CartographyRelProperties
7
8
  from cartography.models.core.relationships import CartographyRelSchema
8
9
  from cartography.models.core.relationships import LinkDirection
@@ -63,3 +64,8 @@ class EntraUserSchema(CartographyNodeSchema):
63
64
  label: str = "EntraUser"
64
65
  properties: EntraUserNodeProperties = EntraUserNodeProperties()
65
66
  sub_resource_relationship: EntraUserToTenantRel = EntraUserToTenantRel()
67
+ extra_node_labels: ExtraNodeLabels = ExtraNodeLabels(
68
+ [
69
+ "EntraIdentity",
70
+ ]
71
+ )
File without changes
@@ -0,0 +1,50 @@
1
+ from dataclasses import dataclass
2
+
3
+ from cartography.models.core.common import PropertyRef
4
+ from cartography.models.core.nodes import CartographyNodeProperties
5
+ from cartography.models.core.nodes import CartographyNodeSchema
6
+ from cartography.models.core.relationships import CartographyRelProperties
7
+ from cartography.models.core.relationships import CartographyRelSchema
8
+ from cartography.models.core.relationships import LinkDirection
9
+ from cartography.models.core.relationships import make_target_node_matcher
10
+ from cartography.models.core.relationships import TargetNodeMatcher
11
+
12
+
13
+ @dataclass(frozen=True)
14
+ class GCPVpcNodeProperties(CartographyNodeProperties):
15
+ id: PropertyRef = PropertyRef("partial_uri", extra_index=True)
16
+ lastupdated: PropertyRef = PropertyRef("LASTUPDATED", set_in_kwargs=True)
17
+ partial_uri: PropertyRef = PropertyRef("partial_uri")
18
+ self_link: PropertyRef = PropertyRef("self_link")
19
+ name: PropertyRef = PropertyRef("name", extra_index=True)
20
+ project_id: PropertyRef = PropertyRef("PROJECT_ID", set_in_kwargs=True)
21
+ auto_create_subnetworks: PropertyRef = PropertyRef("auto_create_subnetworks")
22
+ routing_config_routing_mode: PropertyRef = PropertyRef(
23
+ "routing_config_routing_mode"
24
+ )
25
+ description: PropertyRef = PropertyRef("description")
26
+
27
+
28
+ @dataclass(frozen=True)
29
+ class GCPVpcToProjectRelProperties(CartographyRelProperties):
30
+ lastupdated: PropertyRef = PropertyRef("LASTUPDATED", set_in_kwargs=True)
31
+
32
+
33
+ @dataclass(frozen=True)
34
+ class GCPVpcToProjectRel(CartographyRelSchema):
35
+ target_node_label: str = "GCPProject"
36
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
37
+ {
38
+ "id": PropertyRef("PROJECT_ID", set_in_kwargs=True),
39
+ }
40
+ )
41
+ direction: LinkDirection = LinkDirection.INWARD
42
+ rel_label: str = "RESOURCE"
43
+ properties: GCPVpcToProjectRelProperties = GCPVpcToProjectRelProperties()
44
+
45
+
46
+ @dataclass(frozen=True)
47
+ class GCPVpcSchema(CartographyNodeSchema):
48
+ label: str = "GCPVpc"
49
+ properties: GCPVpcNodeProperties = GCPVpcNodeProperties()
50
+ sub_resource_relationship: GCPVpcToProjectRel = GCPVpcToProjectRel()
cartography/util.py CHANGED
@@ -291,9 +291,16 @@ def aws_handle_regions(func: AWSGetFunc) -> AWSGetFunc:
291
291
  try:
292
292
  return func(*args, **kwargs)
293
293
  except botocore.exceptions.ClientError as e:
294
+ error_code = e.response.get("Error", {}).get("Code")
295
+ if error_code == "InvalidToken":
296
+ raise RuntimeError(
297
+ "AWS returned an InvalidToken error. Configure regional STS endpoints by "
298
+ "setting environment variable AWS_STS_REGIONAL_ENDPOINTS=regional or adding "
299
+ "'sts_regional_endpoints = regional' to your AWS config file."
300
+ ) from e
294
301
  # The account is not authorized to use this service in this region
295
302
  # so we can continue without raising an exception
296
- if e.response["Error"]["Code"] in ERROR_CODES:
303
+ if error_code in ERROR_CODES:
297
304
  logger.warning(
298
305
  "{} in this region. Skipping...".format(
299
306
  e.response["Error"]["Message"],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cartography
3
- Version: 0.108.0rc2
3
+ Version: 0.109.0
4
4
  Summary: Explore assets and their relationships across your technical infrastructure.
5
5
  Maintainer: Cartography Contributors
6
6
  License: apache2
@@ -82,7 +82,7 @@ You can learn more about the story behind Cartography in our [presentation at BS
82
82
 
83
83
  ## Supported platforms
84
84
  - [Airbyte](https://cartography-cncf.github.io/cartography/modules/airbyte/index.html) - Organization, Workspace, User, Source, Destination, Connection, Tag, Stream
85
- - [Amazon Web Services](https://cartography-cncf.github.io/cartography/modules/aws/index.html) - ACM, API Gateway, CloudWatch, CodeBuild, Config, EC2, ECS, ECR, Elasticsearch, Elastic Kubernetes Service (EKS), DynamoDB, GuardDuty, IAM, Inspector, KMS, Lambda, RDS, Redshift, Route53, S3, Secrets Manager(Secret Versions), Security Hub, SQS, SSM, STS, Tags
85
+ - [Amazon Web Services](https://cartography-cncf.github.io/cartography/modules/aws/index.html) - ACM, API Gateway, CloudWatch, CodeBuild, Config, EC2, ECS, ECR, EFS, Elasticsearch, Elastic Kubernetes Service (EKS), DynamoDB, Glue, GuardDuty, IAM, Inspector, KMS, Lambda, RDS, Redshift, Route53, S3, Secrets Manager(Secret Versions), Security Hub, SNS, SQS, SSM, STS, Tags
86
86
  - [Anthropic](https://cartography-cncf.github.io/cartography/modules/anthropic/index.html) - Organization, ApiKey, User, Workspace
87
87
  - [BigFix](https://cartography-cncf.github.io/cartography/modules/bigfix/index.html) - Computers
88
88
  - [Cloudflare](https://cartography-cncf.github.io/cartography/modules/cloudflare/index.html) - Account, Role, Member, Zone, DNSRecord
@@ -1,12 +1,12 @@
1
1
  cartography/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  cartography/__main__.py,sha256=y5iqUrj4BmqZfjeDT-9balzpXeMARgHeIedRMRI1gr8,100
3
- cartography/_version.py,sha256=-jKkLBIUcqBMjSG7IeuKsEuUS2MiMWFfQ_YKmiQ1zTE,525
4
- cartography/cli.py,sha256=qOu3nSIKWsuDbuPe5XrKBoAArFQKZP8jSjK8OtI69_E,46595
5
- cartography/config.py,sha256=q-fVcWJH9ida_cAII9RcOT0FUpFFify7W6NMvmC3kGk,16873
3
+ cartography/_version.py,sha256=hHia78kKoLzFG8dynV8idf1KH_PbGGeeQ6h1BjE4Qzw,515
4
+ cartography/cli.py,sha256=iw_Rhs4ztquxD_BaneRNOZDuwBzANq9zImBteB3shXI,47085
5
+ cartography/config.py,sha256=CUp5Klxr8enNLFttqlo67le6Z4mXTzzEb5nYiE-pGs0,17076
6
6
  cartography/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  cartography/stats.py,sha256=N95prYlSzY8U52VFgKIDgOWOawu5Mig4N7GcVp3binQ,4420
8
8
  cartography/sync.py,sha256=-WsU6tGUKpfxPRndm1QU_0HQyE20Q7fexQWRHWFrnQI,13867
9
- cartography/util.py,sha256=YYynw4hblAf7xglGzS7vuHTJXxf7u4WjAiLVM4MiOLU,15535
9
+ cartography/util.py,sha256=DTFfVRN1cv3msm2heIjFkpH3NBJs00IolwzuUcJiDHo,15965
10
10
  cartography/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  cartography/client/aws/__init__.py,sha256=Zj7nX21QQELwPLZlpldm_22IiXZ1VFsEFQbWX_e4okU,558
12
12
  cartography/client/aws/ecr.py,sha256=04IXnuEAauyO5Mx9Wmt79WdUnYDhYsk2QSOnwE5_BeM,1664
@@ -14,7 +14,7 @@ cartography/client/aws/iam.py,sha256=dYsGikc36DEsSeR2XVOVFFUDwuU9yWj_EVkpgVYCFgM
14
14
  cartography/client/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  cartography/client/core/tx.py,sha256=Xx6_a5u7PE5pyREuBL_J39ORcafqieFf4KdosaEv1c4,13530
16
16
  cartography/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- cartography/data/indexes.cypher,sha256=QW6YFuxki0wkZKjHZ_AvETXPs2bxHK_mEw5oRZY-0lY,23578
17
+ cartography/data/indexes.cypher,sha256=R1UiBIAYqWGyZmwL0EPaaVWM2P64KKClSj0xPDF715s,22472
18
18
  cartography/data/permission_relationships.yaml,sha256=RuKGGc_3ZUQ7ag0MssB8k_zaonCkVM5E8I_svBWTmGc,969
19
19
  cartography/data/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  cartography/data/jobs/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -30,7 +30,6 @@ cartography/data/jobs/analysis/gcp_gke_basic_auth.json,sha256=qLkrw1eZvV9ETtkIQN
30
30
  cartography/data/jobs/analysis/gsuite_human_link.json,sha256=ArWA51fNIeeXwYiroJbKnuqN8y-TLrndOq0ZdC9q5os,541
31
31
  cartography/data/jobs/cleanup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  cartography/data/jobs/cleanup/aws_account_cleanup.json,sha256=DEB4h6Z4NSpYaLXECPhNk8HHbT0XNlqUA01pXIskBxc,473
33
- cartography/data/jobs/cleanup/aws_dns_cleanup.json,sha256=H5uMZV4tN6HcjTYwh2I1dENzNGqu2D2Rs2q-5CK5e0Y,3498
34
33
  cartography/data/jobs/cleanup/aws_import_account_access_key_cleanup.json,sha256=UCrAXf-8yQIoUa843VLLTpqrSpNa753c1cxzg32oqU0,737
35
34
  cartography/data/jobs/cleanup/aws_import_config_cleanup.json,sha256=VCAJjEnFcQUR16VxKdpsOkBJEnhMuLk-7Kgm_p9k1NM,754
36
35
  cartography/data/jobs/cleanup/aws_import_ec2_launch_configurations_cleanup.json,sha256=x9IIzb9Sr1353ygkA-qqUUbZS9XO2v3GzUHe-0J4Pw8,281
@@ -42,21 +41,15 @@ cartography/data/jobs/cleanup/aws_import_es_cleanup.json,sha256=VqRqiMcT0Ag0Qif2
42
41
  cartography/data/jobs/cleanup/aws_import_groups_cleanup.json,sha256=QSdWIpC_Ru4TFBm9I5mpI-ZHyusbzCzCePWN-yn8TQU,463
43
42
  cartography/data/jobs/cleanup/aws_import_groups_membership_cleanup.json,sha256=OSeasbv01pn47J1ib3yal_dAzbEOCZVJnldMqK0SAOQ,292
44
43
  cartography/data/jobs/cleanup/aws_import_groups_policy_cleanup.json,sha256=U_yKHAsjHoI9fiiTqGyhlMazgeZumlZwMO70CpJpuAM,309
45
- cartography/data/jobs/cleanup/aws_import_identity_center_cleanup.json,sha256=PSyerOlZkiLaWYFa3Hg1mqqX83FGwj36-p0BF1lR-Q8,650
46
44
  cartography/data/jobs/cleanup/aws_import_internet_gateways_cleanup.json,sha256=SHHrR9pX0V1r-RxwJggHGeFA7JVQAAK02D-n-vqOvdU,287
47
45
  cartography/data/jobs/cleanup/aws_import_kms_cleanup.json,sha256=NU9doXVk4UmAY59aYnld95Wc1b8DrfCbvJltUsATxko,1441
48
- cartography/data/jobs/cleanup/aws_import_lambda_cleanup.json,sha256=h219-cmOY19RjcGZiecM21HS52hw4S5EXFVAxIpyyTw,2267
49
46
  cartography/data/jobs/cleanup/aws_import_principals_cleanup.json,sha256=yrI1FISGTlgaUZXFSj7XUCNzRoLqkcavLur4Lw4zSmU,1363
50
- cartography/data/jobs/cleanup/aws_import_rds_clusters_cleanup.json,sha256=aHpM8qvN7TNTUJMQjOlv5-lxz0BzJl-tKIj_m5i_uqc,1166
51
- cartography/data/jobs/cleanup/aws_import_rds_instances_cleanup.json,sha256=vmulpaxqqzBYSTtS6lYzbm55ksYjCab3UeRI0l13ktY,2733
52
- cartography/data/jobs/cleanup/aws_import_rds_snapshots_cleanup.json,sha256=ckOaVSBL-7XLjc0_0sGKNWXj61oVQabj7ZEYG89HnfA,1171
53
47
  cartography/data/jobs/cleanup/aws_import_redshift_clusters_cleanup.json,sha256=TNQ93Z7pPchdBAp3WiuoZMeDWdr_WQ139HiDPl32WhE,1963
54
48
  cartography/data/jobs/cleanup/aws_import_reserved_instances_cleanup.json,sha256=P98o_cdNpso732eE-FjK4UYMp__--ZuedmiA3aXeQig,524
55
49
  cartography/data/jobs/cleanup/aws_import_roles_cleanup.json,sha256=z6M8to_4TcOx4TKVbtfu86gRQgbDfVlJmRn3voNXbaI,500
56
50
  cartography/data/jobs/cleanup/aws_import_roles_policy_cleanup.json,sha256=qssEDBXg5yVaOLg2lpsrnPTHBfW7ERD9BMeciTm22oM,307
57
51
  cartography/data/jobs/cleanup/aws_import_s3_acl_cleanup.json,sha256=AmQDF8VZwXLtZ9cYe4xB7uY-VA3BMhc1YUS8HJKZ2q4,533
58
52
  cartography/data/jobs/cleanup/aws_import_s3_buckets_cleanup.json,sha256=zF_TRTZGorQO6SIXryO3qAUVWM8We2fBABuTS3rflQU,756
59
- cartography/data/jobs/cleanup/aws_import_secrets_cleanup.json,sha256=ehQJQSoWmDths9FjhBJZA3SndlvmzWjzrUaKxmz-2PY,283
60
53
  cartography/data/jobs/cleanup/aws_import_securityhub_cleanup.json,sha256=WO6OrIFr6tqbRtF0bG_JwVp4ofnnsHciJISnDBZkZxU,266
61
54
  cartography/data/jobs/cleanup/aws_import_sqs_queues_cleanup.json,sha256=Mla8y-CWaQdPJO9IDmWDz_zCAuclcJ4GRhlAlYVj_qw,629
62
55
  cartography/data/jobs/cleanup/aws_import_tags_cleanup.json,sha256=mVOmhpoeHYItYQFATlTTeBhUt2GipAliRhh69zQcHok,7360
@@ -68,7 +61,6 @@ cartography/data/jobs/cleanup/aws_ingest_ec2_auto_scaling_groups_cleanup.json,sh
68
61
  cartography/data/jobs/cleanup/aws_ingest_load_balancers_cleanup.json,sha256=1vidNCrITt-_bxw5lsSzyqGsuyWiNhI6-bnuv5lMvRI,1729
69
62
  cartography/data/jobs/cleanup/aws_ingest_load_balancers_v2_cleanup.json,sha256=kIMc5YTkWDOLdHCOAHPb7Q8Oz9pP6GzGO9gjBo0ZhR0,1596
70
63
  cartography/data/jobs/cleanup/aws_ingest_subnets_cleanup.json,sha256=HtTXrA50PzBJ6LFnKZkO4hnnKxKqF6xUwqUrtFrp29Y,527
71
- cartography/data/jobs/cleanup/aws_kms_details.json,sha256=awluz0DhiAcdABiTYL9M8EUQz2FAuXVpu8lICRpTEnU,319
72
64
  cartography/data/jobs/cleanup/aws_post_ingestion_principals_cleanup.json,sha256=h3A6jNk7DGLFq6ob06-V9qzuYN-CltyHq_r2Gj8DqCI,266
73
65
  cartography/data/jobs/cleanup/aws_s3_details.json,sha256=-GEnBicRjLBNEDS2k2MzE2PUFbQ5WmxXUbYeVTvlJzQ,316
74
66
  cartography/data/jobs/cleanup/azure_cosmosdb_cassandra_keyspace_cleanup.json,sha256=_WIFvR-OGvG2q163NKsNXPqbDATz7rv7FLUTlWtnvK4,1358
@@ -90,7 +82,7 @@ cartography/data/jobs/cleanup/digitalocean_project_cleanup.json,sha256=5mo9vPshC
90
82
  cartography/data/jobs/cleanup/gcp_compute_firewall_cleanup.json,sha256=FVNJ8EPaPhmQ_sh4vyTdMyEgs6Y-DIoFTdWJaELgz44,1904
91
83
  cartography/data/jobs/cleanup/gcp_compute_forwarding_rules_cleanup.json,sha256=1xP5eTaHkAuVIRU5fHAOIv2tG90rdl2sFpIm-1Yv39E,992
92
84
  cartography/data/jobs/cleanup/gcp_compute_instance_cleanup.json,sha256=i_Ni3HfuralAWxePLVAv09DNWwTl6_8l6q7HnlPO254,2774
93
- cartography/data/jobs/cleanup/gcp_compute_vpc_cleanup.json,sha256=Rvh6sKun9fYKU6-EYp3f28o3kv_BfsXBCkOE5gPGk5w,931
85
+ cartography/data/jobs/cleanup/gcp_compute_vpc_cleanup.json,sha256=MipVxpRuzsYt2F1-ioZxGg94MsL8yK6ciULjEtMWG1Y,355
94
86
  cartography/data/jobs/cleanup/gcp_compute_vpc_subnet_cleanup.json,sha256=4OhOBCSAbaED-HdKTCcaYyYjyq4HCRIR05qYy4ZdI2c,1610
95
87
  cartography/data/jobs/cleanup/gcp_crm_folder_cleanup.json,sha256=hjEcSzG775un37uPBGz3FWm6nSQPQx9glWvGi1DrRN8,950
96
88
  cartography/data/jobs/cleanup/gcp_crm_organization_cleanup.json,sha256=Jftx00zgZRBwnCRWF7oie9ZQnydshN0qnGx0HXnraxc,613
@@ -155,35 +147,37 @@ cartography/intel/aws/__init__.py,sha256=lgu0kxERg_dJGuktEDU0ImpHuNGHJharoLEpirK
155
147
  cartography/intel/aws/acm.py,sha256=a_i2pYPpocjlL8itwlcrmg8KrSLfjcmrkhcrPP-Omj8,3827
156
148
  cartography/intel/aws/apigateway.py,sha256=hOYVSY70DbrEfhi9gkX7PAMtg9WiPE0Pbp2wqGes7Vs,12198
157
149
  cartography/intel/aws/cloudtrail.py,sha256=LCqf3pQMiMY4h1Wehb_OjwXst2fMIEnNOD8HbXsK4X4,2753
158
- cartography/intel/aws/cloudtrail_management_events.py,sha256=cNVJkjenr4J9Cec8PGykdEFDcJaK2wmKPv7yiQC5Cd0,33792
150
+ cartography/intel/aws/cloudtrail_management_events.py,sha256=z5VZH1wQvl_ROG1sB9ZPdH4uexp-BKrI-WdEkhQKbkQ,35751
159
151
  cartography/intel/aws/cloudwatch.py,sha256=bBPlx5W15nun-jhYs-UAZQpo9Qm7FcBs4gBQevTqmi4,7246
160
152
  cartography/intel/aws/codebuild.py,sha256=8I-Xzm_c5-ixnGOOHIQLYYpClnaGjjHrEMjQ0-DGsgM,3958
161
153
  cartography/intel/aws/config.py,sha256=IIICicLQ0OTT3H3o8LDakIkA1BPUMwSyzpKonet-PaY,7658
162
154
  cartography/intel/aws/dynamodb.py,sha256=VvvjeUgi1ZrqY9flXIQnfhhaSVSEqXXHW6T9917VLBk,5728
163
- cartography/intel/aws/ecr.py,sha256=7a9EHZru6AUIGE_6MJ4h4_ZmrvBxsXaerCHtGr59lJ0,8393
155
+ cartography/intel/aws/ecr.py,sha256=_caYJexDxTzYMzyJ3oJwEOuEQJKjwEuH-5PHOejt7Ec,7131
164
156
  cartography/intel/aws/ecs.py,sha256=h5Nn09MzqPftbXV46jybjsxnYVYW1Vit41kCkaFIq_4,14105
165
157
  cartography/intel/aws/efs.py,sha256=6ZvFmVHLfZlyo8xx2dlRsC1IoVOpBOtsij_AdFczkDo,7884
166
158
  cartography/intel/aws/eks.py,sha256=bPItyEj5q0nSDltJrr0S5MIrTPV0fK3xkqF6EV8fcqA,3759
167
159
  cartography/intel/aws/elasticache.py,sha256=ePTi-49Lbw94L6m7id5dUk1cG6FZRizFxojxKZBk8XY,5552
168
160
  cartography/intel/aws/elasticsearch.py,sha256=8X_Rp1zejkvXho0Zz_Cr4g-w9IpompdYRc-YS595Aso,8645
169
161
  cartography/intel/aws/emr.py,sha256=EJoKjHQP7-F_A1trUNU05Sb42yNR1i0C9VIpGcCfAXw,3662
162
+ cartography/intel/aws/eventbridge.py,sha256=XmF8Wfigbu94HOmpVR2w-fujpHjJi8HqJoBJ8wOZI0o,2285
163
+ cartography/intel/aws/glue.py,sha256=-AQh1PIbWzi7y-uZbx2yaHnrEpMsENSBX-pGUFqc6xQ,3349
170
164
  cartography/intel/aws/guardduty.py,sha256=QpwWisz3TzbOxkRKNjByk4WWDCCMXr8jgNOgOdjQM5g,8532
171
165
  cartography/intel/aws/iam.py,sha256=bkyIzWw2OC4MHxuoCvTiZ5eEGEQhz2asiUgY_tkX2GY,34322
172
166
  cartography/intel/aws/iam_instance_profiles.py,sha256=QUyu30xid60BFaemp-q0y9FgNsHaIQyQnQ8gHUzWC4k,2211
173
- cartography/intel/aws/identitycenter.py,sha256=C2EOfwQO1zBjePAXtreUcJIy7RU__ior3liRT4SpGO8,9544
167
+ cartography/intel/aws/identitycenter.py,sha256=Q1k1BuBmtA85s5tHGS7lvgGxQ-H-piIyiWgyevFL92U,11161
174
168
  cartography/intel/aws/inspector.py,sha256=G8a60uuFCuENvR2DNJ9VmWEJwG9UDENaC1buULvuSZc,12415
175
- cartography/intel/aws/kms.py,sha256=RtCxNG-Den-f4Il-NO3YL_-BFUmg1qFt4lNucue9SQM,12130
176
- cartography/intel/aws/lambda_function.py,sha256=cutCsMnvyJB8vKUP0fHORrhijw944cXSoLKOHYdi6SM,10389
169
+ cartography/intel/aws/kms.py,sha256=cnWZtzI7hsaXAt4CpdddAVDqaPZvtoXCoJIdqapHAbA,10754
170
+ cartography/intel/aws/lambda_function.py,sha256=3hpgqI1HOeywcP3xV-OcoCOxfyyqfyMaYeb46xdf8B4,9585
177
171
  cartography/intel/aws/organizations.py,sha256=m5qk60N6pe7iKLN-Rtfg9aYv7OozoloSkcsuePd-RGs,4680
178
172
  cartography/intel/aws/permission_relationships.py,sha256=LTmnHS6zk9hcdL548V5ka3Ey-6NsFjy1JYZTfRyB9Ys,15647
179
- cartography/intel/aws/rds.py,sha256=9TQsoUQAJXj3x7laqJp06N9TQIN9ARyRiImBW9lQKOI,26574
173
+ cartography/intel/aws/rds.py,sha256=are2LsWe8tM4UkCaGVnXS7F-ZVawklpc9h4lsM-fpGY,16173
180
174
  cartography/intel/aws/redshift.py,sha256=FGcCzcnm1OOrbJvLqtR1DwWVn1pt4Y6_eKkTUERT7Ws,7108
181
- cartography/intel/aws/resourcegroupstaggingapi.py,sha256=CebHaVLh8cr4CDYz54p5MGANPuE5Ni-_nFC78Znh4uU,10807
182
- cartography/intel/aws/resources.py,sha256=rr5TB5QiOymjoTR7Lr09HbdnCgycMGq52mC4CP7MhQo,4238
183
- cartography/intel/aws/route53.py,sha256=-AZDD4zVR5pQ_c1bx87UZuzbC0mDiI-YS_8llFMZkwI,14424
175
+ cartography/intel/aws/resourcegroupstaggingapi.py,sha256=TkMlUKLrRBWAyeUu-cHKce7TFkwBnWV_Im8DONgnLGU,12852
176
+ cartography/intel/aws/resources.py,sha256=7jTNcbbodPPrvJrnulgu3KfHCIk692saxfLW1AAXPM8,4343
177
+ cartography/intel/aws/route53.py,sha256=27ocRlNnxiXi7M7eYLUCVBNwaLyArX4CAExoOBxGl3Y,14294
184
178
  cartography/intel/aws/s3.py,sha256=Da_5NYvQ7MN1AIN7CK9XXlVZo0fPdNHkqBZY1JWnHH4,33598
185
179
  cartography/intel/aws/s3accountpublicaccessblock.py,sha256=XkqHnbj9ODRcc7Rbl4swi03qvw_T-7Bnx3BHpTmlxio,4688
186
- cartography/intel/aws/secretsmanager.py,sha256=TelS5Th0Yooj-cv243VHWu-xEadhfyP9x7B1sjPWDIM,7606
180
+ cartography/intel/aws/secretsmanager.py,sha256=xM6znqD0cKNJbAhO2Zg3svyO7YUOqPFbunhODAVXMgw,7777
187
181
  cartography/intel/aws/securityhub.py,sha256=oR808vrEAHsHH79u8hf-hkVTBcdNd6ZObCeNGD_xnSo,2324
188
182
  cartography/intel/aws/sns.py,sha256=UlBvYzEjjXDgxN_dihqRatIcAt-NivNp_YsZPasVuT4,6377
189
183
  cartography/intel/aws/sqs.py,sha256=RUR8chO1oU5esZbHzKyhOO4L7LXmH78G6kGGtUCqB5Q,4096
@@ -250,11 +244,11 @@ cartography/intel/duo/users.py,sha256=e2eK716wVlO71O9Q9KrWZot2cHjHZ7KgC9ZW27pCDa
250
244
  cartography/intel/duo/web_authn_credentials.py,sha256=mLWXdBe4V6fHCFotmtJmwhTSoOY6Hx87D3zI3hlL2nc,2656
251
245
  cartography/intel/entra/__init__.py,sha256=c4zkMFKRem8aRDUqjAvcNw8UwBvAv24Xq8yednlhAjU,2331
252
246
  cartography/intel/entra/applications.py,sha256=RAvUxk_hwsKbf64ohhg3f-QuTzsT7zb8q13d9nQuyqg,13625
253
- cartography/intel/entra/groups.py,sha256=PiXW28jWv1zoAYsTy_6ntAUDdQWdO2-AZvH5BfGytvg,5026
247
+ cartography/intel/entra/groups.py,sha256=dENox8CUU_ngHkH0dDgzhH7mBthEovE6Trw6TyNAfGo,5994
254
248
  cartography/intel/entra/ou.py,sha256=iv5UgRcPIaUZ8DdveKTmMkz0thEPYichpL9XntbHiPo,3803
255
249
  cartography/intel/entra/users.py,sha256=LiQuvpzPefRWvW1o07l-8TYrr6sUmpiYFli_4ROKJEw,8491
256
- cartography/intel/gcp/__init__.py,sha256=PtzheGqf2otRVmDe3Ai1n6JFq3_OtS2hmJrRfj8_BnQ,18896
257
- cartography/intel/gcp/compute.py,sha256=BShmgIhv_9E4rYfDe2ER3XIWZmU1NJIyZWIAvZY0uh0,49805
250
+ cartography/intel/gcp/__init__.py,sha256=K8UOJmrhmG6b3ULJQVmOM4UC-v0KyKMKmhR_07_O41M,19421
251
+ cartography/intel/gcp/compute.py,sha256=id8B8RqrfyfRITD57KPh4zIHmjrQFSwtH4aNq3XHB2A,48897
258
252
  cartography/intel/gcp/crm.py,sha256=BoVBKthjviOD7WSGhXdKtBhrk4TR9qTxMQX6xsmEedw,12682
259
253
  cartography/intel/gcp/dns.py,sha256=motkUXZLO30FEemqdffWuZA1Y1DLv0lGOgUqOi6ep4c,8157
260
254
  cartography/intel/gcp/gke.py,sha256=2-lhTzFEh-gAQ756Sr0kZZJY5_zcFWPS7_p0EVNzuR8,8326
@@ -345,8 +339,8 @@ cartography/intel/tailscale/postureintegrations.py,sha256=C75HPfJkWHqlcXjk81YYcS
345
339
  cartography/intel/tailscale/tailnets.py,sha256=Ooc4XSOArWWFJoKykJDrk_tm2OKK1BHwfK_KEhckPp4,1679
346
340
  cartography/intel/tailscale/users.py,sha256=kjHAdIVGUwx28RRQ0KwLsdsZT9L-HlfwTph9dis7grc,1820
347
341
  cartography/intel/tailscale/utils.py,sha256=Xhwcb_31LWQy4MhoFWre_fX8gvddFVt13jjk5p0TPH4,4828
348
- cartography/intel/trivy/__init__.py,sha256=hYroW2ewXRiTPYC7QqxFBaakUgk6j7U66bCSh8cgrGY,5277
349
- cartography/intel/trivy/scanner.py,sha256=u9b5ORpVXaqR6owO6QXjNh9Nz1Vx1nn-rsYfcyrSlx8,12021
342
+ cartography/intel/trivy/__init__.py,sha256=cIWQfCVjl0EKtlod8dzLu543TPrr2XYecmY54TlMioU,7338
343
+ cartography/intel/trivy/scanner.py,sha256=gmWXtBxc_t4iiWp_OrgUkjR8aCZRbGKPAjida2gn58s,12895
350
344
  cartography/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
351
345
  cartography/models/airbyte/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
352
346
  cartography/models/airbyte/connection.py,sha256=_tQSLqOwSU5tplBmLj331Knrv3n_czcvWWWHKpFuirg,5401
@@ -412,6 +406,10 @@ cartography/models/aws/ec2/subnet_instance.py,sha256=6bgrWbFcCjBIjqd_6lcKv6rWyll
412
406
  cartography/models/aws/ec2/subnet_networkinterface.py,sha256=B60S1YvEopVWNlRL5W-hMby3-P06uaNcC_8oOLoRGik,3872
413
407
  cartography/models/aws/ec2/subnets.py,sha256=BtlFgf03IaD9XFesv5uzHBCm6xr71LT435m9t4MHkY8,2915
414
408
  cartography/models/aws/ec2/volumes.py,sha256=spAi4QjoYjp5G-qNuFJdW4b-oZg7by5g5FEaqJv1mZo,5242
409
+ cartography/models/aws/ecr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
410
+ cartography/models/aws/ecr/image.py,sha256=8atk1Z13BgUOcAq3uIK-sJ9gDxwcmeCIk7x1PW9B4BE,1753
411
+ cartography/models/aws/ecr/repository.py,sha256=goItMJ3XnLSSk8FCMvgCpWCSsleTqdNzUT_Asvw8Yhk,2908
412
+ cartography/models/aws/ecr/repository_image.py,sha256=p_uV3rImyWMYl9DdLU7mpHI74xRuBd4cJvJI5wutBeM,3883
415
413
  cartography/models/aws/ecs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
416
414
  cartography/models/aws/ecs/clusters.py,sha256=uu-UzkSbpLu4UG5I6NsFMaThrPYl6jYe71EX8baMy1Q,2845
417
415
  cartography/models/aws/ecs/container_definitions.py,sha256=ocJMyl6wfxbW3aPrR6xwzqP9VMpkanKA3ghqcM5BWL0,4169
@@ -429,21 +427,45 @@ cartography/models/aws/eks/clusters.py,sha256=OthI554MrYNSl-p6ArMJsSH43xKPRDSnEm
429
427
  cartography/models/aws/elasticache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
430
428
  cartography/models/aws/elasticache/cluster.py,sha256=3tx3fL3FPSp4QX3pd42sV71t6kYRl-IfvU_56S7WmGo,3227
431
429
  cartography/models/aws/elasticache/topic.py,sha256=Rq-Hj6xo9xouRLw2NRNU1cmmVUlOP0ieRA8fT5GlZ2w,2757
430
+ cartography/models/aws/eventbridge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
431
+ cartography/models/aws/eventbridge/rule.py,sha256=VH7oTferIyykITCJhVPWZKVx2-7H9Dxi4fm9GwDitJw,3135
432
+ cartography/models/aws/glue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
433
+ cartography/models/aws/glue/connection.py,sha256=wG7mDMoYnmAHXrLfi52_1wPHF6VcrLOKfDmZaJJti1Q,2213
432
434
  cartography/models/aws/guardduty/__init__.py,sha256=ILQhP6R9RLgXzPKdmPzuGqhOgAXeIReUEyqKS-ZXS3k,19
433
435
  cartography/models/aws/guardduty/findings.py,sha256=LwUE1DbDyl9c3g5fUSZxsYKQ8U44wDS4Pps-QPMyr3Y,4184
434
436
  cartography/models/aws/iam/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
435
437
  cartography/models/aws/iam/instanceprofile.py,sha256=tlIkiCPX_9B9XPNAR0LcJAec8AbJq4dxgN8dgvEPXLs,2942
436
438
  cartography/models/aws/identitycenter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
437
439
  cartography/models/aws/identitycenter/awsidentitycenter.py,sha256=-ybcEgdZjwF0RINR_iLpmf5EOjuXYbz_CtixP-yqV30,2038
438
- cartography/models/aws/identitycenter/awspermissionset.py,sha256=12kDKzsJQOHg6d9dlX98sM9gKXGMQh7FaxzlJov7Dgo,3651
440
+ cartography/models/aws/identitycenter/awspermissionset.py,sha256=egFas3D4tkUZhaE2uQTwLihsVtJB8QBMlgBO5Px4UYs,5294
439
441
  cartography/models/aws/identitycenter/awsssouser.py,sha256=EWnyX5ev2aaK64YjKGuJSoknBF5b_kS5xc0kDf_0xfo,2886
440
442
  cartography/models/aws/inspector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
441
443
  cartography/models/aws/inspector/findings.py,sha256=ikm0vvjhGK_-BDt5VGyS4_0KwJsq81T6VgROq9HK2NE,8188
442
444
  cartography/models/aws/inspector/packages.py,sha256=IoJT7w6n8Vx3vGGJPWKDgJLRpioqtOS5iMYZLnX7thg,2113
445
+ cartography/models/aws/kms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
446
+ cartography/models/aws/kms/aliases.py,sha256=dJizJxxPzsWuZGY77gPcX7OlPO5Y3nHOUJoqf0CNKos,2998
447
+ cartography/models/aws/kms/grants.py,sha256=oBSRRgme3dVejgilkBPcdPsHhyNAxGyhyQuVQmAP0fc,2623
448
+ cartography/models/aws/kms/keys.py,sha256=qfdc5wlN84j00Pjxq85GHQxLZ_asyNq2oD5Tj--MCZ4,3401
449
+ cartography/models/aws/lambda_function/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
450
+ cartography/models/aws/lambda_function/alias.py,sha256=4NSxgpxAIY1Zzx9ApH9v4Oli5czisRLDKKByaRWy2eQ,3023
451
+ cartography/models/aws/lambda_function/event_source_mapping.py,sha256=nx4niDZ-cKwMmQrieqOgmThN-ITfF-o8AB6epKDvBfs,3997
452
+ cartography/models/aws/lambda_function/lambda_function.py,sha256=YRwoVcfD8xpVPz2YJsgfA6Y0jEVF_PnJ0WFynMu6gXg,4027
453
+ cartography/models/aws/lambda_function/layer.py,sha256=kKMxm5XkAIx-VBZZX3teA6Md-jByBBdFnSoebjqq3ik,2868
454
+ cartography/models/aws/rds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
455
+ cartography/models/aws/rds/cluster.py,sha256=chxwnOU7hGOvlnyTtaHx0ZxqyJIXQJ1qWEv68ti_nqo,4330
456
+ cartography/models/aws/rds/instance.py,sha256=B6vMGNDR9JhheJbnHGdrU0ZFyLorw55ZIsvlkkxjw6Q,6450
457
+ cartography/models/aws/rds/snapshot.py,sha256=T_2kqvJW2iDjPSg2cr9amXZNTotE9Zm66GSCDteiNbQ,4821
458
+ cartography/models/aws/rds/subnet_group.py,sha256=0tr68MYpWwRC-P23XLh-GecMQAfrQwLZ82LfdbcLsSc,3676
459
+ cartography/models/aws/route53/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
460
+ cartography/models/aws/route53/dnsrecord.py,sha256=JNkK7S1B7rB-uag1LuLhe2Rkct5foJ2X_bmUzUZsbuo,7552
461
+ cartography/models/aws/route53/nameserver.py,sha256=yKH3u_PDi7C-UQ69mNPiiFppsfiFC4nN0glouAGOoN8,2511
462
+ cartography/models/aws/route53/subzone.py,sha256=g3k4RHm5YqH-AjIZynlF4sj64cBhkiZ2L2CwV23j_L4,1674
463
+ cartography/models/aws/route53/zone.py,sha256=6yNSdZcmJZOzGjVG7HSC35P9fFKaxYTUp_O_Ptzt1Fk,2011
443
464
  cartography/models/aws/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
444
465
  cartography/models/aws/s3/account_public_access_block.py,sha256=L6AS0OncfSOWHP4pOXshnJFDPwnWqywzUIeUppJcw-Q,2256
445
466
  cartography/models/aws/s3/notification.py,sha256=SF1VvCP_2WVh8K29d4ms8MUcg9AyO_MN8vCgzLFlGAs,1017
446
467
  cartography/models/aws/secretsmanager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
468
+ cartography/models/aws/secretsmanager/secret.py,sha256=q1uSqqL6wCvSJuCooORqHg6uMXiWxiGZYhDzYtF54wo,3928
447
469
  cartography/models/aws/secretsmanager/secret_version.py,sha256=Ah4b9BjgL24MhmxRV-HarvmNs_uCRNVMkxgvzIEp9uk,4167
448
470
  cartography/models/aws/sns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
449
471
  cartography/models/aws/sns/topic.py,sha256=_Lcu7_c_UCUcPKEo5-kCdX3fAOkar_YKZbLmonX3BR8,2349
@@ -487,11 +509,13 @@ cartography/models/duo/web_authn_credential.py,sha256=nCdonZFyShuE5-CnI2Vxiu5BZ0
487
509
  cartography/models/entra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
488
510
  cartography/models/entra/app_role_assignment.py,sha256=BvZBWq3jd1Fw448dmIXQpHT-mBOqevNY_my-iQHpZp8,4618
489
511
  cartography/models/entra/application.py,sha256=ZNVY0a0T2nmdoVj2i5Xri0J8oIR5d9HVcLAl0yLG6s8,1968
490
- cartography/models/entra/group.py,sha256=d8QLBzqje4MkdN2uC4LXSxjUQ8_2T_cv4YbrPGfZ994,3809
512
+ cartography/models/entra/group.py,sha256=Ora5w7t7D7m98EVjknchsAmoEhEtlMJAeziCvkbYtAU,4859
491
513
  cartography/models/entra/ou.py,sha256=YmtW1Cp_XX29uzbunhEGl073AzV6PZsQtLs_MR-ACNU,2056
492
514
  cartography/models/entra/tenant.py,sha256=abpNTvOtXHgdrU-y7q6jt--odcq1eRsT2j5nMdVy_Gw,1793
493
- cartography/models/entra/user.py,sha256=uVMOYhVMwnR1dqokhAzk1IlHpmKwGpz0H5osS_9ENBE,3144
515
+ cartography/models/entra/user.py,sha256=UIZ3y4JRMfU5QgcOSGAdURH1wKvtQwicDw1q48AbhX8,3315
494
516
  cartography/models/gcp/iam.py,sha256=k6egP-DHvMX18QcLuwklxqLZXd4YPMhAs5-qWWloqJ4,3071
517
+ cartography/models/gcp/compute/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
518
+ cartography/models/gcp/compute/vpc.py,sha256=bbFfo_Rh7brXvNqY8fx-jz9zUDtPew_Wcq-WGv9j9cI,2131
495
519
  cartography/models/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
496
520
  cartography/models/github/dependencies.py,sha256=QHUgWSLTkSdhTxcgx5ct-yD2-Il7plg3N-fcZGZpKM4,3143
497
521
  cartography/models/github/manifests.py,sha256=1trwgECCjvZKS63z2k8mB55Fa8d2l-uU7HSgfL95iwA,2078
@@ -557,9 +581,9 @@ cartography/models/trivy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
557
581
  cartography/models/trivy/findings.py,sha256=SgI_h1aRyR20uAHvuXIZ1T6r4IZJt6SVhxRaF2bTsm0,3085
558
582
  cartography/models/trivy/fix.py,sha256=ho9ENVl9HSXqyggyCwR6ilkOBKDxpQ7rGibo_j21NA4,2587
559
583
  cartography/models/trivy/package.py,sha256=IwO1RZZ-MFRtNbt8Cq6YFl6fdNJMFmULnJkkK8Q4rL4,2809
560
- cartography-0.108.0rc2.dist-info/licenses/LICENSE,sha256=kvLEBRYaQ1RvUni6y7Ti9uHeooqnjPoo6n_-0JO1ETc,11351
561
- cartography-0.108.0rc2.dist-info/METADATA,sha256=r1dvNQTpsRcZZeMToOuD39Nb6RUDfKt8EMpEWjFfSIU,12914
562
- cartography-0.108.0rc2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
563
- cartography-0.108.0rc2.dist-info/entry_points.txt,sha256=GVIAWD0o0_K077qMA_k1oZU4v-M0a8GLKGJR8tZ-qH8,112
564
- cartography-0.108.0rc2.dist-info/top_level.txt,sha256=BHqsNJQiI6Q72DeypC1IINQJE59SLhU4nllbQjgJi9g,12
565
- cartography-0.108.0rc2.dist-info/RECORD,,
584
+ cartography-0.109.0.dist-info/licenses/LICENSE,sha256=kvLEBRYaQ1RvUni6y7Ti9uHeooqnjPoo6n_-0JO1ETc,11351
585
+ cartography-0.109.0.dist-info/METADATA,sha256=AvSsmqz_uC9DN921t8B7o5qaCIvFPUhHfK2_ySQting,12927
586
+ cartography-0.109.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
587
+ cartography-0.109.0.dist-info/entry_points.txt,sha256=GVIAWD0o0_K077qMA_k1oZU4v-M0a8GLKGJR8tZ-qH8,112
588
+ cartography-0.109.0.dist-info/top_level.txt,sha256=BHqsNJQiI6Q72DeypC1IINQJE59SLhU4nllbQjgJi9g,12
589
+ cartography-0.109.0.dist-info/RECORD,,
@@ -1,65 +0,0 @@
1
- {
2
- "statements": [
3
- {
4
- "query": "MATCH (n:AWSDNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
5
- "iterative": true,
6
- "iterationsize": 100,
7
- "__comment__": "cleanup AWS DNS Records linked to current account"
8
- },
9
- {
10
- "query": "MATCH (n:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
11
- "iterative": true,
12
- "iterationsize": 100
13
- },
14
- {
15
- "query": "MATCH (n:NameServer)-[:NAMESERVER]->(:DNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
16
- "iterative": true,
17
- "iterationsize": 100
18
- },
19
- {
20
- "query": "MATCH (:AWSDNSRecord)<-[r:DNS_POINTS_TO]-(:AWSDNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
21
- "iterative": true,
22
- "iterationsize": 100,
23
- "__comment__": "Clean up AWSDNSRecords pointing to other AWSDNSRecords within the current AWS account"
24
- },
25
- {
26
- "query": "MATCH (:LoadBalancer)<-[r:DNS_POINTS_TO]-(:AWSDNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
27
- "iterative": true,
28
- "iterationsize": 100,
29
- "__comment__": "Clean up AWSDNSRecords pointing to LoadBalancers within the current AWS account"
30
- },
31
- {
32
- "query": "MATCH (:EC2Instance)<-[r:DNS_POINTS_TO]-(:AWSDNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
33
- "iterative": true,
34
- "iterationsize": 100,
35
- "__comment__": "Clean up AWSDNSRecords pointing to EC2 Instances within the current AWS account"
36
- },
37
- {
38
- "query": "MATCH (:NameServer)<-[r:DNS_POINTS_TO]-(:AWSDNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
39
- "iterative": true,
40
- "iterationsize": 100,
41
- "__comment__": "Clean up AWSDNSRecords pointing to NameServers within the current AWS account"
42
- },
43
- {
44
- "query": "MATCH (:AWSDNSZone)-[r:NAMESERVER]->(:NameServer)-[:NAMESERVER]->(:DNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
45
- "iterative": true,
46
- "iterationsize": 100
47
- },
48
- {
49
- "query": "MATCH (:AWSDNSZone)<-[r:SUBZONE]-(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
50
- "iterative": true,
51
- "iterationsize": 100
52
- },
53
- {
54
- "query": "MATCH (:ESDomain)<-[r:DNS_POINTS_TO]-(:DNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
55
- "iterative": true,
56
- "iterationsize": 100
57
- },
58
- {
59
- "query": "MATCH (:Ip)<-[r:DNS_POINTS_TO]-(:AWSDNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
60
- "iterative": true,
61
- "iterationsize": 100
62
- }
63
- ],
64
- "name": "cleanup AWS DNS"
65
- }
@@ -1,16 +0,0 @@
1
- {
2
- "statements": [
3
-
4
- {
5
- "query": "MATCH (:AWSAccount{id: $AWS_ID})-[:RESOURCE]->(:AWSSSOUser)<-[r:CAN_ASSUME_IDENTITY]-(:OktaUser) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r) RETURN COUNT(*) as TotalDeleted",
6
- "iterative": true,
7
- "iterationsize": 100
8
- },
9
- {
10
- "query": "MATCH (:AWSAccount{id: $AWS_ID})-[:RESOURCE]->(:AWSRole)-[r:ALLOWED_BY]->(:AWSSSOUser) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r) RETURN COUNT(*) as TotalDeleted",
11
- "iterative": true,
12
- "iterationsize": 100
13
- }
14
- ],
15
- "name": "cleanup AWS Identity Center Instances and Related Data"
16
- }