snowflakeauth
is a toolkit for authenticating with Snowflake. It aims
for compatibility with the connections.toml
and config.toml
files
used by the Snowflake Connector for
Python
and the Snowflake
CLI,
so that R users can use a consistent approach to Snowflake credentials
across both languages.
snowflakeauth
is intended for use by R package authors targeting the
Snowflake platform.
You can install snowflakeauth
from CRAN with:
install.packages("snowflakeauth")
Or, install the development version of snowflakeauth
from
GitHub with:
# install.packages("pak")
pak::pak("posit-dev/snowflakeauth")
snowflakeauth
can pick up on the default Snowflake connection
parameters from the connections.toml
and config.toml
files used by
the Python Connector for Snowflake and the Snowflake CLI (or any other
named connection, for that matter):
library(snowflakeauth)
snowflake_connection()
snowflake_connection(name = "testing")
or you can define the parameters of a connection manually:
snowflake_connection(
account = "myaccount",
user = "me",
private_key_file = "rsa_key.p8",
private_key_file_pwd = "supersecret"
)
snowflake_connection(
account = "myaccount",
user = "me",
authenticator = "externalbrowser"
)
These parameters can then be used to retrieve credentials, which take the form of a one or more of HTTP headers:
conn <- snowflake_connection(
account = "myaccount",
user = "me",
authenticator = "oauth",
token = "token"
)
snowflake_credentials(conn)
No support for SSO authentication using a browser.
No support for key-pair authentication with password-protected private keys.
No support for connection caching.
No support for direct username/password authentication, username/password authentication with MFA, or “Native SSO” authentication, (which is Okta-only). These are not planned; please migrate to OAuth or key-pair authentication when a browser is not available.
MIT (c) Posit Software, PBC
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.