Compare with Terraform and Permifrost

Two ways that teams achieve version control today in Snowflake are by using Terraform or Permifrost.

Terraform

Terraform is a general-purpose infrastructure management tool. Taking an example from Terraforming Snowflake, you can create a role and define its permissions like so:

While Terraform is a fantastic for managing infrastructure generally, your team must have a significant amount of devops expertise to operate it effectively, and it is fairly verbose to describe even simple Snowflake grants.

Permifrost

Permifrost is a python tool for managing permissions on a Snowflake data warehouse. Taking an example from their readme, you can define a role's grants like so:

While Permifrost is much more succinct and purpose-built for Snowflake than Terraform, your team must still set it up and manage its deployment. Beyond that, users report limitations such as the inability to create new roles, as well as run being slow at scale.

Last updated