Introductory walkthrough - Developer

If the asset already has the metadata values you are sending, Atlan does nothing. It will not even update audit details like the last update timestamp, and is thus idempotent.


Introductory walkthrough - Developer

What if you want to make changes to many assets, as efficiently as possible? Start by initializing a batch.


Introductory walkthrough - Developer

Through this batch, we can automatically queue up and bulk-upsert assets — in this example, 20 at a time. Be sure to include any details you might need to make a decision about whether to update the asset or not (and what to update it with).


Introductory walkthrough - Developer

You must flush() the batch outside of any loop where you've added assets into it. This ensures any final remaining elements in the batch are still sent to Atlan, even if the batch is not "full".


Introductory walkthrough - Developer

Finally, from the batch you can retrieve the minimal details about any assets it created or updated. Start by initializing a batch.


Introductory walkthrough - Developer


Introductory walkthrough - Developer

You can then add() any updated objects directly into the batch you created earlier. The batch itself will handle saving these to Atlan when a sufficient number have been queued up (20, in this example).


Introductory walkthrough - Developer

Finally, from the batch you can retrieve the minimal details about any assets it created or updated. Where to go from here Common tasks Common operations on assets, that are available across all assets.


Introductory walkthrough - Developer

Discover actions Common operations on assets, that are available across all assets. Asset-specific Operations that are specific to certain assets.


Introductory walkthrough - Developer

Focus on a specific kind of asset Operations that are specific to certain assets. Focus on a specific kind of asset Governance structures Operations dealing with governance structures, rather than assets.


Introductory walkthrough - Developer

Manage governance structures Operations dealing with governance structures, rather than assets. Manage governance structures Samples Real code samples our customers use to solve particular use cases.


Introductory walkthrough - Developer

Review live samples Real code samples our customers use to solve particular use cases. Review live samples Events Delve deep into the details of the events Atlan triggers.


Introductory walkthrough - Developer

Learn more about events Delve deep into the details of the events Atlan triggers. Learn more about events Note that this is intentionally kept as simple as possible.


Introductory walkthrough - Developer

The walkthrough is not intended to be exhaustive. Where possible, we have cross-referenced other detailed examples elsewhere in the site.


Introductory walkthrough - Developer

↩ Note that this is intentionally kept as simple as possible. The walkthrough is not intended to be exhaustive.


Introductory walkthrough - Developer

Where possible, we have cross-referenced other detailed examples elsewhere in the site. ↩ There are orders of magnitude lower chances of GUIDs conflicting with each other than there are grains of sand on the planet.


Introductory walkthrough - Developer

(And generating them does not rely on a central ID-assigning registry.) ↩ There are orders of magnitude lower chances of GUIDs conflicting with each other than there are grains of sand on the planet. (And generating them does not rely on a central ID-assigning registry.) ↩


Integration options - Developer

Throughout the portal you can focus on your preferred integration approach (and switch between them as you like): CLI Use the Atlan CLI to manage data contracts for assets in Atlan. Get started with CLI Use the Atlan CLI to manage data contracts for assets in Atlan.


Integration options - Developer

Get started with CLI dbt Use dbt's meta field to enrich metadata resources straight from dbt into Atlan. Get started with dbt Use dbt's meta field to enrich metadata resources straight from dbt into Atlan.


Integration options - Developer

Get started with dbt Java Pull our Java SDK from Maven Central, just like any other dependency. Get started with Java Pull our Java SDK from Maven Central, just like any other dependency.


Integration options - Developer

Get started with Java Python Pull our Python SDK from PyPI, just like any other dependency. Get started with Python Pull our Python SDK from PyPI, just like any other dependency.


Integration options - Developer

Get started with Python Kotlin Pull our Java SDK from Maven Central, just like any other dependency. Get started with Kotlin Pull our Java SDK from Maven Central, just like any other dependency.


Integration options - Developer

Get started with Kotlin Scala Pull our Java SDK from Maven Central, just like any other dependency. Get started with Scala Pull our Java SDK from Maven Central, just like any other dependency.


Integration options - Developer

Get started with Scala Clojure Pull our Java SDK from Maven Central, just like any other dependency. Get started with Clojure Pull our Java SDK from Maven Central, just like any other dependency.


Integration options - Developer

Get started with Clojure Go Pull our Go SDK from GitHub, just like any other dependency. Get started with Go Pull our Go SDK from GitHub, just like any other dependency.


Integration options - Developer

Get started with Go Events Tap into events Atlan produces to take immediate action, as metadata changes. Get started with events Tap into events Atlan produces to take immediate action, as metadata changes.


Integration options - Developer

Get started with events Raw REST API You can call directly into our REST API, though we would recommend the SDKs. Get started with raw REST APIs Raw REST API You can call directly into our REST API, though we would recommend the SDKs.


Integration options - Developer

Get started with raw REST APIs


Customer support | Atlan Documentation

One of Atlan's core values is to help you and your team do your life's best work. ð That's why Atlan wants to make it as easy as possible for you to keep driving your work forward with data.


Customer support | Atlan Documentation

Atlan's customer support is a combination of several teams in Atlan: Product support personnel Cloud support personnel DevOps/engineering support personnel Vast repository of self-service resources Service-level commitment Atlan's Technical Support team provides support globally with high response commitment levels. This includes 24/7 SRE support for critical (P0) issues.


Customer support | Atlan Documentation

Customers get a service-level commitment, including the following: 99.5% uptime for Atlan Dedicated support center, available from within the Atlan product Commitments for aggressive response times for business critical issues Designated Customer Success Manager to assist with escalations Ways to contact support ï¸ Email support at a dedicated customer support email account ( [email protected] ) ð ¨ ð » In-product support widget to log tickets and a help desk portal to log and track tickets. You can sign up to track support tickets on the help desk portal.


Customer support | Atlan Documentation

You must use your organizational email address as the username and create a password. ð Submit a support request via the online form.


Customer support | Atlan Documentation

To track your support tickets: Navigate to https://atlan.zendesk.com and log into the help desk portal with your credentials or via SSO. From the top right, click your avatar, and then from the dropdown, click My activities.


Customer support | Atlan Documentation

On the My activities page, you can do the following: My requests and Requests I'm CC'd on - view and edit the support tickets you either created or were copied on, respectively. Organization requests - to access all other support tickets for your organization, please reach out to your customer success manager.


Customer support | Atlan Documentation

Atlan provides you with read access to all the support tickets for your organization. To be able to comment on or close them, you must be CC'd on all tickets.


Customer support | Atlan Documentation

My requests and Requests I'm CC'd on - view and edit the support tickets you either created or were copied on, respectively. Organization requests - to access all other support tickets for your organization, please reach out to your customer success manager.


Customer support | Atlan Documentation


Customer support | Atlan Documentation

Hours of operation 24x7 availability for all requests and issues Severity levels The Atlan Technical Support team determines the severity of an issue. The customer's position is considered, and these guidelines are followed to determine priority.


Customer support | Atlan Documentation

Below are the response time SLAs: Escalation procedure If the business impact of a support request changes or a ticket isn't being handled according to your expectations, you may escalate the ticket. Please first speak with the Technical Support representative assigned to the ticket to confirm that the business impact and urgency are understood.


Customer support | Atlan Documentation

You may further escalate by contacting: 1st level of escalation : Technical Support Engineer 2nd level of escalation : Director, Support 3rd level of escalation : Head of Customer Experience Ways to contact support Hours of operation


Developing with Atlan - Developer

Overall site map If you are new to Atlan, or to developing with Atlan, start with one of the following two options. These will set you up to develop with Atlan, step-by-step.


Developing with Atlan - Developer

Atlan University Self-paced, video-based walkthrough of the essentials of Atlan as a platform. Atlan Platform Essentials certification Self-paced, video-based walkthrough of the essentials of Atlan as a platform.


Developing with Atlan - Developer

Atlan Platform Essentials certification Introductory walkthrough Documentation-based walkthrough, including step-by-step examples. Start the walkthrough Documentation-based walkthrough, including step-by-step examples.


Developing with Atlan - Developer

Start the walkthrough Common tasks Common operations on assets, that are available across all assets. Discover actions Common operations on assets, that are available across all assets.


Developing with Atlan - Developer

Asset-specific Operations that are specific to certain assets. Focus on a specific kind of asset Operations that are specific to certain assets.


Developing with Atlan - Developer

Focus on a specific kind of asset Governance structures Operations dealing with governance structures, rather than assets. Manage governance structures Operations dealing with governance structures, rather than assets.


Developing with Atlan - Developer

Manage governance structures Samples Real code samples our customers use to solve particular use cases. Review live samples Real code samples our customers use to solve particular use cases.


Developing with Atlan - Developer

Review live samples Events Delve deep into the details of the events Atlan triggers. Learn more about events Delve deep into the details of the events Atlan triggers.


Developing with Atlan - Developer

Learn more about events


Set up Snowflake | Atlan Documentation

You need your Snowflake administrator to run these commands - you may not have access yourself. Create user and role in Snowflake Create a role and user in Snowflake using the following commands: Create role Create a role in Snowflake using the following commands: Replace with the default warehouse to use when running the Snowflake crawler.


Set up Snowflake | Atlan Documentation

Atlan requires the following privileges to: OPERATE enables Atlan to start the virtual warehouse to fetch metadata if the warehouse has stopped. USAGE enables Atlan to show or list metadata from Snowflake.


