Skip to main content

GCP: Node & Edge Schema

The GCP connection transforms Google Cloud IAM identities, resources, and permissions into a connected graph structure within the SlashID platform. It supports both principal identities (human or service accounts) and policy-based access definitions.


Node Types

Node TypeDescription
GCPPrincipalA GCP identity such as a user, group, or service account
GCPRoleA GCP IAM role (predefined or custom)
GCPServiceAccountA specific type of principal used for automated services
GCPBucketA Google Cloud Storage bucket
BigQueryDatasetA dataset resource in BigQuery
BigQueryTableA table within a BigQuery dataset
GCPCloudRunServiceA deployed service in Cloud Run
GCPComputeInstanceA Compute Engine VM instance
GCPPolicyBindingA policy binding (role-principal pair) used in IAM
GCPPolicyDenyRuleAn explicit deny rule defined within a policy
IAMPolicyAggregated IAM policy used across resources

Edge Relationships

Edge TypeFrom NodeTo NodeDescription
CAN_ACCESSGCPPrincipalGCPBucket, BigQueryDataset, GCPCloudRunServiceGrants access from a principal to a resource
HAS_PERMISSIONGCPPrincipalGCPRoleIndicates which role a principal is granted
IS_ASSIGNEDGCPRoleGCPPolicyBindingIndicates that a role is assigned via a binding
IS_CREDENTIAL_OFGCPServiceAccountGCPPrincipalMaps credentials to their identity owner
CONTAINSBigQueryDatasetBigQueryTableDataset-to-table structural relationship
IS_CONTAINED_BYBigQueryTableBigQueryDatasetReverse of CONTAINS
CONTAINSIAMPolicyGCPPolicyDenyRulePolicy includes one or more deny rules

These relationships reflect both logical structure (e.g., dataset → table) and policy grouping (policy → rules).


Examples

(GCPPrincipal)-[:CAN_ACCESS]->(GCPBucket)
(GCPPrincipal)-[:HAS_PERMISSION]->(GCPRole)
(GCPRole)-[:IS_ASSIGNED]->(GCPPolicyBinding)
(BigQueryDataset)-[:CONTAINS]->(BigQueryTable)
(IAMPolicy)-[:CONTAINS]->(GCPPolicyDenyRule)