使用 Okta SSO 和 Duo MFA 创建 Snowflake 数据源
启用 数据库工具和 SQL 插件
此功能依赖 数据库工具和 SQL 插件,默认随 PyCharm 一起提供并启用。 如果相关功能不可用,请确保您未禁用该插件。
按下 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 数据库工具和 SQL 插件,并选中插件名称旁的复选框。
官方文档
有关 Snowflake 的完整信息,请参阅 官方文档。
有关集成和连接设置的更多信息,请参阅以下页面:
使用 Okta 的 SSO
在使用 Okta SSO 身份验证连接到 Snowflake 数据库之前,请先安装并设置 Okta Verify 应用程序。
完成所需软件的安装和设置后,您需要在 PyCharm 中创建 Snowflake 数据源,并将其配置为使用 Okta SSO 身份验证。
创建可与 Okta 配合使用的 Snowflake 数据源
在 数据库 工具窗口,点击工具栏中的
新建 ,并导航到 。

检查在连接设置区域底部是否有 下载缺少的驱动程序文件 链接。 点击该链接下载与数据库交互所需的驱动程序。

指定数据库连接详细信息。
在 主机 字段中,输入用于连接到您的 Snowflake 账户的 URL。 例如,
myorg-myconnection.snowflakecomputing.com。在 身份验证 下拉列表中,选择 身份验证器。
在 身份验证器 字段中,输入
externalbrowser。在 用户 字段中,输入您用于登录 Okta 账户的电子邮件地址。
在 密码 字段中,输入您的 Okta 账户密码。
在 数据库 字段中,输入您要连接的数据库名称。
在 架构 字段中,输入您要连接的架构名称。
在 仓库 字段中,输入您要在 Snowflake 中使用的计算资源集群名称。
或者,在 URL 字段中输入您的 JDBC URL。 通用 URL 如下所示:
格式:
jdbc:snowflake://<organization_name>-<connection_name>.snowflakecomputing.com/?warehouse=<warehouse_name>&db=<database_name>&schema=<schema_name>&user=<okta_username>&password=<okta_password>&authenticator=externalbrowser示例:
jdbc:snowflake://myorg-myconnection.snowflakecomputing.com/?warehouse=AUTH_WH&db=TESTDB&schema=MYSCHEMA&user=MYUSERNAME@DOMAIN.COM&password=DUMMY-PASSWORD&authenticator=externalbrowser
点击连接详细信息区域底部的 测试连接 链接以启动到数据库的测试连接。

在浏览器打开的 Okta 网站中,输入您的用户凭据并登录您的 Okta 账户。

使用可用的安全方法之一验证您的身份。

Okta 确认您的身份后,返回 PyCharm。

在 IDE 中,点击 确定 以保存您的新数据源。

使用 Duo 的 MFA
在使用 Duo MFA 连接到 Snowflake 数据库之前,请先安装并设置 Duo Mobile 应用程序。
完成所需软件的安装和设置后,您需要在 PyCharm 中创建 Snowflake 数据源,运行测试连接,并使用 Duo Mobile 应用程序进行身份验证。
创建可与 Duo 配合使用的 Snowflake 数据源
根据所使用的 Duo 身份验证机制,遵循相应的说明。 有关 Duo 身份验证机制的更多信息,请参阅 官方文档。
在本教程中,我们将介绍 Duo Push 请求和 Duo 生成的验证码方法。
在 数据库 工具窗口,点击工具栏中的
新建 ,并导航到 。

检查在连接设置区域底部是否有 下载缺少的驱动程序文件 链接。 点击该链接下载与数据库交互所需的驱动程序。

指定数据库连接详细信息。
在 主机 字段中,输入用于连接到您的 Snowflake 账户的 URL。 例如,
myorg-myconnection.snowflakecomputing.com。在 用户 和 密码 字段中,输入您的 Snowflake 账户凭据。
在 数据库 字段中,输入您要连接的数据库名称。
在 架构 字段中,输入您要连接的架构名称。
在 仓库 字段中,输入您要在 Snowflake 中使用的计算资源集群名称。
或者,在 URL 字段中输入您的 JDBC URL。 通用 URL 如下所示:
格式:
jdbc:snowflake://<organization_name>-<connection_name>.snowflakecomputing.com/?warehouse=<warehouse_name>&db=<database_name>&schema=<schema_name>&user=<snowflake_username>&password=<snowflake_password>示例:
jdbc:snowflake://myorg-myconnection.snowflakecomputing.com/?warehouse=AUTH_WH&db=TESTDB&schema=MYSCHEMA&user=MYUSERNAME&password=DUMMY-PASSWORD
点击连接详细信息区域底部的 测试连接 链接以启动到数据库的测试连接。

