Open jkarpen opened 2 months ago
Reviewed the docs.
The initial recommendations related to snowflake security are-
1. Create break-glass accounts following best practices 2. Enforce MFA on all accounts 3. Resolve all on high / critical issues reported by Trust Center to start with and then proceed to the others (new stories will be created) 4. Enforce RBAC best practices and hierarchy - new stories will need to be added here as well. A few references related to best practice recommendations for this topic are here (in addition to snowflake official documentation)
RBAC Best Practices
Snowflake official docs -
If you have any comments, please let me know
Can you say more about what you think we should do on RBAC? We do already have an RBAC setup that I believe conforms to the recommendations in Snowflake's docs.
Hello @ian-r-rose, My intention was to do a deep dive on the existing RABC setup using best practices defined in this article, https://articles.analytics.today/snowflake-role-based-access-best-practices-design-guide, and see if we can take advantage of items shown below.
I'm particularly interested in exploring these areas for potential improvement:
These are some of my thoughts, please let me know your feedback
I'd be very interested in taking a closer look at managed access schemas and whether we can use that to improve the security of our default setup. One wrinkle to this is that many of our schemas are created by dbt as part of the transformation step. As far as I know, dbt cannot create managed access schemas (cf https://github.com/dbt-labs/dbt-snowflake/issues/22) without overriding the schema creation macros. This may be worthwhile, but I think I'd like to better understand the tradeoffs:
{database}_{env}_READWRITECONTROL
. This goes for both schemas and for tables/views in schemas. If there is no difference between the owner of the schema and a table in the schema, is there any benefit to making the schema managed access?