GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing select.dev — Connect your Snowflake Account | SELECT Documentation Connecting your Snowflake account to SELECT is an easy process:
Step 1: Create Snowflake Service UserAs outlined in our security documentation, SELECT requires a new Snowflake service user to be created with read-only access to your Snowflake account metadata database. 1. Create key pair for service userFirst, create a new key pair that will be used as the authentication method for the new user created by the script. See our guide on how to create the key pair. 2. Run the setup scriptNow that we have created the user's key pair credentials, we can run the setup script. The script below handles creating the new user, role and associated permissions used by SELECT. The script has plenty of code comments to help you understand what is happening. You can refer to the setup script explanation section below for more details. Please fill out the variable values in lines 1-22 and provide the public key on line 26. 3. Verify your account has access to organization_usage viewsSELECT relies on a few views from the Please run the following SQL statement to check if your account has these views populated: If records are returned, you're all set. If no records are returned, the ORGADMIN role likely isn't enabled for the account. To enable it, log into a Snowflake account in your organization which has ORGADMIN enabled (at least one account will), then head to Admin -> Accounts in the sidebar. Then, enable ORGADMIN for the account you're connecting to SELECT. ![]() It can take up to 1 day for these views to become populated with data after running this statement. As a result, you may not see data in your Snowflake account until the morning after connecting your account. Reach out to our team using the Intercom chat on the website if you're still not seeing data after 1 day. Users who purchased their Snowflake contract/credits through a reseller (i.e. AWS Marketplace) will not have access to the 4. [Optional] Update Network PoliciesIf your Snowflake account has configured a network policy to restrict access based on IP address, you'll need to update the network policy to allow SELECT to connect. In Snowsight, go to Admin » Security » Network Policies. From there, add the following IP addresses to your Allowed IP Addresses list: You can also apply the changes via SQL instead. The example below shows how to create the policy and assign it to the SELECT service user. Be sure to update the policy and user names as needed: Updating an account wide network policyIf you're updating a network policy that is already active for all users in your Snowflake account, you do not need to reassign the policy to the SELECT user. Simply adding the new IPs is enough. For more details, see the Snowflake documentation on Network Policies, or reach out using the chat button on the bottom right if you run into any issues. Setup Script ExplanationIn the sections below, we describe the setup script in more detail. Create User, Role, and WarehouseThe first action taken by the script (after you set your variables) is to create a new user and role that will only be used by SELECT. If you'd like SELECT to use an existing warehouse, set line 3 to an existing warehouse name. Otherwise, the warehouse indicated on line 3 will be created as an extra-small warehouse. After the user, role, and warehouse are created:
Create a Storage Integration and Stage used by SELECTThe script will create a Google Cloud Storage is used as an intermediary between SELECT's Snowflake account and the customer's. This is done because the Snowflake account usage views used by SELECT cannot be data shared directly, and the customer accounts may be in different regions which would require setting up data replication. Using Google Cloud Storage makes setup a lot simpler and more cost-effective for the customer. As per our security documentation, each customer's Snowflake metadata is stored in a dedicated Google Cloud Storage bucket. Data is stored in the us-east-1 Google Cloud region. There is a data egress cost charged by Snowflake, but it's incredibly small for the metadata volumes we're processing (the highest we've seen across our customer base is $20 per year). The image below shows how the Snowflake Metadata is unloaded to GCS in SELECT's infrastructure using this ![]() These objects will get created in the database and schema you specified on lines 18 & 19. If you used a new database / schema name, the database and Schema will be created at this time. If you used an existing database and Schema name, the SELECT role will be granted usage in the existing database and only the new objects will be created. Create a Stored Procedure used by SELECTSome features in SELECT require information about objects in your account by:
Instead of granting the necessary permissions to the Just like above, these objects will be created in the database and schema specified on lines 18 and 19, but it needs to be created with the Step 2: Connect your Snowflake AccountNow that we've created the new Snowflake user and associated resources, we can plug those details into the SELECT UI under Settings -> Accounts -> Add Snowflake account. ![]() The last few lines in the script above contain a ![]() Here are some more details on each field:
![]()
![]() Once you click Add, the app will let you know if there were any errors. In most cases the error message should be clear, but reach out to us via the in-app chat if there are any problems you cannot clear up on your own. Additional resourcesWorkload identity federationSELECT supports Snowflake’s Workload identity federation mechanism which is more secure than traditional methods like username/password or key-pair auth since it doesn’t involve sharing any secrets with SELECT. To leverage this method, select “Workload Identity Federation” under the authentication method section. You will then be shown a SELECT Service Account ID (these are specific to each organization). ![]() On the Snowflake side, rather than setting a password or public key, configure the Snowflake service user you created for SELECT with the workload_identity attribute set as follows: No additional action is required outside of changing the way the Snowflake user is initially setup. Everything else in the setup script can be followed as normal. To switch an existing password/key-pair user to workload identity, you can run: Locating your Snowflake Account IdentifierIn the bottom left corner if the Snowsight UI, click your User Name / Profile, then choose "Connect a tool to Snowflake". On the subsequent screen you will find your account identifier. ![]() ![]() Notes1 We recommend using a tool like 1Password to both randomly generate and save the password. Alternatively, you can use a password generator website and store the password securely elsewhere↩ ![]() |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |