为 Snowflake 配置身份提供商 (IdP)¶
配置 IdP 的任务会有所不同,具体取决于您是选择 Okta、AD FS 还是其他(即自定义)符合 SAML 2.0 的服务/应用程序为您的 Snowflake 用户提供联合身份验证。
本主题内容:
重要
在配置 IdP 之前,请考虑如何在完全配置后管理联合身份验证,以及用户将如何通过联合身份验证访问 Snowflake。
例如,决定用户是通过公共 URL 还是通过与 Snowflake 服务的专用连接相关联的 URL 来访问 Snowflake。要了解更多信息,请参阅 管理/使用联合身份验证。
Okta 设置¶
要将 Okta 用作联合身份验证的 IdP,必须在 Okta 中执行以下任务:
为公司或组织创建 Okta 账户。
以具有管理员权限的用户身份登录 Okta 账户,并为每个需要访问 Snowflake 的人创建一个用户。创建用户时,请确保包含每个用户的电子邮件地址。需要电子邮件地址才能将 Okta 中的用户与 Snowflake 中的相应用户进行映射。
备注
请记住确保在 Okta 值中输入的电子邮件地址映射到 Snowflake 中的
login_name
值和 SAMLNameID
属性。有关更多信息,请参阅 迁移到 SAML2 安全集成 中的第 1 步。
在 Okta 中创建 Snowflake 应用程序:
在应用程序的 Label 字段中,可以指定任何名称。
在应用程序的 SubDomain 字段中,输入 Snowflake 账户的 账户标识符。如果使用专用连接,请将
privatelink
附加到账户标识符。例如,如果用于访问 Snowflake 账户的 URL 是https://myorg-myaccount.privatelink.snowflakecomputing.cn
,则输入myorg-myaccount.privatelink
。如果 Snowflake 账户名称包含下划线,并且正在使用标识符的账户名称格式,则需要将下划线转换为连字符,因为 Okta 不支持 URLs 中存在下划线(例如
myorg-myaccount-name
)。
将创建的 Okta 用户分配给 Okta 中的 Snowflake 应用程序。
将 SAML 2.0 配置为您创建的 Snowflake 应用程序的登录方法。在下一步 迁移到 SAML2 安全集成 中,将需要 SSO URL 值和证书。
在 Sign On 选项卡中,点击 View Setup Instructions。
从设置说明中收集所需信息:
SSO URL (Snowflake 将向其发送 SAML 请求的 IdP URL 端点)
证书(用于验证 IdP 和 Snowflake 之间的通信)
AD FS 设置¶
要将 AD FS 用作联合身份验证的 IdP,必须在 AD FS 中执行以下任务。
先决条件¶
验证 AD FS 3.0 是否已安装并在 Windows Server 2012 R2 上运行。
确保需要访问 Snowflake 的每个人在 AD FS 中都有一个用户。创建用户时,请确保包含每个用户的电子邮件地址。需要电子邮件地址将 AD FS 中的用户与其在 Snowflake 中的对应用户联系起来。
备注
可以使用其他版本的 AD FS 和 Windows Server;但是,配置说明可能会有所不同。
为 Snowflake 添加依赖方信任¶
在 AD FS 管理控制台中,使用 Add Relying Party Trust Wizard 向 AD FS 配置数据库添加新的依赖方信任:
出现提示时,选择 Enter data about the relying party manually 单选按钮。
在下一个屏幕中,输入依赖方的显示名(例如“Snowflake”)。
在下一个屏幕中,选择 AD FS profile 单选按钮。
跳过下一个屏幕(用于指定可选的令牌加密证书)。
在下一个屏幕中:
选中 Enable support for the SAML 2.0 WebSSO protocol 复选框。
在 Relying party SAML 2.0 SSO service URL 字段中,输入附加了
/fed/login
的 Snowflake 账户的 SSO URL。例如,要使用具有专用连接的账户名 URL,请输入:https://<orgname>-<account_name>.privatelink.snowflakecomputing.cn/fed/login
。有关可能的 URL 格式的列表,请参阅 与 URL 连接。当为联合身份验证 创建安全集成 时,请确保其 URL 参数与该字段中使用的格式匹配。
在下一个屏幕的 Relying party trust identifier 字段中,输入上一步中指定的 Snowflake 账户的 URL。
在下一个屏幕中,选择 I do not want to configure multi-factor authentication settings for this relying party trust at this time 单选按钮。
在下一个屏幕中,选择 Permit all users to access this relying party 单选按钮。
在下一个屏幕中,检查依赖方信任的配置。 还要确保在 Advanced 选项卡中,选择 SHA-256 作为安全哈希算法。
在下一个屏幕中,选择 Open the Edit Claim Rules dialog for this relying party trust when the wizard closes,然后点击 Close 以完成向导配置。
定义 Snowflake 依赖方信任的声明规则¶
关闭向导后,Edit Claim Rules for snowflake_trust_name
窗口会自动打开。也可以从 AD FS 管理控制台打开此窗口,方法是点击:
AD FS » Trust Relationships » Relying Party Trusts »
snowflake_trust_name
» Edit Claim Rules...
在窗口中:
创建将 LDAP 属性作为声明发送的规则:
点击 Add Rules 并选择 Send LDAP Attributes as Claim。
在 Edit Rule 对话框中:
输入规则的名称(例如“获取属性”)。
将 Attribute store 设置为:Active Directory。
为规则添加两个 LDAP 属性:
E-Mail-Addresses 以 E-Mail Address 作为传出声明类型。
Display-Name 以 Name 作为传出声明类型。
点击 OK 按钮来创建规则。
创建用于转换传入声明的规则:
点击 Add Rules 并选择 Transform an Incoming Claim。
在 Add Transform Claim Rule Wizard 对话框中:
输入声明规则的名称(例如“名称 ID 转换”)。
将 Incoming claim type 设置为:E-Mail Address。
将 Outgoing claim type 设置为:Name ID。
将 Outgoing name ID format 设置为:Email。
选择 Pass through all claim values 单选按钮。
点击 Finish 按钮来创建规则。
点击 OK 按钮完成为 Snowflake 依赖方信任添加声明规则。
重要
确保输入的规则值与上述完全相同。
另外,请确保创建的规则按以下顺序列出:
LDAP 属性
传入声明转换
如果规则中有任何错别字或规则未按正确顺序列出,规则将 无法 正常工作。
启用全局注销 – 可选¶
要在 AD FS 中为 Snowflake 启用全局注销,请在 AD FS 管理控制台中点击:
AD FS » Trust Relationships » Relying Party Trusts » <snowflake_trust_name> » Properties
在 Properties 对话框中:
转到 Endpoints 选项卡,然后点击 Add SAML... 按钮。
在 Edit Endpoint 对话框中:
将 Endpoint type 设置为:SAML Logout。
将 Binding 设置为:POST 或 REDIRECT。
将 Trusted URL 设置为第 1 步中指定的值。
将 Response URL 留空。
点击 OK 按钮保存您的更改。
获取 SSO URL 和证书¶
若要完成 AD FS 设置,请从 AD FS 获取 SSO URL 和证书。您将在下一步中使用这两个值:迁移到 SAML2 安全集成。
- SSO URL
Snowflake 将向其发送 SAML 请求的 AD FS URL 端点。这通常是 AD FS 的登录 URL,通常是 AD FS 服务器的 IP 地址或完全限定的域名(即 FQDN),并在末尾附加
/adfs/ls
。
- 证书
用于验证 AD FS 和 Snowflake 之间的通信。您可以从 AD FS 管理控制台下载证书:
在控制台中,点击:
AD FS » Service » Certificates
在 Certificates 页面中,右键点击 Token-signing 条目,然后点击 View Certificate...。
在 Certificate 对话框中,选择 Details 选项卡。
点击 Copy to File... 打开证书导出向导。
对于导出文件格式,选择 Base-64 encoded X.509 (.CER) 然后点击 Next。
将文件保存到本地环境中的目录中。
打开文件并复制证书,该证书由位于以下行之间的一行组成:
-----BEGIN CERTIFICATE----- <certificate> -----END CERTIFICATE-----
自定义 IdP 设置¶
要使用符合 SAML 2.0 的服务或应用程序作为联合身份验证的 IdP,您必须执行以下任务:
在服务/应用程序界面中,为 Snowflake 定义一个自定义 SHA-256 应用程序。定义自定义应用程序的说明特定于充当 IdP 的服务/应用程序。
在界面中,为每个需要访问 Snowflake 的人创建一个用户。创建用户时,请确保包含每个用户的电子邮件地址。需要电子邮件地址将 IdP 中的用户与其在 Snowflake 中的对应用户联系起来。
从您的自定义 IdP 获取 SSO URL 和证书。在下一步 迁移到 SAML2 安全集成 中,将需要 SSO URL 值和证书。
SSO URL (Snowflake 将向其发送 SAML 请求的 IdP URL 端点)
证书(用于验证 IdP 和 Snowflake 之间的通信)
重要
配置自定义身份提供商时,字段值通常区分大小写。如果出现错误消息或错误代码,请仔细检查在配置过程中输入的任何值的大小写。
后续步骤¶
完成上述步骤后,必须 配置 Snowflake 使用联合身份验证 来完成自定义 IdP 设置。