Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/spyglasshq/spyglass-cli
Access management as code.
https://github.com/spyglasshq/spyglass-cli
access-control access-management data-engineering database-security iam security snowflake spyglass
Last synced: 3 months ago
JSON representation
Access management as code.
- Host: GitHub
- URL: https://github.com/spyglasshq/spyglass-cli
- Owner: spyglasshq
- License: mit
- Created: 2023-02-14T15:15:45.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-06-08T11:29:23.000Z (5 months ago)
- Last Synced: 2024-07-28T14:18:13.110Z (4 months ago)
- Topics: access-control, access-management, data-engineering, database-security, iam, security, snowflake, spyglass
- Language: TypeScript
- Homepage: https://spyglass.software
- Size: 3 MB
- Stars: 26
- Watchers: 3
- Forks: 1
- Open Issues: 33
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
![spyglass-ascii](https://github.com/spyglasshq/spyglass-cli/assets/121976108/78e0a2d4-5462-48bb-a13c-9e8f6430da66)
![GitHub Workflow Status (with branch)](https://img.shields.io/github/actions/workflow/status/spyglasshq/spyglass-cli/test.yml?branch=master) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/spyglasshq/spyglass-cli) ![GitHub](https://img.shields.io/github/license/spyglasshq/spyglass-cli) ![GitHub milestone](https://img.shields.io/github/milestones/progress-percent/spyglasshq/spyglass-cli/3)
Manage your Snowflake access controls as code.
---
🚣♂️ _**Before Spyglass**_: Permissions are managed manually across scripts, snowsight worksheets, and one-off requests.
🚤 _**After Spyglass**_: Permissions are managed centrally in git and automatically synced to Snowflake.
## Overview
For a detailed explanation, see our [Introducing Snowflake Access-as-Code](https://blog.spyglass.software/p/introducing-snowflake-access-as-code) post.
Basic usage of this tool looks like:
```
1. Import your current Snowflake objects/roles to YAML.┌───────────┐ spyglass import / sync ┌──────────┐
│ Snowflake │ ──────────────────────────────► │ YAML │
└───────────┘ └──────────┘2. Manage them as code.
┌───────────┐ make changes ┌──────────┐
│ │ ──────────────────────────────► │ │
│ Data User │ spyglass verify │ YAML │
│ │ ──────────────────────────────► │ │
└───────────┘ └──────────┘3. Automatically sync objects/roles between your Git repo and Snowflake.
┌───────────┐ spyglass apply ┌──────────┐
│ Snowflake │ ◄────────────────────────────── │ YAML │
└───────────┘ └──────────┘
```## Getting Started
Install the CLI using `npm`:
```
sudo npm install -g spyglass-cli@latest
```## Basic Usage
See [How do I set up the CLI? #43](https://github.com/spyglasshq/spyglass-cli/discussions/43).
See the [Reference Documentation](https://spyglasshq.github.io/spyglass-cli/) for details on the configuration.
## CI/CD Usage
See [How do I set up github actions / workflows? #42](https://github.com/spyglasshq/spyglass-cli/discussions/42).
## Query Usage
For getting insight into "who can access what?", see [Announcing Queries (alpha) #45](https://github.com/spyglasshq/spyglass-cli/discussions/45).
## Getting Help and Contributing
We love working with the community, here's a few ways to get involved:
1. [Discussions](https://github.com/spyglasshq/spyglass-cli/discussions) - For FAQs, Q&A, feature requests, ideas, announcements, and sharing your use cases.
2. [Issues](https://github.com/spyglasshq/spyglass-cli/issues) - For bug reports and concrete work items.
3. [Email](mailto:[email protected]) - If all else fails, or if you'd just like to chat, let us know at [email protected].
4. [Slack](mailto:[email protected]) - For early partners, we're working on Slack for real time feedback and support. If you're interested, reach out to [email protected].## Security
For submitting security issues, see [SECURITY.md](./SECURITY.md)
For our security guidance to users, see [Security Best Practices #96](https://github.com/spyglasshq/spyglass-cli/discussions/96)
## Usage Analytics
We constantly improve this software, but we need your help! By default, we log **anonymous analytics** such as: commands invoked, errors, and software versions. We never log any personally-identifiable user information.
To opt out, you can run `spyglass config:set disableAnalytics true`. See https://github.com/spyglasshq/spyglass-cli/issues/9 and [logging.ts](./src/lib/logging.ts) for more information.
## Roadmap
As of Q1 '23, Spyglass has full support for **Snowflake**. Support for other analytics databases (BigQuery, Databricks, Redshift, Oracle, etc.) is planned to follow.
Check out the [Milestones](https://github.com/spyglasshq/spyglass-cli/milestones) page to track further progress.