Set up Snowflake | Atlan Documentation

This in turn enables the Snowflake crawler to run the SHOW query. Create a user Create a separate user to integrate into Atlan, using one of the following 3 options: See Snowflake's official guide for details on generating an RSA key-pair.


Set up Snowflake | Atlan Documentation

To create a user with a key-pair, replace the value for rsa_public_key with the public key and run the following: Learn more about the SERVICE type property in Snowflake documentation. Atlan only supports encrypted private keys with a non-empty passphrase - generally recommended as more secure.


Set up Snowflake | Atlan Documentation

An empty passphrase results in workflow failures. To generate an encrypted private key, omit the -nocrypt option.


Set up Snowflake | Atlan Documentation

Refer to Snowflake documentation to learn more. Snowflake recommends transitioning away from basic authentication using username and password.


Set up Snowflake | Atlan Documentation

Change to key-pair authentication for enhanced security. For any existing Snowflake workflows, you can modify the crawler configuration to update the authentication method.


Set up Snowflake | Atlan Documentation

To create a user with a password, replace and run the following: Learn more about the LEGACY_SERVICE type property in Snowflake documentation. This method is currently only available if Okta is your IdP (Snowflake supports) authenticating natively through Okta : Create a user in your identity provider (IdP) and use federated authentication in Snowflake.


Set up Snowflake | Atlan Documentation

The password for this user must be maintained solely in the IdP and multi-factor authentication (MFA) must be disabled. Grant role to user To grant the atlan_user_role to the new user: Configure OAuth (client credentials flow) with Microsoft Entra ID To configure OAuth authentication using Microsoft Entra ID (formerly Azure AD) with the client credentials flow: Follow Snowflake's documentation to: Register a new application in Microsoft Entra ID Collect the client ID , tenant ID , and client secret Add the required API permissions Follow Snowflake's documentation to: Register a new application in Microsoft Entra ID Collect the client ID , tenant ID , and client secret Add the required API permissions In Snowflake, create a security integration using the following: CREATE SECURITY INTEGRATION external_oauth_azure_ad TYPE = external_oauth ENABLED = true EXTERNAL_OAUTH_TYPE = azure EXTERNAL_OAUTH_ISSUER = '\ ' EXTERNAL_OAUTH_JWS_KEYS_URL = '\ ' EXTERNAL_OAUTH_AUDIENCE_LIST = ( '\ ' ) EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = 'sub' EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE = 'login_name' ; Replace the placeholders with actual values from your Azure AD app: Your tenant's OAuth 2.0 issuer URL Azure JWKs URI Application ID URI of the Azure app In Snowflake, create a security integration using the following: Replace the placeholders with actual values from your Azure AD app: Your tenant's OAuth 2.0 issuer URL Azure JWKs URI Application ID URI of the Azure app Create a Snowflake user with a login name that exactly matches the Azure AD client object ID: CREATE USER oauth_svc_user WITH LOGIN_NAME = '\ ' -- Use Azure client OBJECT ID DEFAULT_ROLE = \ DEFAULT_WAREHOUSE = \ ; Create a Snowflake user with a login name that exactly matches the Azure AD client object ID: Grant the configured role to this user: GRANT ROLE \ TO USER oauth_svc_user ; Grant the configured role to this user: Choose metadata fetching method Atlan supports two methods for fetching metadata from Snowflake - account usage and information schema.


Set up Snowflake | Atlan Documentation

You should choose one of these two methods to set up Snowflake: Grant permissions for account usage method If you want to set warehouse timeouts when using this method, set a large value initially for the workflow to succeed. Once the workflow has succeeded, adjust the value to be twice the extraction time.


Set up Snowflake | Atlan Documentation

This method uses the views in SNOWFLAKE.ACCOUNT_USAGE (or a copied version of this schema) to fetch the metadata from Snowflake into Atlan. You can be more granular with permissions using this method, but there are limitations with this approach.


Set up Snowflake | Atlan Documentation

To crawl assets, generate lineage, and import tags If you also want to be able to preview and query the data, you can use the preview and query existing assets permissions instead. Snowflake stores all tag objects in the ACCOUNT_USAGE schema.


Set up Snowflake | Atlan Documentation

If you're using the account usage method to crawl metadata in Atlan or you have configured the Snowflake miner , you need to grant the same permissions to import tags as required for crawling Snowflake assets. Note that object tagging in Snowflake currently requires Enterprise Edition or higher.


Set up Snowflake | Atlan Documentation

To use the default SNOWFLAKE database and ACCOUNT_USAGE schema and also mine Snowflake's query history (for lineage), grant these permissions: The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database. To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles.


Set up Snowflake | Atlan Documentation

The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database. To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles.


Set up Snowflake | Atlan Documentation

To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: Replace with the copied Snowflake database name. Replace with the copied Snowflake ACCOUNT_USAGE schema name.


Set up Snowflake | Atlan Documentation

The grants for the copied version can't be used on the original SNOWFLAKE database. This is because Snowflake produces an error that granular grants can't be given to imported databases.


Set up Snowflake | Atlan Documentation

When using a cloned or copied version, verify that the table or view definition remains unchanged as in your SNOWFLAKE database. If the format is different.


Set up Snowflake | Atlan Documentation

For example, a column is missing and it no longer qualifies as a clone. To crawl streams To crawl streams, provide the following permissions: To crawl current streams: Replace with the Snowflake database name.


Set up Snowflake | Atlan Documentation

Replace with the Snowflake database name. To crawl future streams: To crawl future streams: Replace with the Snowflake database name.


Set up Snowflake | Atlan Documentation

(Optional) To preview and query existing assets To query and preview data within assets that already exist in Snowflake, add these permissions: Replace with the database you want to be able to preview and query in Atlan. (Repeat the statements for every database you wish to preview and query in Atlan.) (Optional) To preview and query future assets To query and preview data within assets that may be created in the future in Snowflake, add these permissions.


Set up Snowflake | Atlan Documentation

Again, if you want to also be able to preview and query the data for future assets, you can add the preview and query future assets permissions instead. Replace with the database you want to be able to preview and query in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database you want to preview and query in Atlan.) Verify that all the assets you'd like to crawl are present in these grants by checking the grants on the user role defined for the crawler. Grant permissions for information schema method This method uses views in the INFORMATION_SCHEMA schema in Snowflake databases to fetch metadata.


Set up Snowflake | Atlan Documentation

You still need to grant specific permissions to enable Atlan to crawl metadata, preview data, and query data with this method. To crawl existing assets Grant these permissions to crawl assets that already exist in Snowflake.


Set up Snowflake | Atlan Documentation

If you also want to be able to preview and query the data, you can use the preview and query existing assets permissions instead. Grant permissions to crawl existing assets: Replace with the database you want to be available in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database you wish to integrate into Atlan.) Grant permissions to crawl functions: Replace with the database you want to be available in Atlan. (Repeat the statements for every database you wish to integrate into Atlan.) For secure user-defined functions (UDFs), grant OWNERSHIP permissions to retrieve metadata: Replace the placeholders with the appropriate values: : The name of the schema that contains the user-defined function (UDF).


Set up Snowflake | Atlan Documentation

: The name of the secure UDF that requires ownership permissions. : The role that gets assigned ownership of the secure UDF.


Set up Snowflake | Atlan Documentation

The statements given on this page apply to all schemas, tables, and views in a database in Snowflake. If you want to limit access to only certain objects, you can instead specify the exact objects individually as well.


Set up Snowflake | Atlan Documentation

To crawl future assets To crawl assets that may be created in the future in Snowflake, add these permissions. Again, if you want to also be able to preview and query the data for future assets, you can add the preview and query future assets permissions instead.


Set up Snowflake | Atlan Documentation

To grant permissions at a database level: Replace with the database you want to crawl in Atlan. (Repeat the statements for every database you want to integrate into Atlan.) For any future grants defined at a schema level to a different role, the schema-level grants take precedence over the database-level grants and any future grants defined at a database level to the Atlan role get ignored.


Set up Snowflake | Atlan Documentation

To learn more, refer to Snowflake documentation. To grant permissions at a schema level: Replace with the database and with the schema you want to crawl in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database and schema you want to integrate into Atlan.) To mine query history for lineage To also mine Snowflake's query history (for lineage), add these permissions. You can use either option: To mine query history direct from Snowflake's internal tables: To mine query history from a cloned or copied set of tables, where you can also remove any sensitive data: Replace with the name of the cloned database, and with the name of the cloned schema containing account usage details.


Set up Snowflake | Atlan Documentation


Set up Snowflake | Atlan Documentation

For example, a column is missing and it no longer qualifies as a clone. (Optional) To preview and query existing assets To query and preview data within assets that already exist in Snowflake, add these permissions: Replace with the database you want to be able to preview and query in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database you wish to preview and query in Atlan.) (Optional) To preview and query future assets To query and preview data within assets that may be created in the future in Snowflake, add these permissions. Again, if you want to also be able to preview and query the data for future assets, you can add the preview and query future assets permissions instead.


Set up Snowflake | Atlan Documentation

Replace with the database you want to be able to preview and query in Atlan. (Repeat the statements for every database you want to preview and query in Atlan.) For any future grants defined at a schema level to a different role, the schema-level grants take precedence over the database-level grants and any future grants defined at a database level to the Atlan role get ignored.


Set up Snowflake | Atlan Documentation

