Stitchflow
Snowflake logo

Snowflake User Management Guide

Manual workflow

How to add, remove, and manage users with operational caveats that matter in production.

UpdatedMar 16, 2026

Summary and recommendation

Snowflake user management can be run manually, but complexity usually increases with role models, licensing gates, and offboarding dependencies. This guide gives the exact mechanics and where automation has the biggest impact.

Snowflake user management lives in Snowsight under Admin → Users & Roles.

Provisioning and deprovisioning are role-gated: you need at minimum USERADMIN, though SECURITYADMIN or ACCOUNTADMIN is required for broader privilege work.

Snowflake's permission model is RBAC layered over discretionary access control - privileges attach to roles, roles attach to users, and users can hold multiple roles simultaneously.

Quick facts

Admin console pathSnowsight → Admin → Users & Roles
Admin console URLOfficial docs
SCIM availableYes
SCIM tier requiredStandard and above
SSO prerequisiteYes

User types and roles

Role Permissions Cannot do Plan required Seat cost Watch out for
ACCOUNTADMIN Top-level system role. Full control over account, users, roles, warehouses, databases, billing, and security settings. Can grant any privilege. Should not be used for day-to-day operations per Snowflake best practice. Cannot be granted to a role other than directly to a user. All editions Consumption-based; no per-seat fee for the role itself Snowflake recommends limiting ACCOUNTADMIN to a small number of users and not using it as a default role for regular work.
SECURITYADMIN Can manage users and roles account-wide. Inherits USERADMIN privileges. Can grant and revoke privileges on any object. Cannot manage billing or account-level settings reserved for ACCOUNTADMIN. All editions Consumption-based; no per-seat fee for the role itself SECURITYADMIN inherits USERADMIN, so users with this role can create and manage all users.
USERADMIN Can create and manage users and roles. Intended for user provisioning tasks. Cannot manage warehouses, databases, or account-level security settings beyond user/role management. All editions Consumption-based; no per-seat fee for the role itself USERADMIN can only manage objects it owns or has been explicitly granted privileges on.
SYSADMIN Can create and manage warehouses, databases, schemas, and other objects. Recommended role for object ownership. Cannot manage users or roles by default. All editions Consumption-based; no per-seat fee for the role itself Custom roles should be granted to SYSADMIN so that object ownership is manageable.
PUBLIC Default role automatically granted to every user. Provides minimal baseline access. Cannot access any data objects unless explicitly granted. Cannot perform administrative actions. All editions Consumption-based; no per-seat fee for the role itself Any privileges granted to PUBLIC are available to all users in the account.
Custom Role User-defined roles with any combination of privileges granted by an administrator. Cannot exceed the privileges of the granting role (privilege escalation is not possible). All editions Consumption-based; no per-seat fee for the role itself Custom roles must be granted to SYSADMIN or higher in the role hierarchy to ensure manageability.

Permission model

  • Model type: role-based
  • Description: Snowflake uses discretionary access control (DAC) combined with role-based access control (RBAC). Privileges are granted to roles, and roles are granted to users. Users can hold multiple roles and switch between them. All securable objects have an owner role. Privilege grants are cumulative within a session's active role hierarchy.
  • Custom roles: Yes
  • Custom roles plan: All editions
  • Granularity: Object-level and privilege-level: privileges can be granted on account, database, schema, table, view, warehouse, stage, file format, function, procedure, and other object types. Future grants allow automatic privilege assignment to new objects created within a schema or database.

How to add users

  1. Log in to Snowsight as a user with USERADMIN, SECURITYADMIN, or ACCOUNTADMIN role.
  2. Navigate to Admin → Users & Roles → Users.
  3. Click '+ User' button in the top-right corner.
  4. Enter the required fields: username, and optionally email, display name, default role, default warehouse, default namespace.
  5. Set authentication method: password, or configure for SSO/federated authentication.
  6. Optionally assign roles to the user at creation time.
  7. Click 'Create User'. Snowflake generates a temporary password if password authentication is used; the user must change it on first login.
  8. Alternatively, use SQL: CREATE USER PASSWORD='' DEFAULT_ROLE= DEFAULT_WAREHOUSE= MUST_CHANGE_PASSWORD=TRUE;

