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 type | What is discovered |
|---|---|
| Databases | Name, owner, creation date, options (transient, data retention) |
| Schemas | Name, parent database, owner, managed access settings |
| Tables | Name, schema, column definitions, clustering keys, row count |
| Views | Name, schema, definition (SQL text), column definitions |
| Warehouses | Name, size, auto-suspend settings, scaling policy, credit usage |
| Roles | Name, granted privileges, role hierarchy |
| Grants | Object-level grants (SELECT, INSERT, USAGE, etc.) per role |
| Pipes | Name, source stage, target table, auto-ingest configuration |
| Stages | Name, 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:
-
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.
-
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.”
-
Sets the desired state to match the current configuration. Immediately after import, desired state equals actual state — there is no drift.
-
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
- Import your cloud resources (S3, IAM) to complete your infrastructure setup
- Import your dbt projects if you have existing transformations
- Follow the guided onboarding checklist to set up the rest of your project