To learn more, refer to Snowflake documentation. To grant permissions at a schema level: Replace with the database and with the schema you want to be able to preview and query in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database and schema you want to preview and query in Atlan.) Verify that all the assets you'd like to crawl are present in these grants by checking the grants on the user role defined for the crawler. (Optional) To import Snowflake tags Snowflake stores all tag objects in the ACCOUNT_USAGE schema.


Set up Snowflake | Atlan Documentation

Note that object tagging in Snowflake currently requires Enterprise Edition or higher. To import tags from Snowflake , grant these permissions: To use the default SNOWFLAKE database and ACCOUNT_USAGE schema and also mine Snowflake's query history (for lineage), grant these permissions: The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database.


Set up Snowflake | Atlan Documentation

To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles. The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database.


Set up Snowflake | Atlan Documentation

To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles. To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: Replace with the copied Snowflake database name.


Set up Snowflake | Atlan Documentation

Replace with the copied Snowflake ACCOUNT_USAGE schema name. The grants for the copied version can't be used on the original SNOWFLAKE database.


Set up Snowflake | Atlan Documentation

This is because Snowflake produces an error that granular grants can't be given to imported databases. (Optional) To push updated tags to Snowflake To push tags updated for assets in Atlan to Snowflake , grant these permissions: You can learn more about tag privileges from Snowflake documentation.


Set up Snowflake | Atlan Documentation

(Optional) To crawl dynamic tables Atlan currently supports fetching metadata for dynamic tables using the MONITOR privilege. Refer to Snowflake documentation to learn more.


Set up Snowflake | Atlan Documentation

To crawl existing dynamic tables from Snowflake: Grant permissions at a database level: Grant permissions at a schema level: To crawl future dynamic tables from Snowflake: Grant permissions at a database level: Grant permissions at a schema level: Replace with the database and with the schema you want to crawl in Atlan. (Repeat the statements for every database and schema you want to integrate into Atlan.) (Optional) To crawl Iceberg tables Atlan currently supports fetching metadata for Iceberg tables only for the information schema extraction method.


Set up Snowflake | Atlan Documentation

To crawl Iceberg tables from Snowflake, grant the following permissions: To crawl existing Iceberg tables in Snowflake: To crawl future Iceberg tables in Snowflake: To crawl Iceberg catalog metadata for Iceberg tables in Snowflake: You must first grant permissions to crawl existing Iceberg tables for this permission to work on catalogs. You must also grant permissions to all the catalogs you want to crawl in Atlan individually.


Set up Snowflake | Atlan Documentation

(Optional) To crawl Snowflake stages Atlan supports crawling metadata for Snowflake stages using the USAGE and READ privileges. For more information, see the Snowflake documentation for INFORMATION_SCHEMA.STAGES.


Set up Snowflake | Atlan Documentation

To crawl stages from Snowflake: Grant USAGE and READ privileges on all existing stages at the database level: Replace with the name of your Snowflake database Replace with the name of your Snowflake database Replace with the role you've granted Atlan to use for crawling. Replace with the role you've granted Atlan to use for crawling.


Set up Snowflake | Atlan Documentation

Grant USAGE and READ privileges on all future stages at the database level: Grant USAGE and READ privileges on all future stages at the database level: Replace with the name of your Snowflake database Replace with the role you've granted Atlan to use for crawling. Allowlist the Atlan IP If you are using the IP allowlist in your Snowflake instance, you must add the Atlan IP to the allowlist.


Set up Snowflake | Atlan Documentation

Please raise a support ticket from within Atlan, or submit a request. (If you aren't using the IP allowlist in your Snowflake instance, you can skip this step.) Create user and role in Snowflake Choose metadata fetching method Grant permissions for account usage method Grant permissions for information schema method Allowlist the Atlan IP


Set up Snowflake | Atlan Documentation

You need your Snowflake administrator to run these commands - you may not have access yourself. Create user and role in Snowflake Create a role and user in Snowflake using the following commands: Create role Create a role in Snowflake using the following commands: Replace with the default warehouse to use when running the Snowflake crawler.


Set up Snowflake | Atlan Documentation

Atlan requires the following privileges to: OPERATE enables Atlan to start the virtual warehouse to fetch metadata if the warehouse has stopped. USAGE enables Atlan to show or list metadata from Snowflake.


Set up Snowflake | Atlan Documentation

This in turn enables the Snowflake crawler to run the SHOW query. Create a user Create a separate user to integrate into Atlan, using one of the following 3 options: See Snowflake's official guide for details on generating an RSA key-pair.


Set up Snowflake | Atlan Documentation

To create a user with a key-pair, replace the value for rsa_public_key with the public key and run the following: Learn more about the SERVICE type property in Snowflake documentation. Atlan only supports encrypted private keys with a non-empty passphrase - generally recommended as more secure.


Set up Snowflake | Atlan Documentation

An empty passphrase results in workflow failures. To generate an encrypted private key, omit the -nocrypt option.


Set up Snowflake | Atlan Documentation

Refer to Snowflake documentation to learn more. Snowflake recommends transitioning away from basic authentication using username and password.


Set up Snowflake | Atlan Documentation

Change to key-pair authentication for enhanced security. For any existing Snowflake workflows, you can modify the crawler configuration to update the authentication method.


Set up Snowflake | Atlan Documentation

To create a user with a password, replace and run the following: Learn more about the LEGACY_SERVICE type property in Snowflake documentation. This method is currently only available if Okta is your IdP (Snowflake supports) authenticating natively through Okta : Create a user in your identity provider (IdP) and use federated authentication in Snowflake.


Set up Snowflake | Atlan Documentation

The password for this user must be maintained solely in the IdP and multi-factor authentication (MFA) must be disabled. Grant role to user To grant the atlan_user_role to the new user: Configure OAuth (client credentials flow) with Microsoft Entra ID To configure OAuth authentication using Microsoft Entra ID (formerly Azure AD) with the client credentials flow: Follow Snowflake's documentation to: Register a new application in Microsoft Entra ID Collect the client ID , tenant ID , and client secret Add the required API permissions Follow Snowflake's documentation to: Register a new application in Microsoft Entra ID Collect the client ID , tenant ID , and client secret Add the required API permissions In Snowflake, create a security integration using the following: CREATE SECURITY INTEGRATION external_oauth_azure_ad TYPE = external_oauth ENABLED = true EXTERNAL_OAUTH_TYPE = azure EXTERNAL_OAUTH_ISSUER = '\ ' EXTERNAL_OAUTH_JWS_KEYS_URL = '\ ' EXTERNAL_OAUTH_AUDIENCE_LIST = ( '\ ' ) EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = 'sub' EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE = 'login_name' ; Replace the placeholders with actual values from your Azure AD app: Your tenant's OAuth 2.0 issuer URL Azure JWKs URI Application ID URI of the Azure app In Snowflake, create a security integration using the following: Replace the placeholders with actual values from your Azure AD app: Your tenant's OAuth 2.0 issuer URL Azure JWKs URI Application ID URI of the Azure app Create a Snowflake user with a login name that exactly matches the Azure AD client object ID: CREATE USER oauth_svc_user WITH LOGIN_NAME = '\ ' -- Use Azure client OBJECT ID DEFAULT_ROLE = \ DEFAULT_WAREHOUSE = \ ; Create a Snowflake user with a login name that exactly matches the Azure AD client object ID: Grant the configured role to this user: GRANT ROLE \ TO USER oauth_svc_user ; Grant the configured role to this user: Choose metadata fetching method Atlan supports two methods for fetching metadata from Snowflake - account usage and information schema.


Set up Snowflake | Atlan Documentation

You should choose one of these two methods to set up Snowflake: Grant permissions for account usage method If you want to set warehouse timeouts when using this method, set a large value initially for the workflow to succeed. Once the workflow has succeeded, adjust the value to be twice the extraction time.


Set up Snowflake | Atlan Documentation

This method uses the views in SNOWFLAKE.ACCOUNT_USAGE (or a copied version of this schema) to fetch the metadata from Snowflake into Atlan. You can be more granular with permissions using this method, but there are limitations with this approach.


Set up Snowflake | Atlan Documentation

To crawl assets, generate lineage, and import tags If you also want to be able to preview and query the data, you can use the preview and query existing assets permissions instead. Snowflake stores all tag objects in the ACCOUNT_USAGE schema.


Set up Snowflake | Atlan Documentation

If you're using the account usage method to crawl metadata in Atlan or you have configured the Snowflake miner , you need to grant the same permissions to import tags as required for crawling Snowflake assets. Note that object tagging in Snowflake currently requires Enterprise Edition or higher.


Set up Snowflake | Atlan Documentation

To use the default SNOWFLAKE database and ACCOUNT_USAGE schema and also mine Snowflake's query history (for lineage), grant these permissions: The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database. To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles.


Set up Snowflake | Atlan Documentation

The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database. To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles.


Set up Snowflake | Atlan Documentation

To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: Replace with the copied Snowflake database name. Replace with the copied Snowflake ACCOUNT_USAGE schema name.


Set up Snowflake | Atlan Documentation

The grants for the copied version can't be used on the original SNOWFLAKE database. This is because Snowflake produces an error that granular grants can't be given to imported databases.


Set up Snowflake | Atlan Documentation

When using a cloned or copied version, verify that the table or view definition remains unchanged as in your SNOWFLAKE database. If the format is different.


Set up Snowflake | Atlan Documentation

For example, a column is missing and it no longer qualifies as a clone. To crawl streams To crawl streams, provide the following permissions: To crawl current streams: Replace with the Snowflake database name.


Set up Snowflake | Atlan Documentation

Replace with the Snowflake database name. To crawl future streams: To crawl future streams: Replace with the Snowflake database name.


Set up Snowflake | Atlan Documentation

(Optional) To preview and query existing assets To query and preview data within assets that already exist in Snowflake, add these permissions: Replace with the database you want to be able to preview and query in Atlan. (Repeat the statements for every database you wish to preview and query in Atlan.) (Optional) To preview and query future assets To query and preview data within assets that may be created in the future in Snowflake, add these permissions.


Set up Snowflake | Atlan Documentation

Again, if you want to also be able to preview and query the data for future assets, you can add the preview and query future assets permissions instead. Replace with the database you want to be able to preview and query in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database you want to preview and query in Atlan.) Verify that all the assets you'd like to crawl are present in these grants by checking the grants on the user role defined for the crawler. Grant permissions for information schema method This method uses views in the INFORMATION_SCHEMA schema in Snowflake databases to fetch metadata.


