You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+44-14Lines changed: 44 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
# Snowflizzle
2
2
3
-
Snowflizzle is a tool for declaratively managing Snowflake roles, users, and their permissions using a YAML configuration file. It enables mapping users (by login name or email) to Snowflake roles, and automates the granting and revoking of database, schema, and table privileges, including support for wildcards and partial name matching. The tool is designed for automation and integrates with Snowflake using a service user and key-pair authentication.
3
+
Snowflizzle is a tool for declaratively managing Snowflake roles, users, and their permissions using a YAML configuration file. It enables mapping users (by login name or email) to Snowflake roles, and automates the granting and revoking of database, schema, table, and workspace privileges, including support for wildcards and partial name matching. The tool is designed for automation and integrates with Snowflake using a service user and key-pair authentication.
4
4
5
5
## Key Features
6
6
7
7
- Declarative YAML configuration for roles, members, and permissions
8
-
- Grant and revoke privileges on databases, schemas, and tables
8
+
- Grant and revoke privileges on databases, schemas, tables, views, and workspaces
9
9
- Supports wildcard and partial matching for schema and table names
10
10
- Dry-run mode for previewing changes without applying them
11
11
- Validation of configuration files before applying changes
@@ -22,7 +22,7 @@ roles:
22
22
- email: exemployee2@example.com
23
23
removed: true
24
24
permissions:
25
-
# Option for names
25
+
# Option for names
26
26
# - database_name
27
27
databases:
28
28
- name: test_a_db
@@ -31,26 +31,56 @@ roles:
31
31
- name: test_b_db
32
32
remove: true
33
33
schemas:
34
-
# Options for names
35
-
# - database_name.schema_name
36
-
# - database_name.*
37
-
# - database_name.*schema_partial
38
-
# - database_name.schema_partial*
34
+
# Options for names
35
+
# - database_name.schema_name
36
+
# - database_name.*
37
+
# - database_name.*schema_partial
38
+
# - database_name.schema_partial*
39
39
- name: test_c_db.credentials
40
40
grants:
41
41
- USAGE
42
42
- name: test_b_db.assets
43
43
tables:
44
-
# Options for names
45
-
# - database_name.*.*
46
-
# - database_name.schema_name.*
47
-
# - database_name.schema_partial_*.*
48
-
# - database_name.*_schema_partial.*
49
-
# - database_name.schema_name.table_name
44
+
# Options for names
45
+
# - database_name.*.*
46
+
# - database_name.schema_name.*
47
+
# - database_name.schema_partial_*.*
48
+
# - database_name.*_schema_partial.*
49
+
# - database_name.schema_name.table_name
50
50
- name: test_c_db.credentials
51
51
grants:
52
52
- SELECT
53
53
- name: test_b_db.*.*
54
+
workspaces:
55
+
# Name must be a 3-part identifier: database_name.schema_name.workspace_name
56
+
# Quote the value if the workspace name contains spaces.
57
+
# Supported grants: USAGE, READ, WRITE
58
+
- name: "test_a_db.my_schema.My Workspace"
59
+
grants:
60
+
- USAGE
61
+
- READ
62
+
- WRITE
63
+
```
64
+
65
+
### Workspace grants
66
+
67
+
Snowflake [workspaces](https://docs.snowflake.com/en/user-guide/ui-snowsight-workspaces) are managed under the `workspaces` key in `permissions`. Each entry requires a 3-part name (`DATABASE.SCHEMA.WORKSPACE_NAME`) and one or more of the following privileges:
0 commit comments