GCP Schema¶
GCPOrganization¶
Representation of a GCP Organization object.
Ontology Mapping: This node has the extra label
Tenantto enable cross-platform queries for organizational tenants across different systems (e.g., OktaOrganization, AWSAccount, AzureTenant).
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
The name of the GCP Organization, e.g. “organizations/1234” |
displayname |
The “friendly name”, e.g. “My Company” |
lifecyclestate |
The organization’s current lifecycle state. Assigned by the server. See the official docs. |
Relationships¶
GCPOrganizations contain GCPFolders.
(GCPOrganization)-[RESOURCE]->(GCPFolder)GCPOrganizations can contain GCPProjects.
(GCPOrganization)-[RESOURCE]->(GCPProject)
GCPFolder¶
Representation of a GCP Folder. An additional helpful reference is the Google Compute Platform resource hierarchy.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
The name of the folder, e.g. “folders/1234” |
foldername |
The name of the folder, e.g. “folders/1234” |
displayname |
A friendly name of the folder, e.g. “My Folder”. |
lifecyclestate |
The folder’s current lifecycle state. Assigned by the server. See the official docs. |
parent_org |
If the folder’s parent is an organization, this field contains the organization ID, e.g. “organizations/1234” |
parent_folder |
If the folder’s parent is another folder, this field contains the folder ID, e.g. “folders/5678” |
Relationships¶
GCPFolders are sub-resources of GCPOrganizations.
(GCPOrganization)-[RESOURCE]->(GCPFolder)GCPFolders can have parent GCPOrganizations.
(GCPFolder)-[PARENT]->(GCPOrganization)GCPFolders can have parent GCPFolders.
(GCPFolder)-[PARENT]->(GCPFolder)GCPFolders can contain GCPProjects
(GCPProject)-[PARENT]->(GCPFolder)GCPFolders can contain other GCPFolders.
(GCPFolder)-[PARENT]->(GCPFolder)
GCPProject¶
Representation of a GCP Project. An additional helpful reference is the Google Compute Platform resource hierarchy.
Ontology Mapping: This node has the extra label
Tenantto enable cross-platform queries for organizational tenants across different systems (e.g., OktaOrganization, AWSAccount, AzureTenant).
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
The ID of the project, e.g. “sys-12345” |
projectid |
The ID of the project, e.g. “sys-12345” |
projectnumber |
The number uniquely identifying the project, e.g. ‘987654’ |
displayname |
A friendly name of the project, e.g. “MyProject”. |
lifecyclestate |
The project’s current lifecycle state. Assigned by the server. See the official docs. |
parent_org |
If the project’s parent is an organization, this field contains the organization ID, e.g. “organizations/1234” |
parent_folder |
If the project’s parent is a folder, this field contains the folder ID, e.g. “folders/5678” |
Relationships¶
GCPProjects are sub-resources of GCPOrganizations.
(GCPOrganization)-[RESOURCE]->(GCPProject)GCPProjects can have a parent GCPOrganization.
(GCPProject)-[PARENT]->(GCPOrganization)GCPProjects can have a parent GCPFolder.
(GCPProject)-[PARENT]->(GCPFolder)GCPVpcs are part of GCPProjects
(GCPProject)-[RESOURCE]->(GCPVpc)
GCPBucket¶
Representation of a GCP Storage Bucket.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
The ID of the storage bucket, e.g. “bucket-12345” |
projectnumber |
The number uniquely identifying the project associated with the storage bucket, e.g. ‘987654’ |
self_link |
The URI of the storage bucket |
kind |
The kind of item this is. For storage buckets, this is always storage#bucket |
location |
The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Defaults to US. See Cloud Storage bucket locations for the authoritative list. |
location_type |
The type of location that the bucket resides in, as determined by the |
meta_generation |
The metadata generation of this bucket |
storage_class |
The bucket’s default storage class, used whenever no |
time_created |
The creation time of the bucket in RFC 3339 format |
retention_period |
The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived |
iam_config_bucket_policy_only |
The bucket’s Bucket Policy Only configuration |
owner_entity |
The entity, in the form |
owner_entity_id |
The ID for the entity |
versioning_enabled |
The bucket’s versioning configuration (if set to |
log_bucket |
The destination bucket where the current bucket’s logs should be placed |
requester_pays |
The bucket’s billing configuration (if set to true, Requester Pays is enabled for this bucket) |
default_kms_key_name |
A Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified |
Relationships¶
GCPBuckets are part of GCPProjects.
(GCPProject)-[RESOURCE]->(GCPBucket)GCPBuckets can be labelled with GCPBucketLabels.
(GCPBucket)<-[LABELLED]-(GCPBucketLabels)GCPPrincipals with appropriate permissions can read from GCP buckets. Created from gcp_permission_relationships.yaml.
(GCPPrincipal)-[CAN_READ]->(GCPBucket)GCPPrincipals with appropriate permissions can write to GCP buckets. Created from gcp_permission_relationships.yaml.
(GCPPrincipal)-[CAN_WRITE]->(GCPBucket)GCPPrincipals with appropriate permissions can delete from GCP buckets. Created from gcp_permission_relationships.yaml.
(GCPPrincipal)-[CAN_DELETE]->(GCPBucket)
GCPDNSZone¶
Representation of a GCP DNS Zone.
Field |
Description |
|---|---|
created_at |
The date and time the zone was created |
description |
An optional description of the zone |
dns_name |
The DNS name of this managed zone, for instance “example.com.”. |
firstseen |
Timestamp of when a sync job first discovered this node |
id |
Unique identifier |
name |
The name of the zone |
nameservers |
Virtual name servers the zone is delegated to |
visibility |
The zone’s visibility: |
Relationships¶
GKEClusters are resources of GCPProjects.
(GCPProject)-[RESOURCE]->(GCPDNSZone)
GCPBucketLabel:Label¶
Representation of a GCP Storage Bucket Label. This node contains a key-value pair.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
The ID of the bucket label. Takes the form “GCPBucketLabel_{key}.” |
key |
The key of the bucket label. |
value |
The value of the bucket label. |
GCPBuckets can be labeled with GCPBucketLabels.
(GCPBucket)<-[LABELED]-(GCPBucketLabels)
GCPInstance¶
Representation of a GCP Instance. Additional references can be found in the official documentation.
Ontology Mapping: This node has the extra label
ComputeInstanceto enable cross-platform queries for compute instances across different systems (e.g., EC2Instance, AzureVirtualMachine, DODroplet).
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
The partial resource URI representing this instance. Has the form |
partial_uri |
Same as |
self_link |
The full resource URI representing this instance. Has the form |
instancename |
The name of the instance, e.g. “my-instance” |
zone_name |
The zone that the instance is installed on |
hostname |
If present, the hostname of the instance |
exposed_internet |
Set to True with |
exposed_internet_type |
A string indicating the type of internet exposure. Currently only |
status |
The GCP Instance Lifecycle state of the instance |
Relationships¶
GCPInstances are resources of GCPProjects.
(GCPProject)-[RESOURCE]->(GCPInstance)GCPNetworkInterfaces are attached to GCPInstances
(GCPInstance)-[NETWORK_INTERFACE]->(GCPNetworkInterface)GCP Instances may be members of one or more GCP VPCs.
(GCPInstance)-[:MEMBER_OF_GCP_VPC]->(GCPVpc)This relationship is created by an analysis job defined at
cartography/data/jobs/analysis/gcp_compute_instance_vpc_analysis.json.Also note that this relationship is a shortcut for:
(GCPInstance)-[:NETWORK_INTERFACE]->(:GCPNetworkInterface)-[:PART_OF_SUBNET]->(GCPSubnet)<-[:RESOURCE]-(GCPVpc)GCP Instances may have GCP Tags defined on them for use in network firewall routing.
(GCPInstance)-[:TAGGED]->(GCPNetworkTag)GCP Firewalls allow ingress to GCP instances.
(GCPFirewall)-[:FIREWALL_INGRESS]->(GCPInstance)Note that this relationship is a shortcut for:
(vpc:GCPVpc)<-[MEMBER_OF_GCP_VPC]-(GCPInstance)-[TAGGED]->(GCPNetworkTag)-[TARGET_TAG]-(GCPFirewall{direction: 'INGRESS'})<-[RESOURCE]-(vpc)as well as
MATCH (fw:GCPFirewall{direction: 'INGRESS', has_target_service_accounts: False}}) WHERE NOT (fw)-[TARGET_TAG]->(GCPNetworkTag) MATCH (GCPInstance)-[MEMBER_OF_GCP_VPC]->(GCPVpc)-[RESOURCE]->(fw)
GCPNetworkTag¶
Representation of a Tag defined on a GCP Instance or GCP Firewall. Tags are defined on GCP instances for use in network firewall routing.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
GCP doesn’t define a resource URI for Tags so we define this as |
tag_id |
same as |
value |
The actual value of the tag |
Relationships¶
GCP Instances can be labeled with tags.
(GCPInstance)-[:TAGGED]->(GCPNetworkTag)GCP Firewalls can be labeled with tags to direct traffic to or deny traffic to labeled GCPInstances
(GCPFirewall)-[:TARGET_TAG]->(GCPNetworkTag)GCPNetworkTags are defined on a VPC and only have effect on assets in that VPC
(GCPVpc)-[DEFINED_IN]->(GCPNetworkTag)
GCPVpc¶
Representation of a GCP VPC. In GCP documentation this is also known simply as a “Network” object.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
The partial resource URI representing this VPC. Has the form |
partial_uri |
Same as |
self_link |
The full resource URI representing this VPC. Has the form |
name |
The name of the VPC |
project_id |
The project ID that this VPC belongs to |
auto_create_subnetworks |
When set to true, the VPC network is created in “auto” mode. When set to false, the VPC network is created in “custom” mode. An auto mode VPC network starts with one subnet per region. Each subnet has a predetermined range as described in Auto mode VPC network IP ranges. |
routing_confg_routing_mode |
The network-wide routing mode to use. If set to REGIONAL, this network’s Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network’s Cloud Routers will advertise routes with all subnets of this network, across regions. |
description |
A description for the VPC |
Relationships¶
GCPVpcs are part of projects
(:GCPProject)-[:RESOURCE]->(:GCPVpc)GCPVpcs contain GCPSubnets
(:GCPVpc)-[:HAS]->(:GCPSubnet)GCPSubnets are part of GCP VPCs
(:GCPVpc)-[:RESOURCE]->(:GCPSubnet)GCPNetworkTags are defined on a VPC and only have effect on assets in that VPC
(:GCPVpc)-[:DEFINED_IN]->(:GCPNetworkTag)GCP Instances may be members of one or more GCP VPCs.
(:GCPInstance)-[:MEMBER_OF_GCP_VPC]->(:GCPVpc)Also note that this relationship is a shortcut for:
(:GCPInstance)-[:NETWORK_INTERFACE]->(:GCPNetworkInterface)-[:PART_OF_SUBNET]->(:GCPSubnet)<-[:RESOURCE]-(:GCPVpc)
GCPNetworkInterface¶
Representation of a GCP Instance’s network interface (scroll down to the fields on “networkInterface”).
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
A partial resource URI representing this network interface. Note: GCP does not define a partial resource URI for network interfaces, so we create one so we can uniquely identify GCP network interfaces. Has the form |
nic_id |
Same as |
name |
The name of the network interface |
private_ip |
The private IP address of this network interface. This IP is valid on the network interface’s VPC. |
Relationships¶
GCPNetworkInterfaces are attached to GCPInstances
(GCPInstance)-[NETWORK_INTERFACE]->(GCPNetworkInterface)GCPNetworkInterfaces are connected to GCPSubnets
(GCPNetworkInterface)-[PART_OF_SUBNET]->(GCPSubnet)GCPNetworkInterfaces have GCPNicAccessConfig objects defined on them
(GCPNetworkInterface)-[RESOURCE]->(GCPNicAccessConfig)
GCPNicAccessConfig¶
Representation of the AccessConfig object on a GCP Instance’s network interface (scroll down to the fields on “networkInterface”).
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
A partial resource URI representing this AccessConfig. Note: GCP does not define a partial resource URI for AccessConfigs, so we create one so we can uniquely identify GCP network interface access configs. Has the form |
partial_uri |
Same as |
type |
The type of configuration. GCP docs say: “The default and only option is ONE_TO_ONE_NAT.” |
name |
The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access. |
public_ip |
The external IP associated with this instance |
set_public_ptr |
Specifies whether a public DNS ‘PTR’ record should be created to map the external IP address of the instance to a DNS domain name. |
public_ptr_domain_name |
The DNS domain name for the public PTR record. You can set this field only if the setPublicPtr field is enabled. |
network_tier |
This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD. |
Relationships¶
GCPNetworkInterfaces have GCPNicAccessConfig objects defined on them
(GCPNetworkInterface)-[RESOURCE]->(GCPNicAccessConfig)
GCPRecordSet¶
Representation of a GCP Resource Record Set.
Field |
Description |
|---|---|
data |
Data contained in the record |
firstseen |
Timestamp of when a sync job first discovered this node |
id |
Composite key `name |
name |
The name of the Resource Record Set |
type |
The identifier of a supported record type. See the list of Supported DNS record types. |
ttl |
Number of seconds that this ResourceRecordSet can be cached by resolvers. |
Relationships¶
GCPRecordSets are records of GCPDNSZones.
(GCPDNSZone)-[HAS_RECORD]->(GCPRecordSet)
GCPSubnet¶
Representation of a GCP Subnetwork.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
A partial resource URI representing this Subnet. Has the form |
partial_uri |
Same as |
self_link |
The full resource URI representing this subnet. Has the form |
project_id |
The project ID that this Subnet belongs to |
name |
The name of this Subnet |
region |
The region of this Subnet |
gateway_address |
Gateway IP address of this Subnet |
ip_cidr_range |
The CIDR range covered by this Subnet |
vpc_partial_uri |
The partial URI of the VPC that this Subnet is a part of |
private_ip_google_access |
Whether the VMs in this subnet can access Google services without assigned external IP addresses. This field can be both set at resource creation time and updated using setPrivateIpGoogleAccess. |
Relationships¶
GCPSubnets are resources of GCPProjects (primary organizational relationship)
(:GCPProject)-[:RESOURCE]->(:GCPSubnet)GCPSubnets are part of GCP VPCs
(:GCPVpc)-[:HAS]->(:GCPSubnet)GCPNetworkInterfaces are connected to GCPSubnets
(:GCPNetworkInterface)-[:PART_OF_SUBNET]->(:GCPSubnet)
GCPFirewall¶
Representation of a GCP Firewall.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
A partial resource URI representing this Firewall. |
partial_uri |
Same as |
direction |
Either ‘INGRESS’ for inbound or ‘EGRESS’ for outbound |
disabled |
Whether this firewall object is disabled |
priority |
The priority of this firewall rule from 1 (apply this first)-65535 (apply this last) |
self_link |
The full resource URI to this firewall |
has_target_service_accounts |
Set to True if this Firewall has target service accounts defined. This field is currently a placeholder for future functionality to add GCP IAM objects to Cartography. If True, this firewall rule will only apply to GCP instances that use the specified target service account. |
Relationships¶
Firewalls belong to VPCs
(GCPVpc)-[RESOURCE]->(GCPFirewall)Firewalls define rules that allow traffic
(GcpIpRule)-[ALLOWED_BY]->(GCPFirewall)Firewalls define rules that deny traffic
(GcpIpRule)-[DENIED_BY]->(GCPFirewall)GCP Firewalls can be labeled with tags to direct traffic to or deny traffic to labeled GCPInstances
(GCPFirewall)-[:TARGET_TAG]->(GCPNetworkTag)GCP Firewalls allow ingress to GCP instances.
(GCPFirewall)-[:FIREWALL_INGRESS]->(GCPInstance)Note that this relationship is a shortcut for:
(vpc:GCPVpc)<-[MEMBER_OF_GCP_VPC]-(GCPInstance)-[TAGGED]->(GCPNetworkTag)-[TARGET_TAG]-(GCPFirewall{direction: 'INGRESS'})<-[RESOURCE]-(vpc)as well as
MATCH (fw:GCPFirewall{direction: 'INGRESS', has_target_service_accounts: False}}) WHERE NOT (fw)-[TARGET_TAG]->(GCPNetworkTag) MATCH (GCPInstance)-[MEMBER_OF_GCP_VPC]->(GCPVpc)-[RESOURCE]->(fw)
GCPForwardingRule¶
Representation of GCP Forwarding Rules and Global Forwarding Rules.
Ontology Mapping: This node has the extra label
LoadBalancerto enable cross-platform queries for load balancers across different systems (e.g., AWSLoadBalancerV2, LoadBalancer, AzureLoadBalancer).
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
A partial resource URI representing this Forwarding Rule |
partial_uri |
Same as |
ip_address |
IP address that this Forwarding Rule serves |
ip_protocol |
IP protocol to which this rule applies |
load_balancing_scheme |
Specifies the Forwarding Rule type |
name |
Name of the Forwarding Rule |
network |
A partial resource URI of the network this Forwarding Rule belongs to |
port_range |
Port range used in conjunction with a target resource. Only packets addressed to ports in the specified range will be forwarded to target configured |
ports |
Ports to forward to a backend service. Only packets addressed to these ports are forwarded to the backend services configured |
project_id |
The project ID that this Forwarding Rule belongs to |
region |
The region of this Forwarding Rule |
self_link |
Server-defined URL for the resource |
subnetwork |
A partial resource URI of the subnetwork this Forwarding Rule belongs to |
target |
A partial resource URI of the target resource to receive the traffic |
Relationships¶
GCPForwardingRules can be a resource of a GCPVpc.
(GCPVpc)-[RESOURCE]->(GCPForwardingRule)GCPForwardingRules can be a resource of a GCPSubnet.
(GCPSubnet)-[RESOURCE]->(GCPForwardingRule)
GKECluster¶
Representation of a GCP GKE Cluster.
Field |
Description |
|---|---|
basic_auth |
Set to |
created_at |
The date and time the cluster was created |
cluster_ipv4cidr |
The IP address range of the container pods in the cluster |
current_master_version |
The current software version of the master endpoint |
database_encryption |
Configuration of etcd encryption |
description |
An optional description of the cluster |
endpoint |
The IP address of the cluster’s master endpoint. The endpoint can be accessed from the internet at https://username:password@endpoint/ |
exposed_internet |
Set to |
firstseen |
Timestamp of when a sync job first discovered this node |
id |
Same as |
initial_version |
The initial Kubernetes version for the cluster |
location |
The name of the Google Compute Engine zone or region in which the cluster resides |
logging_service |
The logging service used to write logs. Available options: |
master_authorized_networks |
If enabled, it disallows all external traffic to access Kubernetes master through HTTPS except traffic from the given CIDR blocks, Google Compute Engine Public IPs and Google Prod IPs |
masterauth_username |
The username to use for HTTP basic authentication to the master endpoint. For clusters v1.6.0 and later, basic authentication can be disabled by leaving username unspecified (or setting it to the empty string) |
masterauth_password |
The password to use for HTTP basic authentication to the master endpoint. If a password is provided for cluster creation, username must be non-empty |
monitoring_service |
The monitoring service used to write metrics. Available options: |
name |
The name of the cluster |
network |
The name of the Google Compute Engine network to which the cluster is connected |
network_policy |
Set to |
private_endpoint_enabled |
Whether the master’s internal IP address is used as the cluster endpoint |
private_endpoint |
The internal IP address of the cluster’s master endpoint |
private_nodes |
If enabled, all nodes are given only private addresses and communicate with the master via private networking |
public_endpoint |
The external IP address of the cluster’s master endpoint |
self_link |
Server-defined URL for the resource |
services_ipv4cidr |
The IP address range of the Kubernetes services in the cluster |
shielded_nodes |
Whether Shielded Nodes are enabled |
status |
The current status of the cluster |
subnetwork |
The name of the Google Compute Engine subnetwork to which the cluster is connected |
zone |
The name of the Google Compute Engine zone in which the cluster resides |
Relationships¶
GKEClusters are resources of GCPProjects.
(GCPProject)-[RESOURCE]->(GKECluster)
IpRule::IpPermissionInbound::GCPIpRule¶
An IpPermissionInbound node is a specific type of IpRule. It represents a generic inbound IP-based rules. The creation of this node is currently derived from ingesting AWS EC2 Security Group rules.
Field |
Description |
|---|---|
ruleid |
|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
protocol |
The protocol this rule applies to |
fromport |
Lowest port in the range defined by this rule |
toport |
Highest port in the range defined by this rule |
Relationships¶
GCP Firewall rules are defined on IpRange objects.
(GCPIpRule, IpRule, IpPermissionInbound)<-[MEMBER_OF_IP_RULE)-(:IpRange)Firewalls define rules that allow traffic
(GcpIpRule)-[ALLOWED_BY]->(GCPFirewall)Firewalls define rules that deny traffic
(GcpIpRule)-[DENIED_BY]->(GCPFirewall)
IpRange¶
Representation of an IP range or subnet.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
CIDR notation for the IP range. E.g. “0.0.0.0/0” for the whole internet. |
Relationships¶
GCP Firewall rules are defined on IpRange objects.
(GCPIpRule, IpRule, IpPermissionInbound)<-[MEMBER_OF_IP_RULE)-(:IpRange)
GCPServiceAccount¶
Representation of a GCP Service Account.
Field |
Description |
|---|---|
id |
The unique identifier for the service account. |
The email address associated with the service account. |
|
displayName |
The display name of the service account. |
oauth2ClientId |
The OAuth2 client ID associated with the service account. |
uniqueId |
The unique ID of the service account. |
disabled |
A boolean indicating if the service account is disabled. |
lastupdated |
The timestamp of the last update. |
projectId |
The ID of the GCP project to which the service account belongs. |
Relationships¶
GCPServiceAccounts are resources of GCPProjects.
(GCPServiceAccount)-[RESOURCE]->(GCPProject)
GCPRole¶
Representation of a GCP Role.
Field |
Description |
|---|---|
id |
The unique identifier for the role. |
name |
The name of the role. |
title |
The title of the role. |
description |
A description of the role. |
deleted |
A boolean indicating if the role is deleted. |
etag |
The ETag of the role. |
includedPermissions |
A list of permissions included in the role. |
roleType |
The type of the role (e.g., BASIC, PREDEFINED, CUSTOM). |
lastupdated |
The timestamp of the last update. |
projectId |
The ID of the GCP project to which the role belongs. |
Relationships¶
GCPRoles are resources of GCPProjects.
(GCPRole)-[RESOURCE]->(GCPProject)
GCPKeyRing¶
Representation of a GCP Key Ring.
Field |
Description |
|---|---|
id |
The full resource name of the Key Ring. |
name |
The short name of the Key Ring. |
location |
The GCP location of the Key Ring. |
lastupdated |
The timestamp of the last update. |
project_id |
The full project ID (projects/…) this Key Ring belongs to. |
Relationships¶
GCPKeyRings are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPKeyRing)
GCPCryptoKey¶
Representation of a GCP Crypto Key.
Field |
Description |
|---|---|
id |
The full resource name of the Crypto Key. |
name |
The short name of the Crypto Key. |
rotation_period |
The rotation period of the key (e.g., |
purpose |
The key purpose (e.g., |
state |
The state of the primary key version (e.g., |
lastupdated |
The timestamp of the last update. |
project_id |
The full project ID (projects/…) this key belongs to. |
key_ring_id |
The full ID of the parent Key Ring. |
Relationships¶
GCPCryptoKeys are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPCryptoKey)GCPKeyRings contain GCPCryptoKeys.
(GCPKeyRing)-[CONTAINS]->(GCPCryptoKey)
GCPPolicyBinding¶
Representation of a GCP IAM Policy Binding. Policy bindings connect principals (users, service accounts, groups) to roles on specific resources.
Field |
Description |
|---|---|
id |
The unique identifier for the policy binding in the format “{resource}_{role}”. |
role |
The name of the GCP role being granted. |
resource |
The full resource name where the policy binding is attached. |
resource_type |
The type of resource. |
members |
A list of principal email addresses that are granted the role. |
has_condition |
A boolean indicating if the policy binding has a condition attached. |
condition_title |
The title of the condition. |
condition_expression |
The expression of the condition. |
firstseen |
Timestamp of when a sync job first discovered this node. |
lastupdated |
Timestamp of the last time the node was updated. |
Relationships¶
GCPPolicyBindings are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPPolicyBinding)GCPPrincipals have allow policies that grant them access.
(GCPPrincipal)-[:HAS_ALLOW_POLICY]->(GCPPolicyBinding)GCPPolicyBindings grant roles to principals.
(GCPPolicyBinding)-[:GRANTS_ROLE]->(GCPRole)
GCPBigtableInstance¶
Representation of a GCP Bigtable Instance.
Ontology Mapping: This node has the extra label
Databaseto enable cross-platform queries for database instances across different systems (e.g., RDSInstance, DynamoDBTable, AzureSQLDatabase).
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
The full resource name of the Bigtable Instance. |
name |
The full resource name of the Bigtable Instance. |
display_name |
The human-readable display name for the instance. |
state |
The current state of the instance (e.g., |
type |
The type of instance (e.g., |
Relationships¶
GCPBigtableInstances are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPBigtableInstance)
GCPBigtableCluster¶
Representation of a GCP Bigtable Cluster.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
The full resource name of the Bigtable Cluster. |
name |
The full resource name of the Bigtable Cluster. |
location |
The GCP location where this cluster resides (e.g., |
state |
The current state of the cluster (e.g., |
default_storage_type |
The storage media type for the cluster (e.g., |
Relationships¶
GCPBigtableClusters are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPBigtableCluster)GCPBigtableInstances have one or more Clusters.
(GCPBigtableInstance)-[:HAS_CLUSTER]->(GCPBigtableCluster)
GCPBigtableTable¶
Representation of a GCP Bigtable Table.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
The full resource name of the Bigtable Table. |
name |
The full resource name of the Bigtable Table. |
granularity |
The granularity at which timestamps are stored (e.g., |
Relationships¶
GCPBigtableTables are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPBigtableTable)GCPBigtableInstances have one or more Tables.
(GCPBigtableInstance)-[:HAS_TABLE]->(GCPBigtableTable)
GCPBigtableAppProfile¶
Representation of a GCP Bigtable App Profile.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
The full resource name of the App Profile. |
name |
The full resource name of the App Profile. |
description |
The user-provided description of the app profile. |
multi_cluster_routing_use_any |
Whether this profile routes to any available cluster. |
single_cluster_routing_cluster_id |
The full resource ID of the cluster this profile routes to, if configured. |
Relationships¶
GCPBigtableAppProfiles are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPBigtableAppProfile)GCPBigtableInstances have one or more App Profiles.
(GCPBigtableInstance)-[:HAS_APP_PROFILE]->(GCPBigtableAppProfile)GCPBigtableAppProfiles (with single cluster routing) route to a specific Cluster.
(GCPBigtableAppProfile)-[:ROUTES_TO]->(GCPBigtableCluster)
GCPBigtableBackup¶
Representation of a GCP Bigtable Backup.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
The full resource name of the Backup. |
name |
The full resource name of the Backup. |
source_table |
The full resource name of the table this backup was created from. |
expire_time |
The timestamp when the backup will expire. |
start_time |
The timestamp when the backup creation started. |
end_time |
The timestamp when the backup creation finished. |
size_bytes |
The size of the backup in bytes. |
state |
The current state of the backup (e.g., |
Relationships¶
GCPBigtableBackups are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPBigtableBackup)GCPBigtableClusters store Backups.
(GCPBigtableCluster)-[:STORES_BACKUP]->(GCPBigtableBackup)GCPBigtableTables are backed up as Backups.
(GCPBigtableTable)-[:BACKED_UP_AS]->(GCPBigtableBackup)
GCPVertexAIModel¶
Representation of a GCP Vertex AI Model.
Field |
Description |
|---|---|
id |
Full resource name of the model (e.g., |
name |
Same as |
display_name |
User-provided display name of the model |
description |
Description of the model |
version_id |
The version ID of the model |
version_create_time |
Timestamp when this model version was created |
version_update_time |
Timestamp when this model version was last updated |
create_time |
Timestamp when the model was originally created |
update_time |
Timestamp when the model was last updated |
artifact_uri |
The path to the directory containing the Model artifact and supporting files (GCS URI) |
etag |
Used to perform consistent read-modify-write updates |
labels |
JSON string of user-defined labels |
training_pipeline |
Resource name of the Training Pipeline that created this model |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPVertexAIModels are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPVertexAIModel)GCPVertexAIModels are stored in GCPBuckets.
(GCPVertexAIModel)-[:STORED_IN]->(GCPBucket)GCPVertexAITrainingPipelines produce GCPVertexAIModels.
(GCPVertexAITrainingPipeline)-[:PRODUCES]->(GCPVertexAIModel)GCPVertexAIDeployedModels are instances of GCPVertexAIModels.
(GCPVertexAIDeployedModel)-[:INSTANCE_OF]->(GCPVertexAIModel)
GCPVertexAIEndpoint¶
Representation of a GCP Vertex AI Endpoint.
Field |
Description |
|---|---|
id |
Full resource name of the endpoint (e.g., |
name |
Same as |
display_name |
User-provided display name of the endpoint |
description |
Description of the endpoint |
create_time |
Timestamp when the endpoint was created |
update_time |
Timestamp when the endpoint was last updated |
etag |
Used to perform consistent read-modify-write updates |
network |
The full name of the Google Compute Engine network to which the endpoint should be peered |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPVertexAIEndpoints are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPVertexAIEndpoint)GCPVertexAIEndpoints serve GCPVertexAIDeployedModels.
(GCPVertexAIEndpoint)-[:SERVES]->(GCPVertexAIDeployedModel)
GCPVertexAIDeployedModel¶
Representation of a deployed model on a Vertex AI Endpoint. This is derived from the deployedModels field on an Endpoint.
Field |
Description |
|---|---|
id |
Synthetic ID combining endpoint and deployed model ID (e.g., |
deployed_model_id |
The ID of the DeployedModel (unique within the endpoint) |
model |
Full resource name of the Model that this DeployedModel is serving |
display_name |
User-provided display name of the deployed model |
create_time |
Timestamp when the deployed model was created |
dedicated_resources |
JSON string of the dedicated resources for this deployed model |
automatic_resources |
JSON string of the automatic resources for this deployed model |
enable_access_logging |
Whether access logging is enabled for this deployed model |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPVertexAIEndpoints serve GCPVertexAIDeployedModels.
(GCPVertexAIEndpoint)-[:SERVES]->(GCPVertexAIDeployedModel)GCPVertexAIDeployedModels are instances of GCPVertexAIModels.
(GCPVertexAIDeployedModel)-[:INSTANCE_OF]->(GCPVertexAIModel)
GCPVertexAIWorkbenchInstance¶
Representation of a GCP Vertex AI Workbench Instance (v2 API).
Field |
Description |
|---|---|
id |
Full resource name of the instance (e.g., |
name |
Same as |
creator |
Email address of the user who created the instance |
create_time |
Timestamp when the instance was created |
update_time |
Timestamp when the instance was last updated |
state |
The state of the instance (e.g., |
health_state |
The health state of the instance (e.g., |
health_info |
JSON string with detailed health information |
gce_setup |
JSON string with GCE setup configuration |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPVertexAIWorkbenchInstances are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPVertexAIWorkbenchInstance)GCPVertexAIWorkbenchInstances use GCPServiceAccounts.
(GCPVertexAIWorkbenchInstance)-[:USES_SERVICE_ACCOUNT]->(GCPServiceAccount)
GCPVertexAITrainingPipeline¶
Representation of a GCP Vertex AI Training Pipeline.
Field |
Description |
|---|---|
id |
Full resource name of the training pipeline (e.g., |
name |
Same as |
display_name |
User-provided display name of the training pipeline |
create_time |
Timestamp when the pipeline was created |
update_time |
Timestamp when the pipeline was last updated |
start_time |
Timestamp when the pipeline started running |
end_time |
Timestamp when the pipeline finished |
state |
The state of the pipeline (e.g., |
error |
JSON string with error information if the pipeline failed |
model_to_upload |
JSON string describing the model that was uploaded |
training_task_definition |
The training task definition schema URI |
dataset_id |
Full resource name of the Dataset used for training (used for relationships) |
model_id |
Full resource name of the Model produced by training (used for relationships) |
gcs_bucket_id |
List of GCS bucket names read during training (used for relationships) |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPVertexAITrainingPipelines are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPVertexAITrainingPipeline)GCPVertexAITrainingPipelines produce GCPVertexAIModels.
(GCPVertexAITrainingPipeline)-[:PRODUCES]->(GCPVertexAIModel)GCPVertexAITrainingPipelines read from GCPVertexAIDatasets.
(GCPVertexAITrainingPipeline)-[:READS_FROM]->(GCPVertexAIDataset)GCPVertexAITrainingPipelines read from GCPBuckets.
(GCPVertexAITrainingPipeline)-[:READS_FROM]->(GCPBucket)
GCPVertexAIFeatureGroup¶
Representation of a GCP Vertex AI Feature Group. Feature Groups are the new architecture for Vertex AI Feature Store.
Field |
Description |
|---|---|
id |
Full resource name of the feature group (e.g., |
name |
Same as |
create_time |
Timestamp when the feature group was created |
update_time |
Timestamp when the feature group was last updated |
etag |
Used to perform consistent read-modify-write updates |
bigquery_source_uri |
The BigQuery source URI for the feature group |
entity_id_columns |
JSON array of entity ID column names |
timestamp_column |
The timestamp column name (for time series features) |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPVertexAIFeatureGroups are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPVertexAIFeatureGroup)
GCPVertexAIDataset¶
Representation of a GCP Vertex AI Dataset.
Field |
Description |
|---|---|
id |
Full resource name of the dataset (e.g., |
name |
Same as |
display_name |
User-provided display name of the dataset |
create_time |
Timestamp when the dataset was created |
update_time |
Timestamp when the dataset was last updated |
etag |
Used to perform consistent read-modify-write updates |
data_item_count |
The number of data items in the dataset |
metadata_schema_uri |
The metadata schema URI for the dataset |
metadata |
JSON string with dataset metadata |
encryption_spec |
JSON string with encryption configuration |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPVertexAIDatasets are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPVertexAIDataset)GCPVertexAITrainingPipelines read from GCPVertexAIDatasets.
(GCPVertexAITrainingPipeline)-[:READS_FROM]->(GCPVertexAIDataset)
GCPCloudSQLInstance¶
Representation of a GCP Cloud SQL Instance.
Ontology Mapping: This node has the extra label
Databaseto enable cross-platform queries for database instances across different systems (e.g., RDSInstance, AzureSQLDatabase, GCPBigtableInstance).
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
The instance’s |
name |
The user-assigned name of the instance. |
database_version |
The database engine type and version (e.g., |
region |
The GCP region the instance lives in. |
gce_zone |
The specific Compute Engine zone the instance is serving from. |
state |
The current state of the instance (e.g., |
backend_type |
The type of instance (e.g., |
service_account_email |
The email of the service account used by this instance. |
connection_name |
The connection string for accessing the instance (e.g., |
tier |
The machine type tier (e.g., |
disk_size_gb |
Storage capacity in gigabytes. |
disk_type |
Storage disk type (e.g., |
availability_type |
Availability configuration ( |
backup_enabled |
Boolean indicating if automated backups are enabled. |
require_ssl |
Boolean indicating if SSL/TLS encryption is required for connections. |
ip_addresses |
JSON string containing array of IP addresses with their types (PRIMARY, PRIVATE, OUTGOING). |
backup_configuration |
JSON string containing full backup configuration including retention and point-in-time recovery settings. |
Relationships¶
GCPCloudSQLInstances are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPCloudSQLInstance)GCPCloudSQLInstances are associated with GCPVpcs.
(GCPCloudSQLInstance)-[:ASSOCIATED_WITH]->(GCPVpc)GCPCloudSQLInstances use GCPServiceAccounts.
(GCPCloudSQLInstance)-[:USES_SERVICE_ACCOUNT]->(GCPServiceAccount)
GCPCloudSQLDatabase¶
Representation of a GCP Cloud SQL Database.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
A unique ID constructed from the parent instance ID and database name. |
name |
The name of the database. |
charset |
The character set for the database. |
collation |
The collation for the database. |
Relationships¶
GCPCloudSQLDatabases are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPCloudSQLDatabase)GCPCloudSQLInstances contain GCPCloudSQLDatabases.
(GCPCloudSQLInstance)-[:CONTAINS]->(GCPCloudSQLDatabase)
GCPCloudSQLUser¶
Representation of a GCP Cloud SQL User.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
A unique ID constructed from the parent instance ID and the user’s name and host. |
name |
The name of the user. |
host |
The host from which the user is allowed to connect. |
Relationships¶
GCPCloudSQLUsers are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPCloudSQLUser)GCPCloudSQLInstances have GCPCloudSQLUsers.
(GCPCloudSQLInstance)-[:HAS_USER]->(GCPCloudSQLUser)
GCPCloudSQLBackupConfiguration¶
Representation of a GCP Cloud SQL Backup Configuration. This node captures the backup settings for a Cloud SQL instance.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
A unique ID constructed from the parent instance ID with |
enabled |
Boolean indicating whether automated backups are enabled. |
start_time |
The start time for the daily backup window in UTC (HH:MM format). |
location |
The location where backups are stored. |
point_in_time_recovery_enabled |
Boolean indicating whether point-in-time recovery is enabled. |
transaction_log_retention_days |
Number of days of transaction logs retained for point-in-time recovery. |
backup_retention_settings |
String representation of backup retention configuration (e.g., retained backup count). |
binary_log_enabled |
Boolean indicating whether binary logging is enabled. |
instance_id |
The ID of the parent Cloud SQL instance. |
Relationships¶
GCPCloudSQLBackupConfigurations are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPCloudSQLBackupConfiguration)GCPCloudSQLInstances have GCPCloudSQLBackupConfigurations.
(GCPCloudSQLInstance)-[:HAS_BACKUP_CONFIG]->(GCPCloudSQLBackupConfiguration)
GCPCloudFunction¶
Representation of a Google Cloud Function (v1 API).
Ontology Mapping: This node has the extra label
Functionand normalized_ont_*properties for cross-platform serverless function queries. See Function.
Field |
Description |
|---|---|
id |
The full, unique resource name of the function. |
name |
The full, unique resource name of the function (same as id). |
description |
User-provided description of the function. |
runtime |
The language runtime environment for the function (e.g., python310). |
entry_point |
The name of the function within the source code to be executed. |
status |
The current state of the function (e.g., ACTIVE, OFFLINE, DEPLOY_IN_PROGRESS). |
update_time |
The timestamp when the function was last modified. |
service_account_email |
The email of the service account the function runs as. |
https_trigger_url |
The public URL if the function is triggered by an HTTP request. |
event_trigger_type |
The type of event that triggers the function (e.g., a Pub/Sub message). |
event_trigger_resource |
The specific resource the event trigger monitors. |
project_id |
The ID of the GCP project to which the function belongs. |
region |
The GCP region where the function is deployed. |
lastupdated |
Timestamp of when the data was last updated in the graph. |
Relationships¶
GCPCloudFunctions are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPCloudFunction)GCPCloudFunctions run as GCPServiceAccounts.
(GCPCloudFunction)-[:RUNS_AS]->(GCPServiceAccount)
GCPSecretManagerSecret¶
Representation of a GCP Secret Manager Secret. A Secret is a logical container for secret data that can have multiple versions.
Field |
Description |
|---|---|
id |
Full resource name of the secret (e.g., |
name |
The short name of the secret |
project_id |
The GCP project ID that owns this secret |
rotation_enabled |
Boolean indicating if automatic rotation is configured |
rotation_period |
The rotation period in seconds (if rotation is enabled) |
rotation_next_time |
Epoch timestamp of the next scheduled rotation |
created_date |
Epoch timestamp when the secret was created |
expire_time |
Epoch timestamp when the secret will automatically expire and be deleted |
replication_type |
The replication policy type: |
etag |
Used to perform consistent read-modify-write updates |
labels |
JSON string of user-defined labels |
topics |
JSON string of Pub/Sub topics for rotation notifications |
version_aliases |
JSON string mapping alias names to version numbers |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPSecretManagerSecrets are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPSecretManagerSecret)
GCPSecretManagerSecretVersion¶
Representation of a GCP Secret Manager Secret Version. A SecretVersion stores a specific version of secret data within a Secret.
Field |
Description |
|---|---|
id |
Full resource name of the version (e.g., |
secret_id |
Full resource name of the parent secret |
version |
The version number (e.g., “1”, “2”) |
state |
The current state of the version: |
created_date |
Epoch timestamp when the version was created |
destroy_time |
Epoch timestamp when the version was destroyed (only present if state is |
etag |
Used to perform consistent read-modify-write updates |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPSecretManagerSecretVersions are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPSecretManagerSecretVersion)GCPSecretManagerSecretVersions are versions of GCPSecretManagerSecrets.
(GCPSecretManagerSecretVersion)-[:VERSION_OF]->(GCPSecretManagerSecret)
Artifact Registry Resources¶
Overview¶
Google Cloud Artifact Registry is a universal package manager for managing container images and language packages. Cartography ingests the following Artifact Registry resources with dedicated node types for each artifact category:
graph LR
Project[GCPProject]
Repository[GCPArtifactRegistryRepository]
ContainerImage[GCPArtifactRegistryContainerImage]
HelmChart[GCPArtifactRegistryHelmChart]
LanguagePackage[GCPArtifactRegistryLanguagePackage]
PlatformImage[GCPArtifactRegistryPlatformImage]
Project -->|RESOURCE| Repository
Project -->|RESOURCE| ContainerImage
Project -->|RESOURCE| HelmChart
Project -->|RESOURCE| LanguagePackage
Project -->|RESOURCE| PlatformImage
Repository -->|CONTAINS| ContainerImage
Repository -->|CONTAINS| HelmChart
Repository -->|CONTAINS| LanguagePackage
ContainerImage -->|HAS_MANIFEST| PlatformImage
GCPArtifactRegistryRepository¶
Representation of a GCP Artifact Registry Repository.
Field |
Description |
|---|---|
id |
Full resource name of the repository (e.g., |
name |
The short name of the repository |
format |
The format of packages stored in the repository (e.g., |
mode |
The mode of the repository (e.g., |
description |
User-provided description of the repository |
location |
The GCP region where the repository is located |
registry_uri |
The Docker registry URI for Docker format repositories (e.g., |
size_bytes |
The size of the repository in bytes |
kms_key_name |
The Cloud KMS key name used to encrypt the repository |
create_time |
Timestamp when the repository was created |
update_time |
Timestamp when the repository was last updated |
cleanup_policy_dry_run |
Whether cleanup policies are in dry run mode |
vulnerability_scanning_enabled |
Whether vulnerability scanning is enabled |
project_id |
The GCP project ID |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPArtifactRegistryRepositories are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPArtifactRegistryRepository)GCPArtifactRegistryRepositories contain artifacts (ContainerImage, HelmChart, LanguagePackage).
(GCPArtifactRegistryRepository)-[:CONTAINS]->(GCPArtifactRegistryContainerImage) (GCPArtifactRegistryRepository)-[:CONTAINS]->(GCPArtifactRegistryHelmChart) (GCPArtifactRegistryRepository)-[:CONTAINS]->(GCPArtifactRegistryLanguagePackage)
GCPArtifactRegistryContainerImage¶
Representation of a Docker Image in a GCP Artifact Registry repository.
Field |
Description |
|---|---|
id |
Full resource name of the Docker image |
name |
The short name of the image |
uri |
The URI of the image |
digest |
The image digest (e.g., |
tags |
Tags associated with the image |
image_size_bytes |
Size of the image in bytes |
media_type |
The media type of the image manifest |
upload_time |
Timestamp when the image was uploaded |
build_time |
Timestamp when the image was built |
update_time |
Timestamp when the image was last updated |
repository_id |
Full resource name of the parent repository |
project_id |
The GCP project ID |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPArtifactRegistryContainerImages are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPArtifactRegistryContainerImage)GCPArtifactRegistryRepositories contain GCPArtifactRegistryContainerImages.
(GCPArtifactRegistryRepository)-[:CONTAINS]->(GCPArtifactRegistryContainerImage)GCPArtifactRegistryContainerImages have GCPArtifactRegistryPlatformImages (for multi-architecture images).
(GCPArtifactRegistryContainerImage)-[:HAS_MANIFEST]->(GCPArtifactRegistryPlatformImage)
GCPArtifactRegistryHelmChart¶
Representation of a Helm chart stored as an OCI artifact in a GCP Artifact Registry repository. Helm charts are stored in Docker-format repositories and identified by their media type.
Field |
Description |
|---|---|
id |
Full resource name of the Helm chart |
name |
The short name of the chart |
uri |
The URI of the chart |
version |
The version of the chart (extracted from tags) |
create_time |
Timestamp when the chart was created |
update_time |
Timestamp when the chart was last updated |
repository_id |
Full resource name of the parent repository |
project_id |
The GCP project ID |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPArtifactRegistryHelmCharts are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPArtifactRegistryHelmChart)GCPArtifactRegistryRepositories contain GCPArtifactRegistryHelmCharts.
(GCPArtifactRegistryRepository)-[:CONTAINS]->(GCPArtifactRegistryHelmChart)
GCPArtifactRegistryLanguagePackage¶
Representation of a language package in a GCP Artifact Registry repository. This node type covers Maven Artifacts, npm Packages, Python Packages, and Go Modules.
Field |
Description |
|---|---|
id |
Full resource name of the package |
name |
The short name of the package |
format |
The format of the package ( |
uri |
The URI of the package |
version |
The version of the package |
package_name |
Human-readable package name |
create_time |
Timestamp when the package was created |
update_time |
Timestamp when the package was last updated |
repository_id |
Full resource name of the parent repository |
project_id |
The GCP project ID |
group_id |
(Maven only) The Maven group ID |
artifact_id |
(Maven only) The Maven artifact ID |
tags |
(npm only) Tags associated with the package |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPArtifactRegistryLanguagePackages are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPArtifactRegistryLanguagePackage)GCPArtifactRegistryRepositories contain GCPArtifactRegistryLanguagePackages.
(GCPArtifactRegistryRepository)-[:CONTAINS]->(GCPArtifactRegistryLanguagePackage)
GCPArtifactRegistryPlatformImage¶
Representation of a platform-specific manifest within a multi-architecture Docker image. This node captures the individual platform configurations (architecture, OS) for images that support multiple platforms.
Field |
Description |
|---|---|
id |
Unique identifier combining parent artifact and manifest digest |
digest |
The digest of this specific platform manifest |
architecture |
CPU architecture (e.g., |
os |
Operating system (e.g., |
os_version |
OS version if specified |
os_features |
OS features if specified |
variant |
Platform variant (e.g., |
media_type |
The media type of the manifest |
parent_artifact_id |
Full resource name of the parent Docker image |
project_id |
The GCP project ID |
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
Relationships¶
GCPArtifactRegistryPlatformImages are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPArtifactRegistryPlatformImage)GCPArtifactRegistryContainerImages have GCPArtifactRegistryPlatformImages.
(GCPArtifactRegistryContainerImage)-[:HAS_MANIFEST]->(GCPArtifactRegistryPlatformImage)
Cloud Run Resources¶
Overview¶
Google Cloud Run is a serverless compute platform for running containers. Cartography ingests the following Cloud Run resources:
graph LR
Project[GCPProject]
Service[GCPCloudRunService]
Revision[GCPCloudRunRevision]
Job[GCPCloudRunJob]
Execution[GCPCloudRunExecution]
ServiceAccount[GCPServiceAccount]
Project -->|RESOURCE| Service
Project -->|RESOURCE| Revision
Project -->|RESOURCE| Job
Project -->|RESOURCE| Execution
Service -->|HAS_REVISION| Revision
Job -->|HAS_EXECUTION| Execution
Revision -->|USES_SERVICE_ACCOUNT| ServiceAccount
Job -->|USES_SERVICE_ACCOUNT| ServiceAccount
GCPCloudRunService¶
Representation of a GCP Cloud Run Service.
Ontology Mapping: This node has the extra label
Functionto enable cross-platform queries for serverless functions across different systems (e.g., AWSLambda, AzureFunctionApp, GCPCloudFunction).
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
Full resource name of the service (e.g., |
name |
Short name of the service |
location |
The GCP location where the service is deployed |
container_image |
The container image for the service |
service_account_email |
The email of the service account used by this service |
Relationships¶
GCPCloudRunServices are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPCloudRunService)GCPCloudRunServices have GCPCloudRunRevisions.
(GCPCloudRunService)-[:HAS_REVISION]->(GCPCloudRunRevision)
GCPCloudRunRevision¶
Representation of a GCP Cloud Run Revision.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
Full resource name of the revision (e.g., |
name |
Short name of the revision |
service |
Full resource name of the parent service |
container_image |
The container image for this revision |
service_account_email |
The email of the service account used by this revision |
log_uri |
URI to Cloud Logging for this revision |
Relationships¶
GCPCloudRunRevisions are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPCloudRunRevision)GCPCloudRunServices have GCPCloudRunRevisions.
(GCPCloudRunService)-[:HAS_REVISION]->(GCPCloudRunRevision)GCPCloudRunRevisions use GCPServiceAccounts.
(GCPCloudRunRevision)-[:USES_SERVICE_ACCOUNT]->(GCPServiceAccount)
GCPCloudRunJob¶
Representation of a GCP Cloud Run Job.
Ontology Mapping: This node has the extra label
Functionto enable cross-platform queries for serverless functions across different systems (e.g., AWSLambda, AzureFunctionApp, GCPCloudFunction).
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
Full resource name of the job (e.g., |
name |
Short name of the job |
location |
The GCP location where the job is deployed |
container_image |
The container image for the job |
service_account_email |
The email of the service account used by this job |
Relationships¶
GCPCloudRunJobs are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPCloudRunJob)GCPCloudRunJobs have GCPCloudRunExecutions.
(GCPCloudRunJob)-[:HAS_EXECUTION]->(GCPCloudRunExecution)GCPCloudRunJobs use GCPServiceAccounts.
(GCPCloudRunJob)-[:USES_SERVICE_ACCOUNT]->(GCPServiceAccount)
GCPCloudRunExecution¶
Representation of a GCP Cloud Run Execution.
Field |
Description |
|---|---|
firstseen |
Timestamp of when a sync job first discovered this node |
lastupdated |
Timestamp of the last time the node was updated |
id |
Full resource name of the execution (e.g., |
name |
Short name of the execution |
job |
Full resource name of the parent job |
status |
Completion status of the execution (e.g., |
cancelled_count |
Number of tasks that were cancelled |
failed_count |
Number of tasks that failed |
succeeded_count |
Number of tasks that succeeded |
Relationships¶
GCPCloudRunExecutions are resources of GCPProjects.
(GCPProject)-[:RESOURCE]->(GCPCloudRunExecution)GCPCloudRunJobs have GCPCloudRunExecutions.
(GCPCloudRunJob)-[:HAS_EXECUTION]->(GCPCloudRunExecution)