Set up Snowflake | Atlan Documentation

You still need to grant specific permissions to enable Atlan to crawl metadata, preview data, and query data with this method. To crawl existing assets Grant these permissions to crawl assets that already exist in Snowflake.


Set up Snowflake | Atlan Documentation

If you also want to be able to preview and query the data, you can use the preview and query existing assets permissions instead. Grant permissions to crawl existing assets: Replace with the database you want to be available in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database you wish to integrate into Atlan.) Grant permissions to crawl functions: Replace with the database you want to be available in Atlan. (Repeat the statements for every database you wish to integrate into Atlan.) For secure user-defined functions (UDFs), grant OWNERSHIP permissions to retrieve metadata: Replace the placeholders with the appropriate values: : The name of the schema that contains the user-defined function (UDF).


Set up Snowflake | Atlan Documentation

: The name of the secure UDF that requires ownership permissions. : The role that gets assigned ownership of the secure UDF.


Set up Snowflake | Atlan Documentation

The statements given on this page apply to all schemas, tables, and views in a database in Snowflake. If you want to limit access to only certain objects, you can instead specify the exact objects individually as well.


Set up Snowflake | Atlan Documentation

To crawl future assets To crawl assets that may be created in the future in Snowflake, add these permissions. Again, if you want to also be able to preview and query the data for future assets, you can add the preview and query future assets permissions instead.


Set up Snowflake | Atlan Documentation

To grant permissions at a database level: Replace with the database you want to crawl in Atlan. (Repeat the statements for every database you want to integrate into Atlan.) For any future grants defined at a schema level to a different role, the schema-level grants take precedence over the database-level grants and any future grants defined at a database level to the Atlan role get ignored.


Set up Snowflake | Atlan Documentation

To learn more, refer to Snowflake documentation. To grant permissions at a schema level: Replace with the database and with the schema you want to crawl in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database and schema you want to integrate into Atlan.) To mine query history for lineage To also mine Snowflake's query history (for lineage), add these permissions. You can use either option: To mine query history direct from Snowflake's internal tables: To mine query history from a cloned or copied set of tables, where you can also remove any sensitive data: Replace with the name of the cloned database, and with the name of the cloned schema containing account usage details.


Set up Snowflake | Atlan Documentation


Set up Snowflake | Atlan Documentation

For example, a column is missing and it no longer qualifies as a clone. (Optional) To preview and query existing assets To query and preview data within assets that already exist in Snowflake, add these permissions: Replace with the database you want to be able to preview and query in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database you wish to preview and query in Atlan.) (Optional) To preview and query future assets To query and preview data within assets that may be created in the future in Snowflake, add these permissions. Again, if you want to also be able to preview and query the data for future assets, you can add the preview and query future assets permissions instead.


Set up Snowflake | Atlan Documentation

Replace with the database you want to be able to preview and query in Atlan. (Repeat the statements for every database you want to preview and query in Atlan.) For any future grants defined at a schema level to a different role, the schema-level grants take precedence over the database-level grants and any future grants defined at a database level to the Atlan role get ignored.


Set up Snowflake | Atlan Documentation

To learn more, refer to Snowflake documentation. To grant permissions at a schema level: Replace with the database and with the schema you want to be able to preview and query in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database and schema you want to preview and query in Atlan.) Verify that all the assets you'd like to crawl are present in these grants by checking the grants on the user role defined for the crawler. (Optional) To import Snowflake tags Snowflake stores all tag objects in the ACCOUNT_USAGE schema.


Set up Snowflake | Atlan Documentation

Note that object tagging in Snowflake currently requires Enterprise Edition or higher. To import tags from Snowflake , grant these permissions: To use the default SNOWFLAKE database and ACCOUNT_USAGE schema and also mine Snowflake's query history (for lineage), grant these permissions: The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database.


Set up Snowflake | Atlan Documentation

To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles. The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database.


Set up Snowflake | Atlan Documentation

To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles. To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: Replace with the copied Snowflake database name.


Set up Snowflake | Atlan Documentation

Replace with the copied Snowflake ACCOUNT_USAGE schema name. The grants for the copied version can't be used on the original SNOWFLAKE database.


Set up Snowflake | Atlan Documentation

This is because Snowflake produces an error that granular grants can't be given to imported databases. (Optional) To push updated tags to Snowflake To push tags updated for assets in Atlan to Snowflake , grant these permissions: You can learn more about tag privileges from Snowflake documentation.


Set up Snowflake | Atlan Documentation

(Optional) To crawl dynamic tables Atlan currently supports fetching metadata for dynamic tables using the MONITOR privilege. Refer to Snowflake documentation to learn more.


Set up Snowflake | Atlan Documentation

To crawl existing dynamic tables from Snowflake: Grant permissions at a database level: Grant permissions at a schema level: To crawl future dynamic tables from Snowflake: Grant permissions at a database level: Grant permissions at a schema level: Replace with the database and with the schema you want to crawl in Atlan. (Repeat the statements for every database and schema you want to integrate into Atlan.) (Optional) To crawl Iceberg tables Atlan currently supports fetching metadata for Iceberg tables only for the information schema extraction method.


Set up Snowflake | Atlan Documentation

To crawl Iceberg tables from Snowflake, grant the following permissions: To crawl existing Iceberg tables in Snowflake: To crawl future Iceberg tables in Snowflake: To crawl Iceberg catalog metadata for Iceberg tables in Snowflake: You must first grant permissions to crawl existing Iceberg tables for this permission to work on catalogs. You must also grant permissions to all the catalogs you want to crawl in Atlan individually.


Set up Snowflake | Atlan Documentation

(Optional) To crawl Snowflake stages Atlan supports crawling metadata for Snowflake stages using the USAGE and READ privileges. For more information, see the Snowflake documentation for INFORMATION_SCHEMA.STAGES.


Set up Snowflake | Atlan Documentation

To crawl stages from Snowflake: Grant USAGE and READ privileges on all existing stages at the database level: Replace with the name of your Snowflake database Replace with the name of your Snowflake database Replace with the role you've granted Atlan to use for crawling. Replace with the role you've granted Atlan to use for crawling.


Set up Snowflake | Atlan Documentation

Grant USAGE and READ privileges on all future stages at the database level: Grant USAGE and READ privileges on all future stages at the database level: Replace with the name of your Snowflake database Replace with the role you've granted Atlan to use for crawling. Allowlist the Atlan IP If you are using the IP allowlist in your Snowflake instance, you must add the Atlan IP to the allowlist.


Set up Snowflake | Atlan Documentation