Required fields: USERNAME (login name)

Watch out for:

  • Username (LOGIN_NAME) must be unique within the account; it is case-insensitive by default.
  • If no DEFAULT_ROLE is set, the user's active role defaults to PUBLIC.
  • MUST_CHANGE_PASSWORD defaults to FALSE; Snowflake recommends setting it to TRUE for new password-based users.
  • Users created without an email address cannot use password reset via email.
  • For SSO/federated users, a password is not required but the account must have SSO configured.
  • Users are not automatically granted any functional roles; roles must be explicitly granted after creation.
Bulk option Availability Notes
CSV import No Not documented
Domain whitelisting No Automatic domain-based user add
IdP provisioning Yes All editions (SCIM 2.0 supported with Okta and Azure AD; SSO must be configured first)

How to remove or deactivate users

  • Can delete users: Yes
  • Delete/deactivate behavior: Snowflake supports both disabling (deactivating) a user and permanently dropping (deleting) a user. Disabling sets DISABLED=TRUE, preventing login while preserving the user object and all associated metadata. DROP USER permanently removes the user object from the account. Dropped users cannot be restored. Objects owned by a dropped user are not automatically reassigned; ownership must be transferred before or after dropping.
  1. Via SQL: ALTER USER SET DISABLED = TRUE;
  2. Via Snowsight: Navigate to Admin → Users & Roles → Users, click the user's name, then use the 'Disable User' option in the user detail panel.
  3. To re-enable: ALTER USER SET DISABLED = FALSE;
Data impact Behavior
Owned records Objects (databases, schemas, tables, etc.) owned by the user remain in place after disabling or dropping. Ownership of objects must be explicitly transferred using GRANT OWNERSHIP before or after the user is dropped to avoid orphaned objects.
Shared content Shares and data shared by the user's owned objects are not automatically affected by disabling the user, but dropping the user without transferring ownership of shared objects may cause access issues.
Integrations Any tasks, pipes, streams, or integrations running under the user's credentials will fail after the user is disabled or dropped. Service accounts used for integrations should have ownership transferred before removal.
License freed Snowflake is consumption-based; disabling or dropping a user does not reduce a fixed seat cost. Compute credits are only consumed when warehouses are active, so removing a user's ability to run queries reduces potential future consumption.

Watch out for:

  • DROP USER will fail if the user owns objects that have dependencies; ownership must be transferred first.
  • Dropped users cannot be restored; the username can be reused by creating a new user with the same login name.
  • Disabling a user does not terminate active sessions immediately; existing sessions may continue until they expire or are explicitly terminated.
  • SCIM-provisioned users that are deprovisioned via IdP are set to DISABLED=TRUE in Snowflake, not dropped.
  • Service account users used by SnowSQL, connectors, or drivers should be disabled rather than dropped until all dependent integrations are updated.

License and seat management

Seat type Includes Cost
Compute Credits Virtual warehouse usage billed per credit consumed. Credit rate depends on edition (Standard, Enterprise, Business Critical, VPS). Standard: $2.00/credit (on-demand); Enterprise: $3.00/credit (on-demand); Business Critical: $4.00/credit (on-demand). Pre-purchased capacity discounts of 10–30% available.
Storage Data stored in Snowflake (tables, stages, fail-safe, time travel). Billed monthly. $23/TB/month (on-demand, US regions; varies by region and cloud provider)
Serverless Features Snowpipe, automatic clustering, materialized view maintenance, database replication, search optimization. Billed by Snowflake-managed compute credits. Varies by feature; billed at Snowflake-managed credit rates
  • Where to check usage: Snowsight → Admin → Cost Management (for credit and storage usage); also queryable via SNOWFLAKE.ACCOUNT_USAGE schema views (e.g., QUERY_HISTORY, WAREHOUSE_METERING_HISTORY, STORAGE_USAGE)
  • How to identify unused seats: Query SNOWFLAKE.ACCOUNT_USAGE.USERS view to see last login timestamps. Query SNOWFLAKE.ACCOUNT_USAGE.LOGIN_HISTORY to identify users who have not logged in within a defined period. Disabled users do not consume compute credits.
  • Billing notes: Snowflake does not charge per-user seat fees. All billing is consumption-based on compute credits used and data stored. Users themselves do not have a direct cost; cost is incurred when users run queries on active warehouses. Pre-purchased capacity (Snowflake Capacity) offers discounts over on-demand rates.

