Snowflake Schema#
graph LR
SnowflakeAccount -- GOVERNED_BY --> SnowflakeNetworkPolicy
SnowflakeAccount -- RESOURCE --> SnowflakeAccountParameter
SnowflakeAccount -- RESOURCE --> SnowflakeAlert
SnowflakeAccount -- RESOURCE --> SnowflakeApiIntegration
SnowflakeAccount -- RESOURCE --> SnowflakeArtifactRepository
SnowflakeAccount -- RESOURCE --> SnowflakeAuthenticationPolicy
SnowflakeAccount -- RESOURCE --> SnowflakeCatalogIntegration
SnowflakeAccount -- RESOURCE --> SnowflakeComputePool
SnowflakeAccount -- RESOURCE --> SnowflakeCortexSearchService
SnowflakeAccount -- RESOURCE --> SnowflakeCredential
SnowflakeAccount -- RESOURCE --> SnowflakeDataPolicy
SnowflakeAccount -- RESOURCE --> SnowflakeDatabase
SnowflakeAccount -- RESOURCE --> SnowflakeDatabaseRole
SnowflakeAccount -- RESOURCE --> SnowflakeDynamicTable
SnowflakeAccount -- RESOURCE --> SnowflakeEventTable
SnowflakeAccount -- RESOURCE --> SnowflakeExternalAccessIntegration
SnowflakeAccount -- RESOURCE --> SnowflakeExternalTable
SnowflakeAccount -- RESOURCE --> SnowflakeExternalVolume
SnowflakeAccount -- RESOURCE --> SnowflakeExternalVolumeStorageLocation
SnowflakeAccount -- RESOURCE --> SnowflakeFailoverGroup
SnowflakeAccount -- RESOURCE --> SnowflakeFileFormat
SnowflakeAccount -- RESOURCE --> SnowflakeFunction
SnowflakeAccount -- RESOURCE --> SnowflakeIcebergTable
SnowflakeAccount -- RESOURCE --> SnowflakeImage
SnowflakeAccount -- RESOURCE --> SnowflakeImageRepository
SnowflakeAccount -- RESOURCE --> SnowflakeListing
SnowflakeAccount -- RESOURCE --> SnowflakeManagedAccount
SnowflakeAccount -- RESOURCE --> SnowflakeMaterializedView
SnowflakeAccount -- RESOURCE --> SnowflakeNetworkPolicy
SnowflakeAccount -- RESOURCE --> SnowflakeNetworkRule
SnowflakeAccount -- RESOURCE --> SnowflakeNotebook
SnowflakeAccount -- RESOURCE --> SnowflakeNotificationIntegration
SnowflakeAccount -- RESOURCE --> SnowflakePasswordPolicy
SnowflakeAccount -- RESOURCE --> SnowflakePipe
SnowflakeAccount -- RESOURCE --> SnowflakeProcedure
SnowflakeAccount -- RESOURCE --> SnowflakeProgrammaticAccessToken
SnowflakeAccount -- RESOURCE --> SnowflakeReplicationGroup
SnowflakeAccount -- RESOURCE --> SnowflakeResourceMonitor
SnowflakeAccount -- RESOURCE --> SnowflakeRole
SnowflakeAccount -- RESOURCE --> SnowflakeSchema
SnowflakeAccount -- RESOURCE --> SnowflakeSecret
SnowflakeAccount -- RESOURCE --> SnowflakeSecurityIntegration
SnowflakeAccount -- RESOURCE --> SnowflakeSequence
SnowflakeAccount -- RESOURCE --> SnowflakeService
SnowflakeAccount -- RESOURCE --> SnowflakeServiceContainer
SnowflakeAccount -- RESOURCE --> SnowflakeServiceEndpoint
SnowflakeAccount -- RESOURCE --> SnowflakeServiceRole
SnowflakeAccount -- RESOURCE --> SnowflakeServiceUser
SnowflakeAccount -- RESOURCE --> SnowflakeSessionPolicy
SnowflakeAccount -- RESOURCE --> SnowflakeShare
SnowflakeAccount -- RESOURCE --> SnowflakeStage
SnowflakeAccount -- RESOURCE --> SnowflakeStorageIntegration
SnowflakeAccount -- RESOURCE --> SnowflakeStream
SnowflakeAccount -- RESOURCE --> SnowflakeStreamlit
SnowflakeAccount -- RESOURCE --> SnowflakeTable
SnowflakeAccount -- RESOURCE --> SnowflakeTag
SnowflakeAccount -- RESOURCE --> SnowflakeTask
SnowflakeAccount -- RESOURCE --> SnowflakeUser
SnowflakeAccount -- RESOURCE --> SnowflakeView
SnowflakeAccount -- RESOURCE --> SnowflakeWarehouse
SnowflakeAlert -- USES_WAREHOUSE --> SnowflakeWarehouse
SnowflakeArtifactRepository -- USES_INTEGRATION --> SnowflakeApiIntegration
SnowflakeCortexSearchService -- READS_FROM --> SnowflakeTable
SnowflakeCortexSearchService -- USES_WAREHOUSE --> SnowflakeWarehouse
SnowflakeCredential -- OWNED_BY --> SnowflakeServiceUser
SnowflakeCredential -- OWNED_BY --> SnowflakeUser
SnowflakeDatabase -- CONTAINS --> SnowflakeDatabaseRole
SnowflakeDatabase -- CONTAINS --> SnowflakeSchema
SnowflakeDatabase -- CREATED_FROM_SHARE --> SnowflakeShare
SnowflakeDatabaseRole -- INCLUDES --> SnowflakeDatabaseRole
SnowflakeDynamicTable -- USES_WAREHOUSE --> SnowflakeWarehouse
SnowflakeExternalAccessIntegration -- ALLOWS --> SnowflakeNetworkRule
SnowflakeExternalAccessIntegration -- ALLOWS_AUTH_INTEGRATION --> SnowflakeSecurityIntegration
SnowflakeExternalAccessIntegration -- ALLOWS_SECRET --> SnowflakeSecret
SnowflakeExternalTable -- READS_FROM --> SnowflakeStage
SnowflakeExternalTable -- USES_FILE_FORMAT --> SnowflakeFileFormat
SnowflakeExternalVolume -- HAS_STORAGE_LOCATION --> SnowflakeExternalVolumeStorageLocation
SnowflakeFailoverGroup -- REPLICATES --> SnowflakeDatabase
SnowflakeFailoverGroup -- REPLICATES_TO --> SnowflakeAccount
SnowflakeFunction -- USES_INTEGRATION --> SnowflakeApiIntegration
SnowflakeFunction -- USES_INTEGRATION --> SnowflakeExternalAccessIntegration
SnowflakeFunction -- USES_SECRET --> SnowflakeSecret
SnowflakeIcebergTable -- STORED_IN --> SnowflakeExternalVolume
SnowflakeIcebergTable -- USES_CATALOG --> SnowflakeCatalogIntegration
SnowflakeImageRepository -- CONTAINS --> SnowflakeImage
SnowflakeListing -- PUBLISHES --> SnowflakeShare
SnowflakeNetworkPolicy -- ALLOWS --> SnowflakeNetworkRule
SnowflakeNetworkPolicy -- BLOCKS --> SnowflakeNetworkRule
SnowflakeNotebook -- RUNS_ON --> SnowflakeComputePool
SnowflakeNotebook -- USES_INTEGRATION --> SnowflakeExternalAccessIntegration
SnowflakeNotebook -- USES_SECRET --> SnowflakeSecret
SnowflakeNotebook -- USES_WAREHOUSE --> SnowflakeWarehouse
SnowflakeOrganization -- RESOURCE --> SnowflakeAccount
SnowflakePipe -- USES_INTEGRATION --> SnowflakeNotificationIntegration
SnowflakeProcedure -- ASSUMES --> SnowflakeRole
SnowflakeProcedure -- USES_INTEGRATION --> SnowflakeExternalAccessIntegration
SnowflakeProcedure -- USES_SECRET --> SnowflakeSecret
SnowflakeProgrammaticAccessToken -- OWNED_BY --> SnowflakeServiceUser
SnowflakeProgrammaticAccessToken -- OWNED_BY --> SnowflakeUser
SnowflakeProgrammaticAccessToken -- RESTRICTED_TO --> SnowflakeRole
SnowflakeReplicationGroup -- REPLICATES --> SnowflakeDatabase
SnowflakeReplicationGroup -- REPLICATES_TO --> SnowflakeAccount
SnowflakeRole -- INCLUDES --> SnowflakeDatabaseRole
SnowflakeRole -- INCLUDES --> SnowflakeRole
SnowflakeSchema -- CONTAINS --> SnowflakeAlert
SnowflakeSchema -- CONTAINS --> SnowflakeArtifactRepository
SnowflakeSchema -- CONTAINS --> SnowflakeAuthenticationPolicy
SnowflakeSchema -- CONTAINS --> SnowflakeCortexSearchService
SnowflakeSchema -- CONTAINS --> SnowflakeDataPolicy
SnowflakeSchema -- CONTAINS --> SnowflakeDynamicTable
SnowflakeSchema -- CONTAINS --> SnowflakeEventTable
SnowflakeSchema -- CONTAINS --> SnowflakeExternalTable
SnowflakeSchema -- CONTAINS --> SnowflakeFileFormat
SnowflakeSchema -- CONTAINS --> SnowflakeFunction
SnowflakeSchema -- CONTAINS --> SnowflakeIcebergTable
SnowflakeSchema -- CONTAINS --> SnowflakeImageRepository
SnowflakeSchema -- CONTAINS --> SnowflakeMaterializedView
SnowflakeSchema -- CONTAINS --> SnowflakeNetworkRule
SnowflakeSchema -- CONTAINS --> SnowflakeNotebook
SnowflakeSchema -- CONTAINS --> SnowflakePasswordPolicy
SnowflakeSchema -- CONTAINS --> SnowflakePipe
SnowflakeSchema -- CONTAINS --> SnowflakeProcedure
SnowflakeSchema -- CONTAINS --> SnowflakeSecret
SnowflakeSchema -- CONTAINS --> SnowflakeSequence
SnowflakeSchema -- CONTAINS --> SnowflakeService
SnowflakeSchema -- CONTAINS --> SnowflakeSessionPolicy
SnowflakeSchema -- CONTAINS --> SnowflakeStage
SnowflakeSchema -- CONTAINS --> SnowflakeStream
SnowflakeSchema -- CONTAINS --> SnowflakeStreamlit
SnowflakeSchema -- CONTAINS --> SnowflakeTable
SnowflakeSchema -- CONTAINS --> SnowflakeTag
SnowflakeSchema -- CONTAINS --> SnowflakeTask
SnowflakeSchema -- CONTAINS --> SnowflakeView
SnowflakeSchema -- DEFAULT_EXTERNAL_VOLUME --> SnowflakeExternalVolume
SnowflakeSecret -- USES_INTEGRATION --> SnowflakeSecurityIntegration
SnowflakeSecurityIntegration -- GOVERNED_BY --> SnowflakeNetworkPolicy
SnowflakeSecurityIntegration -- RUNS_AS_ROLE --> SnowflakeRole
SnowflakeService -- HAS_ENDPOINT --> SnowflakeServiceEndpoint
SnowflakeService -- HAS_SERVICE_ROLE --> SnowflakeServiceRole
SnowflakeService -- USES_INTEGRATION --> SnowflakeExternalAccessIntegration
SnowflakeService -- USES_WAREHOUSE --> SnowflakeWarehouse
SnowflakeService -- WORKLOAD_PARENT --> SnowflakeComputePool
SnowflakeServiceContainer -- HAS_IMAGE --> SnowflakeImage
SnowflakeServiceContainer -- WORKLOAD_PARENT --> SnowflakeService
SnowflakeServiceUser -- GOVERNED_BY --> SnowflakeNetworkPolicy
SnowflakeServiceUser -- HAS_ROLE --> SnowflakeRole
SnowflakeShare -- SHARED_WITH --> SnowflakeManagedAccount
SnowflakeStage -- USES_INTEGRATION --> SnowflakeStorageIntegration
SnowflakeStream -- READS_FROM --> SnowflakeTable
SnowflakeStreamlit -- RUNS_ON --> SnowflakeComputePool
SnowflakeStreamlit -- USES_INTEGRATION --> SnowflakeExternalAccessIntegration
SnowflakeStreamlit -- USES_WAREHOUSE --> SnowflakeWarehouse
SnowflakeTask -- ASSUMES --> SnowflakeRole
SnowflakeTask -- NOTIFIES --> SnowflakeNotificationIntegration
SnowflakeTask -- PRECEDED_BY --> SnowflakeTask
SnowflakeTask -- USES_WAREHOUSE --> SnowflakeWarehouse
SnowflakeUser -- GOVERNED_BY --> SnowflakeNetworkPolicy
SnowflakeUser -- HAS_ROLE --> SnowflakeRole
SnowflakeWarehouse -- MONITORED_BY --> SnowflakeResourceMonitor
SnowflakeAccount#
Represents a Snowflake account: the tenant that owns every other Snowflake object.
Ontology Mapping: This node uses the ontology label
Tenant.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
The account identifier, as ORGANIZATION.ACCOUNT. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
account_locator |
Yes |
The account’s legacy locator identifier. |
account_url |
The account’s preferred URL. |
|
comment |
Account comment. |
|
created_on |
When the account was created. |
|
dropped_on |
When the account was dropped, if it has been. |
|
edition |
The Snowflake edition, which gates features such as masking policies and failover groups. |
|
is_current |
Whether this is the account Cartography authenticated against. Only the current account has its objects synced; sibling accounts in the organization are recorded as nodes without resources. |
|
is_org_admin |
Whether the ORGADMIN role is enabled in this account. |
|
name |
Yes |
The account name within the organization. |
organization_name |
Yes |
The organization that owns the account. |
region |
The cloud region hosting the account. |
|
region_group |
The region group the account’s region belongs to. |
|
retention_time |
Days the account remains restorable after being dropped. |
|
scheduled_deletion_time |
When a dropped account is scheduled for permanent deletion. |
|
_ont_domain |
Yes |
Normalized field sourced from |
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
Relationships#
(:SnowflakeAccount)-[:GOVERNED_BY]->(:SnowflakeNetworkPolicy): Every connection to the Snowflake account is restricted by this network policy.
Distinct from the RESOURCE edge, which merely records that the policy is defined in the account. This edge means the policy is actually in force account-wide, which is read from the account’s NETWORK_POLICY parameter.
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeAccountParameter): A Snowflake account contains the parameter as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeAlert): A Snowflake account contains the alert as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeApiIntegration): A Snowflake account contains the API integration as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeArtifactRepository): A Snowflake account contains the artifact repository as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeAuthenticationPolicy): A Snowflake account contains the authentication policy as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeCatalogIntegration): A Snowflake account contains the catalog integration as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeComputePool): A Snowflake account contains the compute pool as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeCortexSearchService): A Snowflake account contains the Cortex Search service as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeCredential): A Snowflake account contains the credential as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeDataPolicy): A Snowflake account contains the data policy as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeDatabase): A Snowflake account contains the database as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeDatabaseRole): A Snowflake account contains the role as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeDynamicTable): A Snowflake account contains the dynamic table as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeEventTable): A Snowflake account contains the event table as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeExternalAccessIntegration): A Snowflake account contains the external access integration as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeExternalTable): A Snowflake account contains the external table as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeExternalVolume): A Snowflake account contains the external volume as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeExternalVolumeStorageLocation): A Snowflake account contains the external volume storage location as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeFailoverGroup): A Snowflake account contains the replication or failover group as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeFileFormat): A Snowflake account contains the file format as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeFunction): A Snowflake account contains the function as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeIcebergTable): A Snowflake account contains the Iceberg table as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeImage): A Snowflake account contains the image as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeImageRepository): A Snowflake account contains the image repository as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeListing): A Snowflake account contains the listing as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeManagedAccount): A Snowflake account owns the managed account it created.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeMaterializedView): A Snowflake account contains the materialized view as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeNetworkPolicy): A Snowflake account contains the network policy as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeNetworkRule): A Snowflake account contains the network rule as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeNotebook): A Snowflake account contains the notebook as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeNotificationIntegration): A Snowflake account contains the notification integration as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakePasswordPolicy): A Snowflake account contains the password policy as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakePipe): A Snowflake account contains the pipe as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeProcedure): A Snowflake account contains the stored procedure as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeProgrammaticAccessToken): A Snowflake account contains the access token as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeReplicationGroup): A Snowflake account contains the replication or failover group as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeResourceMonitor): A Snowflake account contains the resource monitor as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeRole): A Snowflake account contains the role as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeSchema): A Snowflake account contains the schema as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeSecret): A Snowflake account contains the secret as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeSecurityIntegration): A Snowflake account contains the security integration as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeSequence): A Snowflake account contains the sequence as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeService): A Snowflake account contains the service as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeServiceContainer): A Snowflake account contains the service container as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeServiceEndpoint): A Snowflake account contains the service endpoint as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeServiceRole): A Snowflake account contains the service role as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeServiceUser): A Snowflake account contains the user as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeSessionPolicy): A Snowflake account contains the session policy as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeShare): A Snowflake account contains the share as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeStage): A Snowflake account contains the stage as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeStorageIntegration): A Snowflake account contains the storage integration as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeStream): A Snowflake account contains the stream as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeStreamlit): A Snowflake account contains the Streamlit app as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeTable): A Snowflake account contains the table as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeTag): A Snowflake account contains the tag as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeTask): A Snowflake account contains the task as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeUser): A Snowflake account contains the user as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeView): A Snowflake account contains the view as a resource.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeWarehouse): A Snowflake account contains the warehouse as a resource.(:SnowflakeFailoverGroup)-[:REPLICATES_TO]->(:SnowflakeAccount): The group is permitted to place a replica of its objects in this Snowflake account.(:SnowflakeOrganization)-[:RESOURCE]->(:SnowflakeAccount): A Snowflake organization contains the account.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeReplicationGroup)-[:REPLICATES_TO]->(:SnowflakeAccount): The group is permitted to place a replica of its objects in this Snowflake account.
SnowflakeAccountParameter#
Represents a security-relevant Snowflake account parameter and its effective value.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the parameter. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
default_value |
The value Snowflake applies when the parameter is not set. |
|
description |
Snowflake’s own description of the parameter. |
|
is_default |
Whether the effective value still equals Snowflake’s default, meaning nobody has deliberately set it. |
|
level |
The object level the value was set at. An empty level means the value was never set anywhere and the default applies. |
|
name |
Yes |
The parameter name. |
parameter_type |
The parameter’s data type, such as BOOLEAN, NUMBER or STRING. |
|
value |
The parameter’s effective value at the account level. Null when the parameter is unset. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeAccountParameter): A Snowflake account contains the parameter as a resource.
SnowflakeAlert#
Represents a Snowflake alert: a scheduled condition query paired with the SQL it triggers.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the alert. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
action |
SQL the alert executes when the condition is met. |
|
comment |
Alert comment. |
|
condition |
SQL query whose result decides whether the action runs. |
|
created_on |
When the alert was created. |
|
database_name |
Database containing the alert. |
|
name |
Yes |
Alert name. |
owner |
Name of the role that owns the alert. |
|
qualified_name |
Fully-qualified database.schema.alert name. |
|
schedule |
How often the condition is evaluated, as a cron expression or an interval. |
|
schema_name |
Schema containing the alert. |
|
state |
Whether the alert is started or suspended. |
|
warehouse |
Name of the virtual warehouse that evaluates the alert’s condition. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeAlert): A Snowflake account contains the alert as a resource.(:SnowflakeAlert)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): A Snowflake alert evaluates its condition on this virtual warehouse.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeAlert): A Snowflake schema holds the alert in its namespace.
SnowflakeApiIntegration#
Represents a Snowflake API integration: the outbound HTTPS proxy configuration used by external functions and Git repositories.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the API integration. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
allowed_api_authentication_integrations |
Security integrations that may supply OAuth tokens for the API calls. |
|
allowed_authentication_secrets |
Secrets a Git repository integration may authenticate with. |
|
api_allowed_prefixes |
URL prefixes external functions may call through the integration. A broad prefix lets any function in the account reach the whole endpoint tree. |
|
api_aws_external_id |
External id the role’s trust policy must require, which is what prevents another Snowflake account from assuming it. |
|
api_aws_iam_user_arn |
ARN of the Snowflake-owned IAM user that must be trusted by the role’s trust policy. |
|
api_aws_role_arn |
Yes |
ARN of the AWS IAM role Snowflake assumes to invoke the API Gateway. |
api_blocked_prefixes |
URL prefixes denied even when covered by an allowed prefix. |
|
api_hook_type |
Backing platform of the integration: AWS, AZURE, GCP or GIT. |
|
api_provider |
Concrete provider, for example aws_api_gateway, azure_api_management or git_https_api. |
|
azure_ad_application_id |
Yes |
Application id of the Entra ID app registration fronting the API. |
azure_tenant_id |
Entra ID tenant the integration requests an access token from. |
|
comment |
API integration comment. |
|
created_on |
When the API integration was created. |
|
enabled |
Whether the integration may be used by external functions and Git repositories. |
|
google_audience |
Audience claim Snowflake requests in its Google-signed token. |
|
name |
Yes |
The API integration name. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeApiIntegration): A Snowflake account contains the API integration as a resource.(:SnowflakeApiIntegration)-[:ASSUMES_ROLE]->(:AWSPrincipal): A Snowflake API integration assumes an AWS IAM role to invoke its endpoint.(:SnowflakeArtifactRepository)-[:USES_INTEGRATION]->(:SnowflakeApiIntegration): A Snowflake artifact repository fetches upstream packages through this API integration.
The integration is what decides which external package index Snowflake will pull code from, so it is the control point for a supply-chain risk.
(:SnowflakeFunction)-[:USES_INTEGRATION]->(:SnowflakeApiIntegration): An external Snowflake function calls its remote service through this API integration.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
SnowflakeArtifactRepository#
Represents a Snowflake artifact repository: a schema-level proxy to an external package index.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the artifact repository. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
api_integration |
API integration the repository fetches upstream packages through. |
|
comment |
Artifact repository comment. |
|
created_on |
When the artifact repository was created. |
|
database_name |
Database containing the artifact repository. |
|
name |
Yes |
Artifact repository name. |
owner |
Name of the role that owns the artifact repository. |
|
qualified_name |
Fully-qualified database.schema.repository name. |
|
repository_type |
Kind of package index the repository proxies, such as PIP. |
|
schema_name |
Schema containing the artifact repository. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeArtifactRepository): A Snowflake account contains the artifact repository as a resource.(:SnowflakeArtifactRepository)-[:USES_INTEGRATION]->(:SnowflakeApiIntegration): A Snowflake artifact repository fetches upstream packages through this API integration.
The integration is what decides which external package index Snowflake will pull code from, so it is the control point for a supply-chain risk.
(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeArtifactRepository): A Snowflake schema holds the artifact repository in its namespace.
SnowflakeAuthenticationPolicy#
Represents a Snowflake authentication policy: which authentication methods, clients and MFA rules apply.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the authentication policy. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
authentication_methods |
Authentication methods the policy accepts, such as PASSWORD, SAML, OAUTH, KEYPAIR or PROGRAMMATIC_ACCESS_TOKEN. ALL accepts every method. |
|
client_types |
Client types allowed to connect, such as SNOWFLAKE_UI, DRIVERS or SNOWSQL. ALL allows every client. |
|
comment |
Policy comment. |
|
created_on |
When the policy was created. |
|
database_name |
Database holding the policy. |
|
mfa_authentication_methods |
Methods for which MFA is enforced. A method accepted by the policy but absent here can authenticate with a single factor. |
|
mfa_enrollment |
Whether users under the policy must enroll in MFA. OPTIONAL leaves enrollment to the user. |
|
name |
Yes |
The authentication policy name. |
owner |
Name of the role that owns the policy. |
|
owner_role_type |
Whether the owning role is an account role or a database role. |
|
pat_policy |
Constraints the policy places on programmatic access tokens, such as the maximum lifetime and whether a network policy is required to use one. |
|
qualified_name |
Yes |
Fully qualified name of the policy, as DATABASE.SCHEMA.NAME. |
schema_name |
Schema holding the policy. |
|
security_integrations |
Security integrations the policy permits for federated or OAuth authentication. ALL permits every integration in the account. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeAuthenticationPolicy): A Snowflake account contains the authentication policy as a resource.(:SnowflakeAuthenticationPolicy)-[:APPLIED_TO]->(:SnowflakeSecurable): A Snowflake authentication policy governs how this object’s users may authenticate.Properties:
Field
Description
policy_status
Whether the attachment is active. An inactive attachment leaves the object unprotected despite the policy being set.
ref_column_name
The column the policy protects, for a masking or projection policy. Null when the policy applies to the whole object.
ref_entity_domain
The kind of object the policy is attached to, such as TABLE, VIEW, USER or ACCOUNT.
(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeAuthenticationPolicy): A Snowflake schema holds the authentication policy.
SnowflakeCatalogIntegration#
Represents a Snowflake catalog integration: the external table catalog Iceberg tables resolve metadata through.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the catalog integration. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
catalog_namespace |
Default namespace (Glue database or Iceberg namespace) tables resolve in. |
|
catalog_source |
Where table metadata is read from: GLUE, OBJECT_STORE or POLARIS. |
|
category |
Snowflake integration category. |
|
comment |
Catalog integration comment. |
|
created_on |
When the catalog integration was created. |
|
enabled |
Whether Iceberg tables may be created against the catalog. |
|
glue_aws_iam_user_arn |
ARN of the Snowflake-owned IAM user that must be trusted by the role’s trust policy. |
|
glue_aws_role_arn |
Yes |
ARN of the AWS IAM role Snowflake assumes to read the Glue Data Catalog. |
glue_catalog_id |
AWS account id owning the Glue Data Catalog being read. |
|
glue_region |
AWS region of the Glue Data Catalog. |
|
integration_type |
Snowflake integration type reported for the catalog integration. |
|
name |
Yes |
The catalog integration name. |
oauth_allowed_scopes |
OAuth scopes requested when authenticating to the REST catalog. |
|
oauth_client_id |
OAuth client id used against the REST catalog. The matching client secret is deliberately never stored. |
|
rest_authentication_type |
How Snowflake authenticates to the REST catalog, for example OAUTH or SIGV4. |
|
rest_catalog_uri |
Base URI of the Iceberg REST catalog, when the source is a REST catalog. |
|
rest_warehouse |
Warehouse identifier passed to the Iceberg REST catalog. |
|
table_format |
Open table format the catalog serves, for example ICEBERG. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeCatalogIntegration): A Snowflake account contains the catalog integration as a resource.(:SnowflakeCatalogIntegration)-[:ASSUMES_ROLE]->(:AWSPrincipal): A Snowflake catalog integration assumes an AWS IAM role to read the Glue Data Catalog.(:SnowflakeIcebergTable)-[:USES_CATALOG]->(:SnowflakeCatalogIntegration): An external catalog integration, rather than Snowflake, tracks this table.
Absent when Snowflake is its own catalog, which is the case for tables Snowflake manages end to end.
(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
SnowflakeComputePool#
Represents a Snowflake compute pool: the node pool that runs Snowpark Container Services workloads.
Ontology Mapping: This node uses the ontology label
ComputeCluster.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the compute pool. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
active_nodes |
Number of nodes currently running in the pool. |
|
application |
Name of the Native App the pool is exclusive to, when it is exclusive. |
|
auto_resume |
Whether the pool restarts automatically when a service needs it. |
|
auto_suspend_secs |
Seconds of inactivity before the pool suspends its nodes. |
|
comment |
Compute pool comment. |
|
created_on |
When the compute pool was created. |
|
instance_family |
Snowflake instance family that determines each node’s CPU, memory and GPUs. |
|
is_exclusive |
Whether the pool is dedicated to a single Snowflake Native App rather than shared across the account’s own services. |
|
max_nodes |
Maximum number of nodes the pool may scale out to. |
|
min_nodes |
Minimum number of nodes the pool keeps running. |
|
name |
Yes |
The compute pool name. |
num_jobs |
Number of job services currently on the pool. |
|
num_services |
Number of long-running services on the pool. |
|
owner |
Name of the role that owns the compute pool. |
|
state |
Whether the pool is ACTIVE, IDLE, SUSPENDED, STARTING or STOPPING. |
|
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
|
_ont_status |
Yes |
Normalized field sourced from |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeComputePool): A Snowflake account contains the compute pool as a resource.(:SnowflakeNotebook)-[:RUNS_ON]->(:SnowflakeComputePool): A container-runtime Snowflake notebook executes on this compute pool.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeService)-[:WORKLOAD_PARENT]->(:SnowflakeComputePool): A Snowflake service’s containers are scheduled on this compute pool.(:SnowflakeStreamlit)-[:RUNS_ON]->(:SnowflakeComputePool): A container-runtime Snowflake Streamlit app executes on this compute pool.
SnowflakeCortexSearchService#
Represents a Snowflake Cortex Search service: a managed semantic search index built over account data.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the Cortex Search service. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
attribute_columns |
Source columns exposed as filterable attributes on search results. |
|
comment |
Cortex Search service comment. |
|
created_on |
When the service was created. |
|
database_name |
Database containing the service. |
|
embedding_model |
Model used to embed the indexed text for semantic retrieval. |
|
name |
Yes |
Cortex Search service name. |
qualified_name |
Fully-qualified database.schema.service name. |
|
schema_name |
Schema containing the service. |
|
search_column |
Source column whose text is indexed and searched. |
|
service_query_url |
Endpoint applications call to query the service. |
|
source |
Table, view or query the service indexes its documents from. |
|
target_lag |
How stale the search index is allowed to be against its source. |
|
warehouse |
Name of the virtual warehouse that refreshes the search index. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeCortexSearchService): A Snowflake account contains the Cortex Search service as a resource.(:SnowflakeCortexSearchService)-[:READS_FROM]->(:SnowflakeTable): A Snowflake Cortex Search service indexes the contents of this table.
Copying source text into a searchable index moves the data out from behind the table’s own access controls, so knowing which table feeds a service is what makes that exposure visible.
(:SnowflakeCortexSearchService)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): A Snowflake Cortex Search service refreshes its index on this virtual warehouse.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeCortexSearchService): A Snowflake schema holds the Cortex Search service in its namespace.
SnowflakeCredential#
Represents one authentication factor registered against a Snowflake user.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the credential. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
additional_details |
Snowflake’s per-type detail blob, such as a key-pair fingerprint or a federated issuer. Never contains the secret itself. |
|
comment |
Credential comment. |
|
created_by |
Name of the user that created the credential. |
|
created_on |
When the credential was created. |
|
credential_id |
Yes |
Snowflake’s internal identifier for the credential. |
credential_type |
The factor kind: PASSWORD, KEYPAIR, PAT, PASSKEY, TOTP, OIDC, or AWS / AZURE / GCP for workload identity federation. PASSWORD on a service identity, or a user whose only factor is PASSWORD, means no MFA. |
|
domain |
The object domain the credential belongs to, normally USER. |
|
expiration_date |
When the credential expires. Null means it never expires, so it stays valid until it is explicitly revoked. |
|
last_altered |
When the credential was last changed. |
|
last_altered_by |
Name of the user that last changed the credential. |
|
last_used_on |
When the credential last authenticated. Null means it has never been used, which makes it a candidate for removal. |
|
name |
Yes |
The credential name. |
status |
Credential status; only an active credential can authenticate. |
|
user_name |
Yes |
Name of the Snowflake user the credential authenticates as. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeCredential): A Snowflake account contains the credential as a resource.(:SnowflakeCredential)-[:OWNED_BY]->(:SnowflakeServiceUser): The credential authenticates as this Snowflake service user.(:SnowflakeCredential)-[:OWNED_BY]->(:SnowflakeUser): The credential authenticates as this human Snowflake user.
SnowflakeDatabase#
Represents a Snowflake database, the top container of the data hierarchy.
Ontology Mapping: This node uses the ontology label
Database.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the database. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
budget |
Name of the budget the database is attached to. |
|
comment |
Database comment. |
|
created_on |
When the database was created. |
|
data_retention_time_in_days |
Time Travel window in days. A value of 0 disables Time Travel, which removes the ability to recover data after an accidental or malicious change. |
|
dropped_on |
When the database was dropped, if it is pending purge. |
|
is_current |
Whether this is the current database for the collecting session. |
|
is_default |
Whether this is the default database for the collecting user. |
|
is_from_share |
Whether the database is a read-only mount of an inbound share rather than data this account owns. |
|
kind |
The database kind reported by Snowflake, for example STANDARD or IMPORTED DATABASE. |
|
name |
Yes |
The database name. |
options |
Database options such as TRANSIENT, as reported by Snowflake. |
|
origin |
Yes |
The share this database was created from, as PROVIDER_ACCOUNT.SHARE. Empty for a database created locally. |
owner |
Name of the role that owns the database. |
|
owner_role_type |
Whether the owner is a ROLE or a DATABASE_ROLE. |
|
qualified_name |
Yes |
The database name as it appears in a fully-qualified object name. |
retention_time |
Days a dropped database stays recoverable through UNDROP. |
|
_ont_encrypted |
Yes |
Property generated by the ontology mapping. |
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
|
_ont_type |
Yes |
Property generated by the ontology mapping. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeDatabase): A Snowflake account contains the database as a resource.(:SnowflakeDatabase)-[:CONTAINS]->(:SnowflakeDatabaseRole): A Snowflake database contains the database role.(:SnowflakeDatabase)-[:CONTAINS]->(:SnowflakeSchema): A Snowflake database contains the schema.(:SnowflakeDatabase)-[:CREATED_FROM_SHARE]->(:SnowflakeShare): The database is a read-only mount of data another Snowflake account shared in.
Data reachable through this database belongs to the provider account, so a privilege granted here exposes someone else’s data rather than this account’s.
(:SnowflakeFailoverGroup)-[:REPLICATES]->(:SnowflakeDatabase): The group copies this database’s contents to every account allowed to hold a replica.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeReplicationGroup)-[:REPLICATES]->(:SnowflakeDatabase): The group copies this database’s contents to every account allowed to hold a replica.
SnowflakeDatabaseRole#
Represents a Snowflake database role, whose privileges are confined to one database.
Ontology Mapping: This node uses the ontology label
PermissionRole.
Additional Labels: This node also uses
SnowflakePrincipal,SnowflakeSecurable.
Additional Label Definitions:
SnowflakePrincipal: A Snowflake grantee that can hold privileges.
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the database role. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Database role comment. |
|
created_on |
When the database role was created. |
|
database_name |
The database that owns the role. |
|
granted_database_roles |
Number of database roles granted to this database role. |
|
granted_to_database_roles |
Number of database roles this database role is granted to. |
|
granted_to_roles |
Number of account roles this database role is granted to. |
|
name |
Yes |
The database role name. |
owner |
Name of the role that owns this database role. |
|
qualified_name |
Yes |
The database-qualified role name, as DATABASE.ROLE. |
_ont_name |
Yes |
Normalized field sourced from |
_ont_scope |
Yes |
Property generated by the ontology mapping. |
_ont_source |
Module that populated this node’s ontology fields. |
|
_ont_type |
Yes |
Property generated by the ontology mapping. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeDatabaseRole): A Snowflake account contains the role as a resource.(:SnowflakeDatabase)-[:CONTAINS]->(:SnowflakeDatabaseRole): A Snowflake database contains the database role.(:SnowflakeDatabaseRole)-[:INCLUDES]->(:SnowflakeDatabaseRole): A Snowflake database role inherits the privileges of the database role granted to it.Properties:
Field
Description
created_on
When the role was granted.
granted_by
Name of the role that created the grant.
(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeRole)-[:INCLUDES]->(:SnowflakeDatabaseRole): A Snowflake role inherits the privileges of the database role granted to it.Properties:
Field
Description
created_on
When the role was granted.
granted_by
Name of the role that created the grant.
SnowflakeDataPolicy#
Represents a Snowflake data governance policy that restricts what a query may read.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the data policy. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
body |
The SQL expression the policy evaluates. This is where the actual condition lives, for example which roles see unmasked values. |
|
comment |
Policy comment. |
|
created_on |
When the policy was created. |
|
database_name |
Database holding the policy. |
|
kind |
The object kind Snowflake reports for the policy. |
|
name |
Yes |
The data policy name. |
owner |
Name of the role that owns the policy. |
|
owner_role_type |
Whether the owning role is an account role or a database role. |
|
policy_kind |
Yes |
Which governance policy this is: MASKING_POLICY, ROW_ACCESS_POLICY, PROJECTION_POLICY, AGGREGATION_POLICY or JOIN_POLICY. |
qualified_name |
Yes |
Fully qualified name of the policy, as DATABASE.SCHEMA.NAME. |
return_type |
The type the policy body returns, for masking policies. |
|
schema_name |
Schema holding the policy. |
|
signature |
The policy’s argument list, which decides the column types it can be attached to. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeDataPolicy): A Snowflake account contains the data policy as a resource.(:SnowflakeDataPolicy)-[:APPLIED_TO]->(:SnowflakeSecurable): A Snowflake data governance policy is attached to this object, restricting reads of it.Properties:
Field
Description
policy_status
Whether the attachment is active. An inactive attachment leaves the object unprotected despite the policy being set.
ref_column_name
The column the policy protects, for a masking or projection policy. Null when the policy applies to the whole object.
ref_entity_domain
The kind of object the policy is attached to, such as TABLE, VIEW, USER or ACCOUNT.
(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeDataPolicy): A Snowflake schema holds the data policy.
SnowflakeDynamicTable#
Represents a Snowflake dynamic table: a declarative pipeline Snowflake refreshes on a lag target.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the dynamic table. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Dynamic table comment. |
|
created_on |
When the dynamic table was created. |
|
database_name |
Yes |
Name of the database that contains the dynamic table. |
name |
Yes |
The dynamic table name. |
owner |
Name of the role that owns the dynamic table. |
|
qualified_name |
Yes |
The fully-qualified name, as DATABASE.SCHEMA.DYNAMIC_TABLE. |
query |
The SELECT statement the dynamic table materializes. |
|
refresh_mode |
Whether refreshes are INCREMENTAL or FULL. |
|
scheduling_state |
Whether refreshes are RUNNING or SUSPENDED. A suspended dynamic table keeps serving stale data without failing queries. |
|
schema_name |
Yes |
Name of the schema that contains the dynamic table. |
target_lag |
How far behind its sources the dynamic table is allowed to fall. |
|
warehouse |
Yes |
Name of the warehouse that runs the refresh. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeDynamicTable): A Snowflake account contains the dynamic table as a resource.(:SnowflakeDynamicTable)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): The dynamic table runs its refreshes on this warehouse.
The refresh executes with the dynamic table owner’s privileges, so the warehouse is where that owner’s compute is spent.
(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeDynamicTable): A Snowflake schema contains the dynamic table.
SnowflakeEventTable#
Represents a Snowflake event table, the destination for logs, traces and metrics.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the event table. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Event table comment. |
|
created_on |
When the event table was created. |
|
database_name |
Yes |
Name of the database that contains the event table. |
name |
Yes |
The event table name. |
owner |
Name of the role that owns the event table. |
|
qualified_name |
Yes |
The fully-qualified name, as DATABASE.SCHEMA.EVENT_TABLE. |
row_count |
Number of event rows Snowflake reports for the table. |
|
schema_name |
Yes |
Name of the schema that contains the event table. |
size_bytes |
Bytes of storage the event table occupies. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeEventTable): A Snowflake account contains the event table as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeEventTable): A Snowflake schema contains the event table.
SnowflakeExternalAccessIntegration#
Represents a Snowflake external access integration: the allow-list that lets UDF and procedure code call out to the internet.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the external access integration. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
allowed_api_authentication_integrations |
Names of the security integrations that may mint OAuth tokens for the calls. |
|
allowed_authentication_secrets |
Qualified names of the secrets handler code may read through the integration. |
|
allowed_network_rules |
Qualified names of the egress network rules the integration permits. |
|
comment |
External access integration comment. |
|
created_on |
When the external access integration was created. |
|
enabled |
Whether UDFs and procedures may make outbound network calls through the integration. |
|
name |
Yes |
The external access integration name. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeExternalAccessIntegration): A Snowflake account contains the external access integration as a resource.(:SnowflakeExternalAccessIntegration)-[:ALLOWS]->(:SnowflakeNetworkRule): A Snowflake external access integration permits the egress described by this network rule.(:SnowflakeExternalAccessIntegration)-[:ALLOWS_AUTH_INTEGRATION]->(:SnowflakeSecurityIntegration): A Snowflake external access integration may mint tokens through this security integration.(:SnowflakeExternalAccessIntegration)-[:ALLOWS_SECRET]->(:SnowflakeSecret): A Snowflake external access integration lets handler code read this secret.(:SnowflakeFunction)-[:USES_INTEGRATION]->(:SnowflakeExternalAccessIntegration): A Snowflake function reaches the network through this external access integration.
The integration is what turns a sandboxed handler into one that can talk to the outside world, so it marks a function as a potential egress path.
(:SnowflakeNotebook)-[:USES_INTEGRATION]->(:SnowflakeExternalAccessIntegration): A Snowflake notebook reaches the network through this external access integration.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeProcedure)-[:USES_INTEGRATION]->(:SnowflakeExternalAccessIntegration): A Snowflake stored procedure reaches the network through this external access integration.(:SnowflakeService)-[:USES_INTEGRATION]->(:SnowflakeExternalAccessIntegration): A Snowflake service makes outbound network calls through this external access integration.(:SnowflakeStreamlit)-[:USES_INTEGRATION]->(:SnowflakeExternalAccessIntegration): A Snowflake Streamlit app reaches the network through this external access integration.
SnowflakeExternalTable#
Represents a Snowflake external table: a table whose files stay in cloud storage.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the external table. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
cloud |
Cloud provider hosting the underlying files. |
|
comment |
External table comment. |
|
created_on |
When the external table was created. |
|
database_name |
Yes |
Name of the database that contains the external table. |
file_format_name |
Name of the file format used to parse the files. |
|
file_format_type |
File format type, for example CSV, JSON or PARQUET. |
|
invalid |
Whether Snowflake marked the external table invalid, meaning it can no longer read its files. |
|
invalid_reason |
Why Snowflake invalidated the external table. |
|
last_refreshed_on |
When the external table metadata was last refreshed. |
|
location |
Yes |
Cloud storage prefix the files are read from. The data lives outside Snowflake, so its access controls are the storage provider’s. |
name |
Yes |
The external table name. |
notification_channel |
Cloud messaging channel that triggers automatic metadata refreshes. |
|
owner |
Name of the role that owns the external table. |
|
owner_role_type |
Whether the owner is a ROLE or a DATABASE_ROLE. |
|
qualified_name |
Yes |
The fully-qualified name, as DATABASE.SCHEMA.EXTERNAL_TABLE. |
region |
Cloud region hosting the underlying files. |
|
schema_name |
Yes |
Name of the schema that contains the external table. |
stage |
Name of the stage the external table reads its files through. |
|
table_format |
Table format layered over the files, for example DELTA. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeExternalTable): A Snowflake account contains the external table as a resource.(:SnowflakeExternalTable)-[:READS_FROM]->(:SnowflakeStage): The external table reads its files through this stage.
The stage holds the credential or storage integration, so it is the hop that turns a query on the external table into access to cloud storage.
(:SnowflakeExternalTable)-[:USES_FILE_FORMAT]->(:SnowflakeFileFormat): The external table parses its files with this named file format.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeExternalTable): A Snowflake schema contains the external table.
SnowflakeExternalVolume#
Represents a Snowflake external volume: the named set of cloud storage locations Iceberg tables are written to.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the external volume. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
allow_writes |
Whether Snowflake may write to the volume’s storage locations, which is required for Snowflake-managed Iceberg tables. |
|
comment |
External volume comment. |
|
created_on |
When the external volume was created. |
|
name |
Yes |
The external volume name. |
owner |
Name of the role that owns the external volume. |
|
owner_role_type |
Whether the owning role is an account ROLE or a DATABASE_ROLE. |
|
storage_location_count |
Number of storage locations configured on the volume. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeExternalVolume): A Snowflake account contains the external volume as a resource.(:SnowflakeExternalVolume)-[:HAS_STORAGE_LOCATION]->(:SnowflakeExternalVolumeStorageLocation): A Snowflake external volume writes to this storage location.(:SnowflakeIcebergTable)-[:STORED_IN]->(:SnowflakeExternalVolume): The Iceberg table’s files live on this external volume.
The volume points at customer-owned cloud storage, so anyone with access to that storage can read the table’s data without going through Snowflake.
(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:DEFAULT_EXTERNAL_VOLUME]->(:SnowflakeExternalVolume): Iceberg tables created in this schema land on this external volume by default.
The volume points at customer-owned cloud storage, so this edge is how schema data reaches an S3, GCS or Azure location.
SnowflakeExternalVolumeStorageLocation#
Represents one cloud storage location of a Snowflake external volume.
Ontology Mapping: This node uses the ontology label
ObjectStorage.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the external volume storage location. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
azure_storage_account |
Name of the Azure storage account parsed out of the base URL, when the provider is Azure. |
|
azure_tenant_id |
Entra ID tenant Snowflake requests an access token from for the location. |
|
encryption_type |
Server-side encryption applied to the location: NONE, AWS_SSE_S3, AWS_SSE_KMS or GCS_SSE_KMS. |
|
gcs_bucket |
Name of the GCS bucket parsed out of the base URL, when the provider is GCS. |
|
kms_key_id |
Yes |
Identifier of the KMS key used when encryption is customer-managed. |
name |
Yes |
Name of the storage location within its external volume. |
s3_bucket |
Name of the S3 bucket parsed out of the base URL, when the provider is AWS. |
|
storage_aws_external_id |
External id the role’s trust policy must require, which is what prevents another Snowflake account from assuming it. |
|
storage_aws_iam_user_arn |
ARN of the Snowflake-owned IAM user that must be trusted by the role’s trust policy. |
|
storage_aws_role_arn |
Yes |
ARN of the AWS IAM role Snowflake assumes to reach the location. |
storage_base_url |
Yes |
Base cloud storage URL that Iceberg data and metadata are written under. |
storage_provider |
Cloud storage provider: S3, S3GOV, GCS or AZURE. |
|
volume_name |
Name of the external volume that owns the location. |
|
_ont_encrypted |
Yes |
Normalized field sourced from |
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeExternalVolumeStorageLocation): A Snowflake account contains the external volume storage location as a resource.(:SnowflakeExternalVolume)-[:HAS_STORAGE_LOCATION]->(:SnowflakeExternalVolumeStorageLocation): A Snowflake external volume writes to this storage location.(:SnowflakeExternalVolumeStorageLocation)-[:ASSUMES_ROLE]->(:AWSPrincipal): A Snowflake external volume storage location assumes an AWS IAM role to reach its bucket.(:SnowflakeExternalVolumeStorageLocation)-[:BACKED_BY]->(:AWSS3Bucket): A Snowflake external volume storage location is backed by an Amazon S3 bucket.(:SnowflakeExternalVolumeStorageLocation)-[:BACKED_BY]->(:AzureStorageAccount): A Snowflake external volume storage location is backed by an Azure storage account.(:SnowflakeExternalVolumeStorageLocation)-[:BACKED_BY]->(:GCPBucket): A Snowflake external volume storage location is backed by a Google Cloud Storage bucket.(:SnowflakeExternalVolumeStorageLocation)-[:ENCRYPTED_BY]->(:AWSKMSKey): A Snowflake external volume storage location is encrypted with an AWS KMS key.
SnowflakeFailoverGroup#
Represents a Snowflake failover group: a replication group whose secondary can be promoted to primary.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the group. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
allowed_accounts |
Accounts permitted to hold a replica, as organization-qualified identifiers. Kept verbatim because an account outside this organization has no node in the graph. |
|
allowed_databases |
Databases the group replicates. |
|
allowed_integration_types |
Integration types the group is permitted to replicate. |
|
allowed_shares |
Shares the group replicates. |
|
comment |
Group comment. |
|
created_on |
When the group was created. |
|
group_type |
The group type Snowflake reports, distinguishing replication from failover. |
|
is_primary |
Whether this account holds the primary copy. Only the primary is writable; a secondary is a read-only replica. |
|
name |
Yes |
The group name. |
next_scheduled_refresh |
When the next refresh is due. |
|
object_types |
Kinds of object the group replicates, such as DATABASES, SHARES, USERS or ROLES. Replicating USERS and ROLES copies the account’s identities into the target account. |
|
owner |
Name of the role that owns the group. |
|
primary |
Fully qualified name of the primary group, including its account. |
|
replication_schedule |
How often the replica is refreshed. Null means refreshes are triggered manually rather than on a schedule. |
|
secondary_state |
Whether the secondary replica is started or suspended. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeFailoverGroup): A Snowflake account contains the replication or failover group as a resource.(:SnowflakeFailoverGroup)-[:REPLICATES]->(:SnowflakeDatabase): The group copies this database’s contents to every account allowed to hold a replica.(:SnowflakeFailoverGroup)-[:REPLICATES_TO]->(:SnowflakeAccount): The group is permitted to place a replica of its objects in this Snowflake account.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
SnowflakeFileFormat#
Represents a Snowflake named file format, the reusable parsing rules for staged files.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the file format. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
File format comment. |
|
created_on |
When the file format was created. |
|
database_name |
Yes |
Name of the database that contains the file format. |
format_options |
The format’s parsing options, as reported by Snowflake. |
|
format_type |
Yes |
File type the format parses, for example CSV, JSON or PARQUET. |
name |
Yes |
The file format name. |
owner |
Name of the role that owns the file format. |
|
owner_role_type |
Whether the owner is a ROLE or a DATABASE_ROLE. |
|
qualified_name |
Yes |
The fully-qualified name, as DATABASE.SCHEMA.FILE_FORMAT. |
schema_name |
Yes |
Name of the schema that contains the file format. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeFileFormat): A Snowflake account contains the file format as a resource.(:SnowflakeExternalTable)-[:USES_FILE_FORMAT]->(:SnowflakeFileFormat): The external table parses its files with this named file format.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeFileFormat): A Snowflake schema contains the file format.
SnowflakeFunction#
Represents a Snowflake user-defined function: code that runs inside the account whenever a query calls it.
A function name alone does not identify a function, because the same name can be overloaded with different argument types in one schema, so the identifier carries a normalised argument list as well. Known limitation: SHOW GRANTS renders a function’s arguments differently from the object API, so a privilege granted on a specific overload may not attach to this node.
Ontology Mapping: This node uses the ontology label
Function.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the function. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
api_integration |
API integration an external function calls its remote service through. |
|
comment |
Function comment. |
|
created_on |
When the function was created. |
|
database_name |
Database containing the function. |
|
external_access_integrations |
External access integrations that let the handler reach the network. |
|
handler |
Entry point Snowflake invokes inside the code. |
|
imports |
Staged files the handler loads its code from. |
|
is_builtin |
Whether the function ships with Snowflake rather than being user-defined. |
|
is_external_function |
Whether the function calls out to a remote HTTPS service, which sends query data outside Snowflake. |
|
is_memoizable |
Whether Snowflake may cache the function’s result per session. |
|
is_secure |
Whether the function is secure, meaning Snowflake hides its definition and keeps the optimizer from leaking underlying data. |
|
language |
Language the handler is written in, such as SQL, PYTHON or JAVA. |
|
name |
Yes |
Function name, without its arguments. |
owner |
Name of the role that owns the function. |
|
packages |
Third-party packages the handler imports. |
|
qualified_name |
Fully-qualified database.schema.function name with its normalised argument list, which is what makes an overloaded function unique. |
|
returns |
Data type the function returns. |
|
runtime_version |
Language runtime version the handler runs on. |
|
schema_name |
Schema containing the function. |
|
secrets |
References to the Snowflake secrets the handler is allowed to read. |
|
signature |
Normalised argument type list distinguishing this overload. |
|
_ont_deployment_type |
Yes |
Property generated by the ontology mapping. |
_ont_name |
Yes |
Normalized field sourced from |
_ont_runtime |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
Relationships#
(:Function)-[:RESOLVED_IMAGE]->(:Image): generated by analysis jobFunction RESOLVED_IMAGE analysis.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeFunction): A Snowflake account contains the function as a resource.(:SnowflakeFunction)-[:USES_INTEGRATION]->(:SnowflakeApiIntegration): An external Snowflake function calls its remote service through this API integration.(:SnowflakeFunction)-[:USES_INTEGRATION]->(:SnowflakeExternalAccessIntegration): A Snowflake function reaches the network through this external access integration.
The integration is what turns a sandboxed handler into one that can talk to the outside world, so it marks a function as a potential egress path.
(:SnowflakeFunction)-[:USES_SECRET]->(:SnowflakeSecret): A Snowflake function is allowed to read this secret at runtime.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeFunction): A Snowflake schema holds the function in its namespace.
SnowflakeIcebergTable#
Represents a Snowflake Iceberg table, whose files sit on customer-owned cloud storage.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the Iceberg table. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
base_location |
Path within the external volume holding the table’s files. |
|
can_write_metadata |
Whether Snowflake may write Iceberg metadata for the table, meaning it needs write access to the external volume rather than read-only. |
|
catalog |
Name of the catalog tracking the table. The literal SNOWFLAKE means Snowflake itself is the catalog rather than an external integration. |
|
catalog_namespace |
Namespace of the table in the external catalog. |
|
catalog_sync |
Name of the catalog integration the table’s metadata is synced out to, which makes it readable by engines outside Snowflake. |
|
catalog_table_name |
Name of the table as the external catalog knows it. |
|
created_on |
When the Iceberg table was created. |
|
database_name |
Yes |
Name of the database that contains the Iceberg table. |
external_volume |
Yes |
Name of the external volume holding the table’s data and metadata files, which sit in customer-owned cloud storage. |
iceberg_table_type |
Whether Snowflake manages the table or only reads a table an external catalog manages. |
|
name |
Yes |
The Iceberg table name. |
owner |
Name of the role that owns the Iceberg table. |
|
qualified_name |
Yes |
The fully-qualified name, as DATABASE.SCHEMA.ICEBERG_TABLE. |
schema_name |
Yes |
Name of the schema that contains the Iceberg table. |
storage_serialization_policy |
How Snowflake encodes the Parquet files, which decides whether other Iceberg engines can read them. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeIcebergTable): A Snowflake account contains the Iceberg table as a resource.(:SnowflakeIcebergTable)-[:STORED_IN]->(:SnowflakeExternalVolume): The Iceberg table’s files live on this external volume.
The volume points at customer-owned cloud storage, so anyone with access to that storage can read the table’s data without going through Snowflake.
(:SnowflakeIcebergTable)-[:USES_CATALOG]->(:SnowflakeCatalogIntegration): An external catalog integration, rather than Snowflake, tracks this table.
Absent when Snowflake is its own catalog, which is the case for tables Snowflake manages end to end.
(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeIcebergTable): A Snowflake schema contains the Iceberg table.
SnowflakeImage#
Represents a container image stored in a Snowflake image repository.
Ontology Mapping: This node uses the ontology label
Image.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the image. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
digest |
Yes |
Content digest of the image manifest, which uniquely pins its contents. |
image_path |
Yes |
Full registry path a container specification references the image by. |
name |
Yes |
Image name within its repository. |
repository_name |
Fully qualified name of the image repository holding the image. |
|
size |
Size of the image in bytes. |
|
tags |
Tags currently pointing at this image. |
|
untagged_image_path |
Yes |
Registry path with the tag removed. A running container is resolved to this plus the digest, so the same image bytes pushed to two repositories stay two distinct images. |
uploaded_on |
When the image was pushed to the repository. |
|
_ont_digest |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
|
_ont_uri |
Yes |
Normalized field sourced from |
Relationships#
(:ComputeService)-[:HAS_RUNTIME_IMAGE]->(:Image): generated by analysis jobWorkload HAS_RUNTIME_IMAGE inventory analysis.Properties:
Field
Description
exposed_internet
Property generated by analysis job:
Workload HAS_RUNTIME_IMAGE inventory analysis.
(:Container)-[:RESOLVED_IMAGE]->(:Image): generated by analysis jobContainer RESOLVED_IMAGE analysis.(:Function)-[:RESOLVED_IMAGE]->(:Image): generated by analysis jobFunction RESOLVED_IMAGE analysis.(:PackageVersion)-[:DEPLOYED]->(:Image): A canonical package version is deployed on a container image.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeImage): A Snowflake account contains the image as a resource.(:SnowflakeImageRepository)-[:CONTAINS]->(:SnowflakeImage): A Snowflake image repository holds this image.(:SnowflakeServiceContainer)-[:HAS_IMAGE]->(:SnowflakeImage): A Snowflake service container runs this image from an account image repository.
Matched on the untagged registry path as well as the digest. The digest alone
identifies the image bytes, not the image object: the same bytes pushed to two
repositories are two SnowflakeImage nodes, and a digest-only matcher would
attach the container to every one of them. Pairing the path with the digest picks
the single repository the container actually pulled from, while staying tolerant
of the container and the repository listing reporting different tags.
SnowflakeImageRepository#
Represents a Snowflake image repository: the account-hosted OCI registry that Snowpark Container Services pulls from.
Ontology Mapping: This node uses the ontology label
ContainerRegistry.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the image repository. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Image repository comment. |
|
created_on |
When the image repository was created. |
|
database_name |
Name of the database containing the image repository. |
|
name |
Yes |
The image repository name. |
owner |
Name of the role that owns the image repository. |
|
privatelink_repository_url |
Private-endpoint registry URL, when private connectivity is configured. |
|
qualified_name |
Yes |
Fully qualified DATABASE.SCHEMA.NAME of the image repository. |
repository_url |
Yes |
Registry URL images are pushed to and pulled from. |
schema_name |
Name of the schema containing the image repository. |
|
_ont_created_at |
Yes |
Normalized field sourced from |
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
|
_ont_uri |
Yes |
Normalized field sourced from |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeImageRepository): A Snowflake account contains the image repository as a resource.(:SnowflakeImageRepository)-[:CONTAINS]->(:SnowflakeImage): A Snowflake image repository holds this image.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeImageRepository): A Snowflake schema contains the image repository.
SnowflakeListing#
Represents a Snowflake listing: the Marketplace or Data Exchange offer that publishes a share.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the listing. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Listing comment. |
|
created_on |
When the listing was created. |
|
distribution |
EXTERNAL for the public Snowflake Marketplace, INTERNAL for the organization’s own Data Exchange. EXTERNAL plus a published state means the share behind it is publicly offered. |
|
global_name |
Yes |
Snowflake’s globally unique name for the listing. |
is_application |
Whether the listing publishes a Native App rather than data alone. |
|
is_limited_trial |
Whether the listing offers a limited trial of the data. |
|
is_monetized |
Whether the listing is offered for a price. |
|
is_targeted |
Whether the listing is offered only to named consumer accounts rather than to everyone who can see it. |
|
name |
Yes |
The listing name within the account. |
owner |
Name of the role that owns the listing. |
|
published_on |
When the listing was published. Null while it is unpublished. |
|
review_state |
Where the listing stands in Snowflake’s publishing review. |
|
share_name |
Name of the share the listing publishes. |
|
state |
Lifecycle state of the listing. Only a published listing is discoverable by consumers. |
|
title |
The title consumers see for the listing. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeListing): A Snowflake account contains the listing as a resource.(:SnowflakeListing)-[:PUBLISHES]->(:SnowflakeShare): A Snowflake listing offers this share to consumers.
SnowflakeManagedAccount#
Represents a Snowflake managed account, such as a reader account created to consume a share.
Ontology Mapping: This node uses the ontology label
Tenant.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the managed account. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
account_type |
The managed account type; READER for a reader account. |
|
cloud |
The cloud hosting the managed account. |
|
comment |
Managed account comment. |
|
created_on |
When the managed account was created. |
|
is_reader |
Whether this is a reader account, which consumes shared data without a Snowflake contract of its own. |
|
locator |
Yes |
The managed account’s locator. |
name |
Yes |
The managed account name. |
region |
The region hosting the managed account. |
|
url |
The managed account’s login URL. |
|
_ont_domain |
Yes |
Normalized field sourced from |
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeManagedAccount): A Snowflake account owns the managed account it created.(:SnowflakeShare)-[:SHARED_WITH]->(:SnowflakeManagedAccount): A Snowflake share is readable by this managed consumer account.
SnowflakeMaterializedView#
Represents a Snowflake materialized view: a query whose results are stored and kept fresh.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the materialized view. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
automatic_clustering |
Whether Snowflake reclusters the materialized view automatically. |
|
cluster_by |
Clustering key expression, if there is one. |
|
comment |
Materialized view comment. |
|
created_on |
When the materialized view was created. |
|
database_name |
Yes |
Name of the database that contains the materialized view. |
invalid |
Whether the materialized view is suspended and no longer being maintained, in which case queries fall back to the base table. |
|
invalid_reason |
Why Snowflake invalidated the materialized view. |
|
is_secure |
Whether the materialized view is secure, which hides its definition and stops the optimizer leaking rows the definition filters out. |
|
name |
Yes |
The materialized view name. |
owner |
Name of the role that owns the materialized view. |
|
owner_role_type |
Whether the owner is a ROLE or a DATABASE_ROLE. |
|
qualified_name |
Yes |
The fully-qualified name, as DATABASE.SCHEMA.MATERIALIZED_VIEW. |
query |
The SELECT statement the materialized view keeps precomputed. |
|
refreshed_on |
When the materialized view was last refreshed. |
|
row_count |
Number of rows Snowflake reports for the materialized view. |
|
schema_name |
Yes |
Name of the schema that contains the materialized view. |
size_bytes |
Bytes of storage the materialized view occupies. |
|
source_database_name |
Database of the base table the materialized view reads. |
|
source_name |
Name of the base table the materialized view is defined over. |
|
source_schema_name |
Schema of the base table the materialized view reads. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeMaterializedView): A Snowflake account contains the materialized view as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeMaterializedView): A Snowflake schema contains the materialized view.
SnowflakeNetworkPolicy#
Represents a Snowflake network policy: the IP and network-rule allow/deny list gating connections.
Ontology Mapping: This node uses the ontology label
NetworkAccessControl.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the network policy. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
allowed_ip_count |
Number of entries in the allowed IP list. |
|
allowed_ip_list |
CIDR ranges permitted to connect. A list containing 0.0.0.0/0 permits the entire internet and satisfies Snowflake’s policy requirement without restricting anything. |
|
allows_all_ipv4 |
Whether the allowed list contains 0.0.0.0/0, meaning the policy places no effective network restriction on IPv4 traffic. |
|
attached_to_account |
Whether this policy is set as the account-level network policy, which applies it to every user without their own policy. |
|
blocked_ip_count |
Number of entries in the blocked IP list. |
|
blocked_ip_list |
CIDR ranges denied even when they appear in the allowed list. |
|
comment |
Network policy comment. |
|
created_on |
When the network policy was created. |
|
name |
Yes |
The network policy name. |
owner |
Name of the role that owns the network policy. |
|
_ont_direction |
Yes |
Property generated by the ontology mapping. |
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
Relationships#
(:SnowflakeAccount)-[:GOVERNED_BY]->(:SnowflakeNetworkPolicy): Every connection to the Snowflake account is restricted by this network policy.
Distinct from the RESOURCE edge, which merely records that the policy is defined in the account. This edge means the policy is actually in force account-wide, which is read from the account’s NETWORK_POLICY parameter.
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeNetworkPolicy): A Snowflake account contains the network policy as a resource.(:SnowflakeNetworkPolicy)-[:ALLOWS]->(:SnowflakeNetworkRule): A Snowflake network policy permits the traffic described by this network rule.(:SnowflakeNetworkPolicy)-[:BLOCKS]->(:SnowflakeNetworkRule): A Snowflake network policy denies the traffic described by this network rule.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSecurityIntegration)-[:GOVERNED_BY]->(:SnowflakeNetworkPolicy): Use of this Snowflake security integration is restricted by a network policy.(:SnowflakeServiceUser)-[:GOVERNED_BY]->(:SnowflakeNetworkPolicy): A Snowflake user’s connections are restricted by this network policy.(:SnowflakeUser)-[:GOVERNED_BY]->(:SnowflakeNetworkPolicy): A Snowflake user’s connections are restricted by this network policy.
SnowflakeNetworkRule#
Represents a Snowflake network rule: a reusable list of network identifiers referenced by policies and integrations.
Ontology Mapping: This node uses the ontology label
NetworkAccessControl.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the network rule. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Network rule comment. |
|
created_on |
When the network rule was created. |
|
database_name |
Name of the database containing the network rule. |
|
mode |
Direction the rule governs: INGRESS for inbound connections, EGRESS for outbound calls from UDFs and procedures, INTERNAL_STAGE for stage access. |
|
name |
Yes |
The network rule name. |
owner |
Name of the role that owns the network rule. |
|
qualified_name |
Yes |
Fully qualified DATABASE.SCHEMA.NAME of the network rule. |
rule_type |
What the value list holds: IPV4, IPV6, AWSVPCEID, AZURELINKID, HOST_PORT or PRIVATE_HOST_PORT. |
|
schema_name |
Name of the schema containing the network rule. |
|
value_count |
Number of entries in the rule’s value list. |
|
value_list |
The addresses, endpoint ids or host:port pairs the rule matches. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeNetworkRule): A Snowflake account contains the network rule as a resource.(:SnowflakeExternalAccessIntegration)-[:ALLOWS]->(:SnowflakeNetworkRule): A Snowflake external access integration permits the egress described by this network rule.(:SnowflakeNetworkPolicy)-[:ALLOWS]->(:SnowflakeNetworkRule): A Snowflake network policy permits the traffic described by this network rule.(:SnowflakeNetworkPolicy)-[:BLOCKS]->(:SnowflakeNetworkRule): A Snowflake network policy denies the traffic described by this network rule.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeNetworkRule): A Snowflake schema contains the network rule.
SnowflakeNotebook#
Represents a Snowflake notebook: interactive code and SQL stored as an account object.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the notebook. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Notebook comment. |
|
compute_pool |
Name of the compute pool backing a container-runtime notebook. |
|
created_on |
When the notebook was created. |
|
database_name |
Database containing the notebook. |
|
default_version |
Version of the notebook’s files that Snowflake runs by default. |
|
external_access_integrations |
External access integrations that let the notebook reach the network. |
|
external_access_secrets |
References to the secrets the notebook may read when calling out. |
|
import_urls |
Stage locations the notebook’s supporting files were imported from. |
|
live_version_location_uri |
Stage URI holding the currently live version of the notebook’s files. |
|
main_file |
Path of the notebook file that is executed. |
|
name |
Yes |
Notebook name. |
owner |
Name of the role that owns the notebook. |
|
qualified_name |
Fully-qualified database.schema.notebook name. |
|
query_warehouse |
Name of the virtual warehouse the notebook’s SQL cells run on. |
|
runtime_name |
Container runtime image the notebook executes on. |
|
schema_name |
Schema containing the notebook. |
|
title |
Display title shown in Snowsight. |
|
url_id |
Opaque identifier used in the notebook’s Snowsight URL. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeNotebook): A Snowflake account contains the notebook as a resource.(:SnowflakeNotebook)-[:RUNS_ON]->(:SnowflakeComputePool): A container-runtime Snowflake notebook executes on this compute pool.(:SnowflakeNotebook)-[:USES_INTEGRATION]->(:SnowflakeExternalAccessIntegration): A Snowflake notebook reaches the network through this external access integration.(:SnowflakeNotebook)-[:USES_SECRET]->(:SnowflakeSecret): A Snowflake notebook is allowed to read this secret when calling out.(:SnowflakeNotebook)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): A Snowflake notebook runs its queries on this virtual warehouse.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeNotebook): A Snowflake schema holds the notebook in its namespace.
SnowflakeNotificationIntegration#
Represents a Snowflake notification integration: the message queue or email hook Snowflake sends and receives events through.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the notification integration. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
aws_sns_external_id |
External id the role’s trust policy must require, which is what prevents another Snowflake account from assuming it. |
|
aws_sns_role_arn |
Yes |
ARN of the AWS IAM role Snowflake assumes to publish to the topic. |
aws_sns_topic_arn |
Yes |
ARN of the SNS topic Snowflake publishes notifications to. |
azure_storage_queue_primary_uri |
URI of the Azure storage queue that carries Event Grid notifications. |
|
azure_tenant_id |
Entra ID tenant Snowflake requests an access token from for the queue. |
|
comment |
Notification integration comment. |
|
created_on |
When the notification integration was created. |
|
enabled |
Whether the integration may send or receive notifications. |
|
gcp_pubsub_subscription_name |
Yes |
Full name of the Pub/Sub subscription Snowflake reads notifications from. |
gcp_pubsub_topic_name |
Yes |
Full name of the Pub/Sub topic Snowflake publishes notifications to. |
name |
Yes |
The notification integration name. |
notification_hook_type |
Transport the integration uses: EMAIL, WEBHOOK, QUEUE_AWS_SNS_OUTBOUND, an Azure Event Grid queue or a GCP Pub/Sub queue. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeNotificationIntegration): A Snowflake account contains the notification integration as a resource.(:SnowflakeNotificationIntegration)-[:ASSUMES_ROLE]->(:AWSPrincipal): A Snowflake notification integration assumes an AWS IAM role to reach its SNS topic.(:SnowflakeNotificationIntegration)-[:NOTIFIES]->(:AWSSNSTopic): A Snowflake notification integration publishes to an Amazon SNS topic.(:SnowflakePipe)-[:USES_INTEGRATION]->(:SnowflakeNotificationIntegration): A Snowflake pipe reads its file-arrival events through this notification integration.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeTask)-[:NOTIFIES]->(:SnowflakeNotificationIntegration): A Snowflake task sends its error notifications through this integration. A Snowflake task sends its success notifications through this integration.
SnowflakeOrganization#
Represents a Snowflake organization: the container that owns a set of accounts.
Ontology Mapping: This node uses the ontology label
Tenant.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
The Snowflake organization name. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
name |
Yes |
The Snowflake organization name. |
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
Relationships#
(:SnowflakeOrganization)-[:RESOURCE]->(:SnowflakeAccount): A Snowflake organization contains the account.
SnowflakePasswordPolicy#
Represents a Snowflake password policy: the complexity and rotation rules applied to passwords.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the password policy. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Policy comment. |
|
created_on |
When the policy was created. |
|
database_name |
Database holding the policy. |
|
name |
Yes |
The password policy name. |
owner |
Name of the role that owns the policy. |
|
owner_role_type |
Whether the owning role is an account role or a database role. |
|
password_history |
Number of previous passwords that may not be reused. |
|
password_lockout_time_mins |
Minutes a user stays locked out after too many failed attempts. |
|
password_max_age_days |
Days before a password must be rotated. Zero disables expiry, so passwords under this policy never have to change. |
|
password_max_length |
Maximum number of characters allowed. |
|
password_max_retries |
Failed attempts allowed before the user is locked out. |
|
password_min_age_days |
Days a password must be kept before it may be changed again. |
|
password_min_length |
Minimum number of characters required. |
|
password_min_lower_case_chars |
Minimum number of lowercase characters required. |
|
password_min_numeric_chars |
Minimum number of digits required. |
|
password_min_special_chars |
Minimum number of special characters required. |
|
password_min_upper_case_chars |
Minimum number of uppercase characters required. |
|
qualified_name |
Yes |
Fully qualified name of the policy, as DATABASE.SCHEMA.NAME. |
schema_name |
Schema holding the policy. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakePasswordPolicy): A Snowflake account contains the password policy as a resource.(:SnowflakePasswordPolicy)-[:APPLIED_TO]->(:SnowflakeSecurable): A Snowflake password policy governs the passwords of this object’s users.Properties:
Field
Description
policy_status
Whether the attachment is active. An inactive attachment leaves the object unprotected despite the policy being set.
ref_column_name
The column the policy protects, for a masking or projection policy. Null when the policy applies to the whole object.
ref_entity_domain
The kind of object the policy is attached to, such as TABLE, VIEW, USER or ACCOUNT.
(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakePasswordPolicy): A Snowflake schema holds the password policy.
SnowflakePipe#
Represents a Snowflake pipe: a continuous COPY that loads staged files into a table.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the pipe. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
auto_ingest |
Whether the pipe loads files automatically from cloud storage event notifications rather than waiting for an explicit REST call. |
|
aws_sns_topic |
ARN of the SNS topic that notifies the pipe of new files. |
|
comment |
Pipe comment. |
|
created_on |
When the pipe was created. |
|
database_name |
Database containing the pipe. |
|
definition |
The COPY INTO statement the pipe runs for each ingested file. |
|
error_integration |
Notification integration that receives the pipe’s error notifications. |
|
integration |
Notification integration the pipe reads its event queue from. |
|
invalid_reason |
Why Snowflake considers the pipe unusable, for example a dropped stage or target table. Null while the pipe is healthy. |
|
name |
Yes |
Pipe name. |
owner |
Name of the role that owns the pipe. |
|
pattern |
Regular expression limiting which staged file paths the pipe ingests. |
|
qualified_name |
Fully-qualified database.schema.pipe name. |
|
schema_name |
Schema containing the pipe. |
Relationships#
(:AWSSNSTopic)-[:NOTIFIES]->(:SnowflakePipe): A Snowflake pipe is driven by file-arrival notifications from this SNS topic.
Joining the pipe to the topic the aws module already ingested is what makes an ingestion path traceable from the S3 bucket that receives a file all the way to the Snowflake table it lands in.
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakePipe): A Snowflake account contains the pipe as a resource.(:SnowflakePipe)-[:USES_INTEGRATION]->(:SnowflakeNotificationIntegration): A Snowflake pipe reads its file-arrival events through this notification integration.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakePipe): A Snowflake schema holds the pipe in its namespace.
SnowflakeProcedure#
Represents a Snowflake stored procedure: a callable body of code that can run with its owner’s privileges.
A procedure name alone does not identify a procedure, because the same name can be overloaded with different argument types in one schema, so the identifier carries a normalised argument list as well. Known limitation: SHOW GRANTS renders a procedure’s arguments differently from the object API, so a privilege granted on a specific overload may not attach to this node.
Ontology Mapping: This node uses the ontology label
Function.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the stored procedure. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
api_integration |
API integration the procedure calls a remote service through. |
|
comment |
Procedure comment. |
|
created_on |
When the procedure was created. |
|
database_name |
Database containing the procedure. |
|
execute_as |
Whether the body runs with the privileges of the procedure owner (OWNER) or of the role that called it (CALLER). An owner-rights procedure lends its owner’s privileges to anyone allowed to call it. |
|
external_access_integrations |
External access integrations that let the handler reach the network. |
|
handler |
Entry point Snowflake invokes inside the code. |
|
imports |
Staged files the handler loads its code from. |
|
is_builtin |
Whether the procedure ships with Snowflake rather than being user-defined. |
|
is_external_function |
Whether the procedure calls out to a remote HTTPS service. |
|
is_memoizable |
Whether Snowflake may cache the procedure’s result per session. |
|
is_secure |
Whether Snowflake hides the procedure’s definition from non-owners. |
|
language |
Language the handler is written in, such as SQL, PYTHON or JAVA. |
|
name |
Yes |
Procedure name, without its arguments. |
owner |
Name of the role that owns the procedure. |
|
packages |
Third-party packages the handler imports. |
|
qualified_name |
Fully-qualified database.schema.procedure name with its normalised argument list, which is what makes an overloaded procedure unique. |
|
returns |
Data type the procedure returns. |
|
runtime_version |
Language runtime version the handler runs on. |
|
schema_name |
Schema containing the procedure. |
|
secrets |
References to the Snowflake secrets the handler is allowed to read. |
|
signature |
Normalised argument type list distinguishing this overload. |
|
_ont_deployment_type |
Yes |
Property generated by the ontology mapping. |
_ont_name |
Yes |
Normalized field sourced from |
_ont_runtime |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
Relationships#
(:Function)-[:RESOLVED_IMAGE]->(:Image): generated by analysis jobFunction RESOLVED_IMAGE analysis.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeProcedure): A Snowflake account contains the stored procedure as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeProcedure)-[:ASSUMES]->(:SnowflakeRole): An owner-rights stored procedure executes with the privileges of its owning role.
This is the Snowflake equivalent of a privilege-escalation stepping stone: any role that may call the procedure gets the owner’s privileges for the duration of the body. Absent for a caller-rights procedure, which runs with whatever privileges the caller already had.
(:SnowflakeProcedure)-[:USES_INTEGRATION]->(:SnowflakeExternalAccessIntegration): A Snowflake stored procedure reaches the network through this external access integration.(:SnowflakeProcedure)-[:USES_SECRET]->(:SnowflakeSecret): A Snowflake stored procedure is allowed to read this secret at runtime.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeProcedure): A Snowflake schema holds the stored procedure in its namespace.
SnowflakeProgrammaticAccessToken#
Represents a Snowflake programmatic access token: a bearer secret that authenticates as a user.
Ontology Mapping: This node uses the ontology label
APIKey.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the access token. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Token comment. |
|
created_by |
Name of the user that created the token. |
|
created_on |
When the token was created. |
|
expires_at |
When the token stops being accepted. |
|
mins_to_bypass_required_network_policy |
Minutes remaining in which this token may be used from outside the network policy that would otherwise gate it. A non-null value is an active exemption from network restrictions, so the token can be replayed from anywhere on the internet until it lapses. |
|
name |
Yes |
The token name. |
role_restriction |
The single role the token is limited to. Null when the token is unrestricted, in which case it can activate every role its user holds. |
|
rotated_to |
Name of the token this one was rotated to. A rotated token stays usable for its grace period, so both it and its successor are live secrets. |
|
status |
Token status; only an ACTIVE token can authenticate. |
|
user_name |
Yes |
Name of the Snowflake user the token authenticates as. |
_ont_created_at |
Yes |
Normalized field sourced from |
_ont_expires_at |
Yes |
Normalized field sourced from |
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeProgrammaticAccessToken): A Snowflake account contains the access token as a resource.(:SnowflakeProgrammaticAccessToken)-[:OWNED_BY]->(:SnowflakeServiceUser): The access token authenticates as this Snowflake service user.(:SnowflakeProgrammaticAccessToken)-[:OWNED_BY]->(:SnowflakeUser): The access token authenticates as this human Snowflake user.(:SnowflakeProgrammaticAccessToken)-[:RESTRICTED_TO]->(:SnowflakeRole): The access token may only activate this role, whatever else its user holds.
Absent when the token is unrestricted, which means it inherits every role granted to its user.
(:User)-[:OWNS]->(:APIKey): generated by analysis jobOntology - User OWNS APIKey linking.
SnowflakeReplicationGroup#
Represents a Snowflake replication group: a set of objects copied to other accounts on a schedule.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the group. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
allowed_accounts |
Accounts permitted to hold a replica, as organization-qualified identifiers. Kept verbatim because an account outside this organization has no node in the graph. |
|
allowed_databases |
Databases the group replicates. |
|
allowed_integration_types |
Integration types the group is permitted to replicate. |
|
allowed_shares |
Shares the group replicates. |
|
comment |
Group comment. |
|
created_on |
When the group was created. |
|
group_type |
The group type Snowflake reports, distinguishing replication from failover. |
|
is_primary |
Whether this account holds the primary copy. Only the primary is writable; a secondary is a read-only replica. |
|
name |
Yes |
The group name. |
next_scheduled_refresh |
When the next refresh is due. |
|
object_types |
Kinds of object the group replicates, such as DATABASES, SHARES, USERS or ROLES. Replicating USERS and ROLES copies the account’s identities into the target account. |
|
owner |
Name of the role that owns the group. |
|
primary |
Fully qualified name of the primary group, including its account. |
|
replication_schedule |
How often the replica is refreshed. Null means refreshes are triggered manually rather than on a schedule. |
|
secondary_state |
Whether the secondary replica is started or suspended. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeReplicationGroup): A Snowflake account contains the replication or failover group as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeReplicationGroup)-[:REPLICATES]->(:SnowflakeDatabase): The group copies this database’s contents to every account allowed to hold a replica.(:SnowflakeReplicationGroup)-[:REPLICATES_TO]->(:SnowflakeAccount): The group is permitted to place a replica of its objects in this Snowflake account.
SnowflakeResourceMonitor#
Represents a Snowflake resource monitor: the credit quota that suspends warehouses when exceeded.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the resource monitor. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Resource monitor comment. |
|
created_on |
When the resource monitor was created. |
|
credit_quota |
Credits the monitored objects may consume per interval before actions fire. |
|
end_time |
When monitoring ends. Null means the monitor runs indefinitely. |
|
frequency |
How often the credit usage resets: MONTHLY, DAILY, WEEKLY, YEARLY or NEVER. |
|
level |
Scope the monitor applies to: ACCOUNT for an account-wide cap, WAREHOUSE when it is assigned to specific warehouses. |
|
name |
Yes |
The resource monitor name. |
notify_at |
Quota percentages at which the monitor only notifies, without suspending. |
|
owner |
Name of the role that owns the resource monitor. |
|
remaining_credits |
Credits left in the current interval before the quota is reached. |
|
start_time |
When the current monitoring interval started. |
|
suspend_at |
Quota percentage at which running statements finish but no new ones start. Null means the monitor never suspends. |
|
suspend_immediate_at |
Quota percentage at which running statements are aborted immediately. |
|
used_credits |
Credits consumed so far in the current interval. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeResourceMonitor): A Snowflake account contains the resource monitor as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeWarehouse)-[:MONITORED_BY]->(:SnowflakeResourceMonitor): A resource monitor caps the credits this Snowflake warehouse may consume.
SnowflakeRole#
Represents a Snowflake account-level role, the unit privileges are granted to.
Ontology Mapping: This node uses the ontology label
PermissionRole.
Additional Labels: This node also uses
SnowflakePrincipal,SnowflakeSecurable.
Additional Label Definitions:
SnowflakePrincipal: A Snowflake grantee that can hold privileges.
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the role. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
assigned_to_users |
Number of users this role is granted to. |
|
comment |
Role comment. |
|
created_on |
When the role was created. |
|
granted_roles |
Number of roles granted to this role. |
|
granted_to_roles |
Number of roles this role is granted to. |
|
name |
Yes |
The role name. |
owner |
Name of the role that owns this role. |
|
role_type |
BUILTIN for a Snowflake system role such as ACCOUNTADMIN or SECURITYADMIN, CUSTOM otherwise. |
|
_ont_name |
Yes |
Normalized field sourced from |
_ont_scope |
Yes |
Property generated by the ontology mapping. |
_ont_source |
Module that populated this node’s ontology fields. |
|
_ont_type |
Yes |
Normalized field sourced from |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeRole): A Snowflake account contains the role as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeProcedure)-[:ASSUMES]->(:SnowflakeRole): An owner-rights stored procedure executes with the privileges of its owning role.
This is the Snowflake equivalent of a privilege-escalation stepping stone: any role that may call the procedure gets the owner’s privileges for the duration of the body. Absent for a caller-rights procedure, which runs with whatever privileges the caller already had.
(:SnowflakeProgrammaticAccessToken)-[:RESTRICTED_TO]->(:SnowflakeRole): The access token may only activate this role, whatever else its user holds.
Absent when the token is unrestricted, which means it inherits every role granted to its user.
(:SnowflakeRole)-[:INCLUDES]->(:SnowflakeDatabaseRole): A Snowflake role inherits the privileges of the database role granted to it.Properties:
Field
Description
created_on
When the role was granted.
granted_by
Name of the role that created the grant.
(:SnowflakeRole)-[:INCLUDES]->(:SnowflakeRole): A Snowflake role inherits the privileges of the role granted to it.Properties:
Field
Description
created_on
When the role was granted.
granted_by
Name of the role that created the grant.
(:SnowflakeSecurityIntegration)-[:RUNS_AS_ROLE]->(:SnowflakeRole): A Snowflake security integration acts as this role when provisioning through SCIM.(:SnowflakeServiceUser)-[:HAS_ROLE]->(:SnowflakeRole): A Snowflake service user has been granted this role.Properties:
Field
Description
created_on
When the role was granted.
granted_by
Name of the role that created the grant.
(:SnowflakeTask)-[:ASSUMES]->(:SnowflakeRole): A Snowflake task executes with the privileges of its owning role.
Only present for an owner-rights task. A caller-rights task instead runs with the privileges of whichever role resumed it, so no single role can be named.
(:SnowflakeUser)-[:HAS_ROLE]->(:SnowflakeRole): A Snowflake user has been granted this role.Properties:
Field
Description
created_on
When the role was granted.
granted_by
Name of the role that created the grant.
SnowflakeSchema#
Represents a Snowflake schema, the namespace tables and views live in.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the schema. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
catalog |
Name of the catalog Iceberg tables created in this schema default to. |
|
comment |
Schema comment. |
|
created_on |
When the schema was created. |
|
database_name |
Yes |
Name of the database that contains the schema. |
dropped_on |
When the schema was dropped, if it is pending purge. |
|
external_volume |
Name of the external volume Iceberg tables created in this schema default to. |
|
kind |
The schema kind reported by Snowflake. |
|
managed_access |
Whether the schema uses managed access, which reserves granting on its objects to the schema owner instead of each object’s owner. |
|
name |
Yes |
The schema name. |
options |
Schema options such as TRANSIENT, as reported by Snowflake. |
|
owner |
Name of the role that owns the schema. |
|
owner_role_type |
Whether the owner is a ROLE or a DATABASE_ROLE. |
|
qualified_name |
Yes |
The fully-qualified schema name, as DATABASE.SCHEMA. |
retention_time |
Days a dropped schema stays recoverable through UNDROP. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeSchema): A Snowflake account contains the schema as a resource.(:SnowflakeDatabase)-[:CONTAINS]->(:SnowflakeSchema): A Snowflake database contains the schema.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeAlert): A Snowflake schema holds the alert in its namespace.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeArtifactRepository): A Snowflake schema holds the artifact repository in its namespace.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeAuthenticationPolicy): A Snowflake schema holds the authentication policy.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeCortexSearchService): A Snowflake schema holds the Cortex Search service in its namespace.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeDataPolicy): A Snowflake schema holds the data policy.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeDynamicTable): A Snowflake schema contains the dynamic table.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeEventTable): A Snowflake schema contains the event table.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeExternalTable): A Snowflake schema contains the external table.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeFileFormat): A Snowflake schema contains the file format.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeFunction): A Snowflake schema holds the function in its namespace.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeIcebergTable): A Snowflake schema contains the Iceberg table.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeImageRepository): A Snowflake schema contains the image repository.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeMaterializedView): A Snowflake schema contains the materialized view.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeNetworkRule): A Snowflake schema contains the network rule.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeNotebook): A Snowflake schema holds the notebook in its namespace.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakePasswordPolicy): A Snowflake schema holds the password policy.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakePipe): A Snowflake schema holds the pipe in its namespace.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeProcedure): A Snowflake schema holds the stored procedure in its namespace.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeSecret): A Snowflake schema contains the secret.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeSequence): A Snowflake schema contains the sequence.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeService): A Snowflake schema contains the service.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeSessionPolicy): A Snowflake schema holds the session policy.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeStage): A Snowflake schema contains the stage.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeStream): A Snowflake schema contains the stream.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeStreamlit): A Snowflake schema holds the Streamlit app in its namespace.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeTable): A Snowflake schema contains the table.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeTag): A Snowflake schema holds the tag definition in its namespace.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeTask): A Snowflake schema holds the task in its namespace.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeView): A Snowflake schema contains the view.(:SnowflakeSchema)-[:DEFAULT_EXTERNAL_VOLUME]->(:SnowflakeExternalVolume): Iceberg tables created in this schema land on this external volume by default.
The volume points at customer-owned cloud storage, so this edge is how schema data reaches an S3, GCS or Azure location.
SnowflakeSecret#
Represents a Snowflake secret: a schema-level credential used by external access and API calls.
Ontology Mapping: This node uses the ontology label
Secret.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the secret. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
algorithm |
Algorithm of a symmetric-key secret. |
|
api_authentication |
Name of the security integration that issues the secret’s OAuth token. |
|
comment |
Secret comment. |
|
created_on |
When the secret was created. |
|
database_name |
Name of the database containing the secret. |
|
key_length |
Length in bits of a symmetric-key secret. |
|
name |
Yes |
The secret name. |
oauth_refresh_token_expiry_time |
When the stored OAuth refresh token expires. A past value means calls using the secret already fail. |
|
oauth_scopes |
OAuth scopes the secret’s token is issued for. |
|
owner |
Name of the role that owns the secret. |
|
qualified_name |
Yes |
Fully qualified DATABASE.SCHEMA.NAME of the secret. |
schema_name |
Name of the schema containing the secret. |
|
secret_type |
Kind of credential held: PASSWORD, OAUTH2, GENERIC_STRING, SYMMETRIC_KEY or a private-key type. |
|
username |
Username half of a PASSWORD secret. The password itself is never stored. |
|
_ont_created_at |
Yes |
Normalized field sourced from |
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeSecret): A Snowflake account contains the secret as a resource.(:SnowflakeExternalAccessIntegration)-[:ALLOWS_SECRET]->(:SnowflakeSecret): A Snowflake external access integration lets handler code read this secret.(:SnowflakeFunction)-[:USES_SECRET]->(:SnowflakeSecret): A Snowflake function is allowed to read this secret at runtime.(:SnowflakeNotebook)-[:USES_SECRET]->(:SnowflakeSecret): A Snowflake notebook is allowed to read this secret when calling out.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeProcedure)-[:USES_SECRET]->(:SnowflakeSecret): A Snowflake stored procedure is allowed to read this secret at runtime.(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeSecret): A Snowflake schema contains the secret.(:SnowflakeSecret)-[:USES_INTEGRATION]->(:SnowflakeSecurityIntegration): A Snowflake secret obtains its OAuth token from this security integration.
SnowflakeSecurityIntegration#
Represents a Snowflake security integration: the federated sign-in, OAuth or SCIM trust configured on the account.
Ontology Mapping: This node uses the ontology label
IdentityProvider.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the security integration. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
category |
Snowflake integration category. |
|
comment |
Security integration comment. |
|
created_on |
When the security integration was created. |
|
enabled |
Whether the integration is active. |
|
external_oauth_any_role_mode |
Whether a token may request any role rather than only the roles named in its scope. ENABLE lets a token holder pick any role the user has. |
|
external_oauth_audience_list |
Audience values Snowflake accepts in an external OAuth token. |
|
external_oauth_issuer |
Yes |
Issuer claim the external OAuth authorization server must present. |
external_oauth_jws_keys_url |
URL Snowflake fetches the authorization server’s signing keys from. |
|
integration_type |
Snowflake integration type, for example SAML2, EXTERNAL_OAUTH, OAUTH or SCIM, optionally suffixed with the provider. |
|
name |
Yes |
The security integration name. |
network_policy |
Name of the network policy restricting where the integration may be used from. |
|
oauth_client_type |
Whether the Snowflake OAuth client is CONFIDENTIAL or PUBLIC. A public client authenticates without a secret. |
|
oauth_issue_refresh_tokens |
Whether the integration issues long-lived refresh tokens. |
|
oauth_redirect_uri |
Redirect URI authorization codes are returned to. |
|
oauth_refresh_token_validity |
Seconds a refresh token issued by the integration stays valid. |
|
protocol |
Federation protocol derived from the integration type: SAML, OIDC or SCIM. Null when the type maps to none of them. |
|
run_as_role |
Name of the Snowflake role the SCIM client acts as, which bounds what the external provisioner may create and modify. |
|
saml2_issuer |
Yes |
Entity id of the SAML identity provider that signs assertions. |
saml2_provider |
SAML provider name, for example OKTA, ADFS or CUSTOM. |
|
saml2_sso_url |
URL users are redirected to for SAML single sign-on. |
|
saml2_x509_cert_fingerprint |
SHA-256 fingerprint of the identity provider’s signing certificate. Only the fingerprint is stored, never the certificate body. |
|
scim_client |
SCIM client provisioning users and roles, for example OKTA or AZURE. |
|
_ont_enabled |
Yes |
Normalized field sourced from |
_ont_issuer |
Yes |
Normalized field sourced from |
_ont_name |
Yes |
Normalized field sourced from |
_ont_protocol |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeSecurityIntegration): A Snowflake account contains the security integration as a resource.(:SnowflakeExternalAccessIntegration)-[:ALLOWS_AUTH_INTEGRATION]->(:SnowflakeSecurityIntegration): A Snowflake external access integration may mint tokens through this security integration.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSecret)-[:USES_INTEGRATION]->(:SnowflakeSecurityIntegration): A Snowflake secret obtains its OAuth token from this security integration.(:SnowflakeSecurityIntegration)-[:GOVERNED_BY]->(:SnowflakeNetworkPolicy): Use of this Snowflake security integration is restricted by a network policy.(:SnowflakeSecurityIntegration)-[:RUNS_AS_ROLE]->(:SnowflakeRole): A Snowflake security integration acts as this role when provisioning through SCIM.
SnowflakeSequence#
Represents a Snowflake sequence, a generator of monotonically increasing numbers.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the sequence. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Sequence comment. |
|
created_on |
When the sequence was created. |
|
database_name |
Yes |
Name of the database that contains the sequence. |
increment |
Step between successive sequence values. |
|
name |
Yes |
The sequence name. |
next_value |
Next value the sequence will produce. |
|
owner |
Name of the role that owns the sequence. |
|
qualified_name |
Yes |
The fully-qualified name, as DATABASE.SCHEMA.SEQUENCE. |
schema_name |
Yes |
Name of the schema that contains the sequence. |
start_value |
First value the sequence produced. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeSequence): A Snowflake account contains the sequence as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeSequence): A Snowflake schema contains the sequence.
SnowflakeService#
Represents a Snowflake service: a containerized workload running on Snowpark Container Services.
Ontology Mapping: This node uses the ontology label
ComputeService.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the service. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
auto_resume |
Whether the service restarts automatically when its compute pool resumes. |
|
comment |
Service comment. |
|
compute_pool |
Name of the compute pool the service runs on. |
|
created_on |
When the service was created. |
|
current_instances |
Number of service instances currently running. |
|
database_name |
Name of the database containing the service. |
|
dns_name |
Yes |
Internal DNS name other services in the account reach this one at. |
external_access_integrations |
Names of the external access integrations the service’s containers may make outbound calls through. |
|
is_job |
Whether this is a run-to-completion job service rather than a long-running one. |
|
is_upgrading |
Whether the service is mid-upgrade to a new specification. |
|
max_instances |
Maximum number of instances the service may scale to. |
|
min_instances |
Minimum number of instances the service keeps running. |
|
name |
Yes |
The service name. |
owner |
Name of the role that owns the service. |
|
qualified_name |
Yes |
Fully qualified DATABASE.SCHEMA.NAME of the service. |
query_warehouse |
Name of the warehouse the service’s own SQL queries run on. |
|
schema_name |
Name of the schema containing the service. |
|
spec_digest |
Digest of the service specification, which changes on every redeploy. |
|
status |
Service status, for example RUNNING, PENDING, SUSPENDED or FAILED. |
|
target_instances |
Number of service instances Snowflake is converging to. |
|
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
|
_ont_status |
Yes |
Normalized field sourced from |
Relationships#
(:ComputeService)-[:HAS_RUNTIME_IMAGE]->(:Image): generated by analysis jobWorkload HAS_RUNTIME_IMAGE inventory analysis.Properties:
Field
Description
exposed_internet
Property generated by analysis job:
Workload HAS_RUNTIME_IMAGE inventory analysis.
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeService): A Snowflake account contains the service as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeService): A Snowflake schema contains the service.(:SnowflakeService)-[:HAS_ENDPOINT]->(:SnowflakeServiceEndpoint): A Snowflake service exposes this endpoint.(:SnowflakeService)-[:HAS_SERVICE_ROLE]->(:SnowflakeServiceRole): A Snowflake service declares this service role, which gates access to its endpoints.(:SnowflakeService)-[:USES_INTEGRATION]->(:SnowflakeExternalAccessIntegration): A Snowflake service makes outbound network calls through this external access integration.(:SnowflakeService)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): A Snowflake service runs its own SQL queries on this warehouse.
Distinct from the WORKLOAD_PARENT edge to the compute pool: the pool hosts the service’s containers, whereas the query warehouse is a data-plane dependency the container code calls into. Whitelisted in constraints_whitelist.py for that reason.
(:SnowflakeService)-[:WORKLOAD_PARENT]->(:SnowflakeComputePool): A Snowflake service’s containers are scheduled on this compute pool.(:SnowflakeServiceContainer)-[:WORKLOAD_PARENT]->(:SnowflakeService): A Snowflake service container runs as part of this service.
SnowflakeServiceContainer#
Represents one container instance of a Snowflake service.
Ontology Mapping: This node uses the ontology label
Container.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the service container instance. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
image_digest |
Yes |
Digest of the running image, which pins exactly what code is executing. |
image_name |
Yes |
Image reference the container was started from. |
instance_id |
Index of the service instance this container belongs to. |
|
message |
Most recent status message reported for the container. |
|
name |
Yes |
Container name as declared in the service specification. |
restart_count |
Number of times the container has restarted. |
|
service_name |
Fully qualified name of the service that owns the container. |
|
start_time |
When the container last started. |
|
status |
Container status, for example READY, PENDING or FAILED. |
|
untagged_image_path |
Image reference with the tag removed, used together with the digest to resolve the one repository image the container is running. |
|
_ont_source |
Module that populated this node’s ontology fields. |
|
_ont_state |
Yes |
Normalized field sourced from |
Relationships#
(:Container)-[:RESOLVED_IMAGE]->(:Image): generated by analysis jobContainer RESOLVED_IMAGE analysis.(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeServiceContainer): A Snowflake account contains the service container as a resource.(:SnowflakeServiceContainer)-[:HAS_IMAGE]->(:SnowflakeImage): A Snowflake service container runs this image from an account image repository.
Matched on the untagged registry path as well as the digest. The digest alone
identifies the image bytes, not the image object: the same bytes pushed to two
repositories are two SnowflakeImage nodes, and a digest-only matcher would
attach the container to every one of them. Pairing the path with the digest picks
the single repository the container actually pulled from, while staying tolerant
of the container and the repository listing reporting different tags.
(:SnowflakeServiceContainer)-[:WORKLOAD_PARENT]->(:SnowflakeService): A Snowflake service container runs as part of this service.
SnowflakeServiceEndpoint#
Represents a network endpoint exposed by a Snowflake service.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the service endpoint. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
ingress_url |
Yes |
Public ingress URL Snowflake assigned to a public endpoint. |
is_public |
Whether the endpoint is reachable from the public internet through a Snowflake-managed ingress rather than only from inside the account. |
|
name |
Yes |
Endpoint name as declared in the service specification. |
port |
Container port the endpoint forwards to. |
|
port_range |
Container port range the endpoint forwards to, if a range. |
|
protocol |
Endpoint protocol, for example HTTP or TCP. |
|
service_name |
Fully qualified name of the service that exposes the endpoint. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeServiceEndpoint): A Snowflake account contains the service endpoint as a resource.(:SnowflakeService)-[:HAS_ENDPOINT]->(:SnowflakeServiceEndpoint): A Snowflake service exposes this endpoint.
SnowflakeServiceRole#
Represents a service role declared by a Snowflake service to gate endpoint access.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the service role. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Service role comment. |
|
name |
Yes |
The service role name. |
service_name |
Fully qualified name of the service that declares the role. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeServiceRole): A Snowflake account contains the service role as a resource.(:SnowflakeService)-[:HAS_SERVICE_ROLE]->(:SnowflakeServiceRole): A Snowflake service declares this service role, which gates access to its endpoints.
SnowflakeServiceUser#
Represents a Snowflake service user: a machine identity that cannot hold a password.
Ontology Mapping: This node uses the ontology label
ServiceAccount.
Additional Labels: This node also uses
SnowflakePrincipal,SnowflakeSecurable.
Additional Label Definitions:
SnowflakePrincipal: A Snowflake grantee that can hold privileges.
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the user. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
User comment. |
|
created_on |
When the user was created. |
|
days_to_expiry |
Days until the user account expires. |
|
default_namespace |
The user’s default database or schema. |
|
default_role |
The role the user’s sessions activate by default. This is also the role Snowflake’s object API endpoints run as. |
|
default_secondary_roles |
Secondary roles activated by default: ALL grants the union of every role granted to the user in a session. |
|
default_warehouse |
The user’s default warehouse. |
|
disabled |
Whether the user is disabled and cannot authenticate. |
|
display_name |
The user’s display name. |
|
Yes |
The user’s email address. |
|
expires_at |
When the user account expires. |
|
ext_authn_duo |
Whether Duo external authentication is enabled. |
|
first_name |
The user’s first name. |
|
has_mfa |
Whether the user has enrolled in multi-factor authentication. Read from SQL, since the REST API does not expose it; null when unreadable. |
|
has_password |
Whether the user has a password set. |
|
has_rsa_public_key |
Whether the user has an RSA public key registered for key-pair auth. |
|
last_name |
The user’s last name. |
|
last_successful_login |
When the user last authenticated successfully. |
|
locked_until |
When a lockout on the user expires. |
|
login_name |
Yes |
The name the user authenticates with, which may differ from |
mins_to_bypass_mfa |
Minutes remaining in which the user may authenticate without MFA. A non-null value means MFA is temporarily bypassed. |
|
mins_to_bypass_network_policy |
Minutes remaining in which the user may authenticate from outside their network policy. |
|
mins_to_unlock |
Minutes until a locked-out user is unlocked. |
|
must_change_password |
Whether the user must change their password at next login. |
|
name |
Yes |
The user’s Snowflake name. |
network_policy_name |
Name of the network policy attached directly to this user, if any. |
|
owner |
Name of the role that owns the user. |
|
password_last_set |
When the user’s password was last set. |
|
rsa_public_key_2_fp |
Fingerprint of the user’s secondary registered RSA public key, used for rotation. |
|
rsa_public_key_fp |
Fingerprint of the user’s primary registered RSA public key. |
|
snowflake_lock |
Whether Snowflake has locked the account, for example after abuse detection. |
|
snowflake_support |
Whether Snowflake Support may use this user for troubleshooting. |
|
user_type |
The Snowflake user type: PERSON for a human, SERVICE or LEGACY_SERVICE for a machine identity. SERVICE users cannot hold a password. |
|
_ont_active |
Yes |
Normalized field sourced from |
_ont_email |
Yes |
Normalized field sourced from |
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeServiceUser): A Snowflake account contains the user as a resource.(:SnowflakeCredential)-[:OWNED_BY]->(:SnowflakeServiceUser): The credential authenticates as this Snowflake service user.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeProgrammaticAccessToken)-[:OWNED_BY]->(:SnowflakeServiceUser): The access token authenticates as this Snowflake service user.(:SnowflakeServiceUser)-[:GOVERNED_BY]->(:SnowflakeNetworkPolicy): A Snowflake user’s connections are restricted by this network policy.(:SnowflakeServiceUser)-[:HAS_ROLE]->(:SnowflakeRole): A Snowflake service user has been granted this role.Properties:
Field
Description
created_on
When the role was granted.
granted_by
Name of the role that created the grant.
SnowflakeSessionPolicy#
Represents a Snowflake session policy: the idle timeouts that govern how long a session stays authenticated.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the session policy. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
allowed_secondary_authentication_methods |
Secondary authentication methods the policy permits, such as password re-entry, when a session has to be re-verified. |
|
comment |
Policy comment. |
|
created_on |
When the policy was created. |
|
database_name |
Database holding the policy. |
|
name |
Yes |
The session policy name. |
owner |
Name of the role that owns the policy. |
|
owner_role_type |
Whether the owning role is an account role or a database role. |
|
qualified_name |
Yes |
Fully qualified name of the policy, as DATABASE.SCHEMA.NAME. |
schema_name |
Schema holding the policy. |
|
session_idle_timeout_mins |
Minutes an idle programmatic session stays authenticated before it has to re-authenticate. |
|
session_ui_idle_timeout_mins |
Minutes an idle Snowsight session stays authenticated. A high value leaves an unattended browser session usable. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeSessionPolicy): A Snowflake account contains the session policy as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeSessionPolicy): A Snowflake schema holds the session policy.(:SnowflakeSessionPolicy)-[:APPLIED_TO]->(:SnowflakeSecurable): A Snowflake session policy governs the session timeouts of this object’s users.Properties:
Field
Description
policy_status
Whether the attachment is active. An inactive attachment leaves the object unprotected despite the policy being set.
ref_column_name
The column the policy protects, for a masking or projection policy. Null when the policy applies to the whole object.
ref_entity_domain
The kind of object the policy is attached to, such as TABLE, VIEW, USER or ACCOUNT.
SnowflakeStage#
Represents a Snowflake stage: the file location data is loaded from and unloaded to.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Conditional Labels:
FileStorage(ontology label) whenis_externalequalsfalse. A cross-provider FileStorage resource in Cartography’s ontology.
ObjectStorage(ontology label) whenis_externalequalstrue. A cross-provider ObjectStorage resource in Cartography’s ontology.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the stage. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
cloud |
Cloud provider hosting the stage’s storage. |
|
comment |
Stage comment. |
|
created_on |
When the stage was created. |
|
database_name |
Name of the database containing the stage. |
|
directory_table |
Whether a directory table is enabled over the stage’s files. |
|
endpoint |
S3-compatible or private endpoint the stage connects through. |
|
has_credentials |
Whether the stage stores its own cloud credentials, which is a long-lived secret in the stage definition rather than a storage integration. |
|
has_encryption_key |
Whether the stage carries a client-side encryption master key. |
|
is_external |
String discriminator, ‘true’ or ‘false’, recording whether the stage points at customer-owned cloud storage rather than Snowflake-managed internal storage. Stored as a string because the conditional ObjectStorage and FileStorage ontology labels match on exact string values. |
|
kind |
Stage kind reported by Snowflake, for example PERMANENT or TEMPORARY. |
|
name |
Yes |
The stage name. |
owner |
Name of the role that owns the stage. |
|
owner_role_type |
Whether the owning role is an account ROLE or a DATABASE_ROLE. |
|
qualified_name |
Yes |
Fully qualified DATABASE.SCHEMA.NAME of the stage. |
region |
Cloud region hosting the stage’s storage. |
|
schema_name |
Name of the schema containing the stage. |
|
storage_integration |
Name of the storage integration that authenticates the stage. Null when the stage instead embeds its own credentials. |
|
url |
Yes |
Cloud storage URL the external stage reads and writes. Null for an internal stage, whose files live in Snowflake-managed storage. |
_ont_encrypted |
Yes |
Normalized field sourced from |
_ont_location |
Yes |
Normalized field sourced from |
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeStage): A Snowflake account contains the stage as a resource.(:SnowflakeExternalTable)-[:READS_FROM]->(:SnowflakeStage): The external table reads its files through this stage.
The stage holds the credential or storage integration, so it is the hop that turns a query on the external table into access to cloud storage.
(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeStage): A Snowflake schema contains the stage.(:SnowflakeStage)-[:BACKED_BY]->(:AWSS3Bucket): A Snowflake external stage is backed by an Amazon S3 bucket.(:SnowflakeStage)-[:BACKED_BY]->(:AzureStorageAccount): A Snowflake external stage is backed by an Azure storage account.(:SnowflakeStage)-[:BACKED_BY]->(:GCPBucket): A Snowflake external stage is backed by a Google Cloud Storage bucket.(:SnowflakeStage)-[:USES_INTEGRATION]->(:SnowflakeStorageIntegration): A Snowflake stage authenticates to cloud storage through a storage integration.
SnowflakeStorageIntegration#
Represents a Snowflake storage integration: the delegated cloud identity stages use instead of embedded credentials.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the storage integration. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
azure_multi_tenant_app_name |
Name of the Snowflake multi-tenant Entra ID application that must be granted access to the storage account. |
|
azure_tenant_id |
Entra ID tenant Snowflake requests an access token from for the storage. |
|
category |
Snowflake integration category. |
|
comment |
Storage integration comment. |
|
created_on |
When the storage integration was created. |
|
enabled |
Whether stages may authenticate to cloud storage through the integration. |
|
integration_type |
Snowflake integration type, for example EXTERNAL_STAGE. |
|
name |
Yes |
The storage integration name. |
storage_allowed_locations |
Storage URL prefixes stages using this integration may read and write. A bare bucket prefix grants the whole bucket. |
|
storage_aws_external_id |
External id the role’s trust policy must require, which is what prevents another Snowflake account from assuming it. |
|
storage_aws_iam_user_arn |
ARN of the Snowflake-owned IAM user that must be trusted by the role’s trust policy. |
|
storage_aws_role_arn |
Yes |
ARN of the AWS IAM role Snowflake assumes to reach the storage. |
storage_blocked_locations |
Storage URL prefixes denied even when covered by an allowed location. |
|
storage_provider |
Cloud storage provider: S3, S3GOV, GCS or AZURE. |
|
use_privatelink_endpoint |
Whether traffic to the storage goes over a private endpoint. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeStorageIntegration): A Snowflake account contains the storage integration as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeStage)-[:USES_INTEGRATION]->(:SnowflakeStorageIntegration): A Snowflake stage authenticates to cloud storage through a storage integration.(:SnowflakeStorageIntegration)-[:ASSUMES_ROLE]->(:AWSPrincipal): A Snowflake storage integration assumes an AWS IAM role to reach cloud storage.
SnowflakeStream#
Represents a Snowflake stream, a change-data feed over a table, view or stage.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the stream. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Stream comment. |
|
created_on |
When the stream was created. |
|
database_name |
Yes |
Name of the database that contains the stream. |
invalid_reason |
Why Snowflake invalidated the stream. |
|
is_stale |
Whether the stream went stale. A stale stream silently stops delivering changes, so a pipeline consuming it will miss data until it is recreated. |
|
mode |
Which change rows the stream returns: DEFAULT, APPEND_ONLY or INSERT_ONLY. |
|
name |
Yes |
The stream name. |
owner |
Name of the role that owns the stream. |
|
qualified_name |
Yes |
The fully-qualified name, as DATABASE.SCHEMA.STREAM. |
schema_name |
Yes |
Name of the schema that contains the stream. |
source_name |
Yes |
Name of the object whose changes the stream reads. |
source_type |
Kind of object the stream tracks changes on, for example Table, View or Stage. |
|
stale_after |
When the stream goes stale if it is not consumed before then. |
|
stream_type |
Stream type reported by Snowflake, for example DELTA. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeStream): A Snowflake account contains the stream as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeStream): A Snowflake schema contains the stream.(:SnowflakeStream)-[:READS_FROM]->(:SnowflakeTable): The stream delivers the change rows of this table.
Anything granted SELECT on the stream can therefore read the table’s changed rows without holding a privilege on the table itself.
SnowflakeStreamlit#
Represents a Snowflake Streamlit app: a Python web app served by Snowflake over account data.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the Streamlit app. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
Streamlit app comment. |
|
compute_pool |
Name of the compute pool backing a container-runtime app. |
|
created_on |
When the Streamlit app was created. |
|
database_name |
Database containing the Streamlit app. |
|
default_packages |
Packages Snowflake installs into the app’s environment. |
|
external_access_integrations |
External access integrations that let the app reach the network. |
|
main_file |
Path of the Python file that renders the app. |
|
name |
Yes |
Streamlit app name. |
owner |
Name of the role that owns the Streamlit app. |
|
qualified_name |
Fully-qualified database.schema.streamlit name. |
|
query_warehouse |
Name of the virtual warehouse the app’s queries run on. |
|
root_location |
Stage location holding the app’s source files. |
|
schema_name |
Schema containing the Streamlit app. |
|
title |
Display title shown in Snowsight. |
|
url_id |
Opaque identifier used in the app’s Snowsight URL. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeStreamlit): A Snowflake account contains the Streamlit app as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeStreamlit): A Snowflake schema holds the Streamlit app in its namespace.(:SnowflakeStreamlit)-[:RUNS_ON]->(:SnowflakeComputePool): A container-runtime Snowflake Streamlit app executes on this compute pool.(:SnowflakeStreamlit)-[:USES_INTEGRATION]->(:SnowflakeExternalAccessIntegration): A Snowflake Streamlit app reaches the network through this external access integration.(:SnowflakeStreamlit)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): A Snowflake Streamlit app runs its queries on this virtual warehouse.
SnowflakeTable#
Represents a Snowflake table, where the account’s data actually sits.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the table. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
change_tracking |
Whether change tracking is enabled, which streams require. |
|
cluster_by |
Clustering key expression, if the table has one. |
|
column_count |
Number of columns in the table. The column list itself is not stored: one node per column would dwarf the rest of the graph. |
|
comment |
Table comment. |
|
created_on |
When the table was created. |
|
data_retention_time_in_days |
Time Travel window in days. A value of 0 disables Time Travel, which removes the ability to recover rows after an accidental or malicious change. |
|
database_name |
Yes |
Name of the database that contains the table. |
dropped_on |
When the table was dropped, if it is pending purge. |
|
enable_schema_evolution |
Whether loading a file may add columns to the table, which lets an ingestion path widen the table without a DDL change. |
|
kind |
The table kind reported by Snowflake. |
|
name |
Yes |
The table name. |
owner |
Name of the role that owns the table. |
|
owner_role_type |
Whether the owner is a ROLE or a DATABASE_ROLE. |
|
qualified_name |
Yes |
The fully-qualified table name, as DATABASE.SCHEMA.TABLE. |
row_count |
Number of rows Snowflake reports for the table. |
|
schema_name |
Yes |
Name of the schema that contains the table. |
search_optimization |
Whether the search optimization service is enabled on the table. |
|
size_bytes |
Bytes of storage the table occupies. |
|
table_type |
Yes |
The table flavour: NORMAL, DYNAMIC, EXTERNAL, EVENT, HYBRID, ICEBERG or IMMUTABLE. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeTable): A Snowflake account contains the table as a resource.(:SnowflakeCortexSearchService)-[:READS_FROM]->(:SnowflakeTable): A Snowflake Cortex Search service indexes the contents of this table.
Copying source text into a searchable index moves the data out from behind the table’s own access controls, so knowing which table feeds a service is what makes that exposure visible.
(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeTable): A Snowflake schema contains the table.(:SnowflakeStream)-[:READS_FROM]->(:SnowflakeTable): The stream delivers the change rows of this table.
Anything granted SELECT on the stream can therefore read the table’s changed rows without holding a privilege on the table itself.
SnowflakeTag#
Represents a Snowflake tag definition: a governance key that can later be attached to objects and columns.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the tag. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
allowed_values |
Values the tag may be set to. Empty when the tag accepts any string, which is what makes a governance tag hard to rely on. |
|
comment |
Tag comment. |
|
created_on |
When the tag was created. |
|
database_name |
Database containing the tag. |
|
name |
Yes |
Tag name. |
owner |
Name of the role that owns the tag. |
|
qualified_name |
Fully-qualified database.schema.tag name. |
|
schema_name |
Schema containing the tag. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeTag): A Snowflake account contains the tag as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeTag): A Snowflake schema holds the tag definition in its namespace.
SnowflakeTask#
Represents a Snowflake task: scheduled or DAG-triggered SQL running inside the account.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the task. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
allow_overlapping_execution |
Whether a new run may start while the previous one is still going, which lets a slow task pile up concurrent executions. |
|
comment |
Task comment. |
|
condition |
WHEN expression that must hold for the run to go ahead. |
|
created_on |
When the task was created. |
|
database_name |
Database containing the task. |
|
definition |
SQL the task executes on every run. |
|
error_integration |
Notification integration that receives the task’s error notifications. |
|
execute_as |
Whether the task’s SQL runs with the privileges of the task owner (OWNER) or of the role that resumed it (CALLER). |
|
name |
Yes |
Task name. |
owner |
Name of the role that owns the task. |
|
owner_role_type |
Whether the owner is an account role or a database role. |
|
predecessors |
Fully-qualified names of the tasks that trigger this one. |
|
qualified_name |
Fully-qualified database.schema.task name. |
|
schedule |
The task’s schedule, as a cron expression or an interval. Null for a child task, which is triggered by its predecessors instead. |
|
schema_name |
Schema containing the task. |
|
state |
Whether the task is started or suspended. |
|
success_integration |
Notification integration that receives the task’s success notifications. |
|
suspend_task_after_num_failures |
Number of consecutive failed runs after which Snowflake suspends the task. Zero means it is never suspended automatically. |
|
target_completion_interval |
Duration Snowflake targets for a serverless run to complete in. |
|
user_task_managed_initial_warehouse_size |
Initial compute size Snowflake uses for a serverless task’s first run. |
|
warehouse |
Name of the virtual warehouse the task runs on. Null for a serverless task, which Snowflake sizes itself. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeTask): A Snowflake account contains the task as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeTask): A Snowflake schema holds the task in its namespace.(:SnowflakeTask)-[:ASSUMES]->(:SnowflakeRole): A Snowflake task executes with the privileges of its owning role.
Only present for an owner-rights task. A caller-rights task instead runs with the privileges of whichever role resumed it, so no single role can be named.
(:SnowflakeTask)-[:NOTIFIES]->(:SnowflakeNotificationIntegration): A Snowflake task sends its error notifications through this integration. A Snowflake task sends its success notifications through this integration.(:SnowflakeTask)-[:PRECEDED_BY]->(:SnowflakeTask): A Snowflake task only runs once this upstream task has finished.
Chaining tasks this way builds a directed acyclic graph rooted at the one scheduled task, so following these edges upwards reveals what actually triggers a given piece of SQL.
(:SnowflakeTask)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): A Snowflake task runs its SQL on this virtual warehouse.
SnowflakeUser#
Represents a human Snowflake user account.
Ontology Mapping: This node uses the ontology label
UserAccount.
Additional Labels: This node also uses
SnowflakePrincipal,SnowflakeSecurable.
Additional Label Definitions:
SnowflakePrincipal: A Snowflake grantee that can hold privileges.
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the user. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
comment |
User comment. |
|
created_on |
When the user was created. |
|
days_to_expiry |
Days until the user account expires. |
|
default_namespace |
The user’s default database or schema. |
|
default_role |
The role the user’s sessions activate by default. This is also the role Snowflake’s object API endpoints run as. |
|
default_secondary_roles |
Secondary roles activated by default: ALL grants the union of every role granted to the user in a session. |
|
default_warehouse |
The user’s default warehouse. |
|
disabled |
Whether the user is disabled and cannot authenticate. |
|
display_name |
The user’s display name. |
|
Yes |
The user’s email address. |
|
expires_at |
When the user account expires. |
|
ext_authn_duo |
Whether Duo external authentication is enabled. |
|
first_name |
The user’s first name. |
|
has_mfa |
Whether the user has enrolled in multi-factor authentication. Read from SQL, since the REST API does not expose it; null when unreadable. |
|
has_password |
Whether the user has a password set. |
|
has_rsa_public_key |
Whether the user has an RSA public key registered for key-pair auth. |
|
last_name |
The user’s last name. |
|
last_successful_login |
When the user last authenticated successfully. |
|
locked_until |
When a lockout on the user expires. |
|
login_name |
Yes |
The name the user authenticates with, which may differ from |
mins_to_bypass_mfa |
Minutes remaining in which the user may authenticate without MFA. A non-null value means MFA is temporarily bypassed. |
|
mins_to_bypass_network_policy |
Minutes remaining in which the user may authenticate from outside their network policy. |
|
mins_to_unlock |
Minutes until a locked-out user is unlocked. |
|
must_change_password |
Whether the user must change their password at next login. |
|
name |
Yes |
The user’s Snowflake name. |
network_policy_name |
Name of the network policy attached directly to this user, if any. |
|
owner |
Name of the role that owns the user. |
|
password_last_set |
When the user’s password was last set. |
|
rsa_public_key_2_fp |
Fingerprint of the user’s secondary registered RSA public key, used for rotation. |
|
rsa_public_key_fp |
Fingerprint of the user’s primary registered RSA public key. |
|
snowflake_lock |
Whether Snowflake has locked the account, for example after abuse detection. |
|
snowflake_support |
Whether Snowflake Support may use this user for troubleshooting. |
|
user_type |
The Snowflake user type: PERSON for a human, SERVICE or LEGACY_SERVICE for a machine identity. SERVICE users cannot hold a password. |
|
_ont_active |
Yes |
Normalized field sourced from |
_ont_email |
Yes |
Normalized field sourced from |
_ont_firstname |
Yes |
Normalized field sourced from |
_ont_fullname |
Yes |
Normalized field sourced from |
_ont_has_mfa |
Yes |
Normalized field sourced from |
_ont_lastactivity |
Yes |
Normalized field sourced from |
_ont_lastname |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
|
_ont_username |
Yes |
Normalized field sourced from |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeUser): A Snowflake account contains the user as a resource.(:SnowflakeCredential)-[:OWNED_BY]->(:SnowflakeUser): The credential authenticates as this human Snowflake user.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeProgrammaticAccessToken)-[:OWNED_BY]->(:SnowflakeUser): The access token authenticates as this human Snowflake user.(:SnowflakeUser)-[:GOVERNED_BY]->(:SnowflakeNetworkPolicy): A Snowflake user’s connections are restricted by this network policy.(:SnowflakeUser)-[:HAS_ROLE]->(:SnowflakeRole): A Snowflake user has been granted this role.Properties:
Field
Description
created_on
When the role was granted.
granted_by
Name of the role that created the grant.
(:User)-[:HAS_ACCOUNT]->(:UserAccount)
SnowflakeView#
Represents a Snowflake view, a named query over one or more tables.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the view. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
column_count |
Number of columns the view returns. The column list itself is not stored: one node per column would dwarf the rest of the graph. |
|
comment |
View comment. |
|
created_on |
When the view was created. |
|
database_name |
Yes |
Name of the database that contains the view. |
is_secure |
Whether the view is secure. A non-secure view exposes its definition and lets the optimizer leak rows the definition meant to filter out, so a view used as a row-level access boundary should be secure. |
|
kind |
The view kind reported by Snowflake. |
|
name |
Yes |
The view name. |
owner |
Name of the role that owns the view. |
|
owner_role_type |
Whether the owner is a ROLE or a DATABASE_ROLE. |
|
qualified_name |
Yes |
The fully-qualified view name, as DATABASE.SCHEMA.VIEW. |
query |
The SELECT statement that defines the view. |
|
schema_name |
Yes |
Name of the schema that contains the view. |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeView): A Snowflake account contains the view as a resource.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeSchema)-[:CONTAINS]->(:SnowflakeView): A Snowflake schema contains the view.
SnowflakeWarehouse#
Represents a Snowflake virtual warehouse: the compute cluster that executes queries.
Ontology Mapping: This node uses the ontology label
ComputeCluster.
Additional Labels: This node also uses
SnowflakeSecurable.
Additional Label Definitions:
SnowflakeSecurable: A Snowflake object that can receive privileges through GRANT.
Properties#
Ontology-generated fields are shown in italics.
Field |
Index |
Description |
|---|---|---|
id |
Yes |
Account-scoped identifier for the warehouse. |
firstseen |
Timestamp when a sync job first created this node. |
|
lastupdated |
Yes |
Timestamp of the last sync that observed this node. |
auto_resume |
Whether a query against a suspended warehouse restarts it automatically. |
|
auto_suspend |
Seconds of inactivity before the warehouse suspends. Null means it never suspends and keeps billing credits. |
|
budget |
Name of the budget the warehouse’s spend is attributed to. |
|
comment |
Warehouse comment. |
|
created_on |
When the warehouse was created. |
|
enable_query_acceleration |
Whether the query acceleration service is enabled for the warehouse. |
|
kind |
Warehouse kind reported by Snowflake. |
|
max_cluster_count |
Maximum number of clusters a multi-cluster warehouse may scale out to. |
|
max_concurrency_level |
Maximum number of concurrent statements a single cluster will run. |
|
min_cluster_count |
Minimum number of clusters in a multi-cluster warehouse. |
|
name |
Yes |
The warehouse name. |
owner |
Name of the role that owns the warehouse. |
|
owner_role_type |
Whether the owning role is an account ROLE or a DATABASE_ROLE. |
|
resource_monitor |
Name of the resource monitor capping this warehouse’s credit usage. Null when the warehouse has no credit ceiling of its own. |
|
resumed_on |
When the warehouse was last resumed. |
|
scaling_policy |
Multi-cluster scaling policy: STANDARD or ECONOMY. |
|
size |
Warehouse size (X-Small through 6X-Large), which sets its credit rate. |
|
state |
Whether the warehouse is STARTED, SUSPENDED or RESIZING. |
|
statement_timeout_in_seconds |
Seconds after which a statement running on the warehouse is aborted. |
|
updated_on |
When the warehouse was last altered. |
|
warehouse_type |
Warehouse type: STANDARD, or a SNOWPARK-OPTIMIZED variant for memory-intensive workloads. |
|
_ont_name |
Yes |
Normalized field sourced from |
_ont_source |
Module that populated this node’s ontology fields. |
|
_ont_status |
Yes |
Normalized field sourced from |
Relationships#
(:SnowflakeAccount)-[:RESOURCE]->(:SnowflakeWarehouse): A Snowflake account contains the warehouse as a resource.(:SnowflakeAlert)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): A Snowflake alert evaluates its condition on this virtual warehouse.(:SnowflakeCortexSearchService)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): A Snowflake Cortex Search service refreshes its index on this virtual warehouse.(:SnowflakeDynamicTable)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): The dynamic table runs its refreshes on this warehouse.
The refresh executes with the dynamic table owner’s privileges, so the warehouse is where that owner’s compute is spent.
(:SnowflakeNotebook)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): A Snowflake notebook runs its queries on this virtual warehouse.(:SnowflakePrincipal)-[:HAS_PRIVILEGE]->(:SnowflakeSecurable): A Snowflake grantee holds privileges on a grantable Snowflake object.Properties:
Field
Description
grant_option
Whether the grantee may grant these privileges onward, which makes the grant transitively expandable.
granted_by
Name of the role that created the grant.
privileges
Privileges the grantee holds on the object, aggregated into one list.
(:SnowflakeService)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): A Snowflake service runs its own SQL queries on this warehouse.
Distinct from the WORKLOAD_PARENT edge to the compute pool: the pool hosts the service’s containers, whereas the query warehouse is a data-plane dependency the container code calls into. Whitelisted in constraints_whitelist.py for that reason.
(:SnowflakeStreamlit)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): A Snowflake Streamlit app runs its queries on this virtual warehouse.(:SnowflakeTask)-[:USES_WAREHOUSE]->(:SnowflakeWarehouse): A Snowflake task runs its SQL on this virtual warehouse.(:SnowflakeWarehouse)-[:MONITORED_BY]->(:SnowflakeResourceMonitor): A resource monitor caps the credits this Snowflake warehouse may consume.