Please raise a support ticket from within Atlan, or submit a request. (If you aren't using the IP allowlist in your Snowflake instance, you can skip this step.) Create user and role in Snowflake Choose metadata fetching method Grant permissions for account usage method Grant permissions for information schema method Allowlist the Atlan IP


Set up Snowflake | Atlan Documentation

You need your Snowflake administrator to run these commands - you may not have access yourself. Create user and role in Snowflake Create a role and user in Snowflake using the following commands: Create role Create a role in Snowflake using the following commands: Replace with the default warehouse to use when running the Snowflake crawler.


Set up Snowflake | Atlan Documentation

Atlan requires the following privileges to: OPERATE enables Atlan to start the virtual warehouse to fetch metadata if the warehouse has stopped. USAGE enables Atlan to show or list metadata from Snowflake.


Set up Snowflake | Atlan Documentation

This in turn enables the Snowflake crawler to run the SHOW query. Create a user Create a separate user to integrate into Atlan, using one of the following 3 options: See Snowflake's official guide for details on generating an RSA key-pair.


Set up Snowflake | Atlan Documentation

To create a user with a key-pair, replace the value for rsa_public_key with the public key and run the following: Learn more about the SERVICE type property in Snowflake documentation. Atlan only supports encrypted private keys with a non-empty passphrase - generally recommended as more secure.


Set up Snowflake | Atlan Documentation

An empty passphrase results in workflow failures. To generate an encrypted private key, omit the -nocrypt option.


Set up Snowflake | Atlan Documentation

Refer to Snowflake documentation to learn more. Snowflake recommends transitioning away from basic authentication using username and password.


Set up Snowflake | Atlan Documentation

Change to key-pair authentication for enhanced security. For any existing Snowflake workflows, you can modify the crawler configuration to update the authentication method.


Set up Snowflake | Atlan Documentation

To create a user with a password, replace and run the following: Learn more about the LEGACY_SERVICE type property in Snowflake documentation. This method is currently only available if Okta is your IdP (Snowflake supports) authenticating natively through Okta : Create a user in your identity provider (IdP) and use federated authentication in Snowflake.


Set up Snowflake | Atlan Documentation

The password for this user must be maintained solely in the IdP and multi-factor authentication (MFA) must be disabled. Grant role to user To grant the atlan_user_role to the new user: Configure OAuth (client credentials flow) with Microsoft Entra ID To configure OAuth authentication using Microsoft Entra ID (formerly Azure AD) with the client credentials flow: Follow Snowflake's documentation to: Register a new application in Microsoft Entra ID Collect the client ID , tenant ID , and client secret Add the required API permissions Follow Snowflake's documentation to: Register a new application in Microsoft Entra ID Collect the client ID , tenant ID , and client secret Add the required API permissions In Snowflake, create a security integration using the following: CREATE SECURITY INTEGRATION external_oauth_azure_ad TYPE = external_oauth ENABLED = true EXTERNAL_OAUTH_TYPE = azure EXTERNAL_OAUTH_ISSUER = '\ ' EXTERNAL_OAUTH_JWS_KEYS_URL = '\ ' EXTERNAL_OAUTH_AUDIENCE_LIST = ( '\ ' ) EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = 'sub' EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE = 'login_name' ; Replace the placeholders with actual values from your Azure AD app: Your tenant's OAuth 2.0 issuer URL Azure JWKs URI Application ID URI of the Azure app In Snowflake, create a security integration using the following: Replace the placeholders with actual values from your Azure AD app: Your tenant's OAuth 2.0 issuer URL Azure JWKs URI Application ID URI of the Azure app Create a Snowflake user with a login name that exactly matches the Azure AD client object ID: CREATE USER oauth_svc_user WITH LOGIN_NAME = '\ ' -- Use Azure client OBJECT ID DEFAULT_ROLE = \ DEFAULT_WAREHOUSE = \ ; Create a Snowflake user with a login name that exactly matches the Azure AD client object ID: Grant the configured role to this user: GRANT ROLE \ TO USER oauth_svc_user ; Grant the configured role to this user: Choose metadata fetching method Atlan supports two methods for fetching metadata from Snowflake - account usage and information schema.


Set up Snowflake | Atlan Documentation

You should choose one of these two methods to set up Snowflake: Grant permissions for account usage method If you want to set warehouse timeouts when using this method, set a large value initially for the workflow to succeed. Once the workflow has succeeded, adjust the value to be twice the extraction time.


Set up Snowflake | Atlan Documentation

This method uses the views in SNOWFLAKE.ACCOUNT_USAGE (or a copied version of this schema) to fetch the metadata from Snowflake into Atlan. You can be more granular with permissions using this method, but there are limitations with this approach.


Set up Snowflake | Atlan Documentation

To crawl assets, generate lineage, and import tags If you also want to be able to preview and query the data, you can use the preview and query existing assets permissions instead. Snowflake stores all tag objects in the ACCOUNT_USAGE schema.


Set up Snowflake | Atlan Documentation

If you're using the account usage method to crawl metadata in Atlan or you have configured the Snowflake miner , you need to grant the same permissions to import tags as required for crawling Snowflake assets. Note that object tagging in Snowflake currently requires Enterprise Edition or higher.


Set up Snowflake | Atlan Documentation

To use the default SNOWFLAKE database and ACCOUNT_USAGE schema and also mine Snowflake's query history (for lineage), grant these permissions: The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database. To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles.


Set up Snowflake | Atlan Documentation

The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database. To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles.


Set up Snowflake | Atlan Documentation

To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: Replace with the copied Snowflake database name. Replace with the copied Snowflake ACCOUNT_USAGE schema name.


Set up Snowflake | Atlan Documentation

The grants for the copied version can't be used on the original SNOWFLAKE database. This is because Snowflake produces an error that granular grants can't be given to imported databases.


Set up Snowflake | Atlan Documentation

When using a cloned or copied version, verify that the table or view definition remains unchanged as in your SNOWFLAKE database. If the format is different.


Set up Snowflake | Atlan Documentation

For example, a column is missing and it no longer qualifies as a clone. To crawl streams To crawl streams, provide the following permissions: To crawl current streams: Replace with the Snowflake database name.


Set up Snowflake | Atlan Documentation

Replace with the Snowflake database name. To crawl future streams: To crawl future streams: Replace with the Snowflake database name.


Set up Snowflake | Atlan Documentation

(Optional) To preview and query existing assets To query and preview data within assets that already exist in Snowflake, add these permissions: Replace with the database you want to be able to preview and query in Atlan. (Repeat the statements for every database you wish to preview and query in Atlan.) (Optional) To preview and query future assets To query and preview data within assets that may be created in the future in Snowflake, add these permissions.


Set up Snowflake | Atlan Documentation

Again, if you want to also be able to preview and query the data for future assets, you can add the preview and query future assets permissions instead. Replace with the database you want to be able to preview and query in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database you want to preview and query in Atlan.) Verify that all the assets you'd like to crawl are present in these grants by checking the grants on the user role defined for the crawler. Grant permissions for information schema method This method uses views in the INFORMATION_SCHEMA schema in Snowflake databases to fetch metadata.


Set up Snowflake | Atlan Documentation

You still need to grant specific permissions to enable Atlan to crawl metadata, preview data, and query data with this method. To crawl existing assets Grant these permissions to crawl assets that already exist in Snowflake.


Set up Snowflake | Atlan Documentation

If you also want to be able to preview and query the data, you can use the preview and query existing assets permissions instead. Grant permissions to crawl existing assets: Replace with the database you want to be available in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database you wish to integrate into Atlan.) Grant permissions to crawl functions: Replace with the database you want to be available in Atlan. (Repeat the statements for every database you wish to integrate into Atlan.) For secure user-defined functions (UDFs), grant OWNERSHIP permissions to retrieve metadata: Replace the placeholders with the appropriate values: : The name of the schema that contains the user-defined function (UDF).


Set up Snowflake | Atlan Documentation

: The name of the secure UDF that requires ownership permissions. : The role that gets assigned ownership of the secure UDF.


Set up Snowflake | Atlan Documentation

The statements given on this page apply to all schemas, tables, and views in a database in Snowflake. If you want to limit access to only certain objects, you can instead specify the exact objects individually as well.


Set up Snowflake | Atlan Documentation

To crawl future assets To crawl assets that may be created in the future in Snowflake, add these permissions. Again, if you want to also be able to preview and query the data for future assets, you can add the preview and query future assets permissions instead.


Set up Snowflake | Atlan Documentation

To grant permissions at a database level: Replace with the database you want to crawl in Atlan. (Repeat the statements for every database you want to integrate into Atlan.) For any future grants defined at a schema level to a different role, the schema-level grants take precedence over the database-level grants and any future grants defined at a database level to the Atlan role get ignored.


Set up Snowflake | Atlan Documentation

To learn more, refer to Snowflake documentation. To grant permissions at a schema level: Replace with the database and with the schema you want to crawl in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database and schema you want to integrate into Atlan.) To mine query history for lineage To also mine Snowflake's query history (for lineage), add these permissions. You can use either option: To mine query history direct from Snowflake's internal tables: To mine query history from a cloned or copied set of tables, where you can also remove any sensitive data: Replace with the name of the cloned database, and with the name of the cloned schema containing account usage details.


Set up Snowflake | Atlan Documentation


Set up Snowflake | Atlan Documentation

For example, a column is missing and it no longer qualifies as a clone. (Optional) To preview and query existing assets To query and preview data within assets that already exist in Snowflake, add these permissions: Replace with the database you want to be able to preview and query in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database you wish to preview and query in Atlan.) (Optional) To preview and query future assets To query and preview data within assets that may be created in the future in Snowflake, add these permissions. Again, if you want to also be able to preview and query the data for future assets, you can add the preview and query future assets permissions instead.


Set up Snowflake | Atlan Documentation

Replace with the database you want to be able to preview and query in Atlan. (Repeat the statements for every database you want to preview and query in Atlan.) For any future grants defined at a schema level to a different role, the schema-level grants take precedence over the database-level grants and any future grants defined at a database level to the Atlan role get ignored.


Set up Snowflake | Atlan Documentation

To learn more, refer to Snowflake documentation. To grant permissions at a schema level: Replace with the database and with the schema you want to be able to preview and query in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database and schema you want to preview and query in Atlan.) Verify that all the assets you'd like to crawl are present in these grants by checking the grants on the user role defined for the crawler. (Optional) To import Snowflake tags Snowflake stores all tag objects in the ACCOUNT_USAGE schema.


Set up Snowflake | Atlan Documentation

Note that object tagging in Snowflake currently requires Enterprise Edition or higher. To import tags from Snowflake , grant these permissions: To use the default SNOWFLAKE database and ACCOUNT_USAGE schema and also mine Snowflake's query history (for lineage), grant these permissions: The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database.


Set up Snowflake | Atlan Documentation

To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles. The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database.


Set up Snowflake | Atlan Documentation

To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles. To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: Replace with the copied Snowflake database name.


Set up Snowflake | Atlan Documentation

Replace with the copied Snowflake ACCOUNT_USAGE schema name. The grants for the copied version can't be used on the original SNOWFLAKE database.


