Skip to content

Import from Snowflake

If you already have a Snowflake account with databases, schemas, warehouses, roles, and other objects, you do not need to recreate them in Rime. The Snowflake import tool scans your existing account, discovers what is there, and lets you selectively bring objects under Rime’s infrastructure management.

Connecting to your Snowflake account

Before scanning, you need a Snowflake connection configured in your Rime project. If you have not already set one up, go to Project > Settings > Snowflake Connection and provide:

  • Account identifier (e.g., xy12345.ap-southeast-2)
  • Authentication credentials (username/password or key pair)
  • A role with sufficient privileges to read account metadata

The import process uses Snowflake’s INFORMATION_SCHEMA and ACCOUNT_USAGE views, so the role needs at least ACCOUNTADMIN or a custom role with access to these schemas. Read-only access is sufficient — the scan does not modify anything in your Snowflake account.

Running a scan

Navigate to Project > Migration > Import from Snowflake and click Start Scan. Rime connects to your Snowflake account and queries metadata for the following object types:

Object typeWhat is discovered
DatabasesName, owner, creation date, options (transient, data retention)
SchemasName, parent database, owner, managed access settings
TablesName, schema, column definitions, clustering keys, row count
ViewsName, schema, definition (SQL text), column definitions
WarehousesName, size, auto-suspend settings, scaling policy, credit usage
RolesName, granted privileges, role hierarchy
GrantsObject-level grants (SELECT, INSERT, USAGE, etc.) per role
PipesName, source stage, target table, auto-ingest configuration
StagesName, type (internal/external), URL, encryption settings

The scan typically completes in under a minute for accounts with a few hundred objects. Larger accounts with thousands of objects may take several minutes.

Reviewing discovered objects

After the scan completes, Rime displays a tree view of all discovered objects organized by type. Each object shows:

  • Its name and location (database, schema)
  • Current configuration details
  • Whether it conflicts with an object already managed by Rime

You can expand each object to see its full configuration. This is a read-only view — nothing is changed until you explicitly import.

Selective import

You choose which objects to bring under Rime management. Select individual objects or use the bulk selection controls to select entire categories (e.g., all warehouses, or all objects within a specific database).

Not every object needs to be imported. Common strategies:

  • Import infrastructure only: bring databases, schemas, warehouses, and roles under management, but leave tables and pipes alone (they will be managed through connectors and pipelines instead).
  • Import everything: bring all objects under management for a complete audit trail and change management workflow.
  • Import selectively: bring only the objects you plan to modify or that need governance controls.

Objects you do not import remain in your Snowflake account exactly as they are. Rime does not touch, modify, or monitor unimported objects.

What import does

For each selected object, the import process:

  1. Creates an infrastructure resource in Rime that represents the Snowflake object. This resource appears in the infrastructure management UI alongside any resources you created directly through Rime.

  2. Establishes Terraform state by importing the existing Snowflake object into Rime’s internal Terraform workspace. This means Rime now tracks the object’s current configuration as its “actual state.”

  3. Sets the desired state to match the current configuration. Immediately after import, desired state equals actual state — there is no drift.

  4. Enables change management. From this point forward, changes to the object should be made through Rime’s UI. Rime will generate the necessary Terraform plan, show you a preview of what will change, and apply the change on your approval.

The import process does not modify the Snowflake objects themselves. It only creates Rime’s internal representation and state tracking.

Post-import behavior

Once objects are imported:

  • Changes go through Rime. Modifying an imported object (e.g., resizing a warehouse) is done through the infrastructure management UI. Rime generates a Terraform plan, shows you the diff, and applies it on approval.

  • Drift detection is active. Rime periodically compares actual state (what exists in Snowflake) against desired state (what Rime expects). If someone modifies an object directly in Snowflake outside of Rime, drift is detected and flagged on the monitoring dashboard.

  • Objects appear in governance. Imported databases, schemas, and tables are visible in the governance section, where you can apply data classifications, masking policies, and access controls.

Handling conflicts

If an object you are importing conflicts with one already managed by Rime (same name and location), the import wizard displays a warning. You have three options:

  • Skip: do not import the conflicting object.
  • Replace: remove Rime’s existing resource and replace it with the imported one. The Terraform state is updated to track the actual Snowflake object.
  • Rename: import the object under a different Rime resource name (the Snowflake object itself is not renamed).

Limitations

  • Snowflake-internal objects only. The import scans Snowflake metadata. It does not discover or import objects from other systems (S3 buckets, IAM roles). Use Import Cloud Resources for AWS resources.
  • Role hierarchy complexity. Very deep or circular role hierarchies may not import perfectly. Review the imported role structure after the scan.
  • Dynamic tables and streams are discovered but import support is limited in the current release.

Next steps