Skip to content

Infostrux-Solutions/terraform-snowflake-network-policy

Repository files navigation

Snowflake Network Policy Terraform Module

Terraform module which creates network policy resources on Snowflake.

Usage

Simple usage:

module "network_policy" {
  source  = "Infostrux-Solutions/network-policy/snowflake"

  name = "simple-policy"

  allowed_ips = ["172.218.20.30/32"]
}

Full Usage:

module "network_policy" {
  source  = "Infostrux-Solutions/network-policy/snowflake"

  name = "advanced-policy"

  allowed_ips = ["172.218.20.30/32"]
  blocked_ips = ["124.74.33.12/32"]

  attach_policy   = true
  set_for_account = false
  users_list      = ["attach-policy-to-me"]
}

Requirements

Name Version
terraform >= 0.13.1
snowflake >=0.40.0

Providers

Name Version
snowflake >=0.40.0

Modules

No modules.

Resources

Name Type
snowflake_network_policy.network_policy resource
snowflake_network_policy_attachment.attach resource

Inputs

Name Description Type Default Required
allowed_ips A list of IP/CIDRs to allow access into the Snowflake account. (This will by default block everything else) list(string) [] no
attach_policy Create the policy attachment at the same time. (true|false) bool false no
blocked_ips A list of IP/CIDRs to block access into the Snowflake account. (Do not add 0.0.0.0/0 to the list) list(string) [] no
comment Comment (description) to add to the network policy. string `"IPs allowed blocked in the Snowflake account."`
name The name to apply to the Snowflake network policy. string n/a yes
set_for_account Set this policy attachment on the account level. (true|false) bool false no
users_list A list of users that the policy will be attached to. list(string) [] no

Outputs

Name Description
allowed_ips Allowed IP list
blocked_ips Blocked IPs list
users_list Users list

Authors

Module is maintained by Infostrux Solutions with help from these awesome contributors.

License

Apache 2 Licensed. See LICENSE for full details.