Set up Snowflake | Atlan Documentation

This is because Snowflake produces an error that granular grants can't be given to imported databases. (Optional) To push updated tags to Snowflake To push tags updated for assets in Atlan to Snowflake , grant these permissions: You can learn more about tag privileges from Snowflake documentation.


Set up Snowflake | Atlan Documentation

(Optional) To crawl dynamic tables Atlan currently supports fetching metadata for dynamic tables using the MONITOR privilege. Refer to Snowflake documentation to learn more.


Set up Snowflake | Atlan Documentation

To crawl existing dynamic tables from Snowflake: Grant permissions at a database level: Grant permissions at a schema level: To crawl future dynamic tables from Snowflake: Grant permissions at a database level: Grant permissions at a schema level: Replace with the database and with the schema you want to crawl in Atlan. (Repeat the statements for every database and schema you want to integrate into Atlan.) (Optional) To crawl Iceberg tables Atlan currently supports fetching metadata for Iceberg tables only for the information schema extraction method.


Set up Snowflake | Atlan Documentation

To crawl Iceberg tables from Snowflake, grant the following permissions: To crawl existing Iceberg tables in Snowflake: To crawl future Iceberg tables in Snowflake: To crawl Iceberg catalog metadata for Iceberg tables in Snowflake: You must first grant permissions to crawl existing Iceberg tables for this permission to work on catalogs. You must also grant permissions to all the catalogs you want to crawl in Atlan individually.


Set up Snowflake | Atlan Documentation

(Optional) To crawl Snowflake stages Atlan supports crawling metadata for Snowflake stages using the USAGE and READ privileges. For more information, see the Snowflake documentation for INFORMATION_SCHEMA.STAGES.


Set up Snowflake | Atlan Documentation

To crawl stages from Snowflake: Grant USAGE and READ privileges on all existing stages at the database level: Replace with the name of your Snowflake database Replace with the name of your Snowflake database Replace with the role you've granted Atlan to use for crawling. Replace with the role you've granted Atlan to use for crawling.


Set up Snowflake | Atlan Documentation

Grant USAGE and READ privileges on all future stages at the database level: Grant USAGE and READ privileges on all future stages at the database level: Replace with the name of your Snowflake database Replace with the role you've granted Atlan to use for crawling. Allowlist the Atlan IP If you are using the IP allowlist in your Snowflake instance, you must add the Atlan IP to the allowlist.


Set up Snowflake | Atlan Documentation