在 Duo Mobile 应用中,您将收到一个包含登录批准请求的推送。 点击 批准 以批准它。

在 IDE 中,点击 确定 以保存您的新数据源。

在 数据库 工具窗口,点击工具栏中的
新建 ,并导航到 。

检查在连接设置区域底部是否有 下载缺少的驱动程序文件 链接。 点击该链接下载与数据库交互所需的驱动程序。

在 URL 字段中,输入您的 JDBC URL。 根据您使用的参数,通用 URL 如下所示:
使用
passcode=<passcode_from_app>:格式:
jdbc:snowflake://<organization_name>-<connection_name>.snowflakecomputing.com/?warehouse=<warehouse_name>&db=<database_name>&schema=<schema_name>&user=<snowflake_username>&password=<snowflake_password>&passcode=<passcode_from_app>示例:
jdbc:snowflake://myorg-myconnection.snowflakecomputing.com/?warehouse=AUTH_WH&db=TESTDB&schema=MYSCHEMA&user=MYUSERNAME&password=DUMMY-PASSWORD&passcode=123456
使用
passcodeInPassword=on:格式:
jdbc:snowflake://<organization_name>-<connection_name>.snowflakecomputing.com/?warehouse=<warehouse_name>&db=<database_name>&schema=<schema_name>&user=<snowflake_username>&password=<snowflake_password><passcode_from_app>&passcodeInPassword=on示例:
jdbc:snowflake://myorg-myconnection.snowflakecomputing.com/?warehouse=AUTH_WH&db=TESTDB&schema=MYSCHEMA&user=MYUSERNAME&password=DUMMY-PASSWORD123456&passcodeInPassword=on

在 Duo Mobile 应用中,获取验证码。

在 PyCharm 中,将验证码输入到 URL 字段中已准备好的 JDBC URL 中。

点击连接详细信息区域底部的 测试连接 链接以启动到数据库的测试连接。

点击 确定 以保存您的新数据源。
Okta SSO 和 Duo MFA
在使用 Okta SSO 和 Duo MFA 连接到 Snowflake 数据库之前,请先安装并设置 Okta Verify 和 Duo Mobile 应用程序。
完成所需软件的安装和设置后,您需要在 PyCharm 中创建 Snowflake 数据源,并将其配置为使用 Okta SSO 身份验证。 然后,运行测试连接,并在 Duo Mobile 应用中使用 Duo MFA 登录您的 Okta 账户。
创建使用 Duo MFA 的数据源
在 数据库 工具窗口,点击工具栏中的
新建 ,并导航到 。

检查在连接设置区域底部是否有 下载缺少的驱动程序文件 链接。 点击该链接下载与数据库交互所需的驱动程序。

指定数据库连接详细信息。
在 主机 字段中,输入用于连接到您的 Snowflake 账户的 URL。 例如,
myorg-myconnection.snowflakecomputing.com。在 身份验证 下拉列表中,选择 身份验证器。
在 身份验证器 字段中,输入
externalbrowser。在 用户 字段中,输入您用于登录 Okta 账户的电子邮件地址。
在 密码 字段中,输入您的 Okta 账户密码。
在 数据库 字段中,输入您要连接的数据库名称。
在 架构 字段中,输入您要连接的架构名称。
在 仓库 字段中,输入您要在 Snowflake 中使用的计算资源集群名称。
或者,在 URL 字段中输入您的 JDBC URL。 通用 URL 如下所示:
格式:
jdbc:snowflake://<organization_name>-<connection_name>.snowflakecomputing.com/?warehouse=<warehouse_name>&db=<database_name>&schema=<schema_name>&user=<okta_username>&password=<okta_password>&authenticator=externalbrowser示例:
jdbc:snowflake://myorg-myconnection.snowflakecomputing.com/?warehouse=AUTH_WH&db=TESTDB&schema=MYSCHEMA&user=MYUSERNAME@DOMAIN.COM&password=DUMMY-PASSWORD&authenticator=externalbrowser
点击连接详细信息区域底部的 测试连接 链接以启动到数据库的测试连接。

在浏览器打开的 Okta 网站中,输入您的用户凭据并登录您的 Okta 账户。

Okta 将您重定向到 Duo Security 网站以验证您的身份。

在 Duo Security 网站上,选择一个选项进行登录。 在本教程中,我们将使用 Duo Push 这一选项。

Duo Security 会向您提供一个 3 位数的验证码,您需要在 Duo Mobile 应用中输入该验证码。

在 Duo Mobile 应用中,输入您的验证码并点击 验证。

Duo Security 将您登录到账户,并重定向至 Okta 网站。

Okta 确认您的身份后,返回 PyCharm。

在 IDE 中,点击 确定 以保存您的新数据源。
