This repository was archived by the owner on Nov 5, 2024. It is now read-only.
Security Best Practices #96
spyglass-software
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Security Best Practices
We spend a lot of time thinking about security so our users don't have to (see security.md).
However, there are some best practices that Spyglass users should implement.
Use CODEOWNERS
While it may seem like just another file, the contents of your Spyglass YAML will have the ability to grant privileged access to your Snowflake database, so access to these files should be carefully managed.
Github CODEOWNERS allow you define which users (or groups of users)
spyglass
directory for your spyglass configuration./spyglass/ @spyglasshq/data-admins
(replacing the org/team name with your own)This will ensure that only authorized users can merge Spyglass changes.
Use Protected Branches
Protected branches ensure your code will go through proper pull request checks, as well as ensure they are passing in CI/CD before being merged. This prevents accidentally making changes that could break your Snowflake access.
Use a Separate Snowflake User Account
Set up a separate
spyglass_user
with thesecurityadmin
privilege and a randomly-generated password.(hint: to generate a unique random password, run
head -c 24 /dev/random | base64
)Why
securityadmin
?Spyglass needs the
securityadmin
role in order to manage grants. From Snowflake's docs:Use Github Secrets
If you're using the github action workflows, be sure to store your Snowflake credentials in github secrets, and be sure to understand who has access to those secrets.
Ask Questions
If you have any other questions or security feedback, email us at [email protected].
Beta Was this translation helpful? Give feedback.
All reactions