Please raise a support ticket from within Atlan, or submit a request. (If you aren't using the IP allowlist in your Snowflake instance, you can skip this step.) Create user and role in Snowflake Choose metadata fetching method Grant permissions for account usage method Grant permissions for information schema method Allowlist the Atlan IP


Crawl Snowflake | Atlan Documentation

Once you have configured the Snowflake user permissions , you can establish a connection between Atlan and Snowflake. (If you are also using AWS PrivateLink or Azure Private Link for Snowflake, you will need to set that up first, too.) To crawl metadata from Snowflake, review the order of operations and then complete the following steps.


Crawl Snowflake | Atlan Documentation

Select the source To select Snowflake as your source: In the top right of any screen, navigate to New and then click New Workflow. From the list of packages, select Snowflake Assets and click on Setup Workflow.


Crawl Snowflake | Atlan Documentation

Provide credentials Choose your extraction method: In Direct extraction, Atlan connects to your database and crawls metadata directly. In Offline extraction, you will need to first extract metadata yourself and make it available in S3.


Crawl Snowflake | Atlan Documentation

This is currently only supported when using the information schema extraction method to fetch metadata with basic authentication. In Agent extraction, Atlan's secure agent executes metadata extraction within the organization's environment.


Crawl Snowflake | Atlan Documentation

Direct extraction method To enter your Snowflake credentials: For Account Identifiers (Host) , enter the hostname, AWS PrivateLink endpoint , or Azure Private Link endpoint for your Snowflake instance. For Authentication , choose the method you configured when setting up the Snowflake user : For Basic authentication, enter the Username and Password you configured in either Snowflake or the identity provider.


Crawl Snowflake | Atlan Documentation

info ð ª Did you know? Snowflake recommends transitioning away from basic authentication using username and password.


Crawl Snowflake | Atlan Documentation

Change to key-pair authentication for enhanced security. For any existing Snowflake workflows, you can modify the crawler configuration to update the authentication method.


Crawl Snowflake | Atlan Documentation

For Keypair authentication, enter the Username , Encrypted Private Key , and Private Key Password you configured. Atlan only supports encrypted private keys with a non-empty passphrase - generally recommended as more secure.


Crawl Snowflake | Atlan Documentation

An empty passphrase will result in workflow failures. To generate an encrypted private key, refer to Snowflake documentation.


Crawl Snowflake | Atlan Documentation

For Okta SSO authentication, enter the Username , Password , and Authenticator you configured. The Authenticator will be the Okta URL endpoint of your Okta account , typically in the form of https:// .okta.com.


Crawl Snowflake | Atlan Documentation

For Basic authentication, enter the Username and Password you configured in either Snowflake or the identity provider. info ð ª Did you know?


Crawl Snowflake | Atlan Documentation

Snowflake recommends transitioning away from basic authentication using username and password. Change to key-pair authentication for enhanced security.


Crawl Snowflake | Atlan Documentation

For any existing Snowflake workflows, you can modify the crawler configuration to update the authentication method. For Basic authentication, enter the Username and Password you configured in either Snowflake or the identity provider.


Crawl Snowflake | Atlan Documentation

ð ª Did you know? Snowflake recommends transitioning away from basic authentication using username and password.


Crawl Snowflake | Atlan Documentation


Crawl Snowflake | Atlan Documentation

For Role , select the Snowflake role through which the crawler should run. For Warehouse , select the Snowflake warehouse in which the crawler should run.


Crawl Snowflake | Atlan Documentation

Click Test Authentication to confirm connectivity to Snowflake using these details. Once successful, at the bottom of the screen, click Next.


Crawl Snowflake | Atlan Documentation

Offline extraction method Atlan supports the offline extraction method for fetching metadata from Snowflake. This method uses Atlan's metadata-extractor tool to fetch metadata.


Crawl Snowflake | Atlan Documentation

You will need to first extract the metadata yourself and then make it available in S3. To enter your S3 details: For Bucket name , enter the name of your S3 bucket.


Crawl Snowflake | Atlan Documentation

If you are reusing Atlan's S3 bucket, you can leave this blank. For Bucket prefix , enter the S3 prefix under which all the metadata files exist.


Crawl Snowflake | Atlan Documentation

These include databases.json , columns- .json , and so on. For Bucket region , enter the name of the S3 region.


Crawl Snowflake | Atlan Documentation

When complete, at the bottom of the screen, click Next. Configure the connection To complete the Snowflake connection configuration: Provide a Connection Name that represents your source environment.


Crawl Snowflake | Atlan Documentation

For example, you might use values like production , development , gold , or analytics. Provide a Connection Name that represents your source environment.


Crawl Snowflake | Atlan Documentation

For example, you might use values like production , development , gold , or analytics. (Optional) To change the users able to manage this connection, change the users or groups listed under Connection Admins.


Crawl Snowflake | Atlan Documentation

danger If you do not specify any user or group, nobody will be able to manage the connection - not even admins. (Optional) To change the users able to manage this connection, change the users or groups listed under Connection Admins.


Crawl Snowflake | Atlan Documentation

If you do not specify any user or group, nobody will be able to manage the connection - not even admins. (Optional) To prevent users from querying any Snowflake data, change Allow SQL Query to No.


Crawl Snowflake | Atlan Documentation

(Optional) To prevent users from querying any Snowflake data, change Allow SQL Query to No. (Optional) To prevent users from previewing any Snowflake data, change Allow Data Preview to No.


Crawl Snowflake | Atlan Documentation

(Optional) To prevent users from previewing any Snowflake data, change Allow Data Preview to No. At the bottom of the screen, click Next to proceed.


Crawl Snowflake | Atlan Documentation

At the bottom of the screen, click Next to proceed. Agent extraction method Atlan supports using a Secure Agent for fetching metadata from Snowflake.


Crawl Snowflake | Atlan Documentation

To use a Secure Agent, follow these steps: Select the Agent tab. Configure the Snowflake data source by adding the secret keys for your secret store.


Crawl Snowflake | Atlan Documentation

For details on the required fields, refer to the Direct extraction section. Complete the Secure Agent configuration by following the instructions in the How to configure Secure Agent for workflow execution guide.


Crawl Snowflake | Atlan Documentation

Click Next after completing the configuration. Configure the crawler When modifying an existing Snowflake connection, switching to a different extraction method will delete and recreate all assets in the existing connection.


Crawl Snowflake | Atlan Documentation

If you'd like to change the extraction method, contact Atlan support for assistance. Before running the Snowflake crawler, you can further configure it.


Crawl Snowflake | Atlan Documentation

You must select the Extraction method you configured when you set up Snowflake : For Information Schema method , keep the default selection. Change to Account Usage method and specify the following: Database Name of the copied Snowflake database Schema Name of the copied ACCOUNT_USAGE schema Incremental extraction Public preview - Toggle incremental extraction for faster and more efficient metadata extraction.


Crawl Snowflake | Atlan Documentation

Database Name of the copied Snowflake database Schema Name of the copied ACCOUNT_USAGE schema Incremental extraction Public preview - Toggle incremental extraction for faster and more efficient metadata extraction. You can override the defaults for any of the remaining options: For Asset selection , select a filtering option: To select the assets you want to include in crawling, click Include by hierarchy and filter for assets down to the database or schema level.


Crawl Snowflake | Atlan Documentation

(This will default to all assets, if none are specified.) To have the crawler include Databases , Schemas , or Tables & Views based on a naming convention, click Include by regex and specify a regular expression - for example, specifying ATLAN_EXAMPLE_DB.* for Databases will include all the matching databases and their child assets. To select the assets you want to exclude from crawling, click Exclude by hierarchy and filter for assets down to the database or schema level.


Crawl Snowflake | Atlan Documentation

(This will default to no assets, if none are specified.) To have the crawler ignore Databases , Schemas , or Tables & Views based on a naming convention, click Exclude by regex and specify a regular expression - for example, specifying ATLAN_EXAMPLE_TABLES.* for Tables & Views will exclude all the matching tables and views. Click + to add more filters.


Crawl Snowflake | Atlan Documentation

If you add multiple filters, assets will be crawled based on matching all the filtering conditions you have set. For Asset selection , select a filtering option: To select the assets you want to include in crawling, click Include by hierarchy and filter for assets down to the database or schema level.


Crawl Snowflake | Atlan Documentation


Crawl Snowflake | Atlan Documentation

If you add multiple filters, assets will be crawled based on matching all the filtering conditions you have set. To exclude lineage for views in Snowflake, change View Definition Lineage to No.


Crawl Snowflake | Atlan Documentation

To exclude lineage for views in Snowflake, change View Definition Lineage to No. To import tags from Snowflake to Atlan , change Import Tags to Yes.


Crawl Snowflake | Atlan Documentation

Note the following: If using the Account Usage extraction method, grant the same permissions as required for crawling Snowflake assets to import tags and push updated tags to Snowflake. If using the Information Schema extraction method, note that Snowflake stores all tag objects in the ACCOUNT_USAGE schema.


Crawl Snowflake | Atlan Documentation

You will need to grant permissions on the account usage schema instead to import tags from Snowflake. danger Object tagging in Snowflake currently requires Enterprise Edition or higher.


Crawl Snowflake | Atlan Documentation

If your organization does not have Enterprise Edition or higher and you try to import Snowflake tags to Atlan, the Snowflake connection will fail with an error - unable to retrieve tags. To import tags from Snowflake to Atlan , change Import Tags to Yes.


Crawl Snowflake | Atlan Documentation

You will need to grant permissions on the account usage schema instead to import tags from Snowflake. Object tagging in Snowflake currently requires Enterprise Edition or higher.


Crawl Snowflake | Atlan Documentation

If your organization does not have Enterprise Edition or higher and you try to import Snowflake tags to Atlan, the Snowflake connection will fail with an error - unable to retrieve tags. For Control Config , keep Default for the default configuration or click Custom to further configure the crawler: If you have received a custom crawler configuration from Atlan support, for Custom Config , enter the value provided.


Crawl Snowflake | Atlan Documentation

You can also: Enter {"ignore-all-case": true} to enable crawling assets with case-sensitive identifiers. For Enable Source Level Filtering , click True to enable schema-level filtering at source or keep False to disable it.


Crawl Snowflake | Atlan Documentation

For Use JDBC Internal Methods , click True to enable JDBC internal methods for data extraction or click False to disable it. For Exclude tables with empty data , change to Yes to exclude any tables and corresponding columns without any data.


Crawl Snowflake | Atlan Documentation

For Exclude views , change to Yes to exclude all views from crawling. For Control Config , keep Default for the default configuration or click Custom to further configure the crawler: If you have received a custom crawler configuration from Atlan support, for Custom Config , enter the value provided.


Crawl Snowflake | Atlan Documentation

You can also: Enter {"ignore-all-case": true} to enable crawling assets with case-sensitive identifiers. Enter {"ignore-all-case": true} to enable crawling assets with case-sensitive identifiers.


Crawl Snowflake | Atlan Documentation

For Enable Source Level Filtering , click True to enable schema-level filtering at source or keep False to disable it. For Use JDBC Internal Methods , click True to enable JDBC internal methods for data extraction or click False to disable it.


Crawl Snowflake | Atlan Documentation

For Exclude tables with empty data , change to Yes to exclude any tables and corresponding columns without any data. For Exclude views , change to Yes to exclude all views from crawling.


Crawl Snowflake | Atlan Documentation

If an asset appears in both the include and exclude filters, the exclude filter takes precedence. Run the crawler To run the Snowflake crawler, after completing the steps above: To check for any permissions or other configuration issues before running the crawler, click Preflight checks.


Crawl Snowflake | Atlan Documentation

You can either: To run the crawler once immediately, at the bottom of the screen, click the Run button. To schedule the crawler to run hourly, daily, weekly, or monthly, at the bottom of the screen, click the Schedule Run button.


Crawl Snowflake | Atlan Documentation

To run the crawler once immediately, at the bottom of the screen, click the Run button. To schedule the crawler to run hourly, daily, weekly, or monthly, at the bottom of the screen, click the Schedule Run button.


Crawl Snowflake | Atlan Documentation

Once the crawler has completed running, you will see the assets in Atlan's asset page! ð Note that the Atlan crawler will currently skip any unsupported data types to ensure a successful workflow run.


Crawl Snowflake | Atlan Documentation

Select the source Configure the connection Configure the crawler Run the crawler


Set up Snowflake | Atlan Documentation

You need your Snowflake administrator to run these commands - you may not have access yourself. Create user and role in Snowflake Create a role and user in Snowflake using the following commands: Create role Create a role in Snowflake using the following commands: Replace with the default warehouse to use when running the Snowflake crawler.


Set up Snowflake | Atlan Documentation

Atlan requires the following privileges to: OPERATE enables Atlan to start the virtual warehouse to fetch metadata if the warehouse has stopped. USAGE enables Atlan to show or list metadata from Snowflake.


Set up Snowflake | Atlan Documentation

This in turn enables the Snowflake crawler to run the SHOW query. Create a user Create a separate user to integrate into Atlan, using one of the following 3 options: See Snowflake's official guide for details on generating an RSA key-pair.


Set up Snowflake | Atlan Documentation

To create a user with a key-pair, replace the value for rsa_public_key with the public key and run the following: Learn more about the SERVICE type property in Snowflake documentation. Atlan only supports encrypted private keys with a non-empty passphrase - generally recommended as more secure.


Set up Snowflake | Atlan Documentation

An empty passphrase results in workflow failures. To generate an encrypted private key, omit the -nocrypt option.


Set up Snowflake | Atlan Documentation

Refer to Snowflake documentation to learn more. Snowflake recommends transitioning away from basic authentication using username and password.


Set up Snowflake | Atlan Documentation

Change to key-pair authentication for enhanced security. For any existing Snowflake workflows, you can modify the crawler configuration to update the authentication method.


Set up Snowflake | Atlan Documentation

To create a user with a password, replace and run the following: Learn more about the LEGACY_SERVICE type property in Snowflake documentation. This method is currently only available if Okta is your IdP (Snowflake supports) authenticating natively through Okta : Create a user in your identity provider (IdP) and use federated authentication in Snowflake.


Set up Snowflake | Atlan Documentation

The password for this user must be maintained solely in the IdP and multi-factor authentication (MFA) must be disabled. Grant role to user To grant the atlan_user_role to the new user: Configure OAuth (client credentials flow) with Microsoft Entra ID To configure OAuth authentication using Microsoft Entra ID (formerly Azure AD) with the client credentials flow: Follow Snowflake's documentation to: Register a new application in Microsoft Entra ID Collect the client ID , tenant ID , and client secret Add the required API permissions Follow Snowflake's documentation to: Register a new application in Microsoft Entra ID Collect the client ID , tenant ID , and client secret Add the required API permissions In Snowflake, create a security integration using the following: CREATE SECURITY INTEGRATION external_oauth_azure_ad TYPE = external_oauth ENABLED = true EXTERNAL_OAUTH_TYPE = azure EXTERNAL_OAUTH_ISSUER = '\ ' EXTERNAL_OAUTH_JWS_KEYS_URL = '\ ' EXTERNAL_OAUTH_AUDIENCE_LIST = ( '\ ' ) EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = 'sub' EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE = 'login_name' ; Replace the placeholders with actual values from your Azure AD app: Your tenant's OAuth 2.0 issuer URL Azure JWKs URI Application ID URI of the Azure app In Snowflake, create a security integration using the following: Replace the placeholders with actual values from your Azure AD app: Your tenant's OAuth 2.0 issuer URL Azure JWKs URI Application ID URI of the Azure app Create a Snowflake user with a login name that exactly matches the Azure AD client object ID: CREATE USER oauth_svc_user WITH LOGIN_NAME = '\ ' -- Use Azure client OBJECT ID DEFAULT_ROLE = \ DEFAULT_WAREHOUSE = \ ; Create a Snowflake user with a login name that exactly matches the Azure AD client object ID: Grant the configured role to this user: GRANT ROLE \ TO USER oauth_svc_user ; Grant the configured role to this user: Choose metadata fetching method Atlan supports two methods for fetching metadata from Snowflake - account usage and information schema.


Set up Snowflake | Atlan Documentation

You should choose one of these two methods to set up Snowflake: Grant permissions for account usage method If you want to set warehouse timeouts when using this method, set a large value initially for the workflow to succeed. Once the workflow has succeeded, adjust the value to be twice the extraction time.


Set up Snowflake | Atlan Documentation

This method uses the views in SNOWFLAKE.ACCOUNT_USAGE (or a copied version of this schema) to fetch the metadata from Snowflake into Atlan. You can be more granular with permissions using this method, but there are limitations with this approach.


Set up Snowflake | Atlan Documentation

To crawl assets, generate lineage, and import tags If you also want to be able to preview and query the data, you can use the preview and query existing assets permissions instead. Snowflake stores all tag objects in the ACCOUNT_USAGE schema.


Set up Snowflake | Atlan Documentation

If you're using the account usage method to crawl metadata in Atlan or you have configured the Snowflake miner , you need to grant the same permissions to import tags as required for crawling Snowflake assets. Note that object tagging in Snowflake currently requires Enterprise Edition or higher.


Set up Snowflake | Atlan Documentation

To use the default SNOWFLAKE database and ACCOUNT_USAGE schema and also mine Snowflake's query history (for lineage), grant these permissions: The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database. To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles.


Set up Snowflake | Atlan Documentation

The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database. To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles.


Set up Snowflake | Atlan Documentation

To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: Replace with the copied Snowflake database name. Replace with the copied Snowflake ACCOUNT_USAGE schema name.


Set up Snowflake | Atlan Documentation

The grants for the copied version can't be used on the original SNOWFLAKE database. This is because Snowflake produces an error that granular grants can't be given to imported databases.


Set up Snowflake | Atlan Documentation

When using a cloned or copied version, verify that the table or view definition remains unchanged as in your SNOWFLAKE database. If the format is different.


Set up Snowflake | Atlan Documentation

For example, a column is missing and it no longer qualifies as a clone. To crawl streams To crawl streams, provide the following permissions: To crawl current streams: Replace with the Snowflake database name.


Set up Snowflake | Atlan Documentation

Replace with the Snowflake database name. To crawl future streams: To crawl future streams: Replace with the Snowflake database name.


Set up Snowflake | Atlan Documentation

(Optional) To preview and query existing assets To query and preview data within assets that already exist in Snowflake, add these permissions: Replace with the database you want to be able to preview and query in Atlan. (Repeat the statements for every database you wish to preview and query in Atlan.) (Optional) To preview and query future assets To query and preview data within assets that may be created in the future in Snowflake, add these permissions.


Set up Snowflake | Atlan Documentation

Again, if you want to also be able to preview and query the data for future assets, you can add the preview and query future assets permissions instead. Replace with the database you want to be able to preview and query in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database you want to preview and query in Atlan.) Verify that all the assets you'd like to crawl are present in these grants by checking the grants on the user role defined for the crawler. Grant permissions for information schema method This method uses views in the INFORMATION_SCHEMA schema in Snowflake databases to fetch metadata.


