Requirements
Before connecting, ensure you have:- Snowflake account with database access
- Virtual warehouse for query execution
- User with SELECT permissions on information_schema and target schemas
- Network access from AnomalyArmor to your Snowflake account
Connection Settings
| Field | Description | Example |
|---|---|---|
| Connection Name | Friendly identifier | Snowflake Production |
| Account | Snowflake account identifier | xy12345.us-east-1.aws |
| Database | Database (catalog) to monitor | PRODUCTION_DB |
| Warehouse | Virtual warehouse name | COMPUTE_WH |
| Username | Snowflake user account | anomalyarmor_user |
| Password | User password | •••••••• |
| Schema (Optional) | Default schema | PUBLIC |
| Role (Optional) | Role to use | ANOMALYARMOR_ROLE |
Finding Your Account Identifier
Your account identifier format depends on your cloud provider and region:| Cloud Provider | Format |
|---|---|
| Standard (AWS) | xy12345.us-east-1.aws |
| Azure | xy12345.east-us-2.azure |
| GCP | xy12345.us-central1.gcp |
Creating a Read-Only User
Create a dedicated user and role with minimal permissions.Per-Schema Permissions
For more granular control:Authentication Methods
- Password Authentication
- Key-Pair Authentication (Recommended)
Standard username/password authentication. Simplest setup for getting started.In AnomalyArmor:
- Enter your username and password
- No additional configuration required
Virtual Warehouse Considerations
Warehouse Sizing
AnomalyArmor runs lightweight metadata queries. Recommended warehouse configuration:| Environment | Size | Notes |
|---|---|---|
| Development | X-Small | Sufficient for testing |
| Production | Small | Faster query execution |
Auto-Suspend Configuration
Enable auto-suspend to minimize costs:Cost Estimation
| Metric | Value |
|---|---|
| Query duration | < 1 second per discovery |
| With 1-min auto-suspend | ~$0.01-0.05 per discovery |
| Hourly monitoring | ~$15-30/month |
Network Policies
If your Snowflake account uses network policies, add AnomalyArmor’s IP addresses:Find AnomalyArmor’s current IP addresses in Settings > Security in the AnomalyArmor dashboard.
What We Monitor
AnomalyArmor discovers and monitors these Snowflake objects:| Object Type | Monitored | Notes |
|---|---|---|
| Tables | Yes | Including managed and external |
| Views | Yes | Standard and materialized |
| Schemas | Yes | Schema-level metadata |
| Stages | No | External/internal stages not monitored |
| Streams | No | Change data capture not monitored |
| Tasks | No | Scheduled tasks not monitored |
Metadata Captured
For each table and view:- Table name and schema
- Column names and data types
- Nullability and default values
- Last modified timestamp (for freshness)
- Partition information (where applicable)
Multiple Databases
To monitor multiple databases, create separate data sources for each:| Data Source | Database |
|---|---|
| Snowflake Production | PRODUCTION_DB |
| Snowflake Staging | STAGING_DB |
| Snowflake Analytics | ANALYTICS_DB |
Each data source needs access to its respective database. Use the same credentials if they have permissions across databases.
Connection Architecture
What We Query
AnomalyArmor runs these types of queries:Troubleshooting
Connection test fails
Connection test fails
Common causes:
- Invalid account identifier
- Wrong username or password
- Warehouse doesn’t exist or is suspended
- Verify account identifier includes region and cloud (e.g.,
xy12345.us-east-1.aws) - Test credentials in Snowflake web interface first
- Ensure warehouse exists:
SHOW WAREHOUSES; - Resume warehouse if suspended:
ALTER WAREHOUSE your_wh RESUME;
Incorrect username or password
Incorrect username or password
Causes:
- Typo in credentials
- User doesn’t exist
- Password expired
- Verify user exists:
SHOW USERS LIKE 'anomalyarmor%'; - Reset password if needed
- For key-pair auth, verify public key is assigned to user
Account not found
Account not found
Causes:
- Missing region or cloud in account identifier
- Account locator typo
- Get full account identifier from Snowflake URL
- Include region and cloud:
xy12345.us-east-1.aws - Try alternative formats if needed
Warehouse does not exist
Warehouse does not exist
Causes:
- Typo in warehouse name
- User lacks USAGE on warehouse
- Warehouse was deleted
- List warehouses:
SHOW WAREHOUSES; - Grant usage:
GRANT USAGE ON WAREHOUSE wh TO ROLE role; - Check warehouse name is exact match (case-sensitive)
IP address blocked
IP address blocked
Causes:
- Network policy restricting access
- AnomalyArmor IPs not allowlisted
- Check network policies:
SHOW NETWORK POLICIES; - Add AnomalyArmor IPs to allowlist
- Contact your Snowflake admin for policy changes
Role does not exist
Role does not exist
Causes:
- Role typo
- Role was deleted
- User not granted the role
- List roles:
SHOW ROLES; - Check grants:
SHOW GRANTS TO USER your_user; - Grant role:
GRANT ROLE role TO USER user;
No tables found in discovery
No tables found in discovery
Causes:
- User lacks SELECT permissions
- Schema filter excluding all schemas
- Empty database
- Test query as user:
SELECT * FROM your_db.INFORMATION_SCHEMA.TABLES LIMIT 5; - Check grants:
SHOW GRANTS TO ROLE your_role; - Grant SELECT on schemas:
GRANT SELECT ON ALL TABLES IN SCHEMA schema TO ROLE role;
Best Practices
Use Dedicated Service Account
Create a dedicated user for AnomalyArmor rather than using personal accounts:- Dedicated users persist regardless of employee changes
- Easier to audit and manage permissions
- Can be easily rotated or disabled
Use Key-Pair Authentication for Production
Password authentication works but key-pair is more secure:- No password to rotate
- Keys can’t be phished
- Better audit trail
- Supports hardware security modules
Monitor Your Production Database
Start with your production database where schema changes have the most impact:| Priority | Database | Importance |
|---|---|---|
| 1 | Production database | Critical |
| 2 | Staging database | Important |
| 3 | Development databases | Optional |
Choose the Right Warehouse Size
Metadata queries are lightweight. X-Small is sufficient but Small provides faster startup:| Warehouse Size | Credit/Hour | Recommendation |
|---|---|---|
| X-Small | 1 | Development |
| Small | 2 | Production |
Next Steps
Run Discovery
Scan your Snowflake database
Set Up Alerts
Get notified of schema changes