The cost of manual management

Snowflake does not charge per-user seat fees. All billing is consumption-based: compute credits are consumed when users run queries on active virtual warehouses, and storage is billed monthly per TB. Disabled users do not consume compute credits, making timely deprovisioning a direct lever on spend.

Pre-purchased capacity offers 10–30% discounts over on-demand rates, but no pricing tier gates user management features - SCIM 2.0 is available on all editions.

What IT admins are saying

Community evidence is not specific enough to quote or summarize yet for this app.

The decision

Manual provisioning via Snowsight is viable for small, stable teams where every app in the stack is managed ad hoc and automation overhead isn't justified.

For organizations running Okta or Azure AD (Entra ID), SCIM 2.0 is the recommended path - it handles create, update, and disable operations automatically, though it will not delete user objects or reassign owned objects on deprovision.

Key decision factors:

  • If SSO is already in place, SCIM adds relatively low setup cost and eliminates manual create/disable steps.
  • If your team relies on custom or non-standard IdPs, the generic SCIM endpoint is supported but requires more configuration work.
  • Service account users (SERVICE type) are not provisionable via SCIM and must be managed via SQL or the REST API.
  • For every app that feeds data into or queries Snowflake programmatically, key-pair authentication is the correct auth pattern - not passwords.

Bottom line

Snowflake's manual user management is straightforward for small teams but does not scale gracefully: there is no bulk import, SCIM token expiration creates recurring operational risk, and deprovisioning requires ownership cleanup before a user can be fully removed.

Organizations with an existing Okta or Azure AD deployment should prioritize SCIM setup to reduce toil, while keeping a documented SCIM token rotation schedule to avoid provisioning outages.

Service accounts and programmatic users sit outside the SCIM boundary entirely and require a separate key-pair or OAuth management process.

Automate Snowflake workflows without one-off scripts

Stitchflow builds and maintains end-to-end IT automation across your SaaS stack, including apps without APIs. Built for exactly how your company works, with human approvals where they matter.

Every app coverage, including apps without APIs
60+ app integrations plus browser automation for apps without APIs
IT graph reconciliation across apps and your IdP
Less than a week to launch, maintained as APIs and admin consoles change
SOC 2 Type II. ~2 hours of your team's time

UpdatedMar 16, 2026

* Details sourced from official product documentation and admin references.

Keep exploring

Related apps

15Five logo

15Five

Full API + SCIM
AutomationAPI + SCIM
Last updatedFeb 2026

15Five uses a fixed role-based permission model with six predefined roles: Account Admin, HR Admin, Billing Admin, Group Admin, Manager, and Employee. No custom roles can be constructed. User management lives at Settings gear → People → Manage people p

1Password logo

1Password

Full API + SCIM
AutomationAPI + SCIM
Last updatedFeb 2026

1Password's admin console at my.1password.com covers the full user lifecycle — invitations, group assignments, vault access, suspension, and deletion — without any third-party tooling. Like every app that mixes role-based and resource-level permissions

8x8 logo

8x8

Full API + SCIM
AutomationAPI + SCIM
Last updatedFeb 2026

8x8 Admin Console supports full lifecycle user management — create, deactivate, and delete — across its X Series unified communications platform. Every app a user can access (8x8 Work desktop, mobile, web, Agent Workspace) is gated by license assignmen