Set up Snowflake | Atlan Documentation

You still need to grant specific permissions to enable Atlan to crawl metadata, preview data, and query data with this method. To crawl existing assets Grant these permissions to crawl assets that already exist in Snowflake.


Set up Snowflake | Atlan Documentation

If you also want to be able to preview and query the data, you can use the preview and query existing assets permissions instead. Grant permissions to crawl existing assets: Replace with the database you want to be available in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database you wish to integrate into Atlan.) Grant permissions to crawl functions: Replace with the database you want to be available in Atlan. (Repeat the statements for every database you wish to integrate into Atlan.) For secure user-defined functions (UDFs), grant OWNERSHIP permissions to retrieve metadata: Replace the placeholders with the appropriate values: : The name of the schema that contains the user-defined function (UDF).


Set up Snowflake | Atlan Documentation

: The name of the secure UDF that requires ownership permissions. : The role that gets assigned ownership of the secure UDF.


Set up Snowflake | Atlan Documentation

The statements given on this page apply to all schemas, tables, and views in a database in Snowflake. If you want to limit access to only certain objects, you can instead specify the exact objects individually as well.


Set up Snowflake | Atlan Documentation

To crawl future assets To crawl assets that may be created in the future in Snowflake, add these permissions. Again, if you want to also be able to preview and query the data for future assets, you can add the preview and query future assets permissions instead.


Set up Snowflake | Atlan Documentation

To grant permissions at a database level: Replace with the database you want to crawl in Atlan. (Repeat the statements for every database you want to integrate into Atlan.) For any future grants defined at a schema level to a different role, the schema-level grants take precedence over the database-level grants and any future grants defined at a database level to the Atlan role get ignored.


Set up Snowflake | Atlan Documentation

To learn more, refer to Snowflake documentation. To grant permissions at a schema level: Replace with the database and with the schema you want to crawl in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database and schema you want to integrate into Atlan.) To mine query history for lineage To also mine Snowflake's query history (for lineage), add these permissions. You can use either option: To mine query history direct from Snowflake's internal tables: To mine query history from a cloned or copied set of tables, where you can also remove any sensitive data: Replace with the name of the cloned database, and with the name of the cloned schema containing account usage details.


Set up Snowflake | Atlan Documentation


Set up Snowflake | Atlan Documentation

For example, a column is missing and it no longer qualifies as a clone. (Optional) To preview and query existing assets To query and preview data within assets that already exist in Snowflake, add these permissions: Replace with the database you want to be able to preview and query in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database you wish to preview and query in Atlan.) (Optional) To preview and query future assets To query and preview data within assets that may be created in the future in Snowflake, add these permissions. Again, if you want to also be able to preview and query the data for future assets, you can add the preview and query future assets permissions instead.


Set up Snowflake | Atlan Documentation

Replace with the database you want to be able to preview and query in Atlan. (Repeat the statements for every database you want to preview and query in Atlan.) For any future grants defined at a schema level to a different role, the schema-level grants take precedence over the database-level grants and any future grants defined at a database level to the Atlan role get ignored.


Set up Snowflake | Atlan Documentation

To learn more, refer to Snowflake documentation. To grant permissions at a schema level: Replace with the database and with the schema you want to be able to preview and query in Atlan.


Set up Snowflake | Atlan Documentation

(Repeat the statements for every database and schema you want to preview and query in Atlan.) Verify that all the assets you'd like to crawl are present in these grants by checking the grants on the user role defined for the crawler. (Optional) To import Snowflake tags Snowflake stores all tag objects in the ACCOUNT_USAGE schema.


Set up Snowflake | Atlan Documentation

Note that object tagging in Snowflake currently requires Enterprise Edition or higher. To import tags from Snowflake , grant these permissions: To use the default SNOWFLAKE database and ACCOUNT_USAGE schema and also mine Snowflake's query history (for lineage), grant these permissions: The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database.


Set up Snowflake | Atlan Documentation

To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles. The ACCOUNTADMIN role is required to grant privileges on the SNOWFLAKE database due to the following reasons: By default, only the ACCOUNTADMIN role can access the SNOWFLAKE database.


Set up Snowflake | Atlan Documentation

To enable other roles to access the database and schemas and query the views, a user with the ACCOUNTADMIN role needs to grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the desired roles. To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: To use a copied or cloned version of this default schema, where you can also remove any sensitive data for security purposes, grant these permissions: Replace with the copied Snowflake database name.


Set up Snowflake | Atlan Documentation

Replace with the copied Snowflake ACCOUNT_USAGE schema name. The grants for the copied version can't be used on the original SNOWFLAKE database.


Set up Snowflake | Atlan Documentation

This is because Snowflake produces an error that granular grants can't be given to imported databases. (Optional) To push updated tags to Snowflake To push tags updated for assets in Atlan to Snowflake , grant these permissions: You can learn more about tag privileges from Snowflake documentation.


Set up Snowflake | Atlan Documentation

(Optional) To crawl dynamic tables Atlan currently supports fetching metadata for dynamic tables using the MONITOR privilege. Refer to Snowflake documentation to learn more.


Set up Snowflake | Atlan Documentation

To crawl existing dynamic tables from Snowflake: Grant permissions at a database level: Grant permissions at a schema level: To crawl future dynamic tables from Snowflake: Grant permissions at a database level: Grant permissions at a schema level: Replace with the database and with the schema you want to crawl in Atlan. (Repeat the statements for every database and schema you want to integrate into Atlan.) (Optional) To crawl Iceberg tables Atlan currently supports fetching metadata for Iceberg tables only for the information schema extraction method.


Set up Snowflake | Atlan Documentation

To crawl Iceberg tables from Snowflake, grant the following permissions: To crawl existing Iceberg tables in Snowflake: To crawl future Iceberg tables in Snowflake: To crawl Iceberg catalog metadata for Iceberg tables in Snowflake: You must first grant permissions to crawl existing Iceberg tables for this permission to work on catalogs. You must also grant permissions to all the catalogs you want to crawl in Atlan individually.


Set up Snowflake | Atlan Documentation

(Optional) To crawl Snowflake stages Atlan supports crawling metadata for Snowflake stages using the USAGE and READ privileges. For more information, see the Snowflake documentation for INFORMATION_SCHEMA.STAGES.


Set up Snowflake | Atlan Documentation

To crawl stages from Snowflake: Grant USAGE and READ privileges on all existing stages at the database level: Replace with the name of your Snowflake database Replace with the name of your Snowflake database Replace with the role you've granted Atlan to use for crawling. Replace with the role you've granted Atlan to use for crawling.