> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sync.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Snowflake

export const CommonDatasourceMoreInformation = ({datasource = "the data source", advancedurl = "", siteName = "CData Sync", driverVersion = ""}) => {
  return <>
      <p>
        For more information about interactions between {siteName} and {datasource}, see{' '}
        <a href={`https://cdn.cdata.com/help/${advancedurl}${driverVersion}/synch/default.htm`}>
          {datasource} Connector for {siteName}
        </a>.
      </p>
    </>;
};

export const CommonDatasourceAddConnector = ({datasource = "the data source", title = "the connector", destination = false, siteNameShort = "Sync"}) => {
  return <>
      <p>
        To enable {siteNameShort} to use data from {datasource}, you first must add the
        connector, as follows:
      </p>
      <ol>
        <li>Open the <strong>Connections</strong> page of the {siteNameShort} dashboard.</li>
        <li>Click <strong>Add Connection</strong> to open the <strong>Select Connectors</strong> page.</li>
        <li>
          Click the <strong>{destination ? "Destinations" : "Sources"}</strong> tab and locate
          the <strong>{title}</strong> row.
        </li>
        <li>
          Click the <strong>Configure Connection</strong> icon at the end of that row to open
          the <strong>New Connection</strong> page. This action opens the{' '}
          <strong>Add Connection</strong> dialog box.
          <br />
          <strong>Note:</strong> If the <strong>Configure Connection</strong> icon is not
          available, click the <strong>Download Connector</strong> icon to install
          the {title} connector.
        </li>
        <li>Enter a name for your connection in the <strong>Add Connection</strong> dialog box.</li>
        <li>Click <strong>Add</strong> to open the <strong>Settings</strong> tab for your connector.</li>
      </ol>
      <p>
        For more information about installing new connectors, see{' '}
        <a href="../connections">Connections</a>.
      </p>
    </>;
};

export const CommonDatasourceIntroSource = ({datasource = "the data source", siteName = "CData Sync"}) => {
  return <p>
      You can use the {datasource} connector from the {siteName} application to capture data
      from {datasource} and move it to any supported destination. To do so, you need to add
      the connector, authenticate to the connector, and complete your connection.
    </p>;
};

export const driverVersion = "M";

export const siteNameShort = "Sync";

export const siteName = "CData Sync";

export const datasource = "Snowflake";
export const pageTitle = "Snowflake";
export const advancedurl = "OW";
export const oauthschemes = "Azure AD or OAuth";

<CommonDatasourceIntroSource datasource={datasource} siteName={siteName} />

## Add the Snowflake Connector

<CommonDatasourceAddConnector datasource={datasource} title={pageTitle} destination={false} siteNameShort={siteNameShort} />

## Authenticate to Snowflake

After you add the connector, you need to set the required properties.

* **Warehouse:** Enter the name of your Snowflake warehouse.
* **URL:** Enter the URL for your Snowflake database. {siteName} supports both Microsoft Azure and Amazon Web Services (AWS) instances:
  * **AWS:** https\://*MyAccount*.*Region*.snowflakecomputing.com
  * **Azure:** https\://*MyAccount*.*Region*.azure.snowflakecomputing.com

{siteName} supports authenticating to {pageTitle} in several ways. Select your authentication method below to proceed to the relevant section that contains the authentication details.

* [**Password**](#password) (default)
* [**OKTA**](#okta)
* [**Private Key**](#private-key)
* [**Azure Active Directory**](#azure-active-directory)
* [**OAuth**](#oauth)
* [**PingFederate**](#pingfederate)
* [**External Browser**](#external-browser)

### Password

To connect with your user credentials, specify the following properties:

* **Auth Scheme:** Select **Password**.
* **User:** Enter the username that you use to authenticate to Snowflake.
* **Password:** Enter the password that you use to authenticate to Snowflake.

### OKTA

To connect with single sign-on (SSO) via Okta, specify the following properties:

* **Auth Scheme:** Select **Okta**.
* **User:** Enter the username that you use to authenticate to Okta.
* **Password:** Enter the password that you use to authenticate to Okta.
* **SSO Properties:** Enter a comma-separated list of the single sign-on (SSO) properties that you want to use.
* **MFA Passcode:** Enter the one-time passcode that was sent to your device.

  <Note>Use this property only when multifactor authentication is required for Okta sign on.</Note>

### Private Key

To connect with a private-key credentials, specify the following properties:

* **Auth Scheme:** Select **PrivateKey**.
* **User:** Enter the username that you use to authenticate to Snowflake.
* **Private Key:** Enter the private key that is provided for key-pair authentication with Snowflake.
* **Private Key Password:** Enter the password for the private key that is specified in the PrivateKey property.
* **Private Key Type:** Select the type of key store that contains the private key to use with key-pair authentication. The default key type is **USER**.

### Azure Active Directory

To connect with your Azure Active Directory credentials, specify the following properties:

* **Auth Scheme:** Select **AzureAD**.
* **Azure Tenant:** Enter the Id of the Azure tenant that is used to authenticate to Snowflake on Azure.
* **OAuth Client Id:** Enter the client Id that you were assigned when you registered your application with an OAuth authorization server.
* **OAuth Client Secret:** Enter the client secret that you were assigned when you registered your application with an OAuth authorization server.
* **Proof Key:** Enter the proof key that is used for authentication with Snowflake database. Typically, you can obtain this key from the **GetSSOAuthorizationURL** call.
* **External Token:** Enter the external token that is used for authentication with the Snowflake database. Typically, you can obtain this token from the from the external handler.

### OAuth

To connect with OAuth credentials, specify the following properties:

* **Auth Scheme:** Select **OAuth**.
* **User:** Enter the username that you use to authenticate to Snowflake.
* **OAuth Client Id:** Enter the client Id that you were assigned when you registered your application with an OAuth authorization server.
* **OAuth Client Secret:** Enter the client secret that you were assigned when you registered your application with an OAuth authorization server.
* **OAuth Authenticator:** Select the authenticator that you want the OAuth application to request from Snowflake. The default authenticator is **None**.

### PingFederate

To connect with single sign-on via PingFederate, specify the following properties:

* **Auth Scheme:** Select **PingFederate**.
* **User:** Enter the username that you use to authenticate to PingFederate.
* **Password:** Enter the password that you use to authenticate to PingFederate.
* **Proof Key:** Enter the proof key that is used for authentication with Snowflake database. Typically, you can obtain this key from the **GetSSOAuthorizationURL** call.
* **External Token:** Enter the external token that is used for authentication with the Snowflake database. Typically, you can obtain this token from the from the external handler.

### External Browser

To connect with external-browser credentials, specify the following properties:

* **Auth Scheme:** Select **ExternalBrowser**.
* **User:** Enter the username that you use to authenticate to Snowflake.

## Complete Your Connection

To complete your connection:

1. Specify the following properties:
   * (Optional) **Database:** Enter the name of your Snowflake database.
   * (Optional) **Schema:** Enter a schema for your Snowflake database.
2. Define advanced connection settings on the **Advanced** tab. (In most cases, though, you should not need these settings.)
3. {oauthschemes ? `If you authenticate with ${oauthschemes}, click` : "Click"} **Connect to {datasource}** to connect to your {pageTitle} account.
4. Click **Create & Test** to create your connection.

## More Information

<CommonDatasourceMoreInformation datasource={datasource} advancedurl={advancedurl} siteName={siteName} driverVersion={driverVersion} />
