Skip to main content

Snowflake SAML integration

Multi-Factor Authentication (MFA) is an extra layer of security used when logging into websites or apps. Individuals are authenticated through more than one required security and validation procedure that only they know or have access to.

Security Assertion Markup Language (SAML) is a protocol for authenticating to web applications. SAML allows federated apps and organizations to communicate and trust one another’s users.

Arculix™, as a SAML provider, improves the user login experience for Snowflake users with its convenient SSO-MFA solution.

Prerequisites

  • Configured Arculix instance and user account with administrative privileges for Arculix.

  • Configured Arculix LDAP Agent.

    For more information, see the Arculix LDAP Agent deployment guide.

  • Snowflake user account with an ACCOUNTADMIN role.

Snowflake configuration

In this section, you'll configure Snowflake as a service provider (SP).

  1. Download the SAML metadata and certificate for your organization from Arculix.

    Metadata download: https://sso.acceptto.com/<myorganization>/saml/download/metadata

    View metadata: https://sso.acceptto.com/<myorganization>/saml/metadata

    Certificate download: https://sso.acceptto.com/<myorganization>/saml/download/cert

  2. Log in to your Snowflake instance as an administrator. Using the Switch Role menu located under your account name, on the right-hand side of the page, switch the user role from SYSADMIN (Default) to ACCOUNTADMIN.

    snowflake_switch_role.png
  3. Navigate to the Worksheets section and paste the following query with information acquired earlier from Arculix.

    use role accountadmin;
    CREATE SECURITY INTEGRATION AccepttoINTEGRATION
        TYPE = SAML2
        ENABLED = TRUE 
        SAML2_ISSUER = “https://sso.acceptto.com/<myorganization>/saml”
        SAML2_SSO_URL = “https://sso.acceptto.com/<myorganization>/saml/auth”
        SAML2_PROVIDER = Custom
        SAML2_X509_CERT = “copy/paste Acceptto certificate value within Begin and    End title”    
        SAML2_SP_INITIATED_LOGIN_PAGE_LABEL = AccepttoSSO
        SAML2_ENABLE_SP_INITIATED = TRUE;
    
    snowflake_new_worksheet.png
  4. Click the Run button and execute the query.

  5. Delete the previous query and run the below one to enable SSO through the Snowflake login page.

    use role accountadmin;
    alter account set sso_login_page = true;
    
  6. We will now create users who are going to log into Snowflake. Navigate to the Account section.

    snowflake_account_icon.png
  7. Select the Users tab and click Create.

    snowflake_new_users.png
  8. In the Create User dialog, on the General tab, fill the Username and Password fields and clear the Force Password Change check box.

    snowflake_users_general.png
  9. Click Next.

  10. On the Advanced tab, fill the Login Name and Email fields.

    Note that your login name and email address should be the same as your username and email address on the directory service.

    snowflake_users_advanced.png
  11. Click Next.

  12. On the Preferences tab, set the Default Role for the user. Click Finish.

    snowflake_users_preferences.png
  13. Snowflake recommends that you unset a new user password for login through SSO.

    Go to the Worksheets section and run the following command:

    alter user <name> unset password;
    

Arculix SAML configuration as an Identity Provider (IdP)

In this section, you'll add an application for Snowflake and set the SAML configuration settings. This will be the Identity Provider (IdP) side of the configuration.

  1. Log in to Arculix with an administrative account and go to Applications.

  2. Click Create New Application.

    Create new application
  3. In the New Application form, on the General tab, set the following configurations:

    Name 

    Set the name of the application. This is the name to display for push notifications, in the Admin panel, Application portal, and audit logs.

    For example, Snowflake.

    Type 

    Set to SAML Service Provider.

    Out of Band Methods 

    Select the allowed methods end users can choose to approve MFA requests.

    For example, Arculix Mobile app (push notifications), SMS, or Security Key.

    Message for MFA Requests 

    Optional. Type a message displayed to end users when sending an MFA request via push notification, SMS, or email.

    arculix_new_app_snowflake.png
  4. Select the SAML Service Provider Configuration tab, and set the following configurations:

    Issuer or Entity ID 

    The Issuer/EntityID of your Snowflake instance.

    If your account is in US West: https://<account_name>.Snowflakecomputing.com.

    If your account is in any other Snowflake Region: https://<account_name>.<region_id>.Snowflakecomputing.com.

    Log in URL 

    Same as Issuer or Entity ID.

    NameID Format 

    Set to Unspecified.

    Name Identifier 

    Set to Email.

    ACS URL 

    The Assertion Consumer Service URL of your Snowflake instance.

    If your account is in US West, the URL is: https://<account_name>.Snowflakecomputing.com/fed/login.

    If your account is in any other Snowflake Region, the URL is: https://<account_name>.<region_id>.Snowflakecomputing.com/fed/login.

    Single Logout URL

    The Single Logout URL of your Snowflake instance.

    If your account is in US West, the URL is: https://<account_name>.Snowflakecomputing.com/fed/logout.

    If your account is in any other Snowflake Region, the URL is: https://<account_name>.<region_id>.Snowflakecomputing.com/fed/logout.

    snowflake_sp_settings.png
  5. Save your changes.

Test your application integration

  1. Go to your Snowflake instance and select Sign in using Arculix SSO (formerly Acceptto SSO).

    snowflake_login.png
  2. You will be redirected to the Arculix SSO page.

    Application login page with email
  3. After successful authentication, select your preferred MFA method to approve access to the Snowflake application.

    Select MFA method
  4. After approving the authentication request, you will be logged into your Snowflake workspace.

Support

If you have questions or need assistance, contact SecureAuth Support.

Sales

Want to learn more about our MFA solutions? Contact our Professional Services for a demo today.

Disclaimer

All product names, trademarks, and registered trademarks are the property of their respective owners.

All company, product, and service names used in this document are for identification purposes only. The use of these names, trademarks, and brands do not constitute an endorsement by the SecureAuth Corporation.